CN109756498B - 通信设备上tcp协议的nat alg转换方法及系统 - Google Patents

通信设备上tcp协议的nat alg转换方法及系统 Download PDF

Info

Publication number
CN109756498B
CN109756498B CN201910009443.XA CN201910009443A CN109756498B CN 109756498 B CN109756498 B CN 109756498B CN 201910009443 A CN201910009443 A CN 201910009443A CN 109756498 B CN109756498 B CN 109756498B
Authority
CN
China
Prior art keywords
length
tcp
tcp message
conversion
nat alg
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910009443.XA
Other languages
English (en)
Other versions
CN109756498A (zh
Inventor
陈亚亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201910009443.XA priority Critical patent/CN109756498B/zh
Publication of CN109756498A publication Critical patent/CN109756498A/zh
Application granted granted Critical
Publication of CN109756498B publication Critical patent/CN109756498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种通信设备上TCP协议的NAT ALG转换方法及系统,涉及通信技术领域,本发明进行NAT ALG转换前,记录TCP报文长度;进行NAT ALG转换,检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NAT ALG转换前的长度一致,再进行硬件加速转发,保证TCP业务在NAT ALG转换发生长度变化后,还可以顺利进行硬件加速。

Description

通信设备上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软件中进行转发;
检测到TCP报文NAT ALG转换前后的长度变短时,直接按照NAT ALG转换前的长度对载荷进行补齐;或去掉TCP报文中的可用于长度调整的冗余字段,再按照NAT ALG转换前的长度对载荷进行补齐。
在上述技术方案的基础上,还包括以下步骤:
进行NAT ALG转换前,使能TCP会话的加速标识;
检测到TCP报文NAT ALG转换前后的长度变化时,若长度变长,且在TCP报文中找不到可用于长度调整的冗余字段,则将TCP会话的加速标识去使能;
TCP会话需要进行硬件加速时,判断TCP会话的加速标识是否使能,如果该标识使能,则将会话转入硬件进行转发,如果该标识未使能,则将会话留在CPU软件中进行转发。
在上述技术方案的基础上,所述寻找TCP报文载荷是否包含可用于长度调整的冗余字段,具体包括以下步骤:在实时流传输协议RTSP建立报文中,寻找是否包含两个实时传输协议UDP模式字段或两个TCP模式字段,如果找到,且去掉找到的冗余字段后TCP报文长度不大于NAT ALG转换前长度,视为包含可用于长度调整的冗余字段;如果找不到,或删除找到的字段后TCP报文仍大于NAT ALG转换前的长度,视为不包含可用于长度调整的冗余字段。
在上述技术方案的基础上,所述按照NAT ALG转换前的长度对载荷进行补齐,具体包括以下步骤:将可用于长度调整的冗余字段从TCP报文载荷中删除,然后根据TCP报文长度差,在TCP报文载荷末尾用空格或‘\0’或’\n’或其他特殊字符对报文进行补齐。
本发明还提供一种通信设备上TCP协议的NAT ALG转换系统,包括:
转换处理模块,其用于:进行NAT ALG转换前,记录TCP报文长度;进行NAT ALG转换;检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NATALG转换前的长度一致;
转发模块,其用于:转换处理模块将TCP报文的长度调整至与NAT ALG转换前的长度一致时,进行硬件加速转发;若调整失败,则留在CPU软件中进行转发。
在上述技术方案的基础上,所述转换处理模块检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NAT ALG转换前的长度一致,具体包括以下步骤:
检测到TCP报文NAT ALG转换前后的长度变长时,寻找TCP报文载荷是否包含可用于长度调整的冗余字段,若在TCP报文中寻找到可用于长度调整的冗余字段,则去掉可用于长度调整的冗余字段,按照NAT ALG转换前的长度对载荷进行补齐;
检测到TCP报文NAT ALG转换前后的长度变短时,直接按照NAT ALG转换前的长度对载荷进行补齐;或去掉TCP报文中的可用于长度调整的冗余字段,再按照NAT ALG转换前的长度对载荷进行补齐。
在上述技术方案的基础上,所述转换处理模块还用于:进行NAT ALG转换前,使能TCP会话的加速标识;检测到TCP报文NAT ALG转换前后的长度变化时,若长度变长,且在TCP报文中找不到可用于长度调整的冗余字段,则将TCP会话的加速标识去使能;
所述转发模块具体用于:TCP会话需要进行硬件加速时,判断加速标识是否使能,如果该标识使能,则将会话转入硬件进行转发,如果该标识未使能,则将会话留在CPU软件中进行转发。
在上述技术方案的基础上,所述转换处理模块寻找TCP报文载荷是否包含可用于长度调整的冗余字段,具体包括以下步骤:在实时流传输协议RTSP建立报文中,寻找是否包含两个实时传输协议UDP模式字段或两个TCP模式字段,如果找到,且去掉找到的冗余字段后TCP报文长度不大于NAT ALG转换前长度,视为包含可用于长度调整的冗余字段;如果找不到,或删除找到的字段后TCP报文仍大于NAT ALG转换前的长度,视为不包含可用于长度调整的冗余字段。
在上述技术方案的基础上,所述转发模块按照NAT ALG转换前的长度对载荷进行补齐,具体包括以下步骤:将可用于长度调整的冗余字段从TCP报文载荷中删除,然后根据TCP报文长度差,在TCP报文载荷末尾用空格或‘\0’或’\n’或其他特殊字符对报文进行补齐。
与现有技术相比,本发明的优点在于:
本发明进行NAT ALG转换前,记录TCP报文长度;进行NAT ALG转换,检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NAT ALG转换前的长度一致,再进行硬件加速转发,保证TCP业务在NAT ALG转换发生长度变化后,还可以顺利进行硬件加速。
在TCP会话中设置加速标识,根据TCP报文NAT ALG转换前后的长度变长时,能否将长度调整至与NAT ALG转换前一致的长度,保留使能或去使能加速标识;根据加速标识是否使能判断TCP会话是否进行硬件加速转发:如果该标识使能,则将会话转入硬件进行转发,如果该标识未使能,则将会话留在CPU软件中进行转发,提高硬件加速转发的效率。
附图说明
图1为背景技术中网关设备上的基于TCP协议的NAT ALG转换流程的示意图;
图2为本发明实施例1中的通信设备上TCP协议的NAT ALG转换方法的原理示意图;
图3为本发明实施例1中通信设备上TCP协议的NAT ALG转换方法的流程示意图;
图4为本发明实施例2中通信设备上TCP协议的NAT ALG转换方法的流程示意图;
图5为本发明实施例3中通信设备上TCP协议的NAT ALG转换方法的针对RTSP协议进行长度补齐的方法示意图。
具体实施方式
RTSP(Real Time Streaming Protocol,实时流传输协议)是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。
RTP(Real-time Transport Protocol,实时传输协议)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的,后在RFC3550中进行更新。
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
以下结合附图及实施例对本发明作进一步详细说明。
实施例1:
参见图2和图3所示,本发明实施例提供一种通信设备上TCP协议的NAT ALG转换方法,包括以下步骤:
S1,进行NAT ALG转换前,记录TCP报文长度;
S2,进行NAT ALG转换;
S3,检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NAT ALG转换前的长度一致,若调整成功,进入步骤S4;若调整失败,进入步骤S5;
S4,进行硬件加速转发;
S5,留在CPU软件中进行转发。
通信设备上TCP协议的NAT ALG转换方法还包括以下步骤:
进行NAT ALG转换前,使能TCP会话的加速标识;
检测到TCP报文NAT ALG转换前后的长度变化时,若长度变长,且在TCP报文中找不到可用于长度调整的冗余字段,则将TCP会话的加速标识去使能;
TCP会话需要进行硬件加速时,判断TCP会话的加速标识是否使能,如果该标识使能,则将会话转入硬件进行转发,如果该标识未使能,则将会话留在CPU软件中进行转发。
S3~S5具体过程如下:
检测到TCP报文NAT ALG转换前后的长度变长时,寻找TCP报文载荷是否包含可用于长度调整的冗余字段,若在TCP报文中寻找到可用于长度调整的冗余字段,则去掉可用于长度调整的冗余字段,按照NAT ALG转换前的长度对载荷进行补齐;若在TCP报文中寻找不到可用于长度调整的冗余字段,视为调整失败,留在CPU软件中进行转发;
检测到TCP报文NAT ALG转换前后的长度变短时,直接按照NAT ALG转换前的长度对载荷进行补齐;或去掉TCP报文中的可用于长度调整的冗余字段,再按照NAT ALG转换前的长度对载荷进行补齐。
本发明实施例在不增加任何设备单元(设备成本)的情况下,有效解决TCP业务在进行NAT ALG转换后无法满足高性能转发速率要求甚至出现业务中断的问题。
实施例2:
参见图4所示,在实施例1的基础上,本发明实施例提供一种通信设备上TCP协议的NAT ALG转换方法,具体包括以下步骤:
步骤101:TCP报文进入内核协议栈进行转发,转入步骤102。
步骤102:内核协议栈对TCP协议报文进行NAT ALG转换,具体来说,主要将TCP载荷中的IP地址或端口根据NAT会话表进行转换,转入步骤103。
步骤103:判断ALG转换前后,报文长度是否发生变化,若没有变化,转入步骤108,若发生了变化,转入步骤104。
步骤104:判断长度是变长还是变短,若长度变短,转入步骤107;若长度变长,则转入步骤105;
步骤105,判断TCP载荷中是否包含可用于长度调整的冗余字段,若是,转入步骤106,若否,则转入步骤110。
判断TCP载荷中是否包含可用于长度调整的冗余字段,要根据该TCP协议所承载的具体业务的特点而定。例如,在本发明实施例中,针对RTSP协议,在RTSP SETUP报文(即RTSP建立报文)中,可寻找是否包含两个“UDP”模式字段或两个“TCP”模式字段,如果找到,且去掉找到的冗余字段后TCP报文长度不大于NAT ALG转换前长度,视为包含可用于长度调整的冗余字段。
若去掉找到的冗余字段后TCP报文长度仍大于NAT ALG转换前长度,则仍然认为未找到“可用于长度调整的冗余字段”。
步骤106:删除可用于长度调整的冗余字段后,对TCP报文长度进行补齐操作,转入步骤108。
长度补齐的具体步骤为,将可用于长度调整的冗余字段从TCP报文载荷中删除,然后根据TCP长度差,在TCP载荷末尾用空格或‘\0’或’\n’或其他特殊字符对报文进行补齐。
步骤107:按照NAT ALG转换前的长度对TCP报文载荷进行补齐,转入步骤108。
步骤108:设置报文允许进入硬件进行加速,转入步骤109。
步骤109:该会话后续报文进入硬件进行加速转发,结束。
步骤110:设置报文不允许进入硬件进行加速,转入步骤111。
步骤111:该会话后续报文仍然通过CPU进行软件转发。
实施例3:
在实施例1的基础上,图5中描述了本发明实施例中,没有区分长度变长或变短,针对RTSP协议报文进行长度补齐的方法示例,具体步骤如下:
1)LAN侧RTSP SETUP进行NAT ALG转换,转换后,所有LAN IP均转换为WAN IP地址,TCP报文长度发生了变化;
2)解析RTSP SETUP报文中包含“MP2T/RTP/TCP”、“MP2T/RTP/UDP”、“MP2T/TCP”、“MP2T/UDP”四个模式,判断“MP2T/RTP/TCP”与“MP2T/TCP”是相互冗余的字段,且可用于长度调整,“MP2T/RTP/UDP”与“MP2T/UDP”也是相互冗余的字段,且可用于长度调整,则可选择去掉一个可用于长度调整的冗余字段,在图5示例中,优先选择去掉“MP2T/UDP”包含的字段;当然,若去掉“MP2T/UDP”后,报文仍大于NAT ALG转换前的长度,可以进一步去掉MP2T/TCP;
3)根据TCP报文长度前后变化,计算还需要补齐57个字符,在图5示例中,采用57个空格进行报文的长度补齐,补齐后,TCP报文长度恢复为375,和转换前长度相等。
实施例4:
本发明实施例公开了一种通信设备上TCP协议的NAT ALG转换系统,包括:
转换处理模块,其用于:进行NAT ALG转换前,记录TCP报文长度;进行NAT ALG转换;检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NATALG转换前的长度一致;
转发模块,其用于:转换处理模块将TCP报文的长度调整至与NAT ALG转换前的长度一致时,进行硬件加速转发;若调整失败,则留在CPU软件中进行转发。
所述转换处理模块检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NAT ALG转换前的长度一致,具体包括以下步骤:
检测到TCP报文NAT ALG转换前后的长度变长时,寻找TCP报文载荷是否包含可用于长度调整的冗余字段,若在TCP报文中寻找到可用于长度调整的冗余字段,则去掉可用于长度调整的冗余字段,按照NAT ALG转换前的长度对载荷进行补齐;
检测到TCP报文NAT ALG转换前后的长度变短时,直接按照NAT ALG转换前的长度对载荷进行补齐;或去掉TCP报文中的可用于长度调整的冗余字段,再按照NAT ALG转换前的长度对载荷进行补齐。
本发明实施例在不增加任何设备单元的情况下,保证TCP协议进行NAT ALG转换后,即使长度发生了变化,也可以进入硬件进行加速转发,满足高性能转发速率要求。
实施例5:
在实施例4的基础上,所述转换处理模块还用于:进行NAT ALG转换前,使能TCP会话的加速标识;检测到TCP报文NAT ALG转换前后的长度变化时,若长度变长,且在TCP报文中找不到可用于长度调整的冗余字段,则将TCP会话的加速标识去使能;
所述转发模块具体用于:TCP会话需要进行硬件加速时,判断加速标识是否使能,如果该标识使能,则将会话转入硬件进行转发,如果该标识未使能,则将会话留在CPU软件中进行转发。
实施例6:
在实施例4的基础上,所述转换处理模块进行NAT ALG转换,具体包括以下步骤:将TCP报文载荷中的IP地址或端口根据NAT会话表进行转换。
所述转换处理模块寻找TCP报文载荷是否包含可用于长度调整的冗余字段,具体包括以下步骤:在实时流传输协议RTSP建立报文中,寻找是否包含两个实时传输协议UDP模式字段或两个TCP模式字段,如果找到,且去掉找到的冗余字段后TCP报文长度不大于NATALG转换前长度,视为包含可用于长度调整的冗余字段;如果找不到,或删除找到的字段后TCP报文仍大于NAT ALG转换前的长度,视为不包含可用于长度调整的冗余字段。
所述转发模块按照NAT ALG转换前的长度对载荷进行补齐,具体包括以下步骤:若长度变短,则根据TCP报文长度差,在TCP报文载荷末尾用空格或‘\0’或’\n’或其他特殊字符对报文直接进行补齐,若长度变长,则将可用于长度调整的冗余字段从TCP报文载荷中删除后,再根据TCP报文长度差,在TCP报文载荷末尾用空格或‘\0’或’\n’或其他特殊字符对报文进行补齐。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (8)

