[发明专利]一种基于OpenStack实现的网络报文跟踪方法及系统有效
申请号: | 202010953107.3 | 申请日: | 2020-09-11 |
公开(公告)号: | CN112217689B | 公开(公告)日: | 2022-05-31 |
发明(设计)人: | 李有;秦海中 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | H04L43/0829 | 分类号: | H04L43/0829;G06F9/54;G06F9/455 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 黄晓燕 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 openstack 实现 网络 报文 跟踪 方法 系统 | ||
本发明提供了一种基于OpenStack实现的网络报文跟踪方法及系统,本发明针对Neutron网络实现时虚拟出来的各种接口上的报文统计,当报文经过接口时,从协议栈接收开始到协议栈丢弃或送出为止,对中间状态进行跟踪记录,并记录具体数据,当出现问题时直接使用可维护命令去读取数据,从而获知具体丢包原因。本发明可有效跟踪报文的流转过程,让不可见的报文传递变得可视化,方便网络异常时的问题定位以及故障排查,从而减少很大的维护人力和时间成本。
技术领域
本发明涉及云计算技术领域,特别是一种基于OpenStack实现的网络报文跟踪方法及系统。
背景技术
当前云计算、云服务大热的时代,基于OpenStack架构实现云服务,网络传输是服务可以进行的基础。Neutron(Openstack的核心组件)提供了网络隔离、网络私有化、网络安全以及网络模式等功能。由于提供了这些功能,Neutron内部分装了多个网桥和接口用于对报文进行处理。报文从虚拟机中发出一直送到目的虚拟机或者送出服务设备的过程中可能存在报文被丢弃的现象。报文被丢弃后会导致网络中断或网络延时等问题。当发生此种情况时,需要定位报文被丢弃的位置及丢弃的原因,可以通过查看一些转发信息、网络配置以及端口属性等方式排查,比如分析跨网段是否配置了路由转发、安全组规则是否允许通过等,还可以通过Linux自带的命令查看各个端口的状态。但是排查过程十分繁琐,浪费很多时间和精力,最终可能只找到丢包位置,具体丢包的原因无法知道。因此,需要一种便捷、直接可读的方式知道丢包位置、丢包原因以及丢包个数等信息,从而快速准确定位丢包的原因,继而分析网络异常的原因。
发明内容
本发明的目的是提供一种基于OpenStack实现的网络报文跟踪方法及系统,旨在解决现有技术中无法获知丢包位置及原因的问题,实现有效跟踪报文的流转过程,方便网络异常时的问题定位以及故障排查。
为达到上述技术目的,本发明提供了一种基于OpenStack实现的网络报文跟踪方法,所述方法包括以下操作:
创建网络,并基于该网络创建虚拟机;
创建虚拟接口的同时申请共享内存,通过共享内存记录报文统计数据;
将虚拟接口名和共享内存ID的对应关系记录到数据库中;
当报文经过虚拟接口时会对报文进行统计,并将统计数据存储于共享内存中;
添加OpenStack进程的可维护命令读取所有虚拟接口的统计数据。
优选地,所述当报文经过虚拟接口时会对报文进行统计具体为:
收到报文后立即对接收报文计数+1,然后对报文进行处理;
当判断报文无法进一步转发需要丢弃时,对丢弃报文计数+1,并记录丢弃原因,且丢弃原因计数+1;
记录报文处理的统计;
当所有处理都完成后,将报文送出,并对转发报文计数+1。
优选地,所述丢弃原因包括mac地址非法、缓存区溢出、安全组规则拒绝、vlanID错误;所述报文处理包括vlan转换次数、vlanID-vlanID转换次数以及目的IP修改次数。
优选地,所述虚拟接口名和共享内存ID的对应关系记录在表结构中。
本发明还提供了一种基于OpenStack实现的网络报文跟踪系统,所述系统包括:
虚拟机创建模块,用于创建网络,并基于该网络创建虚拟机;
虚拟接口创建模块,用于创建虚拟接口的同时申请共享内存,通过共享内存记录报文统计数据;
对应关系保存模块,用于将虚拟接口名和共享内存ID的对应关系记录到数据库中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010953107.3/2.html,转载请声明来源钻瓜专利网。