专利名称:Nat设备、napt设备和tcp应用引流的处理方法与处理系统的制作方法
技术领域:
本发明涉及互联网领域,具体而言,涉及一种NAT设备、NAPT设备和TCP应用引流的处理方法与处理系统。
背景技术:
随着互联网的高速发展,每天都有各种各样的应用程序诞生。P2P (点对点)、Web视频(也即在线视频)这类应用占用了大量的带宽。为了保证重要应用的服务质量,企业、运营商需要根据应用的类型来进行路由选路,例如将占带宽较大、但是不重要的应用引到一条对质量要求不高的链路,而将重要的应用引到一条质量较好的链路。
在新建会话时(也即收到连接的第一个报文时),就根据报文的内容进行应用识另IJ,然后根据IP、端口、以及应用这些信息做路由查找。在网络设备收到第一个报文时,对于UDP承载的应用,一般来讲其可用信息比较多,选择首部的目的端口和负载内容来进行识别。对于TCP承载的应用,由于握手报文没有任何负载,则只能选择使用目的端口来进行识别。然而,对于基于TCP的应用,在收到客户端发往服务器的第一个同步报文的时候,没有任何负载,对于应用识别有用的信息主要是源、目的IP地址和端口信息,而此时往往不足以或者不够准确的识别这个连接的应用类型,只能根据源、目的IP、端口情况先做一个粗略的应用识别,并进行选路。例如在不使用插件的情况下,主流的在线视频的目的端口都是80,也即承载在HTTP协议之上,根据第一个TCP报文只能识别成HTTP协议,而不能精确到是某一种Web视频。但是,在NAT/NAPT (网络地址转换/网络地址端口转换)的应用场景下,重新进行选路后,由于源IP/端口发生改变,会导致服务器复位这个链接,从而导致应用中断,无法实现引流。以NAT模式下的TCP应用为例,如图I所示,由C (客户端)访问S (YouKu服务器)时,经过一台NAT设备,做源地址转换,报文序列如下表I所示。其中,当C通过NAT设备访问S时,做源地址转换,从C_>S的默认出接口为el,现在需要将YouKu视频引流到e2上。下表中的第4个报文为TCP的I3USH报文,包含TCP负载。根据TCP负载将此连接识别为YouKu视频,根据应用类型重新查找到出接口为e2。由于做源NAT,这个报文从NAT设备发出去时,其源IP变更为e2. IP。S收到来自一个e2. IP的报文,是没有经过TCP握手的,导致应用中断。表I报文序列表
权利要求
1.一种TCP应用引流的处理方法,其特征在于,包括 NAT设备在接收到第一报文后,对所述第一报文中TCP负载进行应用识别,并根据识别出的应用类型和目的IP地址重新选路,确定TCP应用被引流时对应的出接口,其中,所述第一报文为客户端经由所述NAT设备向服务器发送的具有TCP负载的报文; 所述NAT设备进行网络地址转换,其中,转换后的源IP地址为所述TCP应用被引流时对应出接口的IP地址; 所述NAT设备与所述服务器握手,其中,握手报文的源IP地址为所述转换后的源IP地址;以及 所述NAT设备向所述服务器发送所述第一报文。
2.根据权利要求I所述的处理方法,其特征在于,所述第一报文为所述客户端向所述服务器发送的第一个具有TCP负载的报文。
3.根据权利要求I所述的处理方法,其特征在于,所述NAT设备与所述服务器握手包括 所述NAT设备向所述服务器发送SYN信号; 所述服务器向所述NAT设备返回SYN-ACK信号;以及 所述NAT设备向所述服务器发送ACK信号。
4.根据权利要求I所述的处理方法,其特征在于,在所述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负载进行应用识另IJ,并根据识别出的应用类型和目的IP地址重新选路,以确定TCP应用被引流时对应的出接口 ; 所述NAT设备还用于进行网络地址转换,并与所述服务器握手,其中,转换后的源IP地址为所述TCP应用被引流时对应出接口的IP地址,握手报文的源IP地址为所述转换后的源IP地址; 所述NAT设备还用于与所述服务器握手后,向所述服务器发送所述第一报文;以及 所述服务器用于与所述NAT设备握手后,接收所述第一报文。
10.一种TCP应用引流的处理系统,其特征在于,包括客户端、NAPT设备和服务器,其中, 所述客户端用于经由所述NAPT设备向所述服务器发送第一报文,其中,所述第一报文为具有TCP负载的报文; 所述NAPT设备用于在接收到所述第一报文后,对所述第一报文中TCP负载进行应用识另IJ,并根据识别出的应用类型和目的IP地址重新选路,以确定TCP应用被引流时对应的出接口 ; 所述NAPT设备还用于进行地址及端口转换,并与所述服务器握手,其中,转换后的源IP地址为所述TCP应用被引流时对应出接口的IP地址,转换后的源端口号为所述NAPT设备动态分配的端口号,握手报文的源IP地址为所述转换后的源IP地址,所述握手报文的源端口号为所述转换后的源端口号; 所述NAPT设备还用于与所述服务器握手后,向所述服务器发送所述第一报文;以及 所述服务器用于与所述NAPT设备握手后,接收所述第一报文。
全文摘要
本发明公开了一种NAT设备、NAPT设备和TCP应用引流的处理方法与处理系统。该处理方法包括以下步骤NAT设备在接收到客户端向服务器发送的具有TCP负载的报文,在进行应用识别并基于应用类型和目的IP地址重新选路后,并不直接将这个报文做网络地址转换后发送至服务器,而是在NAT设备上重新与服务器握手,也即重新建立TCP连接,然后再将该具有TCP负载的报文向服务器发送,能够实现NAT模式下TCP应用引流。在NAPT模式下的TCP应用引流的处理方法与在NAT模式下的TCP应用引流的处理方法相似,因而,通过本发明的思想,也能够实现NAPT模式下的TCP应用引流,从而能够帮助企业、运营商有效利用带宽资源,保证重要应用的服务质量。
文档编号H04L29/12GK102801824SQ20121031114
公开日2012年11月28日 申请日期2012年8月28日 优先权日2012年8月28日
发明者李矩希 申请人:山石网科通信技术(北京)有限公司