CN102801824B - Nat设备、napt设备和tcp应用引流的处理方法与处理*** - Google Patents

Nat设备、napt设备和tcp应用引流的处理方法与处理*** Download PDF

Info

Publication number
CN102801824B
CN102801824B CN201210311146.9A CN201210311146A CN102801824B CN 102801824 B CN102801824 B CN 102801824B CN 201210311146 A CN201210311146 A CN 201210311146A CN 102801824 B CN102801824 B CN 102801824B
Authority
CN
China
Prior art keywords
message
tcp
address
server
application
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
CN201210311146.9A
Other languages
English (en)
Other versions
CN102801824A (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.)
Shanshi Network Communication Technology Co Ltd
Original Assignee
Hillstone Networks 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 Hillstone Networks Co Ltd filed Critical Hillstone Networks Co Ltd
Priority to CN201210311146.9A priority Critical patent/CN102801824B/zh
Publication of CN102801824A publication Critical patent/CN102801824A/zh
Application granted granted Critical
Publication of CN102801824B publication Critical patent/CN102801824B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种NAT设备、NAPT设备和TCP应用引流的处理方法与处理***。该处理方法包括以下步骤:NAT设备在接收到客户端向服务器发送的具有TCP负载的报文,在进行应用识别并基于应用类型和目的IP地址重新选路后,并不直接将这个报文做网络地址转换后发送至服务器,而是在NAT设备上重新与服务器握手,也即重新建立TCP连接,然后再将该具有TCP负载的报文向服务器发送,能够实现NAT模式下TCP应用引流。在NAPT模式下的TCP应用引流的处理方法与在NAT模式下的TCP应用引流的处理方法相似,因而,通过本发明的思想,也能够实现NAPT模式下的TCP应用引流,从而能够帮助企业、运营商有效利用带宽资源,保证重要应用的服务质量。

Description

NAT设备、NAPT设备和TCP应用引流的处理方法与处理***
技术领域
本发明涉及互联网领域,具体而言,涉及一种NAT设备、NAPT设备和TCP应用引流的处理方法与处理***。
背景技术
随着互联网的高速发展,每天都有各种各样的应用程序诞生。P2P(点对点)、Web视频(也即在线视频)这类应用占用了大量的带宽。为了保证重要应用的服务质量,企业、运营商需要根据应用的类型来进行路由选路,例如将占带宽较大、但是不重要的应用引到一条对质量要求不高的链路,而将重要的应用引到一条质量较好的链路。
在新建会话时(也即收到连接的第一个报文时),就根据报文的内容进行应用识别,然后根据IP、端口、以及应用这些信息做路由查找。在网络设备收到第一个报文时,对于UDP承载的应用,一般来讲其可用信息比较多,选择首部的目的端口和负载内容来进行识别。
对于TCP承载的应用,由于握手报文没有任何负载,则只能选择使用目的端口来进行识别。
然而,对于基于TCP的应用,在收到客户端发往服务器的第一个同步报文的时候,没有任何负载,对于应用识别有用的信息主要是源、目的IP地址和端口信息,而此时往往不足以或者不够准确的识别这个连接的应用类型,只能根据源、目的IP、端口情况先做一个粗略的应用识别,并进行选路。例如在不使用插件的情况下,主流的在线视频的目的端口都是80,也即承载在HTTP协议之上,根据第一个TCP报文只能识别成HTTP协议,而不能精确到是某一种Web视频。
但是,在NAT/NAPT(网络地址转换/网络地址端口转换)的应用场景下,重新进行选路后,由于源IP/端口发生改变,会导致服务器复位这个链接,从而导致应用中断,无法实现引流。
以NAT模式下的TCP应用为例,如图1所示,由C(客户端)访问S(YouKu服务器)时,经过一台NAT设备,做源地址转换,报文序列如下表Ⅰ所示。其中,当C通过NAT设备访问S时,做源地址转换,从C->S的默认出接口为e1,现在需要将YouKu视频引流到e2上。下表中的第4个报文为TCP的PUSH报文,包含TCP负载。根据TCP负载将此连接识别为YouKu视频,根据应用类型重新查找到出接口为e2。由于做源NAT,这个报文从NAT设备发出去时,其源IP变更为e2.IP。S收到来自一个e2.IP的报文,是没有经过TCP握手的,导致应用中断。
表Ⅰ报文序列表
针对相关技术中在NAT或NAPT模式下无法实现TCP应用引流的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种NAT设备、NAPT设备和TCP应用引流的处理方法与处理***,以解决在NAT或NAPT模式下无法实现TCP应用引流的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种TCP应用引流的处理方法。
根据本发明的TCP应用引流的处理方法包括:NAT设备在接收到第一报文后,对第一报文中TCP负载进行识别,并根据识别出的应用类型和目的IP地址重新选路,确定TCP应用被引流时对应的出接口,其中,第一报文为客户端经由NAT设备向服务器发送的具有TCP负载的报文;NAT设备进行网络地址转换,其中,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址;NAT设备与服务器握手,其中,握手报文的源IP地址为转换后的源IP地址;以及NAT设备向服务器发送第一报文。
进一步地,第一报文为客户端向服务器发送的第一个具有TCP负载的报文。
进一步地,NAT设备与服务器握手包括:NAT设备向服务器发送SYN信号;服务器向NAT设备返回SYN-ACK信号;以及NAT设备向服务器发送ACK信号。
进一步地,在NAT设备向服务器发送第一报文后,该方法还包括:NAT设备在接收到第二报文后,NAT设备进行网络地址转换和TCP序列号转换,其中,第二报文为客户端经由NAT设备向服务器发送的报文;以及NAT设备在接收到第三报文后,NAT设备进行TCP序列号转换,其中,第三报文为服务器经由NAT设备向客户端发送的报文。
为了实现上述目的,根据本发明的一个方面,提供了另一种TCP应用引流的处理方法。
根据本发明的TCP应用引流的处理方法包括:NAPT设备在接收到第一报文后,对第一报文中TCP负载进行应用识别,并根据识别出的应用类型和目的IP地址重新选路,确定TCP应用被引流时对应的出接口,其中,第一报文为客户端经由NAPT设备向服务器发送的具有TCP负载的报文;NAPT设备进行网络地址及端口转换,其中,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址,转换后的端口号为NAPT设备动态分配的端口号;NAPT设备与服务器握手,其中,握手报文的源IP地址为转换后的源IP地址,握手报文的源端口号为转换后的源端口号;以及NAPT设备向服务器发送第一报文。
进一步地,在NAPT设备向服务器发送第一报文后,该方法还包括:NAPT设备在接收到第二报文后,NAPT设备进行网络地址、端口转换和TCP序列号转换,其中,第二报文为客户端经由NAPT设备向服务器发送的报文;以及NAPT设备在接收到第三报文后,NAPT设备进行TCP序列号转换,其中,第三报文为服务器经由NAPT设备向客户端发送的报文。
为了实现上述目的,根据本发明的一个方面,提供了一种NAT设备。
根据本发明的NAT设备包括:接收模块,用于接收第一报文,其中,第一报文为客户端经由NAT设备向服务器发送的具有TCP负载的报文;应用识别模块,用于识别第一报文中TCP负载的应用类型;应用引流模块,用于根据识别出的应用类型和目的IP地址重新选路,确定TCP应用被引流时对应的出接口;IP转换模块,用于进行网络地址转换,其中,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址;握手模块,用于与服务器握手,其中,握手报文的源IP地址为转换后的源IP地址;以及发送模块,用于向服务器发送第一报文。
为了实现上述目的,根据本发明的一个方面,提供了一种NAPT设备。
根据本发明的NAPT设备包括:接收模块,用于接收第一报文,其中,第一报文为客户端经由NAPT设备向服务器发送的具有TCP负载的报文;应用识别模块,用于识别第一报文中TCP负载的应用类型;应用引流模块,用于根据识别出的的应用类型和目的IP地址重新选路,以确定TCP应用被引流时对应的出接口;IP及端口转换模块,用于进行网络地址以及端口转换,其中,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址,转换后的端口号为NAPT设备动态分配的端口号;握手模块,用于与服务器握手,其中,握手报文的源IP地址为转换后的源IP地址,握手报文的源端口号为转换后的源端口号;以及发送模块,用于向服务器发送第一报文。
为了实现上述目的,根据本发明的一个方面,提供了一种TCP应用引流的处理***。
根据本发明的TCP应用引流的处理***包括:客户端、NAT设备和服务器,其中,客户端用于经由NAT设备向服务器发送第一报文,其中,第一报文为具有TCP负载的报文;NAT设备用于在接收到第一报文后,对第一报文中TCP负载进行应用识别,并根据识别出的应用类型和目的IP地址重新选路,以确定TCP应用被引流时对应的出接口;NAT设备还用于进行网络地址转换,并与服务器握手,其中,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址,握手报文的源IP地址为转换后的源IP地址;NAT设备还用于与服务器握手后,向服务器发送第一报文;以及服务器用于与NAT设备握手后,接收第一报文。
为了实现上述目的,根据本发明的一个方面,提供了另一种TCP应用引流的处理***。
根据本发明的TCP应用引流的处理***包括:客户端、NAPT设备和服务器,其中,客户端用于经由NAPT设备向服务器发送第一报文,其中,第一报文为具有TCP负载的报文;NAPT设备用于在接收到第一报文后,对第一报文中TCP负载进行应用识别,并根据识别出的应用类型和目的IP地址重新选路,以确定TCP应用被引流时对应的出接口;NAPT设备还用于进行网络地址及端口转换,并与服务器握手,其中,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址,转换后的源端口号为NAPT设备动态分配的端口号,握手报文的源IP地址为转换后的源IP地址,握手报文的源端口号为转换后的源端口号;NAPT设备还用于与服务器握手后,向服务器发送第一报文;以及服务器用于与NAPT设备握手后,接收第一报文。
通过本发明,采用包括以下步骤的TCP应用引流的处理方法:NAT设备在接收到客户端向服务器发送的具有TCP负载的报文,在进行应用识别并基于应用识别重新选路后,并不直接将这个报文做网络地址转换后发送至服务器,而是在NAT设备上重新与服务器握手,也即重新建立TCP连接,然后再将该具有TCP负载的报文向服务器发送,其中,NAT设备在进行网络地址转换时,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址,能够实现NAT模式下TCP应用引流,在NAPT模式下的TCP应用引流的处理方法与在NAT模式下的TCP应用引流的处理方法相似,因而,通过本发明的思想,也能够实现NAPT模式下的TCP应用引流,从而能够帮助企业、运营商有效利用带宽资源,保证重要应用的服务质量,解决了在NAT或NAPT模式下无法实现TCP应用引流的问题,进而实现了NAT和NAPT模式下TCP应用引流。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的TCP应用交互示意图;
图2是根据本发明第一实施例的TCP应用引流的处理***;
图3是根据本发明第一实施例的TCP应用交互示意图;
图4是根据本发明第二实施例的TCP应用引流的处理***;
图5是根据本发明第二实施例的TCP应用交互示意图;
图6是根据本发明实施例的NAT设备的框图;
图7是采用本发明NAT设备的网络***的示意图;
图8是根据本发明实施例的NAPT设备的框图;
图9是根据本发明第一实施例的TCP应用引流的处理方法;以及
图10是根据本发明第二实施例的TCP应用引流的处理方法。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图2是根据本发明第一实施例的TCP应用引流的处理***,如图2所示,该处理***包括客户端10、NAT设备30和服务器50,三者的交互过程如图3所示,客户端10拥有内网IP地址C.IP,在访问服务器50时需要NAT设备进行内网IP地址至公网IP地址的转换,其中,公网对应的出接口为e1和e2,客户端10与服务器50的TCP交互过程的报文序列表如下表Ⅱ所示。
表ⅡNAT报文序列表
其中,客户端10首先向服务器50发送握手信号SYN,其中,NAT设备30进行网络地址转换时,转换前的源IP地址为客户端内网IP地址C.IP,转换后的源IP地址为客户端10访问服务器50时默认的出接口e1的IP地址e1.IP,也即,该次握手报文的源IP地址为e1.IP,然后服务器50返回客户端10应答信号SYN-ACK,当客户端10接收到应答信号SYN-ACK后,向服务器50以ACK消息响应,至此,客户端10与服务器50建立TCP连接,客户端10可经由默认的出接口e1访问服务器50。
为了保证正常的网页浏览、邮件、DNS等重要服务,可将P2P类、WEB视频类这类占用带宽较大的应用进行引流,引流至另一出接口为e2,而其他的应用走默认的出接口e1,从而保证e1上重要应用不受P2P类、WEB视频类的应用抢占带宽。
当客户端10向服务器50发送具有负载的报文时,如图3所示,以客户端10向服务器50发送的第一个具有负载的PUSH报文为例,NAT设备30在接收到PUSH报文时,并不直接将PUSH发送给服务器50,而是对PUSH报文中TCP负载进行识别,根据识别出的应用类型以及目的IP地址确定是否需要被引流,当TCP负载为P2P类、WEB视频类应用时,确定该TCP应用需要被引流,则重新选路,确定TCP应用被引流时对应的出接口为e2。
此时,NAT设备进行网络地址转换时,转换前的源IP地址为客户端内网IP地址C.IP,转换后的源IP地址为出接口e2的IP地址e2.IP,为了防止由于源IP发生改变,服务器50复位链接,NAT设备30与服务器50握手,重新建立TCP连接。具体地,NAT设备30向服务器50发送握手信号SYN,该次握手报文的源IP地址为e2.IP,然后服务器50返回NAT设备30应答信号SYN-ACK,当NAT设备30接收到应答信号SYN-ACK后,向服务器50以ACK消息响应,至此,NAT设备30与服务器50建立新的TCP连接,客户端10可经由出接口e2访问服务器50,也即,将P2P类、WEB视频类的应用引流至出接口e2,NAT设备30与服务器50重新握手后,将PUSH报文发送给服务器50。
后续的客户端10与服务器50之间的报文,除了做IP地址的转换,也做TCP序列号的变更。便可维护客户端10与服务器50之间的连接,其中,如上表Ⅱ所示,从客户端10至服务器50方向上的报文的TCP序列号差值为NAT.Seq-C.Seq,从服务器50至客户端10方向上的报文的TCP序列号差值为S.Seq2-S.Seq1。
采用该实施例提供的TCP应用引流的处理***,能够实现NAT模式下TCP应用引流,从而能够帮助企业、运营商有效利用带宽资源,保证重要应用的服务质量。
图4是根据本发明第二实施例的TCP应用引流的处理***,如图4所示,该处理***包括客户端20、NAPT设备40和服务器60。
客户端20用于经由NAPT设备40向服务器60发送第一报文,其中,第一报文为具有TCP负载的报文;NAPT设备40用于在接收到第一报文后,对第一报文中TCP负载进行识别,并根据识别出的应用类型和目的IP地址重新选路,确定TCP应用被引流时对应的出接口;NAPT设备40还用于进行网络地址和端口转换,并与服务器60握手,其中,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址,转换后的源端口号为NAPT设备动态分配的端口号,握手报文的源IP地址为转换后的源IP地址,握手报文的源端口号为转换后的源端口号;NAPT设备40还用于与服务器60握手后,向服务器发送第一报文;以及服务器60用于与NAPT设备40握手后,接收第一报文,其中,客户端20与服务器60之间的报文交互过程如表Ⅲ所示。
表ⅢNAPT报文序列表
其中,客户端20首先向服务器60发送握手信号SYN,其中,NAPT设备40进行网络地址和端口转换时,转换前的源IP地址为客户端内网IP地址C.IP,转换前的TCP源端口为客户端20分配的一个端口C.Port1,转换后的源IP地址为客户端20访问服务器60时默认的出接口e1的IP地址e1.IP,转换后的源端口为NAPT设备动态分配的一个端口,也即,该次握手报文的源IP地址为e1.IP,源端口为NAPT.Port1,然后服务器60返回客户端20应答信号SYN-ACK,当客户端20接收到应答信号SYN-ACK后,向服务器60以ACK消息响应,至此,客户端20与服务器60建立TCP连接,客户端20可经由默认的出接口e1访问服务器60。
为了保证正常的网页浏览、邮件、DNS等重要服务,可将P2P类、WEB视频类这类占用带宽较大的应用进行引流,引流至另一出接口为e2,而其他的应用走默认的出接口e1,从而保证e1上重要应用不受P2P类、WEB视频类的应用抢占带宽。
当客户端20向服务器60发送具有负载的报文时,如图5所示,以客户端20向服务器60发送的第一个具有负载的PUSH报文为例,NAPT设备40在接收到PUSH报文时,并不直接将PUSH发送给服务器60,而是对PUSH报文中TCP负载进行识别,根据识别出的应用类型以及目的IP地址确定是否需要被引流,当TCP负载为P2P类、WEB视频类应用时,确定该TCP应用需要被引流,则重新选路,确定TCP应用被引流时对应的出接口为e2。
此时,NAPT设备进行网络地址转换和端口转换时,转换前的源IP地址为客户端内网IP地址C.IP,转换后的源IP地址为出接口e2的IP地址e2.IP,转换前的TCP源端口为客户机分配的端口C.Port1,转换后的源端口为NAPT设备动态分配的端口NAPT.Port1,为了防止由于源IP发生改变,服务器60复位链接,NAPT设备40与服务器60握手,重新建立TCP连接。具体地,NAPT设备40向服务器60发送握手信号SYN,该次握手报文的源IP地址为e2.IP,然后服务器60返回NAPT设备40应答信号SYN-ACK,当NAPT设备40接收到应答信号SYN-ACK后,向服务器60以ACK消息响应,至此,NAPT设备40与服务器60建立新的TCP连接,客户端20可经由出接口e2访问服务器60,也即,将P2P类、WEB视频类的应用引流至出接口e2,NAPT设备40与服务器60重新握手后,将PUSH报文发送给服务器60。
后续的客户端20与服务器60之间的报文,除了做IP地址、TCP端口的转换,也做TCP序列号的变更,便可维护客户端20与服务器60之间的连接,其中,如上表Ⅲ所示,从客户端20至服务器60方向上的报文的TCP序列号差值为NAPT.Seq-C.Seq,从服务器60至客户端20方向上的报文的TCP序列号差值为S.Seq2-S.Seq1。
采用该实施例提供的TCP应用引流的处理***,能够实现NAPT模式下TCP应用引流,从而能够帮助企业、运营商有效利用带宽资源,保证重要应用的服务质量。
图6是根据本发明实施例的NAT设备的框图,如图6所示,该NAT设备包括接收模块31、应用识别模块32、应用引流模块33、IP转换模块34、握手模块35和发送模块36。
在客户端与服务器的TCP交互过程中,为了保证正常的网页浏览、邮件、DNS等重要服务,当部分TCP应用需要被引流时,上述各模块的具体工作过程如下:
在接收模块31接收到客户端经由NAT设备向服务器发送的具有TCP负载的第一报文时,应用识别模块22识别第一报文中TCP负载的应用类型,以确定负载中的应用是否需要被引流,当TCP负载为P2P类、WEB视频类应用时,确定该TCP应用需要被引流。应用引流模块33根据确定的应用类型和目的IP地址等信息重新选路,确定TCP应用被引流时对应的出接口,IP转换模块34根据的确定的被引流时对应的出接口进行网络地址转换,其中,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址。为了防止由于源IP发生改变,服务器复位链接,握手模块35与服务器握手,其中,握手报文的源IP地址为转换后的源IP地址,则NAT设备与服务器建立新的TCP连接后,发送模块36将第一报文发送给服务器。
后续的客户端10与服务器50之间的报文除了做IP地址的转换,也做TCP序列号的变更,便可维护客户端10与服务器50之间的连接。
采用该实施例提供的NAT设备,能够实现NAT模式下TCP应用引流,从而能够帮助企业、运营商有效利用带宽资源,保证重要应用的服务质量。
优选地,为了实时保证重要应用的服务质量,第一报文为客户端向服务器发送的第一个具有负载的报文,由于客户端发起的第一个有TCP负载的报文信息量非常大,因而可准确的识别到被引流的出接口。
采用该实施例的NAT设备,可应用于如图7所示的网络***中。如图7所示,PC1、PC2、PC3…均为企业内网的PC机,拥有内网IP地址。网关拥有两个WAN口:e0和e1。网关除了做基本的访问控制以外,同时做NAT。为了保证正常的网页浏览、邮件、DNS等重要服务,可以将P2P类、Web视频类这类占用带宽较大的应用引流到e0上,而其它应用走默认除接口e1,从而保证e1上的重要应用不受P2P、Web视频类的应用抢占带宽。
图8是根据本发明实施例的NAPT设备的框图,如图8所示,该NAPT设备包括接收模块41、应用识别模块42、应用引流模块43、IP及端口转换模块44、握手模块45和发送模块46。
在客户端与服务器的TCP交互过程中,为了保证正常的网页浏览、邮件、DNS等重要服务,当部分TCP应用需要被引流时,上述各模块的具体工作过程如下:
在接收模块41接收到客户端经由NAPT设备向服务器发送的具有TCP负载的第一报文时,应用识别模块42识别第一报文中TCP负载的应用类型,以确定负载中的应用是否需要被引流,当TCP负载为P2P类、WEB视频类应用时,确定该TCP应用需要被引流。应用引流模块43根据识别出的应用类型和目的IP地址重新选路,确定TCP应用被引流时对应的端口,IP及端口转换模块44根据的确定的被引流时对应的端口进行IP地址转换,根据NAPT设备动态分配的端口号进行端口转换,其中,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址,转换后的端口号为NAPT设备动态分配的端口号。为了防止由于源端口发生改变,服务器复位链接,握手模块45与服务器握手,其中,握手报文的源IP地址为转换后的源IP地址,握手报文的源端口为转换后的端口号,则NAPT设备与服务器建立新的TCP连接后,发送模块36将第一报文发送给服务器。
后续的客户端10与服务器50之间的报文除了做端口号的转换,也做TCP序列号的变更,便可维护客户端10与服务器50之间的连接。
采用该实施例提供的NAPT设备,能够实现NAPT模式下TCP应用引流,从而能够帮助企业、运营商有效利用带宽资源,保证重要应用的服务质量。
优选地,为了实时保证重要应用的服务质量,第一报文为客户端向服务器发送的第一个具有负载的报文。
图9是根据本发明第一实施例的TCP应用引流的处理方法,如图9所示,该方法包括如下的步骤S102至步骤S108。
步骤S102:NAT设备在接收到第一报文后,根据第一报文中TCP负载的应用类型确定TCP应用被引流时对应的出接口,其中,第一报文为客户端经由NAT设备向服务器发送的具有TCP负载的报文,可预先设定不同的TCP应用被引用之不同的出接口,具体地,对第一报文中TCP负载进行应用识别,并根据识别出的应用类型和目的IP地址重新选路,来确定TCP应用被引流时对应的出接口。
步骤S104:NAT设备进行网络地址转换,其中,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址。
步骤S106:NAT设备与服务器握手,其中,握手报文的源IP地址为转换后的源IP地址,使得NAT设备与服务器建立新的TCP连接,转换后的IP地址得到服务器的信任。
步骤S108:NAT设备向服务器发送第一报文,由于此时第一报文的源IP地址是服务器信任的IP地址,是经过握手的,因此服务器不会发送复位报文进行复位。
采用该实施例提供的TCP应用引流的处理方法,能够实现NAT模式下TCP应用引流,从而能够帮助企业、运营商有效利用带宽资源,保证重要应用的服务质量。
优选地,为了实时保证重要应用的服务质量,第一报文为客户端向服务器发送的第一个具有TCP负载的报文。
优选地,NAT设备与服务器握手的步骤包括:NAT设备向服务器发送SYN信号;服务器向NAT设备返回SYN-ACK信号;以及NAT设备向服务器发送ACK信号。
优选地,为了维护服务器与客户端之间正常的TCP通信,在NAT设备向服务器发送第一报文后,NAT设备接收客户端经由NAT设备向服务器发送的报文后,NAT设备进行网络地址转换和TCP序列号转换;NAT设备在接收到服务器经由NAT设备向客户端发送的报文后,NAT设备进行TCP序列号转换。
图10是根据本发明第二实施例的TCP应用引流的处理方法,如图10所示,该方法包括如下的步骤S202至步骤S208。
步骤S202:NAPT设备在接收到第一报文后,根据第一报文中TCP负载的应用类型确定TCP应用被引流时对应的出接口,其中,第一报文为客户端经由NAPT设备向服务器发送的具有TCP负载的报文,可预先设定不同的TCP应用被引用之不同的端口,具体地,对第一报文中TCP负载进行应用识别,并根据识别出的应用类型和目的IP地址重新选路,以确定TCP应用被引流时对应的出接口。
步骤S204:NAPT设备进行网络地址和端口转换,其中,转换后的源IP地址为TCP应用被引流时对应出接口的IP地址,转换后的源端口号为NAPT设备动态分配的端口号。
步骤S206:NAPT设备与服务器握手,其中,握手报文的源IP地址为转换后的源IP地址,握手报文的源端口号为转换后的端口号,使得NAPT设备与服务器建立新的TCP连接,转换后的端口号得到服务器的信任。
步骤S208:NAPT设备向服务器发送第一报文,由于此时第一报文的源IP地址和源端口号是服务器信任的端口号,是经过握手的,因此服务器不会发送复位报文进行复位。
采用该实施例提供的TCP应用引流的处理方法,能够实现NAPT模式下TCP应用引流,从而能够帮助企业、运营商有效利用带宽资源,保证重要应用的服务质量。
优选地,为了实时保证重要应用的服务质量,第一报文为客户端向服务器发送的第一个具有TCP负载的报文。
优选地,为了维护服务器与客户端之间正常的TCP通信,在NAPT设备向服务器发送第一报文后,NAPT设备接收客户端经由NAPT设备向服务器发送的报文后,NAT设备进行网络地址、端口转换和TCP序列号转换;NAPT设备在接收到服务器经由NAPT设备向客户端发送的报文后,NAPT设备进行TCP序列号转换。
从以上的描述中,可以看出,本发明实现了如下技术效果:能够实现NAT/NAPT模式下TCP应用引流,从而能够帮助企业、运营商有效利用带宽资源,保证重要应用的服务质量,解决了在NAT或NAPT模式下无法实现TCP应用引流的问题。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种TCP应用引流的处理方法,其特征在于,包括:
NAT设备在接收到第一报文后,对所述第一报文中TCP负载进行应用识别,并根据识别出的应用类型和目的IP地址重新选路,确定TCP应用被引流时对应的出接口,其中,所述第一报文为客户端经由所述NAT设备向服务器发送的具有TCP负载的报文;
所述NAT设备进行网络地址转换,其中,转换后的源IP地址为所述TCP应用被引流时对应出接口的IP地址;
所述NAT设备与所述服务器握手,其中,握手报文的源IP地址为所述转换后的源IP地址;以及
所述NAT设备向所述服务器发送所述第一报文。
2.根据权利要求1所述的处理方法,其特征在于,所述第一报文为所述客户端向所述服务器发送的第一个具有TCP负载的报文。
3.根据权利要求1所述的处理方法,其特征在于,所述NAT设备与所述服务器握手包括:
所述NAT设备向所述服务器发送SYN信号;
所述服务器向所述NAT设备返回SYN-ACK信号;以及
所述NAT设备向所述服务器发送ACK信号。
4.根据权利要求1所述的处理方法,其特征在于,在所述NAT设备向所述服务器发送所述第一报文后,所述方法还包括:
所述NAT设备在接收到第二报文后,进行网络地址转换和TCP序列号转换,其中,所述第二报文为所述客户端经由所述NAT设备向所述服务器发送的报文;以及
所述NAT设备在接收到第三报文后,进行TCP序列号转换,其中,所述第三报文为所述服务器经由所述NAT设备向所述客户端发送的报文。
5.一种TCP应用引流的处理方法,其特征在于,包括:
NAPT设备在接收到第一报文后,对所述第一报文中TCP负载进行应用识别,并根据识别出的应用类型和目的IP地址重新选路,确定TCP应用被引流时对应的出接口,其中,所述第一报文为客户端经由所述NAPT设备向服务器发送的具有TCP负载的报文;
所述NAPT设备进行网络地址及端口转换,其中,转换后的源IP地址为所述TCP应用被引流时对应出接口的IP地址,转换后的源端口号为所述NAPT设备动态分配的端口号;
所述NAPT设备与所述服务器握手,其中,握手报文的源IP地址为所述转换后的源IP地址,所述握手报文的源端口号为所述转换后的源端口号;以及
所述NAPT设备向所述服务器发送所述第一报文。
6.根据权利要求5所述的处理方法,其特征在于,在所述NAPT设备向所述服务器发送所述第一报文后,所述方法还包括:
所述NAPT设备在接收到第二报文后,进行网络地址、端口转换和TCP序列号转换,其中,所述第二报文为所述客户端经由所述NAPT设备向所述服务器发送的报文;以及
所述NAPT设备在接收到第三报文后,进行TCP序列号转换,其中,所述第三报文为所述服务器经由所述NAPT设备向所述客户端发送的报文。
7.一种NAT设备,其特征在于,包括:
接收模块,用于接收第一报文,其中,所述第一报文为客户端经由NAT设备向服务器发送的具有TCP负载的报文;
应用识别模块,用于识别所述第一报文中TCP负载的应用类型;
应用引流模块,用于根据识别出的应用类型和目的IP地址重新选路,以确定TCP应用被引流时对应的出接口;
IP转换模块,用于进行网络地址转换,其中,转换后的源IP地址为所述TCP应用被引流时对应出接口的IP地址;
握手模块,用于与所述服务器握手,其中,握手报文的源IP地址为所述转换后的源IP地址;以及
发送模块,用于向所述服务器发送所述第一报文。
8.一种NAPT设备,其特征在于,包括:
接收模块,用于接收第一报文,其中,所述第一报文为客户端经由NAPT设备向服务器发送的具有TCP负载的报文;
应用识别模块,用于识别所述第一报文中TCP负载的应用类型;
应用引流模块,用于根据识别出的应用类型和目的IP地址重新选路,以确定TCP应用被引流时对应的出接口;
IP及端口转换模块,用于进行网络地址及端口转换,其中,转换后的源IP地址为所述TCP应用被引流时对应出接口的IP地址,转换后的源端口号为所述NAPT设备动态分配的端口号;
握手模块,用于与所述服务器握手,其中,握手报文的源IP地址为所述转换后的源IP地址,所述握手报文的源端口号为所述转换后的源端口号;以及
发送模块,用于向所述服务器发送所述第一报文。
9.一种TCP应用引流的处理***,其特征在于,包括客户端、NAT设备和服务器,其中,
所述客户端用于经由所述NAT设备向所述服务器发送第一报文,其中,所述第一报文为具有TCP负载的报文;
所述NAT设备用于在接收到所述第一报文后,对所述第一报文中TCP负载进行应用识别,并根据识别出的应用类型和目的IP地址重新选路,以确定TCP应用被引流时对应的出接口;
所述NAT设备还用于进行网络地址转换,并与所述服务器握手,其中,转换后的源IP地址为所述TCP应用被引流时对应出接口的IP地址,握手报文的源IP地址为所述转换后的源IP地址;
所述NAT设备还用于与所述服务器握手后,向所述服务器发送所述第一报文;以及
所述服务器用于与所述NAT设备握手后,接收所述第一报文。
10.一种TCP应用引流的处理***,其特征在于,包括客户端、NAPT设备和服务器,其中,
所述客户端用于经由所述NAPT设备向所述服务器发送第一报文,其中,所述第一报文为具有TCP负载的报文;
所述NAPT设备用于在接收到所述第一报文后,对所述第一报文中TCP负载进行应用识别,并根据识别出的应用类型和目的IP地址重新选路,以确定TCP应用被引流时对应的出接口;
所述NAPT设备还用于进行地址及端口转换,并与所述服务器握手,其中,转换后的源IP地址为所述TCP应用被引流时对应出接口的IP地址,转换后的源端口号为所述NAPT设备动态分配的端口号,握手报文的源IP地址为所述转换后的源IP地址,所述握手报文的源端口号为所述转换后的源端口号;
所述NAPT设备还用于与所述服务器握手后,向所述服务器发送所述第一报文;以及
所述服务器用于与所述NAPT设备握手后,接收所述第一报文。
CN201210311146.9A 2012-08-28 2012-08-28 Nat设备、napt设备和tcp应用引流的处理方法与处理*** Active CN102801824B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210311146.9A CN102801824B (zh) 2012-08-28 2012-08-28 Nat设备、napt设备和tcp应用引流的处理方法与处理***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210311146.9A CN102801824B (zh) 2012-08-28 2012-08-28 Nat设备、napt设备和tcp应用引流的处理方法与处理***

Publications (2)

Publication Number Publication Date
CN102801824A CN102801824A (zh) 2012-11-28
CN102801824B true CN102801824B (zh) 2015-07-01

Family

ID=47200784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210311146.9A Active CN102801824B (zh) 2012-08-28 2012-08-28 Nat设备、napt设备和tcp应用引流的处理方法与处理***

Country Status (1)

Country Link
CN (1) CN102801824B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103475593A (zh) * 2013-08-20 2013-12-25 北京星网锐捷网络技术有限公司 数据流的处理方法和装置
CN104994178B (zh) * 2015-05-12 2019-05-03 广东睿江云计算股份有限公司 一种网络地址转换方法及装置
CN105282231B (zh) * 2015-09-11 2018-09-21 深信服网络科技(深圳)有限公司 基于应用类型的数据引流方法、装置及***
CN110752994B (zh) * 2019-10-28 2022-03-22 深信服科技股份有限公司 一种流量分类处理方法、装置、设备及可读存储介质
CN110958153A (zh) * 2019-11-01 2020-04-03 上海盈赞通信科技有限公司 网络传输速率检测***、方法及存储介质
CN116032851B (zh) * 2022-12-30 2024-05-14 上海天旦网络科技发展有限公司 基于间隔时序轨迹特征的tcp短连接的nat识别方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1466340A (zh) * 2002-06-24 2004-01-07 �人��������������ι�˾ 以策略流方式转发数据的方法和数据转发设备
CN1863152A (zh) * 2005-09-28 2006-11-15 华为技术有限公司 内网用户之间传递各种报文的方法
EP1554841B1 (en) * 2002-10-22 2007-01-17 Cisco Technology, Inc. Shared port address translation on a router behaving as nat and nat-pt gateway

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1466340A (zh) * 2002-06-24 2004-01-07 �人��������������ι�˾ 以策略流方式转发数据的方法和数据转发设备
EP1554841B1 (en) * 2002-10-22 2007-01-17 Cisco Technology, Inc. Shared port address translation on a router behaving as nat and nat-pt gateway
US7356045B2 (en) * 2002-10-22 2008-04-08 Cisco Technology, Inc. Shared port address translation on a router behaving as NAT & NAT-PT gateway
CN1863152A (zh) * 2005-09-28 2006-11-15 华为技术有限公司 内网用户之间传递各种报文的方法

Also Published As

Publication number Publication date
CN102801824A (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
CN102801824B (zh) Nat设备、napt设备和tcp应用引流的处理方法与处理***
CN110301126B (zh) 会议服务器
US7292571B2 (en) Load balancing with direct terminal response
US20050229243A1 (en) Method and system for providing Web browsing through a firewall in a peer to peer network
US20170034174A1 (en) Method for providing access to a web server
CN100521663C (zh) 点对点通信中穿越网络地址转换的方法
US20040153858A1 (en) Direct peer-to-peer transmission protocol between two virtual networks
US20030128708A1 (en) Communication apparatus and relay apparatus for performing packet priority control
US8130755B2 (en) Load balancing with direct terminal response
US20080133774A1 (en) Method for implementing transparent gateway or proxy in a network
US20020133549A1 (en) Generic external proxy
US20070171835A1 (en) Information processing device, and bubble packet transmission method and program
CN101946493A (zh) 用于提供连接到因特网的客户端之间的连接性的方法和***
CA2884683C (en) Split network address translation
CN106604119B (zh) 一种用于智能电视私有云设备的网络穿透方法及***
CN101304436A (zh) 实现应用层会话持续性的负载均衡方法、***及设备
CN103152444B (zh) 中继方式的网络地址转换及报文传输方法及装置、***
US9413590B2 (en) Method for management of a secured transfer session through an address translation device, corresponding server and computer program
JP2002152269A (ja) インターネット通信方法{AmethodforanInternetCommunication}
CN104106254A (zh) 用于实现nat穿越的方法和***
CN108848198B (zh) 一种多业务转发模式AP的Portal差异化推送方法
CN113132218B (zh) 一种家庭网关访问方法、装置、***处理器及存储介质
CN105282231A (zh) 基于应用类型的数据引流方法、装置及***
CN105991629B (zh) Tcp连接建立方法及装置
CN114531417B (zh) 一种通信方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: HILLSTONE NETWORKS COMMUNICATION TECHNOLOGY CO., L

Free format text: FORMER OWNER: HILLSTONE NETWORKS (BEIJING) INC.

Effective date: 20150520

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150520

Address after: 215163 Jiangsu city of Suzhou province high tech Zone (Suzhou city) kolding Road No. 78 Gaoxin Software Park Building 7 floor 3

Applicant after: HILLSTONE NETWORKS

Address before: 100083 Beijing city Haidian District Wangzhuang Road No. 1, Tsinghua Tongfang Technology Building 6

Applicant before: Hillstone Networks Communication Technology (Beijing) Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 215163 No. 181 Jingrun Road, Suzhou High-tech Zone, Jiangsu Province

Patentee after: SHANSHI NETWORK COMMUNICATION TECHNOLOGY CO., LTD.

Address before: 215163 3rd Floor, 7th Building, High-tech Software Park, 78 Keling Road, Suzhou Science and Technology City, Jiangsu Province

Patentee before: HILLSTONE NETWORKS

CP03 Change of name, title or address