1.一种通信设备上TCP协议的NAT ALG转换方法,其特征在于,包括以下步骤:
进行NAT ALG转换前,记录TCP报文长度;
进行NAT ALG转换;
检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NATALG转换前的长度一致,再进行硬件加速转发;若调整失败,则留在CPU软件中进行转发;
所述检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NAT ALG转换前的长度一致,再进行硬件加速转发;若调整失败,则留在CPU软件中进行转发,具体包括以下步骤:
检测到TCP报文NAT ALG转换前后的长度变长时,寻找TCP报文载荷是否包含可用于长度调整的冗余字段,若在TCP报文中寻找到可用于长度调整的冗余字段,则去掉可用于长度调整的冗余字段,按照NAT ALG转换前的长度对载荷进行补齐;若在TCP报文中寻找不到可用于长度调整的冗余字段,视为调整失败,留在CPU软件中进行转发;
检测到TCP报文NAT ALG转换前后的长度变短时,直接按照NAT ALG转换前的长度对载荷进行补齐;或去掉TCP报文中的可用于长度调整的冗余字段,再按照NAT ALG转换前的长度对载荷进行补齐。
2.如权利要求1所述的方法,其特征在于:还包括以下步骤:
进行NAT ALG转换前,使能TCP会话的加速标识;
检测到TCP报文NAT ALG转换前后的长度变化时,若长度变长,且在TCP报文中找不到可用于长度调整的冗余字段,则将TCP会话的加速标识去使能;
TCP会话需要进行硬件加速时,判断TCP会话的加速标识是否使能,如果该加速标识使能,则将TCP会话转入硬件进行转发,如果该加速标识未使能,则将TCP会话留在CPU软件中进行转发。
3.如权利要求1所述的方法,其特征在于:所述寻找TCP报文载荷是否包含可用于长度调整的冗余字段,具体包括以下步骤:在实时流传输协议RTSP建立报文中,寻找是否包含两个实时传输协议UDP模式字段或两个TCP模式字段,如果找到,且去掉找到的冗余字段后TCP报文长度不大于NAT ALG转换前长度,视为包含可用于长度调整的冗余字段;如果找不到,或删除找到的冗余字段后TCP报文长度仍大于NAT ALG转换前的长度,视为不包含可用于长度调整的冗余字段。
4.如权利要求1所述的方法,其特征在于:所述按照NAT ALG转换前的长度对载荷进行补齐,具体包括以下步骤:将可用于长度调整的冗余字段从TCP报文载荷中删除,然后根据TCP报文长度差,在TCP报文载荷末尾用空格或‘\0’或‘\n’或其他特殊字符对报文进行补齐。
5.一种通信设备上TCP协议的NAT ALG转换系统,其特征在于,包括:
转换处理模块,其用于:进行NAT ALG转换前,记录TCP报文长度;进行NAT ALG转换;检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NAT ALG转换前的长度一致;
转发模块,其用于:转换处理模块将TCP报文的长度调整至与NAT ALG转换前的长度一致时,进行硬件加速转发;若调整失败,则留在CPU软件中进行转发;
所述转换处理模块检测到TCP报文NAT ALG转换前后的长度发生变化时,将TCP报文的长度调整至与NAT ALG转换前的长度一致,具体包括以下步骤:
检测到TCP报文NAT ALG转换前后的长度变长时,寻找TCP报文载荷是否包含可用于长度调整的冗余字段,若在TCP报文中寻找到可用于长度调整的冗余字段,则去掉可用于长度调整的冗余字段,按照NAT ALG转换前的长度对载荷进行补齐;
检测到TCP报文NAT ALG转换前后的长度变短时,直接按照NAT ALG转换前的长度对载荷进行补齐;或去掉TCP报文中的可用于长度调整的冗余字段,再按照NAT ALG转换前的长度对载荷进行补齐。
6.如权利要求5所述的系统,其特征在于:
所述转换处理模块还用于:进行NAT ALG转换前,使能TCP会话的加速标识;检测到TCP报文NAT ALG转换前后的长度变化时,若长度变长,且在TCP报文中找不到可用于长度调整的冗余字段,则将TCP会话的加速标识去使能;
所述转发模块具体用于:TCP会话需要进行硬件加速时,判断加速标识是否使能,如果该加速标识使能,则将TCP会话转入硬件进行转发,如果该加速标识未使能,则将TCP会话留在CPU软件中进行转发。
7.如权利要求5所述的系统 ,其特征在于:所述转换处理模块寻找TCP报文载荷是否包含可用于长度调整的冗余字段,具体包括以下步骤:在实时流传输协议RTSP建立报文中,寻找是否包含两个实时传输协议UDP模式字段或两个TCP模式字段,如果找到,且去掉找到的冗余字段后TCP报文长度不大于NAT ALG转换前长度,视为包含可用于长度调整的冗余字段;如果找不到,或删除找到的冗余字段后TCP报文长度仍大于NAT ALG转换前的长度,视为不包含可用于长度调整的冗余字段。
8.如权利要求5所述的系统 ,其特征在于:所述转发模块按照NAT ALG转换前的长度对载荷进行补齐,具体包括以下步骤:将可用于长度调整的冗余字段从TCP报文载荷中删除,然后根据TCP报文长度差,在TCP报文载荷末尾用空格或‘\0’或‘\n’或其他特殊字符对报文进行补齐。
CN201910009443.XA 2019-01-04 2019-01-04 通信设备上tcp协议的nat alg转换方法及系统 Active CN109756498B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910009443.XA CN109756498B (zh) 2019-01-04 2019-01-04 通信设备上tcp协议的nat alg转换方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910009443.XA CN109756498B (zh) 2019-01-04 2019-01-04 通信设备上tcp协议的nat alg转换方法及系统

