《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。