System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据转发系统及其控制方法技术方案_技高网

数据转发系统及其控制方法技术方案

技术编号:41286634 阅读:4 留言:0更新日期:2024-05-11 09:35
本发明专利技术提供一种数据转发系统及其控制方法,该系统包括:数据采集模块,用于批量接收数据包;数据预处理模块,用于对数据包进行解析得到报文信息和解析标识,并根据解析标识和多个NAT转发规则确定报文信息的转发类型;数据转发模块,用于根据转发类型、原始流链表、分片缓存流链表和NAT流链表对报文信息进行查找、关联,得到目标报文信息;数据发送模块,用于对目标报文信息进行封装得到封装后的数据包,将封装后的数据包发送至网卡发包队列,通过预设的Mbuf内存池技术实现用户空间到PCI设备地址的映射。本发明专利技术系统通过提高用户上下行数据查找与匹配算法的效率,提高单机NAT转发性能,达到降低数据转发系统建设成本的目的。

【技术实现步骤摘要】

本专利技术涉及数据处理,尤其涉及一种数据转发系统及其控制方法


技术介绍

1、网络地址转换(network address translation,nat)技术使用流量表将数据从一个外部主机地址路由到内部ip地址,借助于nat,私有地址通过路由器发送数据时,私有地址被转换成合法的ip地址,一个局域网只需要使用少量ip地址即可实现私有地址网络内所有计算机与互联网的通信,以达到节省ip地址空间的作用。

2、相关技术中,传统的nat转发技术通常从网卡套接字获得数据包,数据包需要拷贝至操作系统内核的网络协议栈,再由网络协议栈发往用户空间,数据会经过多次拷贝,降低了传输效率;同时,传统的收包方式在网卡收到数据包时,会通过产生中断的方式通知内核有数据包到达,linux系统内核会对中断进行响应,将接收到的数据帧交给内核中的网络协议栈进行处理,通过中断的方式在低带宽低吞吐率等环境下可以满足需求,但在面对海量数据处理需求时,中断方式会引发中断风暴,内核需要不间断的处理中断请求,不利于内核对数据包的处理。


技术实现思路

1、本专利技术提供一种数据转发系统及其控制方法,用以解决现有技术中转发数据包时需要进行多次拷贝,降低了传输效率;而在面对海量数据处理需求时,系统内核频繁地中断响应会引发中断风暴,导致系统在数据转发过程的性能损耗严重的缺陷,提高了对海量数据的查找、关联和转发效率。

2、本专利技术提供一种数据转发系统,包括:

3、数据采集模块,所述数据采集模块基于预设的mbuf内存池构建,所述数据采集模块用于实现数据平面开发套件dpdk初始加载和启动、核心绑定、跟踪以及调试功能;所述数据采集模块用于批量接收数据包;

4、数据预处理模块,所述数据预处理模块用于按照不同分层的协议对所述数据包进行解析,得到报文信息和解析标识,并根据所述解析标识和数据库中存储的多个nat转发规则确定所述报文信息的转发类型;其中,所述转发类型包括上行转发和下行转发中的一项;所述解析标识数据包ip版本、ip包长、ip层标识符、分片标识、分片偏移、ttl、传输层协议类型、源ip、目的ip、源端口、目的端口、校验码和序列号中的至少一项;

5、数据转发模块,所述数据转发模块用于根据所述转发类型、原始流链表、分片缓存流链表、nat流链表对所述报文信息进行查找、关联,得到目标报文信息;其中,所述原始流链表用于对ip层五元组进行关联和查找;所述分片缓存流链表用于对ip分片包进行查找和关联,并利用所述ip层标识符、所述源ip、所述目的ip和所述传输层协议类型对分片流链表节点进行新建、查找和关联;所述nat流链表用于配置内网与外网各自对应的ip地址和端口之间的映射关系;所述ip层五元组包括所述源ip、目的ip、所述源端口、所述目的端口和所述协议类型;

6、数据发送模块,所述数据发送模块用于根据不同分层封装协议对所述目标报文信息进行封装,得到封装后的数据包,将所述封装后的数据包发送至网卡发包队列中,并通过预设的mbuf内存池技术实现用户空间到pci设备地址的映射。

7、根据本专利技术提供的数据转发系统,所述系统还包括:

8、网络地址nat管理模块,所述nat管理模块用于配置所述多个nat转发规则,并将所述多个nat转发规则存储至所述数据库。

9、根据本专利技术提供的数据转发系统,所述数据转发模块包括:

10、上行数据转发模块,所述上行数据转发模块用于在所述报文信息的转发类型为下行转发的情况下,确定所述报文信息对应的分片信息;

11、所述上行数据转发模块还用于在所述报文信息包括分片或者分片片首的情况下,基于所述ip层五元组进行哈希运算,并根据哈希运算结果和所述ip层五元组判断原始流节点是否存在;

