NAT设备、NAPT设备和TCP应用引流的处理方法与处理系统.pdf

上传人:1*** 文档编号:4752087 上传时间:2018-11-06 格式:PDF 页数:20 大小:2.32MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210311146.9

申请日:

2012.08.28

公开号:

CN102801824A

公开日:

2012.11.28

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||专利申请权的转移IPC(主分类):H04L 29/12变更事项:申请人变更前权利人:山石网科通信技术(北京)有限公司变更后权利人:山石网科通信技术有限公司变更事项:地址变更前权利人:100083 北京市海淀区王庄路1号清华同方科技大厦6层变更后权利人:215163 江苏省苏州市高新区(苏州科技城)科灵路78号高新软件园7号楼3楼登记生效日:20150520|||实质审查的生效IPC(主分类):H04L 29/12申请日:20120828|||公开

IPC分类号:

H04L29/12; H04L12/56

主分类号:

H04L29/12

申请人:

山石网科通信技术(北京)有限公司

发明人:

李矩希

地址:

100083 北京市海淀区王庄路1号清华同方科技大厦6层

优先权:

专利代理机构:

北京康信知识产权代理有限责任公司 11240

代理人:

吴贵明;余刚

PDF下载: PDF下载
内容摘要

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

权利要求书

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设备在接收到第二报文后,所述NAT设备进行网络地址转换和TCP序列号转换,其中,所述第二报文为所述客户端经由所述NAT设备向所述服务器发送的报文;以及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设备在接收到第二报文后,所述NAPT设备进行网络地址、端口转换和TCP序列号转换,其中,所述第二报文为所述客户端经由所述NAPT设备向所述服务器发送的报文;以及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设备握手后,接收所述第一报文。

说明书

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应用引流的问题。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的
计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可
以以不同于此处的顺序执行所示出或描述的步骤。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用
的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所
组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以
将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模
块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明
不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技
术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的
任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

