System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于DPDK的高速网络数据包传输的方法及系统技术方案_技高网

一种基于DPDK的高速网络数据包传输的方法及系统技术方案

技术编号:40362370 阅读:7 留言:0更新日期:2024-02-09 14:49
本发明专利技术涉及数据传输技术领域,且公开了一种基于DPDK的高速网络数据包传输的方法及系统,通过PDM驱动来进行加载DPDK,接收用API来提取输出数据包,发送端处理收到的数据包进行转发,途径收到该网络数据包后,判断确认接收端是否受到发送端所送出的封包数据,接收或未接收时会有不同的处理,在确认接收到发送端的封包数据后,DPDK网卡驱动封包将其存储在一个高效缓冲区中,并在MBUF缓存中创建MBUF对象与实际网络包相连,对网络包的分析和处理都会基于该MBUF,若未接收到发送端的封包数据时,通过接收端的数据包发送给加速节点,利用加速节点重新发送信息,从而通过DPDK提升数据包处理速度来避免中断性能瓶颈,避免内核态和用户态内存拷贝,减少系统开销。

【技术实现步骤摘要】

本专利技术涉及数据传输,具体为一种基于dpdk的高速网络数据包传输的方法及系统。


技术介绍

1、因特网和其他互联网必须承载的通信量在持续增长和变化,网络和分组协议需要升级,如应用处理、控制处理、包处理、信号处理等,而dpdk使用了轮询而不是中断来处理数据包,在收到数据包时,经dpdk重载的网卡驱动不会通过中断通知cpu,而是直接将数据包存入内存,交付应用层软件通过dpdk提供的接口来直接处理,这样节省了大量的cpu中断时间和内存拷贝时间,以实现快速数据包传输和质量控制。

2、目前在高速网络数据包传输过程中,容易出现中断性能瓶颈,造成数据传输包丢失等影响,并且在传输过程中,无法通过dpdk来提升数据包处理速度缓慢,造成的数据传输时出现未接收情况时无法处理,使网络数据传输速率得不到提升,整体的传输通道不稳定。


技术实现思路

1、(一)解决的技术问题

2、针对现有技术的不足,本专利技术提供了一种基于dpdk的高速网络数据包传输的方法及系统,具备数据传输时出现未接收情况时通过加速节点及时处理,网络数据传输速率快等优点,解决了无法通过dpdk来提升数据包避免中断的问题。

3、(二)技术方案

4、为实现上述目的,本专利技术提供如下技术方案:一种基于dpdk的高速网络数据包传输的方法,包括以下步骤:

5、步骤101、通过pdm驱动来进行加载dpdk,通过pmd驱动接收用api来提取输出数据包,发送端处理收到的数据包进行转发;

>6、步骤102、将网络数据包传输至网络设备中,通过网络设备来识别转发的网络数据包,在瞬间进行大量的网络数据收发,从而在通过cpu处理器进行深度处理;

7、步骤103、途径收到该网络数据包后,判断确认接收端是否受到发送端所送出的封包数据,接收或未接收时会有不同的处理;

8、步骤104、在确认接收到发送端的封包数据后,dpdk网卡驱动封包将其存储在一个高效缓冲区中,并在mbuf缓存中创建mbuf对象与实际网络包相连,对网络包的分析和处理都会基于该mbuf;

9、步骤105、若未接收到发送端的封包数据时,通过接收端的数据包发送给加速节点,利用加速节点重新发送信息,同时让接收端重新将数据组合并发送;

10、步骤106、基于缓冲区后接收端中接收队列分配给cpu处理器,该队列收到的数据都交给该核上的dpdk线程处理,再将数据包发送到接收端之上,完成数据包传输。

11、优选的,所述网络设备包括但不仅限于路由器、交换机、媒体网关、sbc、ps网关的一种或多种。

12、优选的,所述加速节点根据所述数据包的内容以及预定的协议向发送端发送回应信息。

13、根据上述的一种基于dpdk的高速网络数据包传输的方法,现提出一种基于dpdk的高速网络数据包传输的系统,包括以下模块:

14、数据接收单元,通过pmd驱动接收用api来提取网络数据包;

15、pmd驱动模块,通过轮询模式驱动,通过非中断以及数据帧进出应用缓冲区内存的零拷贝机制;

16、传输模块,通过网络设备识别并转发对接收端发送的网络数据包;

17、代理接收模块,用于重新接收端的数据包并发送给加速节点;

18、缓冲区模块:用于分配内存创建缓冲区,并通过建立mbuf对象,封装实际数据帧,供应用程序使用;

19、接收模块,用于接收端通过dpdk网卡驱动高速数据通道接收端发送的网络数据包;

20、存储模块:用于将待更新控制数据包存储与本地永久存储器,以及传输过程中的备份网络数据包。

21、优选的,所述接收模块可设定根据数据包某些信息进行精确匹配,分配到指定的队列与cpu处理器。

22、优选的,所述缓冲区模块中当网络数据包被网络设备接收后,dpdk网卡驱动将其存储在一个高效缓冲区中,必要的时候才会访问缓冲区中的实际网络包。

23、(三)有益效果

24、与现有技术相比,本专利技术提供了一种基于dpdk的高速网络数据包传输的方法及系统,具备以下有益效果:

25、1、该基于dpdk的高速网络数据包传输的方法及系统,通过pdm驱动来进行加载dpdk,通过pmd驱动接收用api来提取输出数据包,发送端处理收到的数据包进行转发,接收到发送端的封包数据后,dpdk网卡驱动封包将其存储在一个高效缓冲区中,并在mbuf缓存中创建mbuf对象与实际网络包相连,对网络包的分析和处理都会基于该mbuf,从而去除中断,避免内核态和用户态内存拷贝,减少系统开销。

26、2、该基于dpdk的高速网络数据包传输的方法及系统,通过在传输数据包的途径中,判断确认接收端是否受到发送端所送出的封包数据,接收或未接收时会有不同的处理,确认接收到发送端的封包数据后,未接收到发送端的封包数据时,通过接收端的数据包发送给加速节点,利用加速节点重新发送信息,同时让接收端重新将数据组合并发送,从而在传输数据包中同时利用加速节点,使网络数据传输速率得到有效保证。

本文档来自技高网...

【技术保护点】

1.一种基于DPDK的高速网络数据包传输的方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种基于DPDK的高速网络数据包传输的方法及系统,其特征在于:所述网络设备包括但不仅限于路由器、交换机、媒体网关、SBC、PS网关的一种或多种。

3.根据权利要求1所述的一种基于DPDK的高速网络数据包传输的方法及系统,其特征在于:所述加速节点根据所述数据包的内容以及预定的协议向发送端发送回应信息。

4.根据权利要求1所述的一种基于DPDK的高速网络数据包传输的方法,现提出一种基于DPDK的高速网络数据包传输的系统,其特征在于:包括以下模块:

5.根据权利要求1所述的一种基于DPDK的高速网络数据包传输的方法及系统,其特征在于:所述接收模块可设定根据数据包某些信息进行精确匹配,分配到指定的队列与CPU处理器。

6.根据权利要求1所述的一种基于DPDK的高速网络数据包传输的方法及系统,其特征在于:所述缓冲区模块中当网络数据包被网络设备接收后,DPDK网卡驱动将其存储在一个高效缓冲区中,必要的时候才会访问缓冲区中的实际网络包。

...

【技术特征摘要】

1.一种基于dpdk的高速网络数据包传输的方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种基于dpdk的高速网络数据包传输的方法及系统,其特征在于:所述网络设备包括但不仅限于路由器、交换机、媒体网关、sbc、ps网关的一种或多种。

3.根据权利要求1所述的一种基于dpdk的高速网络数据包传输的方法及系统,其特征在于:所述加速节点根据所述数据包的内容以及预定的协议向发送端发送回应信息。

4.根据权利要求1所述的一种基于dpdk的高速网络数据包传输...

【专利技术属性】
技术研发人员:沈浩陈鑫贾小松赵英华焦少波高涛李国栋郭旭瑞
申请(专利权)人:山东首瀚信息科技有限公司
类型:发明
国别省市:

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

1