Publications (2)

Publication Number Publication Date
CN109756498A CN109756498A (zh) 2019-05-14
CN109756498B true CN109756498B (zh) 2021-05-28

Family

ID=66405179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910009443.XA Active CN109756498B (zh) 2019-01-04 2019-01-04 通信设备上tcp协议的nat alg转换方法及系统

Country Status (1)

Country Link
CN (1) CN109756498B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113905364B (zh) * 2021-10-25 2023-07-04 广州通则康威智能科技有限公司 路由器上行数据溯源方法、装置、计算机设备及存储介质
CN115190055A (zh) * 2022-07-08 2022-10-14 武汉众邦银行股份有限公司 一种tcp报文定制化转换方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217429A (zh) * 2008-01-18 2008-07-09 清华大学 基于tcp时间戳选项确定tcp报文之间的引发关系的方法
CN103166855A (zh) * 2011-12-12 2013-06-19 深圳市共进电子股份有限公司 识别和转换网络报文中的地址信息的方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247353B (zh) * 2008-03-25 2010-08-25 杭州华三通信技术有限公司 流老化方法及网络设备
US20100054123A1 (en) * 2008-08-30 2010-03-04 Liu Yong Method and device for hign utilization and efficient flow control over networks with long transmission latency
CN103338184B (zh) * 2013-05-27 2017-02-15 福建伊时代信息科技股份有限公司 数据发送方法及数据发送装置
CN104283923A (zh) * 2013-07-08 2015-01-14 中兴通讯股份有限公司 一种网络设备数据转发方法及装置
CN104506513B (zh) * 2014-12-16 2018-05-22 北京星网锐捷网络技术有限公司 防火墙流表备份方法、防火墙及防火墙系统
CN105429957A (zh) * 2015-11-02 2016-03-23 芦斌 一种基于sdn构架下的ip地址跳变安全通信方法
US10193855B2 (en) * 2017-05-30 2019-01-29 Paypal, Inc. Determining source address information for network packets
CN107659436B (zh) * 2017-09-15 2020-12-29 新华三技术有限公司 一种防止业务中断的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217429A (zh) * 2008-01-18 2008-07-09 清华大学 基于tcp时间戳选项确定tcp报文之间的引发关系的方法
CN103166855A (zh) * 2011-12-12 2013-06-19 深圳市共进电子股份有限公司 识别和转换网络报文中的地址信息的方法和系统