NAT设备、NAPT设备和TCP应用引流的处理方法与处理系统.pdf_第1页
第1页 / 共20页
NAT设备、NAPT设备和TCP应用引流的处理方法与处理系统.pdf_第2页
第2页 / 共20页
NAT设备、NAPT设备和TCP应用引流的处理方法与处理系统.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《NAT设备、NAPT设备和TCP应用引流的处理方法与处理系统.pdf》由会员分享,可在线阅读,更多相关《NAT设备、NAPT设备和TCP应用引流的处理方法与处理系统.pdf(20页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102801824 A (43)申请公布日 2012.11.28 CN 102801824 A *CN102801824A* (21)申请号 201210311146.9 (22)申请日 2012.08.28 H04L 29/12(2006.01) H04L 12/56(2006.01) (71)申请人 山石网科通信技术(北京)有限公司 地址 100083 北京市海淀区王庄路 1 号清华 同方科技大厦 6 层 (72)发明人 李矩希 (74)专利代理机构 北京康信知识产权代理有限 责任公司 11240 代理人 吴贵明 余刚 (54) 发明名称 NAT设备、 NAPT设。

2、备和TCP应用引流的处理方 法与处理系统 (57) 摘要 本发明公开了一种NAT设备、 NAPT设备和TCP 应用引流的处理方法与处理系统。该处理方法包 括以下步骤 : NAT 设备在接收到客户端向服务器 发送的具有 TCP 负载的报文, 在进行应用识别并 基于应用类型和目的 IP 地址重新选路后, 并不直 接将这个报文做网络地址转换后发送至服务器, 而是在 NAT 设备上重新与服务器握手, 也即重新 建立 TCP 连接, 然后再将该具有 TCP 负载的报文 向服务器发送, 能够实现 NAT 模式下 TCP 应用引 流。 在NAPT模式下的TCP 应用引流的处理方法与 在NAT模式下的TCP应。

3、用引流的处理方法相似, 因 而, 通过本发明的思想, 也能够实现 NAPT 模式下 的 TCP 应用引流, 从而能够帮助企业、 运营商有效 利用带宽资源, 保证重要应用的服务质量。 (51)Int.Cl. 权利要求书 3 页 说明书 11 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 11 页 附图 5 页 1/3 页 2 1. 一种 TCP 应用引流的处理方法, 其特征在于, 包括 : NAT 设备在接收到第一报文后, 对所述第一报文中 TCP 负载进行应用识别, 并根据识别 出的应用类型和目的IP地址重新选路, 确定TCP应用被引。

4、流时对应的出接口, 其中, 所述第 一报文为客户端经由所述 NAT 设备向服务器发送的具有 TCP 负载的报文 ; 所述 NAT 设备进行网络地址转换, 其中, 转换后的源 IP 地址为所述 TCP 应用被引流时 对应出接口的 IP 地址 ; 所述 NAT 设备与所述服务器握手, 其中, 握手报文的源 IP 地址为所述转换后的源 IP 地 址 ; 以及 所述 NAT 设备向所述服务器发送所述第一报文。 2. 根据权利要求 1 所述的处理方法, 其特征在于, 所述第一报文为所述客户端向所述 服务器发送的第一个具有 TCP 负载的报文。 3. 根据权利要求 1 所述的处理方法, 其特征在于, 所述。

5、 NAT 设备与所述服务器握手包 括 : 所述 NAT 设备向所述服务器发送 SYN 信号 ; 所述服务器向所述 NAT 设备返回 SYN-ACK 信号 ; 以及 所述 NAT 设备向所述服务器发送 ACK 信号。 4.根据权利要求1所述的处理方法, 其特征在于, 在所述NAT设备向所述服务器发送所 述第一报文后, 所述方法还包括 : NAT 设备在接收到第二报文后, 所述 NAT 设备进行网络地址转换和 TCP 序列号转换, 其 中, 所述第二报文为所述客户端经由所述 NAT 设备向所述服务器发送的报文 ; 以及 NAT设备在接收到第三报文后, 所述NAT设备进行TCP序列号转换, 其中, 。

6、所述第三报文 为所述服务器经由所述 NAT 设备向所述客户端发送的报文。 5. 一种 TCP 应用引流的处理方法, 其特征在于, 包括 : NAPT 设备在接收到第一报文后, 对所述第一报文中 TCP 负载进行应用识别, 并根据识 别出的应用类型和目的IP地址重新选路, 确定TCP应用被引流时对应的出接口, 其中, 所述 第一报文为客户端经由所述 NAPT 设备向服务器发送的具有 TCP 负载的报文 ; 所述 NAPT 设备进行网络地址及端口转换, 其中, 转换后的源 IP 地址为所述 TCP 应用被 引流时对应出接口的 IP 地址, 转换后的源端口号为所述 NAPT 设备动态分配的端口号 ;。

7、 所述 NAPT 设备与所述服务器握手, 其中, 握手报文的源 IP 地址为所述转换后的源 IP 地址, 所述握手报文的源端口号为所述转换后的源端口号 ; 以及 所述 NAPT 设备向所述服务器发送所述第一报文。 6. 根据权利要求 5 所述的处理方法, 其特征在于, 在所述 NAPT 设备向所述服务器发送 所述第一报文后, 所述方法还包括 : NAPT 设备在接收到第二报文后, 所述 NAPT 设备进行网络地址、 端口转换和 TCP 序列号 转换, 其中, 所述第二报文为所述客户端经由所述 NAPT 设备向所述服务器发送的报文 ; 以 及 NAPT设备在接收到第三报文后, 所述NAPT设备进。

8、行TCP序列号转换, 其中, 所述第三报 文为所述服务器经由所述 NAPT 设备向所述客户端发送的报文。 7. 一种 NAT 设备, 其特征在于, 包括 : 权 利 要 求 书 CN 102801824 A 2 2/3 页 3 接收模块, 用于接收第一报文, 其中, 所述第一报文为客户端经由 NAT 设备向服务器发 送的具有 TCP 负载的报文 ; 应用识别模块, 用于识别所述第一报文中 TCP 负载的应用类型 ; 应用引流模块, 用于根据识别出的应用类型和目的 IP 地址重新选路, 以确定 TCP 应用 被引流时对应的出接口 ; IP转换模块, 用于进行网络地址转换, 其中, 转换后的源IP。

9、地址为所述TCP应用被引流 时对应出接口的 IP 地址 ; 握手模块, 用于与所述服务器握手, 其中, 握手报文的源 IP 地址为所述转换后的源 IP 地址 ; 以及 发送模块, 用于向所述服务器发送所述第一报文。 8. 一种 NAPT 设备, 其特征在于, 包括 : 接收模块, 用于接收第一报文, 其中, 所述第一报文为客户端经由 NAPT 设备向服务器 发送的具有 TCP 负载的报文 ; 应用识别模块, 用于识别所述第一报文中 TCP 负载的应用类型 ; 应用引流模块, 用于根据识别出的应用类型和目的 IP 地址重新选路, 以确定 TCP 应用 被引流时对应的出接口 ; IP 及端口转换模。

10、块, 用于进行网络地址及端口转换, 其中, 转换后的源 IP 地址为所述 TCP应用被引流时对应出接口的IP地址, 转换后的源端口号为所述NAPT设备动态分配的端 口号 ; 握手模块, 用于与所述服务器握手, 其中, 握手报文的源 IP 地址为所述转换后的源 IP 地址, 所述握手报文的源端口号为所述转换后的源端口号 ; 以及 发送模块, 用于向所述服务器发送所述第一报文。 9. 一种 TCP 应用引流的处理系统, 其特征在于, 包括客户端、 NAT 设备和服务器, 其中, 所述客户端用于经由所述 NAT 设备向所述服务器发送第一报文, 其中, 所述第一报文 为具有 TCP 负载的报文 ; 所。

11、述 NAT 设备用于在接收到所述第一报文后, 对所述第一报文中 TCP 负载进行应用识 别, 并根据识别出的应用类型和目的 IP 地址重新选路, 以确定 TCP 应用被引流时对应的出 接口 ; 所述NAT设备还用于进行网络地址转换, 并与所述服务器握手, 其中, 转换后的源IP地 址为所述 TCP 应用被引流时对应出接口的 IP 地址, 握手报文的源 IP 地址为所述转换后的 源 IP 地址 ; 所述 NAT 设备还用于与所述服务器握手后, 向所述服务器发送所述第一报文 ; 以及 所述服务器用于与所述 NAT 设备握手后, 接收所述第一报文。 10. 一种 TCP 应用引流的处理系统, 其特征。

12、在于, 包括客户端、 NAPT 设备和服务器, 其 中, 所述客户端用于经由所述 NAPT 设备向所述服务器发送第一报文, 其中, 所述第一报文 为具有 TCP 负载的报文 ; 所述NAPT设备用于在接收到所述第一报文后, 对所述第一报文中TCP负载进行应用识 别, 并根据识别出的应用类型和目的 IP 地址重新选路, 以确定 TCP 应用被引流时对应的出 权 利 要 求 书 CN 102801824 A 3 3/3 页 4 接口 ; 所述 NAPT 设备还用于进行地址及端口转换, 并与所述服务器握手, 其中, 转换后的源 IP 地址为所述 TCP 应用被引流时对应出接口的 IP 地址, 转换后。

13、的源端口号为所述 NAPT 设 备动态分配的端口号, 握手报文的源IP地址为所述转换后的源IP地址, 所述握手报文的源 端口号为所述转换后的源端口号 ; 所述 NAPT 设备还用于与所述服务器握手后, 向所述服务器发送所述第一报文 ; 以及 所述服务器用于与所述 NAPT 设备握手后, 接收所述第一报文。 权 利 要 求 书 CN 102801824 A 4 1/11 页 5 NAT设备、 NAPT设备和TCP应用引流的处理方法与处理系统 技术领域 0001 本发明涉及互联网领域, 具体而言, 涉及一种 NAT 设备、 NAPT 设备和 TCP 应用引流 的处理方法与处理系统。 背景技术 00。

14、02 随着互联网的高速发展, 每天都有各种各样的应用程序诞生。P2P(点对点) 、 Web 视频 (也即在线视频) 这类应用占用了大量的带宽。为了保证重要应用的服务质量, 企业、 运 营商需要根据应用的类型来进行路由选路, 例如将占带宽较大、 但是不重要的应用引到一 条对质量要求不高的链路, 而将重要的应用引到一条质量较好的链路。 0003 在新建会话时 (也即收到连接的第一个报文时) , 就根据报文的内容进行应用识 别, 然后根据 IP、 端口、 以及应用这些信息做路由查找。在网络设备收到第一个报文时, 对 于 UDP 承载的应用, 一般来讲其可用信息比较多, 选择首部的目的端口和负载内容来。

15、进行 识别。 0004 对于 TCP 承载的应用, 由于握手报文没有任何负载, 则只能选择使用目的端口来 进行识别。 0005 然而, 对于基于 TCP 的应用, 在收到客户端发往服务器的第一个同步报文的时候, 没有任何负载, 对于应用识别有用的信息主要是源、 目的 IP 地址和端口信息, 而此时往往 不足以或者不够准确的识别这个连接的应用类型, 只能根据源、 目的 IP、 端口情况先做一个 粗略的应用识别, 并进行选路。 例如在不使用插件的情况下, 主流的在线视频的目的端口都 是 80, 也即承载在 HTTP 协议之上, 根据第一个 TCP 报文只能识别成 HTTP 协议, 而不能精确 到是。

16、某一种 Web 视频。 0006 但是, 在 NAT/NAPT(网络地址转换 / 网络地址端口转换) 的应用场景下, 重新进行 选路后, 由于源 IP/ 端口发生改变, 会导致服务器复位这个链接, 从而导致应用中断, 无法 实现引流。 0007 以 NAT 模式下的 TCP 应用为例, 如图 1 所示, 由 C(客户端) 访问 S(YouKu 服务器) 时, 经过一台 NAT 设备, 做源地址转换, 报文序列如下表所示。其中, 当 C 通过 NAT 设备访 问 S 时, 做源地址转换, 从 C-S 的默认出接口为 e1, 现在需要将 YouKu 视频引流到 e2 上。 下表中的第 4 个报文为。

17、 TCP 的 PUSH 报文, 包含 TCP 负载。根据 TCP 负载将此连接识别为 YouKu 视频, 根据应用类型重新查找到出接口为 e2。由于做源 NAT, 这个报文从 NAT 设备发 出去时, 其源 IP 变更为 e2.IP。S 收到来自一个 e2.IP 的报文, 是没有经过 TCP 握手的, 导 致应用中断。 0008 表报文序列表 0009 说 明 书 CN 102801824 A 5 2/11 页 6 0010 针对相关技术中在 NAT 或 NAPT 模式下无法实现 TCP 应用引流的问题, 目前尚未提 出有效的解决方案。 发明内容 0011 本发明的主要目的在于提供一种 NAT。

18、 设备、 NAPT 设备和 TCP 应用引流的处理方法 与处理系统, 以解决在 NAT 或 NAPT 模式下无法实现 TCP 应用引流的问题。 0012 为了实现上述目的, 根据本发明的一个方面, 提供了一种 TCP 应用引流的处理方 法。 0013 根据本发明的 TCP 应用引流的处理方法包括 : NAT 设备在接收到第一报文后, 对第 一报文中 TCP 负载进行识别, 并根据识别出的应用类型和目的 IP 地址重新选路, 确定 TCP 应用被引流时对应的出接口, 其中, 第一报文为客户端经由 NAT 设备向服务器发送的具有 TCP 负载的报文 ; NAT 设备进行网络地址转换, 其中, 转换。

19、后的源 IP 地址为 TCP 应用被引流 时对应出接口的 IP 地址 ; NAT 设备与服务器握手, 其中, 握手报文的源 IP 地址为转换后的 源 IP 地址 ; 以及 NAT 设备向服务器发送第一报文。 0014 进一步地, 第一报文为客户端向服务器发送的第一个具有 TCP 负载的报文。 0015 进一步地, NAT 设备与服务器握手包括 : NAT 设备向服务器发送 SYN 信号 ; 服务器 向 NAT 设备返回 SYN-ACK 信号 ; 以及 NAT 设备向服务器发送 ACK 信号。 0016 进一步地, 在 NAT 设备向服务器发送第一报文后, 该方法还包括 : NAT 设备在接收 。

20、到第二报文后, NAT 设备进行网络地址转换和 TCP 序列号转换, 其中, 第二报文为客户端经 由 NAT 设备向服务器发送的报文 ; 以及 NAT 设备在接收到第三报文后, NAT 设备进行 TCP 序 列号转换, 其中, 第三报文为服务器经由 NAT 设备向客户端发送的报文。 0017 为了实现上述目的, 根据本发明的一个方面, 提供了另一种 TCP 应用引流的处理 方法。 0018 根据本发明的 TCP 应用引流的处理方法包括 : NAPT 设备在接收到第一报文后, 对 第一报文中 TCP 负载进行应用识别, 并根据识别出的应用类型和目的 IP 地址重新选路, 确 定 TCP 应用被引。

21、流时对应的出接口, 其中, 第一报文为客户端经由 NAPT 设备向服务器发送 的具有 TCP 负载的报文 ; NAPT 设备进行网络地址及端口转换, 其中, 转换后的源 IP 地址为 TCP 应用被引流时对应出接口的 IP 地址, 转换后的端口号为 NAPT 设备动态分配的端口号 ; NAPT 设备与服务器握手, 其中, 握手报文的源 IP 地址为转换后的源 IP 地址, 握手报文的源 端口号为转换后的源端口号 ; 以及 NAPT 设备向服务器发送第一报文。 0019 进一步地, 在 NAPT 设备向服务器发送第一报文后, 该方法还包括 : NAPT 设备在接 说 明 书 CN 1028018。

22、24 A 6 3/11 页 7 收到第二报文后, NAPT 设备进行网络地址、 端口转换和 TCP 序列号转换, 其中, 第二报文为 客户端经由 NAPT 设备向服务器发送的报文 ; 以及 NAPT 设备在接收到第三报文后, NAPT 设 备进行 TCP 序列号转换, 其中, 第三报文为服务器经由 NAPT 设备向客户端发送的报文。 0020 为了实现上述目的, 根据本发明的一个方面, 提供了一种 NAT 设备。 0021 根据本发明的 NAT 设备包括 : 接收模块, 用于接收第一报文, 其中, 第一报文为客 户端经由NAT设备向服务器发送的具有TCP负载的报文 ; 应用识别模块, 用于识别。

23、第一报文 中 TCP 负载的应用类型 ; 应用引流模块, 用于根据识别出的应用类型和目的 IP 地址重新选 路, 确定 TCP 应用被引流时对应的出接口 ; IP 转换模块, 用于进行网络地址转换, 其中, 转换 后的源 IP 地址为 TCP 应用被引流时对应出接口的 IP 地址 ; 握手模块, 用于与服务器握手, 其中, 握手报文的源 IP 地址为转换后的源 IP 地址 ; 以及发送模块, 用于向服务器发送第一 报文。 0022 为了实现上述目的, 根据本发明的一个方面, 提供了一种 NAPT 设备。 0023 根据本发明的 NAPT 设备包括 : 接收模块, 用于接收第一报文, 其中, 第。

24、一报文为客 户端经由 NAPT 设备向服务器发送的具有 TCP 负载的报文 ; 应用识别模块, 用于识别第一报 文中 TCP 负载的应用类型 ; 应用引流模块, 用于根据识别出的的应用类型和目的 IP 地址重 新选路, 以确定 TCP 应用被引流时对应的出接口 ; IP 及端口转换模块, 用于进行网络地址以 及端口转换, 其中, 转换后的源 IP 地址为 TCP 应用被引流时对应出接口的 IP 地址, 转换后 的端口号为 NAPT 设备动态分配的端口号 ; 握手模块, 用于与服务器握手, 其中, 握手报文的 源 IP 地址为转换后的源 IP 地址, 握手报文的源端口号为转换后的源端口号 ; 以。

25、及发送模 块, 用于向服务器发送第一报文。 0024 为了实现上述目的, 根据本发明的一个方面, 提供了一种 TCP 应用引流的处理系 统。 0025 根据本发明的 TCP 应用引流的处理系统包括 : 客户端、 NAT 设备和服务器, 其中, 客户端用于经由 NAT 设备向服务器发送第一报文, 其中, 第一报文为具有 TCP 负载的报文 ; NAT 设备用于在接收到第一报文后, 对第一报文中 TCP 负载进行应用识别, 并根据识别出的 应用类型和目的 IP 地址重新选路, 以确定 TCP 应用被引流时对应的出接口 ; NAT 设备还用 于进行网络地址转换, 并与服务器握手, 其中, 转换后的源。

26、IP地址为TCP应用被引流时对应 出接口的 IP 地址, 握手报文的源 IP 地址为转换后的源 IP 地址 ; NAT 设备还用于与服务器 握手后, 向服务器发送第一报文 ; 以及服务器用于与 NAT 设备握手后, 接收第一报文。 0026 为了实现上述目的, 根据本发明的一个方面, 提供了另一种 TCP 应用引流的处理 系统。 0027 根据本发明的 TCP 应用引流的处理系统包括 : 客户端、 NAPT 设备和服务器, 其中, 客户端用于经由NAPT设备向服务器发送第一报文, 其中, 第一报文为具有TCP负载的报文 ; NAPT 设备用于在接收到第一报文后, 对第一报文中 TCP 负载进行。

27、应用识别, 并根据识别出 的应用类型和目的 IP 地址重新选路, 以确定 TCP 应用被引流时对应的出接口 ; NAPT 设备还 用于进行网络地址及端口转换, 并与服务器握手, 其中, 转换后的源IP地址为TCP应用被引 流时对应出接口的IP地址, 转换后的源端口号为NAPT设备动态分配的端口号, 握手报文的 源 IP 地址为转换后的源 IP 地址, 握手报文的源端口号为转换后的源端口号 ; NAPT 设备还 用于与服务器握手后, 向服务器发送第一报文 ; 以及服务器用于与 NAPT 设备握手后, 接收 说 明 书 CN 102801824 A 7 4/11 页 8 第一报文。 0028 通过。

28、本发明, 采用包括以下步骤的 TCP 应用引流的处理方法 : NAT 设备在接收到客 户端向服务器发送的具有 TCP 负载的报文, 在进行应用识别并基于应用识别重新选路后, 并不直接将这个报文做网络地址转换后发送至服务器, 而是在 NAT 设备上重新与服务器握 手, 也即重新建立 TCP 连接, 然后再将该具有 TCP 负载的报文向服务器发送, 其中, NAT 设备 在进行网络地址转换时, 转换后的源 IP 地址为 TCP 应用被引流时对应出接口的 IP 地址, 能 够实现 NAT 模式下 TCP 应用引流, 在 NAPT 模式下的 TCP 应用引流的处理方法与在 NAT 模式 下的 TCP 。

29、应用引流的处理方法相似, 因而, 通过本发明的思想, 也能够实现 NAPT 模式下的 TCP 应用引流, 从而能够帮助企业、 运营商有效利用带宽资源, 保证重要应用的服务质量, 解 决了在 NAT 或 NAPT 模式下无法实现 TCP 应用引流的问题, 进而实现了 NAT 和 NAPT 模式下 TCP 应用引流。 附图说明 0029 构成本申请的一部分的附图用来提供对本发明的进一步理解, 本发明的示意性实 施例及其说明用于解释本发明, 并不构成对本发明的不当限定。在附图中 : 0030 图 1 是根据现有技术的 TCP 应用交互示意图 ; 0031 图 2 是根据本发明第一实施例的 TCP 应。

30、用引流的处理系统 ; 0032 图 3 是根据本发明第一实施例的 TCP 应用交互示意图 ; 0033 图 4 是根据本发明第二实施例的 TCP 应用引流的处理系统 ; 0034 图 5 是根据本发明第二实施例的 TCP 应用交互示意图 ; 0035 图 6 是根据本发明实施例的 NAT 设备的框图 ; 0036 图 7 是采用本发明 NAT 设备的网络系统的示意图 ; 0037 图 8 是根据本发明实施例的 NAPT 设备的框图 ; 0038 图 9 是根据本发明第一实施例的 TCP 应用引流的处理方法 ; 以及 0039 图 10 是根据本发明第二实施例的 TCP 应用引流的处理方法。 具。

31、体实施方式 0040 需要说明的是, 在不冲突的情况下, 本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。 0041 图 2 是根据本发明第一实施例的 TCP 应用引流的处理系统, 如图 2 所示, 该处理系 统包括客户端 10、 NAT 设备 30 和服务器 50, 三者的交互过程如图 3 所示, 客户端 10 拥有内 网 IP 地址 C.IP, 在访问服务器 50 时需要 NAT 设备进行内网 IP 地址至公网 IP 地址的转换, 其中, 公网对应的出接口为 e1 和 e2, 客户端 10 与服务器 50 的 TCP 交互过程的报文序列表 如下表。

32、所示。 0042 表 NAT 报文序列表 0043 说 明 书 CN 102801824 A 8 5/11 页 9 0044 0045 其中, 客户端 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 后, 向服。

33、务器 50 以 ACK 消息响应, 至此, 客户端 10 与服务器 50 建立 TCP 连接, 客户 端 10 可经由默认的出接口 e1 访问服务器 50。 0046 为了保证正常的网页浏览、 邮件、 DNS 等重要服务, 可将 P2P 类、 WEB 视频类这类占 用带宽较大的应用进行引流, 引流至另一出接口为 e2, 而其他的应用走默认的出接口 e1, 从而保证 e1 上重要应用不受 P2P 类、 WEB 视频类的应用抢占带宽。 0047 当客户端 10 向服务器 50 发送具有负载的报文时, 如图 3 所示, 以客户端 10 向服 务器 50 发送的第一个具有负载的 PUSH 报文为例, 。

34、NAT 设备 30 在接收到 PUSH 报文时, 并不 直接将PUSH发送给服务器50, 而是对PUSH报文中TCP负载进行识别, 根据识别出的应用类 型以及目的 IP 地址确定是否需要被引流, 当 TCP 负载为 P2P 类、 WEB 视频类应用时, 确定该 TCP 应用需要被引流, 则重新选路, 确定 TCP 应用被引流时对应的出接口为 e2。 0048 此时, NAT 设备进行网络地址转换时, 转换前的源 IP 地址为客户端内网 IP 地址 C.IP, 转换后的源IP地址为出接口e2的IP地址e2.IP, 为了防止由于源IP发生改变, 服务 器 50 复位链接, NAT 设备 30 与服。

35、务器 50 握手, 重新建立 TCP 连接。具体地, NAT 设备 30 向 服务器 50 发送握手信号 SYN, 该次握手报文的源 IP 地址为 e2.IP, 然后服务器 50 返回 NAT 说 明 书 CN 102801824 A 9 6/11 页 10 设备 30 应答信号 SYN-ACK, 当 NAT 设备 30 接收到应答信号 SYN-ACK 后, 向服务器 50 以 ACK 消息响应, 至此, NAT 设备 30 与服务器 50 建立新的 TCP 连接, 客户端 10 可经由出接口 e2 访 问服务器 50, 也即, 将 P2P 类、 WEB 视频类的应用引流至出接口 e2, NA。

36、T 设备 30 与服务器 50 重新握手后, 将 PUSH 报文发送给服务器 50。 0049 后续的客户端 10 与服务器 50 之间的报文, 除了做 IP 地址的转换, 也做 TCP 序列 号的变更。便可维护客户端 10 与服务器 50 之间的连接, 其中, 如上表所示, 从客户端 10 至服务器 50 方向上的报文的 TCP 序列号差值为 NAT.Seq-C.Seq, 从服务器 50 至客户端 10 方向上的报文的 TCP 序列号差值为 S.Seq2-S.Seq1。 0050 采用该实施例提供的 TCP 应用引流的处理系统, 能够实现 NAT 模式下 TCP 应用引 流, 从而能够帮助企。

37、业、 运营商有效利用带宽资源, 保证重要应用的服务质量。 0051 图 4 是根据本发明第二实施例的 TCP 应用引流的处理系统, 如图 4 所示, 该处理系 统包括客户端 20、 NAPT 设备 40 和服务器 60。 0052 客户端 20 用于经由 NAPT 设备 40 向服务器 60 发送第一报文, 其中, 第一报文为具 有 TCP 负载的报文 ; NAPT 设备 40 用于在接收到第一报文后, 对第一报文中 TCP 负载进行识 别, 并根据识别出的应用类型和目的 IP 地址重新选路, 确定 TCP 应用被引流时对应的出接 口 ; NAPT 设备 40 还用于进行网络地址和端口转换, 。

38、并与服务器 60 握手, 其中, 转换后的源 IP 地址为 TCP 应用被引流时对应出接口的 IP 地址, 转换后的源端口号为 NAPT 设备动态分 配的端口号, 握手报文的源IP地址为转换后的源IP地址, 握手报文的源端口号为转换后的 源端口号 ; NAPT设备40还用于与服务器60握手后, 向服务器发送第一报文 ; 以及服务器60 用于与 NAPT 设备 40 握手后, 接收第一报文, 其中, 客户端 20 与服务器 60 之间的报文交互 过程如表所示。 0053 表 NAPT 报文序列表 0054 说 明 书 CN 102801824 A 10 7/11 页 11 0055 0056 其。

39、中, 客户端 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 后,。

40、 向服务器 60 以 ACK 消息响应, 至此, 客户端 20 与服务器 60 建立 TCP 连接, 客户端 20 可经由默认的出接口 e1 访问服务器 60。 0057 为了保证正常的网页浏览、 邮件、 DNS 等重要服务, 可将 P2P 类、 WEB 视频类这类占 用带宽较大的应用进行引流, 引流至另一出接口为 e2, 而其他的应用走默认的出接口 e1, 从而保证 e1 上重要应用不受 P2P 类、 WEB 视频类的应用抢占带宽。 说 明 书 CN 102801824 A 11 8/11 页 12 0058 当客户端 20 向服务器 60 发送具有负载的报文时, 如图 5 所示, 以客户端。

41、 20 向服 务器 60 发送的第一个具有负载的 PUSH 报文为例, NAPT 设备 40 在接收到 PUSH 报文时, 并 不直接将PUSH发送给服务器60, 而是对PUSH报文中TCP负载进行识别, 根据识别出的应用 类型以及目的 IP 地址确定是否需要被引流, 当 TCP 负载为 P2P 类、 WEB 视频类应用时, 确定 该 TCP 应用需要被引流, 则重新选路, 确定 TCP 应用被引流时对应的出接口为 e2。 0059 此时, NAPT 设备进行网络地址转换和端口转换时, 转换前的源 IP 地址为客户端内 网 IP 地址 C.IP, 转换后的源 IP 地址为出接口 e2 的 IP。

42、 地址 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 消息响应, 至此, N。

43、APT 设备 40 与服务器 60 建立新 的 TCP 连接, 客户端 20 可经由出接口 e2 访问服务器 60, 也即, 将 P2P 类、 WEB 视频类的应用 引流至出接口 e2, NAPT 设备 40 与服务器 60 重新握手后, 将 PUSH 报文发送给服务器 60。 0060 后续的客户端 20 与服务器 60 之间的报文, 除了做 IP 地址、 TCP 端口的转换, 也做 TCP 序列号的变更, 便可维护客户端 20 与服务器 60 之间的连接, 其中, 如上表所示, 从客 户端20至服务器60方向上的报文的TCP序列号差值为NAPT.Seq-C.Seq, 从服务器60至客 户端。

44、 20 方向上的报文的 TCP 序列号差值为 S.Seq2-S.Seq1。 0061 采用该实施例提供的 TCP 应用引流的处理系统, 能够实现 NAPT 模式下 TCP 应用引 流, 从而能够帮助企业、 运营商有效利用带宽资源, 保证重要应用的服务质量。 0062 图 6 是根据本发明实施例的 NAT 设备的框图, 如图 6 所示, 该 NAT 设备包括接收模 块 31、 应用识别模块 32、 应用引流模块 33、 IP 转换模块 34、 握手模块 35 和发送模块 36。 0063 在客户端与服务器的 TCP 交互过程中, 为了保证正常的网页浏览、 邮件、 DNS 等重 要服务, 当部分 。

45、TCP 应用需要被引流时, 上述各模块的具体工作过程如下 : 0064 在接收模块 31 接收到客户端经由 NAT 设备向服务器发送的具有 TCP 负载的第一 报文时, 应用识别模块 22 识别第一报文中 TCP 负载的应用类型, 以确定负载中的应用是否 需要被引流, 当 TCP 负载为 P2P 类、 WEB 视频类应用时, 确定该 TCP 应用需要被引流。应用 引流模块 33 根据确定的应用类型和目的 IP 地址等信息重新选路, 确定 TCP 应用被引流时 对应的出接口, IP 转换模块 34 根据的确定的被引流时对应的出接口进行网络地址转换, 其 中, 转换后的源 IP 地址为 TCP 应。

46、用被引流时对应出接口的 IP 地址。为了防止由于源 IP 发 生改变, 服务器复位链接, 握手模块35与服务器握手, 其中, 握手报文的源IP地址为转换后 的源 IP 地址, 则 NAT 设备与服务器建立新的 TCP 连接后, 发送模块 36 将第一报文发送给服 务器。 0065 后续的客户端 10 与服务器 50 之间的报文除了做 IP 地址的转换, 也做 TCP 序列号 的变更, 便可维护客户端 10 与服务器 50 之间的连接。 0066 采用该实施例提供的 NAT 设备, 能够实现 NAT 模式下 TCP 应用引流, 从而能够帮助 企业、 运营商有效利用带宽资源, 保证重要应用的服务质。

47、量。 0067 优选地, 为了实时保证重要应用的服务质量, 第一报文为客户端向服务器发送的 第一个具有负载的报文, 由于客户端发起的第一个有 TCP 负载的报文信息量非常大, 因而 说 明 书 CN 102801824 A 12 9/11 页 13 可准确的识别到被引流的出接口。 0068 采用该实施例的 NAT 设备, 可应用于如图 7 所示的网络系统中。如图 7 所示, PC1、 PC2、 PC3均为企业内网的 PC 机, 拥有内网 IP 地址。网关拥有两个 WAN 口 : e0 和 e1。网 关除了做基本的访问控制以外, 同时做 NAT。为了保证正常的网页浏览、 邮件、 DNS 等重要服。

48、 务, 可以将 P2P 类、 Web 视频类这类占用带宽较大的应用引流到 e0 上, 而其它应用走默认除 接口 e1, 从而保证 e1 上的重要应用不受 P2P、 Web 视频类的应用抢占带宽。 0069 图 8 是根据本发明实施例的 NAPT 设备的框图, 如图 8 所示, 该 NAPT 设备包括接收 模块 41、 应用识别模块 42、 应用引流模块 43、 IP 及端口转换模块 44、 握手模块 45 和发送模 块 46。 0070 在客户端与服务器的 TCP 交互过程中, 为了保证正常的网页浏览、 邮件、 DNS 等重 要服务, 当部分 TCP 应用需要被引流时, 上述各模块的具体工作过。

49、程如下 : 0071 在接收模块 41 接收到客户端经由 NAPT 设备向服务器发送的具有 TCP 负载的第一 报文时, 应用识别模块 42 识别第一报文中 TCP 负载的应用类型, 以确定负载中的应用是否 需要被引流, 当 TCP 负载为 P2P 类、 WEB 视频类应用时, 确定该 TCP 应用需要被引流。应用 引流模块 43 根据识别出的应用类型和目的 IP 地址重新选路, 确定 TCP 应用被引流时对应 的端口, IP 及端口转换模块 44 根据的确定的被引流时对应的端口进行 IP 地址转换, 根据 NAPT 设备动态分配的端口号进行端口转换, 其中, 转换后的源 IP 地址为 TCP 应用被引流时 对应出接口的 IP 地址, 转换后的端口号为 NAPT 设备动态分配的端口号。为了防止由于源 端口发生改变, 服务器复位链接, 握手模块45与服务器握手, 其中, 握手报文的源IP地址为 转换后的源IP地址, 握手报文的源端口为转换后的端口号, 则NAPT设备与服务器建立新的 TC。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1