System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于dpdk-pdump的nfv平台抓包方法及装置制造方法及图纸_技高网

一种基于dpdk-pdump的nfv平台抓包方法及装置制造方法及图纸

技术编号:40968598 阅读:2 留言:0更新日期:2024-04-18 20:49
本发明专利技术公开了一种基于dpdk‑pdump的nfv平台抓包方法及装置,其涉及传输与承载网‑IP技术‑TCP/IP技术领域,旨在解决在数据量大的时候,会影响转发程序性能;通用过滤条件只能对报文的outer层信息进行过滤,但在转发过程中至少会在3个vpc内转发,一次抓包只能捕获一个vpc的报文,导致很难同时捕获到完整的真实用户报文的问题,其技术方案要点是包括dpdk的librte_pdump库中修改过滤规则struct pdump_filter的数据结构;dpdk的librte_pdump库修改数据包过滤函数pdump_filter,完成数据包的捕获;dpdk‑pdump抓包工具修改命令行参数,指定多个过滤规则;修改dpdk‑pdump代码中新增的parse_filter函数,解析命令行参数‑‑filter指定的过滤规则。实现了更加丰富和灵活的过滤规则以及支持多个过滤规则或关系,数据包匹配任意过滤规则都会被捕获的效果。

【技术实现步骤摘要】

本专利技术涉及传输与承载网-ip技术-tcp/ip,尤其是涉及一种基于dpdk-pdump的nfv平台抓包方法及装置


技术介绍

1、目前,高性能、低延迟的网络应用程序越来越多的使用了开源组件dpdk,并且dpdk提供了一个通用的抓包工具dpdk-pdump,该工具可以对dpdk纳管的网卡进行抓包,可以通过源ip、目的ip、源端口、目的端口等信息过滤数据报文;

2、在nfv平台下,如lb、fw等通用网元已经运行在虚拟机内,且各个网元都有独立的vpc隔离,其他vpc内的用户想要使用这些通用网元,必然需要跨vpc访问;且运行在nfv平台上的通用网元,都在在vxlan解析的基础上,增加了geneve协议的封装,使得真实用户报文,在vfc平台转发过程中,数据报文存在多种形态,想要获取真实用户报文,使用传统的抓包工具,已经变得十分不方便。

3、上述中的现有技术方案存在以下缺陷:

4、通常传统做法:

5、1.使用通用dpdk-pdump对数据报文全量抓包;

6、2.使用通用的过滤条件对outer层报文进行过滤;

7、第一种方法会抓取转发节点所有数据报文,在数据量大的时候,会影响转发程序性能,且大量的数据报文中查找真实用户报文也变的十分困难;

8、第二种方法是通用过滤条件只能对报文的outer层信息进行过滤,即使通过vpc能够过滤部分报文,但是真实用户报文在转发过程中至少会在3个vpc内转发,一次抓包只能捕获一个vpc的报文,导致很难同时捕获到完整的真实用户报文。


技术实现思路

1、本专利技术的目的是提供一种基于dpdk-pdump的nfv平台抓包方法方法及装置,增加了丰富、灵活的过滤规则,使抓包工具能够适应nfv平台复杂的网络报文,并从中抓取想要捕获的报文。

2、为实现上述目的,本专利技术提供了如下技术方案:

3、一种基于dpdk-pdump的nfv平台抓包方法,包括以下步骤:

4、步骤一:dpdk的librte_pdump库中修改过滤规则struct pdump_filter的数据结构,使该数据结构可以保存outer层、inner层和geneve层的过滤字段;

5、步骤二:dpdk的librte_pdump库修改数据包过滤函数pdump_filter,使该过滤函数可以根据新的过滤规则完成数据包的捕获;

6、步骤三:dpdk-pdump抓包工具修改命令行参数,使用户可以通过命令行输入,指定多个过滤规则;

7、步骤四:修改dpdk-pdump代码中parse_pdump函数,取消该函数中对原始过滤字段的解析;

8、步骤五:修改dpdk-pdump代码中新增的parse_filter函数,解析命令行参数--filter指定的过滤规则。

9、作为本专利技术所述一种基于dpdk-pdump的nfv平台抓包方法的一种优选方案,其中,所述步骤一,具体还包括以下子步骤:

10、s1.1:dpdk的librte_pdump库中修改struct pdump_filter结构,包含mask属性,pdump_filter_entry数组(每一个entry就是一个过滤规则);

