[发明专利]通信设备上TCP协议的NAT ALG转换方法及系统有效
申请号: | 201910009443.X | 申请日: | 2019-01-04 |
公开(公告)号: | CN109756498B | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 陈亚亚 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L29/12 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张凯 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通信 设备 tcp 协议 nat alg 转换 方法 系统 | ||
本发明公开了一种通信设备上TCP协议的NAT ALG转换方法及系统,涉及通信技术领域,本发明进行NAT ALG转换前,记录TCP报文长度;进行NAT ALG转换,检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NAT ALG转换前的长度一致,再进行硬件加速转发,保证TCP业务在NAT ALG转换发生长度变化后,还可以顺利进行硬件加速。
技术领域
本发明涉及通信技术领域,具体涉及一种通信设备上TCP协议的NAT ALG转换方法及系统。
背景技术
在许多应用层协议中,比如多媒体协议(RTSP、H.323、SIP等)、FTP、SQLNET等,TCP/UDP载荷中带有地址或者端口信息,这些内容不能被NAT(Network Address Translation,网络地址转换)进行有效的转换,就可能导致问题。而NAT ALG(Application LevelGateway,应用层网关)技术能对多通道协议进行应用层报文信息的解析和地址转换,将载荷中需要进行地址转换的IP地址和端口或者需特殊处理的字段进行相应的转换和处理,从而保证应用层通信的正确性。
在网关设备中,针对不同应用层协议,需要提供各种ALG转换功能,以便保证各种业务应用可以正常进行。参见图1所示,通常这种ALG的转换在网关设备的CPU上的ALG模块(软件)中自动完成并直接转发。
随着网络技术的发展,日益增多的高性能业务,对通信速率提出了更高的要求,仅仅依靠设备的CPU上的软件模块进行转发,已经难以满足这种速率要求。因此大部分应用协议在ALG前期会话握手完成后,就在后期不需要进行ALG转换时,将相关会话转入设备的硬件进行转发,可以大大提高业务报文转发的速率,满足高性能业务的需求。
但是当业务采用TCP协议进行ALG转换时,因TCP载荷内容发生变化,常常造成TCP报文长度变化。而根据TCP的三层握手协议,必须根据长度对TCP头部的序列号进行相应修改,而且这种序列号的计算是基于上一个序列号进行累加计算得出,因此一旦TCP会话中某个报文的序列号进行了变动,后续该会话的所有TCP序列号都必须发生相应改变。但现行通用的转发芯片只能基于IP层(网络3层报文)进行修改,无法处理网络报文4层以上的修改,导致TCP协议在进入硬件加速后出现业务中断。
因此,如何在TCP协议进行NAT ALG转换后还能正常进行硬件加速,是本领域技术人员亟待解决的问题。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种通信设备上TCP协议的NAT ALG转换方法及系统,保证TCP业务在NAT ALG转换发生长度变化后,还可以顺利进行硬件加速。
为达到以上目的,本发明采取的技术方案是:一种通信设备上TCP协议的NAT ALG转换方法,包括以下步骤:
进行NAT ALG转换前,记录TCP报文长度;
进行NAT ALG转换;
检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NAT ALG转换前的长度一致,再进行硬件加速转发;若调整失败,则留在CPU软件中进行转发。
在上述技术方案的基础上,所述检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NAT ALG转换前的长度一致,再进行硬件加速转发;若调整失败,则留在CPU软件中进行转发,具体包括以下步骤:
检测到TCP报文NAT ALG转换前后的长度变长时,寻找TCP报文载荷是否包含可用于长度调整的冗余字段,若在TCP报文中寻找到可用于长度调整的冗余字段,则去掉可用于长度调整的冗余字段,按照NAT ALG转换前的长度对载荷进行补齐;若在TCP报文中寻找不到可用于长度调整的冗余字段,视为调整失败,留在CPU软件中进行转发;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910009443.X/2.html,转载请声明来源钻瓜专利网。