Also Published As

Publication number Publication date
CN109756498A (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
US11671868B2 (en) Methods and apparatus for optimizing tunneled traffic
US10021594B2 (en) Methods and apparatus for optimizing tunneled traffic
US11979322B2 (en) Method and apparatus for providing service for traffic flow
JP5877160B2 (ja) データ伝送方法、装置及びシステム
US7969976B2 (en) Gateway apparatus, packet forwarding method, and program
US8942619B2 (en) Relay device
WO2015074324A1 (zh) 一种数据包快速转发方法及装置
US8601139B2 (en) Multiple core session initiation protocol (SIP)
WO2019127134A1 (zh) 一种数据传送的方法和虚拟交换机
US20150071290A1 (en) Data routing acceleration
US9130957B2 (en) Data communication apparatus and method
CN109756498B (zh) 通信设备上tcp协议的nat alg转换方法及系统
WO2021088813A1 (zh) 报文封装方法及装置、报文解封装方法及装置
US9172775B2 (en) Network communication system, device, and method for reducing a network addressing header
CN107995130A (zh) 一种分片报文的快转方法
CN108400911B (zh) 一种实现Micro-BFD协议的装置及方法
US20090106436A1 (en) Methods and systems for offload processing
GB2592315A (en) Methods and systems for sending packets through a plurality of tunnels
EP3340545B1 (en) Methods and apparatus for optimizing tunneled traffic
CN102647347A (zh) 实现基于连接的流量的处理方法及系统
CN102868642A (zh) 在asic中实现nvgre报文转发的方法和装置
CN105072057A (zh) 一种用于网络数据传输的中间交换设备及网络通信系统
CN104363149A (zh) 基于sip协议实现voip网络状态监测的系统及方法
CN105791239A (zh) 一种tcp中间人处理方法
US20150230129A1 (en) Method and system for optimizing radio resources between ue and enb during volte call

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant