基于PMTU提升UDP分片包转发性能的方法及系统技术方案

技术编号:37876846 阅读:28 留言:0更新日期:2023-06-15 21:05
本发明专利技术提供一种基于PMTU提升UDP分片包转发性能的方法及系统,本发明专利技术方法包括如下步骤:在UDP连接数据包进入Linux协议栈后,如果不是UDP连接的第一个数据包,则执行PMTU加快处理,获取出口路由信息、出口MTU值;判断UDP连接数据包的长度是否超过所述出口MTU值,如果否,返回Linux协议栈执行分片判断步骤,再进行转发处理,如果是,根据UDP连接数据包的长度设置新的出口MTU值,构造ICMP差错报文,所述ICMP差错报文包括下一跳采用的新的出口MTU值,将ICMP差错报文发送给源终端,用于将出口MTU值修改为新的出口MTU值。本发明专利技术提升了数据包转发效率,降低了CPU、内存损耗。内存损耗。内存损耗。

【技术实现步骤摘要】
基于PMTU提升UDP分片包转发性能的方法及系统


[0001]本专利技术涉及通信
,具体涉及一种基于PMTU提升UDP分片包转发性能的方法及系统。

技术介绍

[0002]在转发UDP报文时,由于报文是客户端按照自身MTU(默认1500)进行分片,而网络通信设备根据出口(WAN)接入方式(PPPOE,VPN等)的不同,在转发报文时报文需要在原有报文基础上再封装一个头部才能进行转发。封装头部后的报文长度会出现超出协议规定的最大报文长度的情况,如果不对原有报文重新分片处理,该报文会被上级认为非法而直接丢弃。
[0003]现有的处理方式为:使用Linux协议栈转发UDP分片包的网络通信设备在接收到UDP分片包时,会先将其缓存到内核协议栈中,待接收到所有UDP分片包后,再将已缓存的UDP报文组合,然后根据目的接口的MTU将其重新分片发出。该种处理方式极大的浪费了内存及CPU的处理能力,对于CPU性能较弱的网络通信设备,其UDP分片的转发性能有限无法达到标准水平。
[0004]而使用软件/硬件加速模块转发UDP分片包的网络通信设备,由本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.基于PMTU提升UDP分片包转发性能的方法,其特征在于,包括如下步骤:在UDP连接数据包进入Linux协议栈用于转发处理的FORWAED链后,判断是否为UDP连接的第一个数据包,如果是,执行Linux协议栈分片判断步骤,然后进行转发处理;如果否,执行PMTU加快处理,所述PMTU加快处理模块的处理过程为:S1:根据目的IP地址获取出口路由信息;S2:基于所述出口路由信息获取出口MTU值;S3:判断UDP连接数据包的长度是否超过所述出口MTU值,如果否,返回Linux协议栈执行分片判断步骤,再进行转发处理,如果是,执行步骤S4;S4:根据UDP连接数据包的长度设置新的出口MTU值,构造ICMP差错报文,所述ICMP差错报文包括下一跳采用的新的出口MTU值,然后同时执行步骤S5和S6;S5:将ICMP差错报文发送给源终端,用于将出口MTU值修改为新的出口MTU值;S6:丢弃要转发的UDP连接数据包,等待源终端发送按照新的出口MTU值发送的UDP链接数据包报文。2.根据权利要求1所述的基于PMTU提升UDP分片包转发性能的方法,其特征在于:新构造的UDP连接数据包报文进入Linux协议栈的PMTU加快处理模块后,步骤S3还包括判断步骤:判断源终端修改出口MTU值是否成功,如果没有修改成功,重新构造并发送ICMP差错报文给源终端,并记录发送ICMP差错报文次数。3.根据权利要求2所述的基于PMTU提升UDP分片包转发性能的方法,其特征在于:当所述发送次数超过设定阈值时,停止构造发送ICMP差错报文,执行Linux协议栈分片判断步骤,所述UDP连接的数据包通过正常Linux协议栈转发处理。4.根据权利要求2所述的基于PMTU提升UDP分片包转发性能的方法,其特征在于:如果修改成功,则执行步骤S3中Linux协议栈转发处理流程。5.根据权利要求1

4任一项所述的基于PMTU提升UDP分片包转发性能的方法,其特征在于:所述基于PMTU提升UDP分片包转发性能的方法还包括加速匹配转发步骤,所述加速匹配转发步骤的处理过程为:当接收到UDP连接数...

【专利技术属性】
技术研发人员:江培俊唐远生杨琦
申请(专利权)人:深圳市吉祥腾达科技有限公司
类型:发明
国别省市:

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

1