12、所述上行数据转发模块还用于在所述原始流节点存在,且所述报文信息对应的分片信息为分片片首的情况下,依次构建分片缓存流、修改数据包的nat信息和查找分片数据缓存流,得到所述目标报文信息;

13、所述上行数据转发模块还用于在所述报文信息包括后续分片,且所述分片缓存流存在的情况下,根据所述分片缓存流查找原始流,跟根据所述原始流将所述nat流将公网转私网对应的nat信息写入数据包。

14、根据本专利技术提供的数据转发系统,所述数据转发模块包括:

15、下行数据转发模块,所述下行数据转发模块用于在所述报文信息的转发类型为上行转发的情况下,确定所述报文信息对应的分片信息;

16、所述下行数据转发模块还用于在所述报文信息包括分片或者分片片首的情况下,基于所述ip层五元组进行哈希运算,并根据哈希运算结果和所述ip层五元组判断原始流节点是否存在;

17、所述下行数据转发模块还用于在所述原始流节点存在,且所述报文信息对应的分片信息为分片片首的情况下,依次构建分片缓存流并与nat流节点关联、基于所述nat流查找原始流和查找分片数据缓存流,得到所述目标报文信息;所述分片信息包括未分片、分片片首和后续分片中的至少一项;

18、所述下行数据转发模块还用于在所述报文信息包括后续分片,且在所述分片缓存流存在的情况下,根据所述分片缓存流确定所述nat流,并根据所述nat流查找原始流并提取公网转私网对应的nat信息,将所述nat信息写入数据包。

19、本专利技术还提供一种数据转发系统的控制方法,包括:

20、基于数据采集模块采集模块用于批量接收数据包,所述数据采集模块基于预设的mbuf内存池构建,所述数据采集模块用于实现数据平面开发套件dpdk初始加载和启动、核心绑定、跟踪以及调试功能;

21、基于数据预处理模块按照不同分层的协议对所述数据包进行解析,得到报文信息和解析标识,并根据所述解析标识和数据库中存储的多个nat转发规则确定所述报文信息的转发类型;其中,所述转发类型包括上行转发和下行转发中的一项;所述解析标识数据包ip版本、ip包长、ip层标识符、分片标识、分片偏移、ttl、传输层协议类型、源ip、目的ip、源端口、目的端口、校验码和序列号中的至少一项;

22、基于数据转发模块根据所述转发类型、原始流链表、分片缓存流链表、nat流链表对所述报文信息进行查找和关联,得到目标报文信息;其中,所述原始流链表用于对ip层五元组进行关联和查找;所述分片缓存流链表用于对ip分片包进行查找和关联,并利用所述ip层标识符、所述源ip、所述目的ip和所述传输层协议类型对分片流链表节点进行新建、查找和关联;所述nat流链表用于配置内网与外网各自对应的ip地址和端口之间的映射关系;所述ip层五元组包括所述源ip、目的ip、所述源端口、所述目的端口和所述协议类型;

23、基于数据发送模块根据不同分层封装协议对所述目标报文信息进行封装,得到封装后的数据包,将所述封装后的数据包发送至网卡发包队列中,并通过预设的mbuf内存池技术实现用户空间到pci设备地址的映射。

24、根据本专利技术提供本文档来自技高网...

【技术保护点】

1.一种数据转发系统,其特征在于,包括:

2.根据权利要求1所述的数据转发系统,其特征在于,所述系统还包括:

3.根据权利要求1所述的数据转发系统,其特征在于,所述数据转发模块包括:

4.根据权利要求1所述的数据转发系统,其特征在于,所述数据转发模块包括:

5.一种数据转发系统的控制方法,其特征在于,包括:

6.根据权利要求5所述的数据转发系统的控制方法,其特征在于,所述转发类型为上行转发,所述数据转发模块包括上行数据转发模块;

7.根据权利要求5所述的数据转发系统的控制方法,其特征在于,所述转发类型为下行转发,所述数据转发模块包括下行数据转发模块;

8.根据权利要求5所述的数据转发系统的控制方法,其特征在于,所述数据库中的多个NAT转发规则通过如下步骤得到:

9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求5至8任一项所述数据转发系统的控制方法。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求5至8任一项所述数据转发系统的控制方法。

...

【技术特征摘要】

1.一种数据转发系统,其特征在于,包括:

2.根据权利要求1所述的数据转发系统,其特征在于,所述系统还包括:

3.根据权利要求1所述的数据转发系统,其特征在于,所述数据转发模块包括:

4.根据权利要求1所述的数据转发系统,其特征在于,所述数据转发模块包括:

5.一种数据转发系统的控制方法,其特征在于,包括:

6.根据权利要求5所述的数据转发系统的控制方法,其特征在于,所述转发类型为上行转发,所述数据转发模块包括上行数据转发模块;

7.根据权利要求5所述的数据转发系统的控制方法,其特...

【专利技术属性】
技术研发人员:舒文兵贾菁珅
申请(专利权)人:武汉虹旭信息技术有限责任公司
类型:发明
国别省市:

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

1