11、s1.2:mask属性使用int类型,每一个bit为代表一种属性,目前使用到的属性rte_pdump_filter_mask_outer(具有outer层过滤字段)、rte_pdump_filter_mask_inner(具有内层过滤字段)和rte_pdump_filter_mask_geneve(具有geneve层过滤字段)。

12、作为本专利技术所述一种基于dpdk-pdump的nfv平台抓包方法的一种优选方案,其中,所述步骤一,具体还包括以下子步骤:

13、s1.3:每一个pdump_filter_entry过滤规则,包含outer层、inner层、geneve层过滤字段;outer层过滤字段包含通用字段:src-host(源ip地址)、dst-host(目的ip地址)、host(ip地址)、proto(协议,支持tcp、udp、icmp)、proto-port(协议端口)、src-port(源端口)、dst-port(目的端口);以及特殊字段:vni(vxlan协议id);inner层过滤字段包含通用字段:在outer层通用过滤字段的基础上,增加前缀i-,如内层ip地址过滤字段为i-host;geneve层过滤字段包含通用字段:在outer层通用过滤字段的基础上,增加前缀g-,如geneve层ip地址过滤字段为g-host,特殊字段:gwlbe id(为geneve层可拓展用户自定义opt中定义的业务对象id)。

14、作为本专利技术所述一种基于dpdk-pdump的nfv平台抓包方法的一种优选方案,其中,所述步骤二,具体还包括以下子步骤:

15、s2.1:判断过滤规则中的mask,如果不存在任何过滤属性,说明抓包请求中没有设置任何过滤参数,不需要解析数据包,直接快速捕获数据包;

16、s2.2:如果mask包含rte_pdump_filter_mask_outer属性,解析数据包outer层源ip地址、目的ip地址、源端口、目的端口、协议类型和vni字段。

17、作为本专利技术所述一种基于dpdk-pdump的nfv平台抓包方法的一种优选方案,其中,所述步骤二,具体还包括以下子步骤:

18、s2.3:如果mask包含rte_pdump_filter_mask_inner或rte_pdump_filter_mask_geneve属性,解析数据包所有剩余层级信息,包含inner层和geneve层的源ip地址、目的ip地址、源端口、目的端口、协议类型字段,以及geneve的gwlbe id字段;

19、s2.4:使用解析的数据包各层信息,对所有过滤规则进行匹配,存在任何一个过滤规则的匹配,则将该数据包捕获。

20、作为本专利技术所述一种基于dpdk-pdump的nfv平台抓包方法的一种优选方案,其中,所述步骤三,具体包括以下子步骤:

21、s3.1:命令行参数--pdump中取消所有过滤相关的字段;

22、s3.2:新增命令行参数--filter,通过该参数可以设置一个过滤规则,且该参数可以多次使用,以设置多个或关系的过滤规则。

23、作为本专利技术所述一种基于dpdk-pdump的nfv平台抓包方法的一种优选方案,其中,所述步骤三,具体还包括以下子步骤:

24、s3.3:命令行参数--filter中,过滤字段支持步骤s1.3中描述的outer层、inner层和geneve层的所有过滤字段。

25、作为本专利技术所述一种基于dpdk-pdump的nfv平台抓包方法的一种优选方案,其中,所述步骤五,具体包括以下子步骤:

26、本文档来自技高网...

【技术保护点】

1.一种基于dpdk-pdump的nfv平台抓包方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤一,具体还包括以下子步骤:

3.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤一,具体还包括以下子步骤:

4.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤二,具体还包括以下子步骤:

5.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤二,具体还包括以下子步骤:

6.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤三,具体包括以下子步骤:

7.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤三,具体还包括以下子步骤:

8.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤五,具体包括以下子步骤:

9.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤五,具体包括以下子步骤:

10.一种基于dpdk-pdump的nfv平台抓包装置,其特征在于,包括过滤规则和数据包捕获模块:

...

【技术特征摘要】

1.一种基于dpdk-pdump的nfv平台抓包方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤一,具体还包括以下子步骤:

3.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤一,具体还包括以下子步骤:

4.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤二,具体还包括以下子步骤:

5.根据权利要求1所述的基于dpdk-pdump的nfv平台抓包方法,其特征在于,所述步骤二,具体还包括以下子步骤:

...

【专利技术属性】
技术研发人员:邓捷王磊肖玮
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1