CN111464665A - 通过网络网关的端到端多路径tcp - Google Patents

通过网络网关的端到端多路径tcp Download PDF

Info

Publication number
CN111464665A
CN111464665A CN202010049342.8A CN202010049342A CN111464665A CN 111464665 A CN111464665 A CN 111464665A CN 202010049342 A CN202010049342 A CN 202010049342A CN 111464665 A CN111464665 A CN 111464665A
Authority
CN
China
Prior art keywords
address
mptcp
destination
packet
port
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.)
Granted
Application number
CN202010049342.8A
Other languages
English (en)
Other versions
CN111464665B (zh
Inventor
J·陶里赫斯
P.沙玛
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.)
Hewlett Packard Development Co LP
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN111464665A publication Critical patent/CN111464665A/zh
Application granted granted Critical
Publication of CN111464665B publication Critical patent/CN111464665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2557Translation policies or rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

所公开的系统和方法提供通过网络网关的端到端多路径TCP(MPTCP)。方法包括检测具有作为源地址的第一IP地址和作为目的地地址的第二IP地址的MPTCP子流,其中没有网关是MPTCP子流的源或目的地;将第三IP地址与MPTCP子流相关联;以及向MPTCP子流的至少一个端点通告第三IP地址。

Description

通过网络网关的端到端多路径TCP
背景技术
本公开总体上涉及网络通信,并且更具体地涉及在这样的网络上 的多路径通信。
附图说明
根据一个或多个各种实施例,参考以下附图详细描述本公开内 容。附图仅出于说明的目的而被提供,并且仅描绘典型或示例实施例。
图1示出了可以为组织(诸如商业、教育机构、政府实体、医疗 机构或其他组织)实现的网络配置的一个示例;
图2示出了其中单个网络网关提供端到端多路径传输控制协议 (MPTCP)通信的系统;
图3示出了其中多个网络网关协作以提供端到端多路径传输控制 协议(MPTCP)通信的系统;
图4示出了根据一个实施例的用于实现通过网络网关的多路径 TCP的示例计算组件或设备的框图;以及
图5描绘了其中可以实现本文中描述的各种实施例的示例计算机 系统的框图。
附图不是穷举的,并且不将本公开限制为所公开的精确形式。
具体实施方式
所公开的技术的实施例提供通过网络网关的端到端多路径传输 控制协议(MPTCP)通信。根据所公开的实施例,网关检测由客户端 通过网络网关与服务器建立的初始MPTCP子流。响应于检测到初始 MPTCP子流,网络网关向客户端通告一个或多个IP地址。客户端将 每个通告的IP地址视为服务器的IP地址,并且使用通告的地址作为 目的地地址来为每个通告的地址启动新的MPTCP子流。网络网关将 网关IP地址与每个通告地址相关联。在接收到以通告的地址之一作 为目的地地址的MPTCP分组时,网络网关将目的地IP地址替换为服 务器的IP地址,将源地址替换为与通告的地址相关联的网关IP地址, 并且向服务器发送分组。
类似的过程用于从服务器接收的并且以网关IP地址之一作为目 的地IP地址的分组。对于这样的分组,网关将目的地IP地址替换为 客户端的IP地址,将源地址替换为与网关IP地址相关联的通告地址, 并且向客户端发送分组。
各种实施例可以在软件定义的广域网(SD WAN)中实现。在这 样的实施例中,客户端可以位于局域网(LAN)中,并且服务器可以 位于广域网(WAN)上。在这些实施例中,每个子流可以在WAN上 的隧道上被携带。
除了通告和采用网关IP地址之外,一些实施例还可以通告和采 用附加端口,以与上述类似的方式创建关联并且转换IP地址和端口。
所公开的技术的实施例提供了许多优点。各种实施例使得MPTCP 客户端能够完全利用在SD-WAN网关处可用的路径分集,而无需对 客户端或服务器进行任何修改,并且无需改变网络的IP寻址计划。 各种实施例提供了比SD-WAN隧道切换更好的性能。单个TCP连接可以使用所有可用链路。MPTCP从链路故障中恢复得更快。并且, MPTCP连接可以直接到达任何因特网目的地,而无需通过隧道传输 和三角路由。
在大多数情况下,所公开的技术提供了比MPTCP代理更好的性 能。大多数MPTCP代理拆分TCP连接,这打破了TCP的假定的端 到端语义。分组的确认不再是端到端的,因此发送方无法知道其发送 的数据是否实际上已经在接收方被提交,并且在代理处可能发生数据 丢失。断开连接通常还会阻止使用IP地址的安全协议的使用,诸如 IPsec。使用代理可以防止将连接重新路由到代理之外。另外,这种代 理的可伸缩性通常是有问题的,因为代理需要跟踪每个TCP和MPTCP连接,从而消耗网关上的额外资源。此外,对于大多数实现, 高速WAN链路也会有性能损失。
在详细描述所公开的系统和方法的实施例之前,描述可以在各种 应用中实现这些系统和方法的示例网络安装是有用的。图1示出了可 以为诸如商业、教育机构、政府实体、医疗机构或其他组织等组织实 现的网络配置100的一个示例。该图示出了由具有多个用户(或至少 多个客户端设备110)并且可能具有多个物理或地理站点102、132、 142的组织实现的配置的示例。网络配置100可以包括与网络120通 信的主站点102。网络配置100还可以包括与网络120通信的一个或 多个远程站点132、142。
主站点102可以包括主网络,该主网络可以是例如办公网络、家 庭网络或其他网络安装。主站点102网络可以是专用网络,诸如可以 包括安全性和访问控制以限制对专用网络的授权用户的访问的网络。 授权用户可以包括例如主站点102处的公司的员工、房屋的居民、企 业的客户等。
在所示示例中,主站点102包括与网络120通信的网络网关104。 网络网关104可以为主站点102提供与网络120的通信,尽管它可能 不是用于主站点102的与网络120的唯一通信点。尽管示出了单个网 络网关104,但是主站点可以包括多个网络网关和/或与网络120的多 个通信点。在一些实施例中,网络网关104通过路由器(未示出)与 网络120通信。在其他实施例中,网络网关104向主站点102中的设 备提供路由器功能。
网络网关104可以连接到单个网络120或多个网络。网络网关104 本身可以是接入点、交换机和/或路由器,或者提供接入点、交换机和 /或路由器的功能。
网络网关104可以与一个或多个交换机108和/或无线接入点 (AP)106a-c通信。交换机108和无线AP 106a-c向各种客户端设备 110a-j提供网络连接性。使用到交换机108或AP 106a-c的连接,客 户端设备110a-j可以访问网络资源,包括(主站点102)网络和网络120上的其他设备。如果网络网关104提供接入点或交换机的功能性, 则各种客户端设备110a-j可以直接连接到它,而无需通过交换机108 或AP 106a-c。
客户端设备的示例可以包括:台式计算机、膝上型计算机、服务 器、web服务器、认证服务器、认证授权计费(AAA)服务器、域名 系统(DNS)服务器、动态主机配置协议(DHCP)服务器、因特网 协议(IP)服务器、虚拟专用网络(VPN)服务器、网络策略服务器、 大型机、平板电脑、电子阅读器、上网本计算机、电视和类似的显示 器(例如,智能电视)、内容接收器、机顶盒、个人数字助理(PDA)、 移动电话、智能电话、智能终端、哑终端、虚拟终端、视频游戏机、 虚拟助手、物联网(IOT)设备等。
在主站点102内,交换机108被包括作为有线客户端设备110i-j 对在主站点102中建立的网络的接入点的一个示例。客户端设备110i-j 可以连接到交换机108,并且能够通过交换机108来访问网络配置100 内的其他设备。客户端设备110i-j也能够通过交换机108来访问网络 120。客户端设备110i-j可以通过有线112连接与交换机108通信。 在所示示例中,交换机108通过有线112连接与控制器104通信,尽 管该连接也可以是无线的。
无线AP 106a-c被包括作为客户端设备110a-h对在主站点102中 建立的网络的接入点的另一示例。AP 106a-c中的每个可以是被配置 为向无线客户端设备110a-h提供无线网络连接性的硬件、软件和/或 固件的组合。在所示示例中,AP 106a-c可以由控制器104管理和配 置。AP 106a-c通过连接112与控制器104和网络通信,该连接112 可以是有线或无线接口。
网络配置100可以包括一个或多个远程站点132。远程站点132 可以位于与主站点102不同的物理或地理位置。在一些情况下,远程 站点132可以与主站点102在同一地理位置或可能在同一建筑物中, 但是缺少与位于主站点102内的网络的直接连接。相反,远程站点132 可以利用不同网络(例如,网络120)上的连接。诸如图1所示的站 点132可以是例如卫星办公室、建筑物中的另一楼层或套房等。远程 站点132可以包括用于与网络120通信的网关设备134。网关设备134 可以是路由器、数模调制解调器、电缆调制解调器、数字用户线(DSL) 调制解调器、或被配置为与网络120通信的某种其他网络设备。远程 站点132还可以包括通过有线或无线连接与网关设备134通信的交换 机138和/或AP 136。交换机138和AP136为各种客户端设备140a-d 提供到网络的连接性。
在各种实施例中,远程站点132可以与主站点102直接通信,使 得远程站点132处的客户端设备140a-d能够访问主站点102处的网络 资源,就好像这些客户端设备140a-d位于主站点102处。在这样的实 施例中,远程站点132由主站点102处的控制器104管理,并且控制 器104提供必要的连接性、安全性和可访问性,以实现远程站点132 能够与主站点102的通信。一旦连接到主站点102,远程站点132就 可以用作由主站点102提供的专用网络的一部分。
在各种实施例中,网络配置100可以包括一个或多个较小的远程 站点142,其仅包括用于与网络120通信的网关设备144和无线AP 146,各种客户端设备150a-b通过该无线AP146访问网络120。这样 的远程站点142可以表示例如单个员工的家或临时的远程办公室。远 程站点142也可以与主站点102通信,使得远程站点142处的客户端 设备150a-b能够访问主站点102处的网络资源,就好像这些客户端设 备150a-b位于主站点102处。远程站点142可以由主站点102处的控 制器104管理以使得这种透明性成为可能。一旦连接到主站点102, 远程站点142就可以用作由主站点102提供的专用网络的一部分。
网络120可以是诸如因特网的公共或专用网络、或其他通信网络, 以实现各个站点102、130至142之间的连接性以及对服务器160a-b 的访问。网络120可以包括第三方电信线,诸如电话线、广播同轴电 缆、光纤电缆、卫星通信、蜂窝通信等。网络120可以包括任何数目 的中间网络设备,诸如交换机、路由器、网关、服务器和/或控制器, 这些中间网络设备并非直接是网络配置100的一部分,而是能够促进 网络配置100的各个部分之间的通信以及在网络配置100与其他网络 连接实体之间的通信。网络120可以包括各种内容服务器160a-b。内 容服务器160a-b可以包括多媒体可下载和/或流式传输内容的各种提 供者,包括音频、视频、图形和/或文本内容、或其任何组合。内容服 务器160a-b的示例包括例如网络服务器、流广播和视频提供者、以及 有线和卫星电视提供者。客户端设备110aj、140a-d、150a-b可以请求 和访问由内容服务器160a-b提供的多媒体内容。
已经描述了示例网络安装,现在将详细描述所公开的技术的实施 例。图2示出了其中单个网络网关提供端到端多路径传输控制协议 (MPTCP)通信的系统。参考图2,系统200包括客户端202和服务 器204。参考客户端与服务器之间的通信来描述所公开的技术的实施 例。然而,将意识到,所公开的技术可以应用于任何两个网络设备之 间的通信。
客户端202可以执行应用206,并且可以具有因特网协议(IP) 地址IP-C。由客户端202执行的应用206可以是例如网络浏览器、电 子邮件应用等。但是由客户端202执行的应用206不限于这些示例, 并且可以包括采用网络通信的任何应用。
服务器204可以执行应用208,并且可以具有IP地址IP-S。由服 务器204执行的应用208可以是例如流视频服务等。但是由服务器204 执行的应用208不限于该示例,并且可以包括采用网络通信的任何应 用。
系统200可以包括网络网关214。网络网关214可以例如实现为 SD-WAN网关等。在系统200中,网关214将局域网(LAN)210与 广域网(WAN)212连接。在该示例中,网关214经由3个不同的 WAN链路225、226和227连接到广域网(WAN)212。但是在其他 实施例中,网关214可以连接其他网络。客户端202通过LAN 210 连接到网关214。服务器204通过WAN 212连接到网关214。这两种 连接都可以包括因特网216。
网关214可以包括检测子流电路218。检测子流电路218检测LAN 210中的网络设备的初始MPTCP子流。例如,检测子流电路218可 以检测到由客户端202通过WAN链路225在客户端202与服务器204 之间建立的初始子流230a。
网关214可以提供网关IP地址。在图2的示例中,网关214提 供四个网关IP地址:IP-K、IP-L、IP-Y和IP-Z。但是,网关214可 以提供更多的网关IP地址。
网关214可以包括欺骗ADD_ADDR电路220。欺骗ADD_ADDR 电路220可以向客户端202通告这些网关IP地址中的一些,作为服 务器204的网关IP地址,例如下面详细描述的。在图2的示例中, 欺骗ADD_ADDR电路220可以将网关IP地址IP-K和IP-L通告为服 务器204的网关IP地址。
网关214可以包括子流网络地址转换(NAT)电路222。子流NAT 电路222可以对由网关214提供的网关IP地址执行网络地址转换。 具体地,子流NAT电路222在作为服务器204的网关IP地址而通告 给客户端202的网关IP地址与作为客户端202的网关IP地址与服务 器204一起使用的网关IP地址之间进行转换。以这种方式,网关214 使得客户端202能够以与服务器204建立附加MPTCP子流。在图2 的示例中,通过在网关IP地址IP-K和IP-Y之间进行转换,子流NAT 电路222允许客户端202通过WAN链路226建立附加子流230b。并 且,通过在网关IP地址IP-L和IP-Z之间进行转换,子流NAT电路 222允许客户端202通过WAN链路227建立附加子流230c。
图3示出了其中多个网络网关协作以提供端到端多路径传输控制 协议(MPTCP)通信的系统。参考图3,图2的网络网关214被替换 为三个网络网关214a、214b、214c。在图3的实施例中,每个网络网 关214支持一个子流230。特别地,一个网络网关214a包括检测子流电路218和欺骗ADD_ADDR电路220,而每个其他网络网关214b、 214c包括相应的子流NAT电路222a、222b。网络网关214检测初始 子流230a,而网络网关214b、214c使得能够建立附加子流230b、230c。 然而,应当理解,检测子流电路218、欺骗ADD_ADDR电路220和 子流NAT电路222a、222b可以以任何方式分布在任何数目的多个网 络网关214之间以支持任何数目的附加子流230,只要电路218、220、 222可以彼此通信。
此外,不需要在LAN 210的客户端侧实现网络网关214。在图3 的示例中,尽管网络网关214a、214b在客户端202附近实现,但是 网络网关214c可以在服务器204附近实现。所公开的技术的实施例 支持网络网关214的任何布置。
图4示出了根据一个实施例的用于实现通过一个或多个网络网 关的多路径TCP的示例计算组件或设备400的框图。计算组件400 可以是例如服务器计算机、控制器、或能够处理数据的任何其他类 似的计算组件。在图4的示例实现中,计算组件400包括硬件处理器402和机器可读存储介质404。
硬件处理器402可以是一个或多个中央处理单元(CPU)、基于 半导体的微处理器、和/或适于取回和执行被存储在机器可读存储介质 404中的指令的其他硬件设备。硬件处理器402可以取指、解码和执 行诸如指令406-414等指令,以控制用于响应于检测到初始MPTCP 子流而实现建立附加MPTCP子流的过程或操作。作为取回和执行指 令的替代或补充,硬件处理器402可以包括包含用于执行一个或多个 指令的功能的电子组件的一个或多个电子电路,诸如现场可编程门阵 列(FPGA)、专用集成电路(ASIC)或其他电子电路。
诸如机器可读存储介质404等机器可读存储介质可以是包含或存 储可执行指令的任何电子、磁性、光学或其他物理存储设备。因此, 机器可读存储介质404可以是例如随机存取存储器(RAM)、非易失 性RAM(NVRAM)、电可擦可编程只读存储器(EEPROM)、存储 设备、光盘等。在一些实施例中,机器可读存储介质404可以是非暂 态存储介质,其中术语“非暂态”不涵盖瞬时传播信号。如以下详细 描述的,机器可读存储介质404可以用可执行指令(例如,指令 406-414)进行编码。
硬件处理器402可以执行指令406以执行检测具有作为源地址的 第一IP地址和作为目的地地址的第二IP地址的MPTCP子流,其中 网关都不是MPTCP子流的源或目的地。例如,指令406可以执行检 测在LAN 210中的第一网络设备与WAN 212中的第二网络设备之间经过网络网关214的初始MPTCP子流230a。例如,参考图2,网络 网关214的检测子流电路218检测客户端202与服务器204之间的初 始子流230a。在图3的示例中,网关214a的检测子流电路218检测 客户端202与服务器204之间的初始子流230a。特别地,检测子流电 路218检查包括MPTCP选项报头的每个SYN-ACK分组。这样的分 组表示成功建立了MPTCP子流。并且,该TCP选项的存在表明该子 流的客户端和服务器均支持MPTCP。
响应于检测到初始MPTCP子流230a,网络网关214启用客户端 202与服务器204之间的一个或多个附加子流,如下面参考指令 408-418所描述的。
硬件处理器402可以执行指令408以执行将第三IP地址与 MPTCP子流相关联。例如,参考图2,网关214的欺骗ADD_ADDR 电路220可以将IP地址IP-K和IP-L中的一者或两者与MPTCP子流 相关联。在图2和3的示例中,欺骗ADD_ADDR电路220可以将地 址IP-K和IP-Y相关联,并且将地址IP-L和IP-Z相关联。
硬件处理器402可以执行指令410以向MPTCP子流的至少一个 端点通告第三IP地址。例如,参考图2,网关214的欺骗ADD_ADDR 电路220可以向客户端202通告IP地址IP-K和IP-L中的一者或两者。 在图3的示例中,网关214a的欺骗ADD_ADDR电路220向客户端 202通告地址IP-K和IP-L。任何技术都可以用于通告IP地址以及通 告传输端口。例如,可以通过在MPTCP分组中包括包含IP地址的 MPTCP ADD-ADDR选项报头来通告IP地址。在另一示例中,克隆 (复制)触发MPTCP子流的检测的SYN-ACK分组,并且将其MPTCP 选项报头被替换为包含IP地址的MPTCP ADD-ADDR选项报头。作 为其他示例,可以通过在网页上张贴,包括在动态主机配置协议 (DHCP)消息的选项报头中,包括在因特网控制消息协议(ICMP) 消息中等方式,来通告IP地址和传输端口。
一个或多个网关214可以接收具有作为目的地地址的第三IP地 址的MPTCP分组。例如,对于每个附加子流,网关214可以从客户 端202接收MPTCP分组,该MPTCP分组具有作为源地址的客户端 的IP地址并且具有作为目的地地址的通告的IP地址之一。在图2和 3的每个示例中,可以接收两个这样的分组。两个分组都具有客户端 202的IP地址IP-C。并且,分组之一可以具有作为目的地地址的地址 IP-K,而另一分组可以具有作为目的地地址的地址IP-L。
硬件处理器402可以执行指令412以响应于MPTCP分组具有作 为目的地地址的第三IP地址而替换MPTCP分组的源地址并且替换 MPTCP分组的目的地地址。也就是说,指令412可以指示分组处理 实体(处理分组的硬件或软件块)改变其目的地地址与第三IP地址相匹配的任何分组的源地址和目的地地址。例如,在子流上从客户端 202接收到的分组的目的地地址用于选择用于在该子流上与服务器 204通信的源地址。在图2和3的示例中,为从客户端202接收的以 IP-K为目的地地址的分组选择地址IP-Y,并且为从客户端202接收的以IP-L为目的地地址的分组选择地址IP-Z。以这种方式,从客户 端202接收的分组的目的地地址由子流NAT电路222用来选择用于 地址转换的关联。
一个或多个网关214可以执行将第二MPTCP分组中的第一IP地 址替换为第四IP地址并且将第二MPTCP分组中的第三IP地址替换 为第二IP地址。也就是说,对于在子流中从客户端202接收到的每 个分组,源地址被替换为与分组的目的地地址相关联的地址,并且目 的地地址被替换为服务器204的地址。在图2和3的示例中,对于附 加子流230b,子流NAT电路222将源地址IP-C替换为所选择的地址 IP-Y,并且将目的地地址IP-K替换为服务器的地址IP-S。并且,对 于附加子流230c,子流NAT电路222将源地址IP-C替换为所选择的 地址IP-Z,并且将目的地地址IP-L替换为服务器204的地址IP-S。
为了减少网关214上的IP地址的消耗,一些实施例可以采用端 口过载。在这样的实施例中,网关214可以向客户端202传送一组元 组,每个元组包含IP地址和目的地端口。客户端202为每个目的地 IP地址和目的地端口创建一个子流230。客户端202的所有子流230 使用同一源IP地址,并且通常使用同一源端口(但不总是),因此 由子流NAT电路222采用的映射必须由目的地IP地址和目的地端口 两者来标识。
当传出分组到达网络网关214时,目的IP地址和目的端口都是 由网络网关214发送到客户端202的IP地址和目的端口,并且用于 标识地址和端口映射。目的地IP地址和目的地端口都以类似于上述 方式改变成服务器204期望的目的地IP地址和目的地端口。源IP地 址和源端口都改变成标识子流230的返回部分(即,从服务器204发 送到客户端202的分组)的反向地址和端口映射的唯一对。然后,对 来自服务器204的传入分组执行反向转换。
使用直接路由、隧道传输或标准网络地址转换(NAT)来处理初 始MPTCP子流230a。在大多数情况下,网关214将这些技术之一用 于非MPTCP流;在这些情况下,初始MPTCP子流被视为与非MPTCP 子流相同。在一些情况下,可以由MPTCP代理处理非MPTCP流; 但是,不会由MPTCP代理处理初始MPTCP子流。
各种实施例与使用直接路由、隧道传输或标准NAT进行处理的 初始MPTCP子流兼容。在隧道传输的情况下,附加子流230b、230c 如上所述进行处理,并且然后被封装在适当的隧道中。
在SD-WAN中,建立到网络的多个链路的主要原因是,这些链 路中的某些链路可能不可靠,因此拥有多个链路可以提高弹性。在 SD-WAN中,网关在大多数情况下监测这些链路以及到因特网的关联 路径。如果SD-WAN网关实现了隧道切换,则它必须监测WAN链 路以检测中断,并且将TCP流从故障链路重新路由到健康链路。在 一些实施例中,SD-WAN网关可以使用关于WAN链路的健康的信息。
首先,SD-WAN网关可以向客户端仅通告与健康链路相对应的替 代IP地址和传输端口元组。然后,如果检测到链路失败,则SD-WAN 网关可以在欺骗消息中发送REMOVE-ADDR以指示客户端关闭与故 障链路相关联的子流。如果先前的故障链路被检测为健康,则网关可 以在欺骗消息中发送ADD-ADDR以指示客户端打开与新的健康链路 相关联的子流。
图5描绘了其中可以实现本文中描述的各种实施例的示例计算机 系统500的框图。计算机系统500包括总线502或用于传送信息的其 他通信机制、与总线502耦合以处理信息的一个或多个硬件处理器 504。(一个或多个)硬件处理器504可以是例如一个或多个通用微 处理器。
计算机系统500还包括耦合到总线502以存储将由处理器504执 行的信息和指令的主存储器506,诸如随机存取存储器(RAM)、高 速缓存和/或其他动态存储设备。存储器506还可以用于在要由处理器 504执行的指令的执行过程中存储临时变量或其他中间信息。这样的 指令在被存储在处理器504可访问的存储介质中时将计算机系统500 渲染为被定制以执行在指令中所指定的操作的专用机器。
计算机系统500还包括耦合到总线502以存储用于处理器504的 静态信息和指令的只读存储器(ROM)508或其他静态存储设备。诸 如磁盘、光盘、USB拇指驱动器(闪存驱动器)等存储设备510被提 供并且耦合到总线502以用于存储信息和指令。
计算机系统500可以经由总线502耦合到显示器512,诸如液晶 显示器(LCD)(或触摸屏)以用于向计算机用户显示信息。包括字 母数字键和其他键的输入设备514耦合到总线502以用于将信息和命 令选择传送到处理器504。另一种类型的用户输入设备是用于将方向 信息和命令选择传送到处理器504并且控制显示器512上的光标移动 的光标控件516,诸如鼠标、跟踪球或光标方向键。在一些实施例中, 可以在没有光标的情况下通过接收触摸屏上的触摸来实现与光标控 件相同的方向信息和命令选择。
计算系统500可以包括用于实现GUI的用户接口模块,GUI可以 作为由(一个或多个)计算设备执行的可执行软件代码而存储在大容 量存储设备中。作为示例,该模块和其他模块可以包括诸如软件组件、 面向对象的软件组件、类组件和任务组件等组件、过程、功能、属性、 过程、子例程、程序代码段、驱动程序、固件、微码、电路系统、数 据、数据库、数据结构、表、数组和变量。
总体上,本文中使用的单词“组件”、“引擎”、“系统”、“数 据库”、“数据存储库”等可以是指在硬件或固件中体现的逻辑或以 编程语言(例如,Java、C或C++)编写的软件指令集合(可能具有 入口点和出口点)。软件组件可以编译并且链接到可执行程序中,安 装在动态链路库中,或者可以用诸如BASIC、Perl或Python等解释 性编程语言编写。应当理解,软件组件可以从其他组件或从其自身调 用,和/或可以响应于检测到的事件或中断而被调用。被配置为在计算 设备上执行的软件组件可以在诸如光盘、数字视频盘、闪存驱动器、磁盘或任何其他有形介质等计算机可读介质上提供,或者作为数字下 载而提供(并且可以最初以压缩或可安装格式存储,这种格式需要在 执行之前进行安装、解压缩或解密)。这样的软件代码可以部分地或 全部地存储在执行计算设备的存储设备上,以由计算设备执行。软件 指令可以嵌入在诸如EPROM等固件中。还应当意识到,硬件组件可 以包括诸如门和触发器等连接的逻辑单元,和/或可以包括诸如可编程 门阵列或处理器等可编程单元。
计算机系统500可以使用与计算机系统相结合引起计算机系统 500成为或将计算机系统500编程为专用机器的定制的硬连线逻辑、 一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文中描述的 技术。根据一个实施例,由计算机系统500响应于(一个或多个)处 理器504执行包含在主存储器506中的一个或多个指令的一个或多个 序列来执行本文中的技术。这样的指令可以从诸如存储设备510等另 一存储介质读取到主存储器506中。包含在(一个或多个)主存储器 506中的指令序列的执行引起处理器504执行本文中描述的处理步 骤。在替代实施例中,可以使用硬连线电路代替软件指令或与软件指 令相结合使用。
如本文中使用的,术语“非暂态介质”和类似术语是指存储引起 机器以特定方式操作的数据和/或指令的任何介质。这样的非暂态介质 可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘 或磁盘,诸如存储设备510。易失性介质包括动态存储器,诸如主存 储器506。常见形式的非暂态介质包括例如软盘、柔性盘、硬盘、固 态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他 光学数据存储介质、带孔图案的任何物理介质、RAM、PROM和 EPROM、FLASH-EPROM、NVRAM、任何其他存储芯片或盒式磁带、 以及它们的网络版本。
非暂态介质不同于传输介质但是可以与传输介质结合使用。传输 介质参与非暂态介质之间的信息传输。例如,传输介质包括同轴电缆、 铜线和光纤,包括构成总线502的导线。传输介质还可以采用声波或 光波的形式,诸如在无线电波和红外数据通信期间生成的声波或光 波。
计算机系统500还包括耦合到总线502的通信接口518。网络接 口518提供到连接到一个或多个局域网的一个或多个网络链路的双向 数据通信耦合。例如,通信接口518可以是用于提供到对应类型的电 话线的数据通信连接的集成服务数字网络(ISDN)卡、电缆调制解 调器、卫星调制解调器或调制解调器。作为另一示例,网络接口518 可以是用于提供到兼容LAN(或与WAN通信的WAN组件)的数据 通信连接的局域网(LAN)卡。也可以实现无线链路。在任何这样的 实现中,网络接口518发送和接收其携带表示各种类型的信息的数字 数据流的电、电磁或光信号。
网络链路通常提供通过一个或多个网络到其他数据设备的数据 通信。例如,网络链路可以提供通过本地网络到主机或由因特网服务 提供商(ISP)操作的数据设备的连接。ISP依次提供通过现在通常称 为“因特网”的全球分组数据通信网络的数据通信服务。局域网和因 特网都使用携带数字数据流的电、电磁或光信号。通过各种网络的信 号以及在网络链路上并且通过通信接口518的信号(这些信号携带去 往和来自计算机系统500的数字数据)是传输介质的示例形式。
计算机系统500可以通过(一个或多个)网络、网络链路和通信 接口518发送消息和接收数据,包括程序代码。在因特网示例中,服 务器可以通过因特网、ISP、局域网和通信接口518传输应用的所请 求的代码。
所接收的代码可以在被接收时由处理器504执行,和/或被存储在 存储设备510或其他非易失性存储器中以供后续执行。
前面各部分中描述的每个过程、方法和算法可以体现在由包括计 算机硬件的一个或多个计算机系统或计算机处理器执行的代码组件 中,并且可以完全地或部分地由这样的代码组件自动化。一个或多个 计算机系统或计算机处理器还可以在“云计算”环境中或作为“软件 即服务”(SaaS)操作以支持相关操作的性能。这些过程和算法可以 在专用电路中部分或全部实现。上述的各种特征和过程可以彼此独立 地使用,或者可以以各种方式组合。不同的组合和子组合旨在落入本 公开的范围内,并且在一些实现中可以省略某些方法或处理框。本文 中描述的方法和过程也不限于任何特定顺序,并且与之相关的框或状态可以以其他适当的顺序执行,或者可以并行执行,或者以某种其他 方式执行。框或状态可以被添加到所公开的示例实施例,或者从所公 开的示例实施例中移除。某些操作或过程的执行可以分布在计算机系 统或计算机处理器之间,不仅驻留在单个计算机内,而且可以跨多个 计算机部署。
如本文中使用的,电路可以利用任何形式的硬件、软件或其组合 来实现。例如,可以实现一个或多个处理器、控制器、ASIC、PLA、 PAL、CPLD、FPGA、逻辑组件、软件例程或其他机制来构成电路。 在实现中,本文中描述的各种电路可以实现为分立电路,或者所描述 的功能和特征可以在一个或多个电路之间部分或全部共享。即使功能 的各种特征或元素可以单独描述或要求保护为单独的电路,但是这些 特征和功能也可以在一个或多个公共电路之间共享,并且这样的描述 将不需要或不暗示实现这样的特征或功能需要单独的电路。在使用软 件全部或部分地实现电路的情况下,可以将该软件实现为与能够执行 关于彼此所描述的功能的计算或处理系统(诸如计算机系统500)一 起操作。
如本文中使用的,术语“或”可以以包括性或排他性含义来解释。 此外,对单数形式的资源、操作或结构的描述不应当被理解为排除复 数。除非另外明确说明或在所使用的上下文中另外理解,否则条件性 语言(诸如“能够”、“能”、“可”或“可以”等)通常旨在表达某些实施例包括、而其他实施例不包括某些特征、元素和/或步骤。
除非另有明确说明,否则本文档中使用的术语和短语及其变体应 当被解释为开放式的,而不是限制性的。形容词(诸如“常规”、“传 统”、“正常”、“标准”、“已知”和类似含义的术语)不应当被 解释为将所描述的项目限制为给定时间段或给定时间可用的项目,而是应当被理解为包含现在或将来任何时候可用或已知的常规、传统、 常规或标准技术。在一些情况下出现宽泛的单词和短语(诸如“一个 或多个”、“至少”、“但不限于”或其他类似的短语)不应当被理 解为在这样的宽泛短语可能不存在的情况下意图或要求更窄的情况。

Claims (20)

1.一个或多个网络网关,所述网络网关中的每个网络网关与第一网络和第二网络通信;所述一个或多个网络网关包括:
检测子流电路,其被配置为检测具有作为源地址的第一IP地址和作为目的地地址的第二IP地址的MPTCP子流,其中所述网关都不是所述MPTCP子流的所述源或所述目的地;以及
欺骗ADD_ADDR电路,其被配置为:
将第三IP地址与所述MPTCP子流相关联,以及
向所述MPTCP子流的至少一个端点通告所述第三IP地址。
2.根据权利要求1所述的一个或多个网络网关,其中向所述MPTCP子流的至少一个端点通告所述第三IP地址包括:
在MPTCP分组中包括MPTCP ADD-ADDR选项报头,所述MPTCP ADD-ADDR选项报头包含所述第三IP地址,其中所述一个或多个网络网关向所述第一IP地址和所述第二IP地址中的至少一个地址发送所述MPTCP分组。
3.根据权利要求1所述的一个或多个网络网关,其中所述一个或多个网络网关接收具有作为目的地地址的所述第三IP地址的MPTCP分组,所述一个或多个网络网关其中:
子流网络地址转换(NAT)电路,其被配置为:
响应于所述MPTCP分组具有作为目的地地址的所述第三IP地址:
替换所述MPTCP分组的所述源地址,以及
替换所述MPTCP分组的所述目的地地址。
4.根据权利要求3所述的一个或多个网络网关,其中:
为了替换所述MPTCP分组的所述目的地地址,所述子流NAT电路还被配置为:利用所述第一IP地址和所述第二IP地址中的一个地址来替换所述MPTCP分组的所述目的地;并且
为了替换所述MPTCP分组的所述源地址,所述子流NAT电路还被配置为:选择与所述第三地址相关联的第四IP地址,以及利用所述第四IP地址来替换所述MPTCP分组的所述源地址。
5.根据权利要求3所述的一个或多个网络网关,其中所述子流NAT电路还被配置为:
选择与所述第三地址相关联的第四IP地址;以及
响应于所述一个或多个网络网关接收到具有作为目的地地址的所述第四地址的另一MPTCP分组:
利用所述第一IP地址和所述第二IP地址中的一个地址来替换所述另一MPTCP分组的所述目的地地址,以及
利用所述第三IP地址来替换所述另一MPTCP分组的所述源地址。
6.根据权利要求1所述的一个或多个网络网关,其中所述MPTCP子流具有作为源传输端口的第一传输端口和作为目的地传输端口的第二传输端口,并且其中所述子流NAT电路还被配置为:
将第三传输端口与所述MPTCP子流相关联;以及
向所述MPTCP子流的所述至少一个端点通告所述第三传输端口。
7.根据权利要求6所述的一个或多个网络网关,其中响应于接收到具有作为目的地地址的所述第三地址、作为所述目的地传输端口的所述第三端口、以及作为所述源传输端口的第五传输端口的MPTCP分组,所述子流NAT电路还被配置为:
选择与所述第三地址和所述第三传输端口相关联的第四IP地址;
选择与所述第三传输端口相关联的第四传输端口;
利用所述第一IP地址和所述第二IP地址中的一个地址来替换所述MPTCP分组的所述目的地地址;
利用所述第一传输端口和所述第二传输端口中的一个传输端口来替换所述MPTCP分组的所述目的地传输端口;
利用所述第四IP地址来替换所述MPTCP分组的所述源地址;以及
利用所述第四传输端口来替换所述MPTCP分组的所述源传输端口。
8.一种用于一个或多个网络网关的方法,所述网络网关中的每个网络网关与第一网络和第二网络通信,所述方法包括:
检测具有作为源地址的第一IP地址和作为目的地地址的第二IP地址的MPTCP子流,其中所述网关都不是所述MPTCP子流的所述源或所述目的地;
将第三IP地址与所述MPTCP子流相关联;以及
向所述MPTCP子流的至少一个端点通告所述第三IP地址。
9.根据权利要求8所述的方法,其中向所述MPTCP子流的至少一个端点通告所述第三IP地址包括:
在MPTCP分组中包括MPTCP ADD-ADDR选项报头,所述MPTCP ADD-ADDR选项报头包含所述第三IP地址;以及
向所述第一IP地址和所述第二IP地址中的至少一个地址发送所述MPTCP分组。
10.根据权利要求8所述的方法,还包括:
接收具有作为目的地地址的所述第三IP地址的MPTCP分组;以及
响应于所述MPTCP分组具有作为目的地地址的所述第三IP地址:
替换所述MPTCP分组的所述源地址,以及
替换所述MPTCP分组的所述目的地地址。
11.根据权利要求10所述的方法,其中替换所述MPTCP分组的所述源地址和所述目的地地址包括:
选择与所述第三地址相关联的第四IP地址;
利用所述第一IP地址和所述第二IP地址中的一个地址来替换所述MPTCP分组的所述目的地;以及
利用所述第四IP地址来替换所述MPTCP分组的所述源地址和所述MPTCP分组的所述目的地地址中的一个地址。
12.根据权利要求10所述的方法,还包括:
选择与所述第三地址相关联的第四IP地址;以及
响应于接收到具有作为目的地地址的所述第四地址的另一MPTCP分组:
利用所述第一IP地址和所述第二IP地址中的一个地址来替换所述另一MPTCP分组的所述目的地地址;以及
利用所述第三IP地址来替换所述另一MPTCP分组的所述源地址。
13.根据权利要求8所述的方法,其中所述MPTCP子流具有作为源传输端口的第一传输端口和作为目的地传输端口的第二传输端口,所述方法还包括:
将第三传输端口与所述MPTCP子流相关联;以及
向所述MPTCP子流的所述至少一个端点通告所述第三传输端口。
14.根据权利要求13所述的方法,还包括:
接收具有作为目的地地址的所述第三地址、作为所述目的地传输端口的所述第三端口、以及作为所述源传输端口的第五传输端口的MPTCP分组;
选择与所述第三地址和所述第三传输端口相关联的第四IP地址;
选择与所述第三传输端口相关联的第四传输端口;
响应于所述MPTCP分组具有作为目的地地址的所述第三IP地址:
利用所述第一IP地址和所述第二IP地址中的一个地址来替换所述MPTCP分组的所述目的地地址,
利用所述第一传输端口和所述第二传输端口中的一个传输端口来替换所述MPTCP分组的所述目的地传输端口,
利用所述第四IP地址来替换所述MPTCP分组的所述源地址,以及
利用所述第四传输端口来替换所述MPTCP分组的所述源传输端口。
15.一种系统,包括:
硬件处理器;以及
非暂态机器可读存储介质,其被编码有指令,所述指令由硬件处理器可执行以执行用于一个或多个网络网关的方法,所述网络网关中的每个网络网关与第一网络和第二网络通信,所述方法包括:
检测具有作为源地址的第一IP地址和作为目的地地址的第二IP地址的MPTCP子流,其中所述网关都不是所述MPTCP子流的所述源或所述目的地;
将第三IP地址与所述MPTCP子流相关联;以及
向所述MPTCP子流的至少一个端点通告所述第三IP地址。
16.根据权利要求15所述的系统,所述方法还包括:
响应于接收到具有作为目的地地址的所述第三IP地址的MPTCP分组:
引起所述MPTCP分组的所述源地址的替换,以及
引起所述MPTCP分组的所述目的地地址的替换。
17.根据权利要求16所述的系统,其中引起所述MPTCP分组的所述源地址和所述目的地地址的替换包括:
选择与所述第三地址相关联的第四IP地址;以及
引起利用所述第一IP地址和所述第二IP地址中的一个地址来替换所述MPTCP分组的所述目的地;以及
引起利用所述第四IP地址来替换所述MPTCP分组的所述源地址和所述MPTCP分组的所述目的地地址中的一个地址。
18.根据权利要求16所述的系统,所述方法还包括:
选择与所述第三地址相关联的第四IP地址;以及
响应于接收到具有作为目的地地址的所述第四地址的另一MPTCP分组:
引起利用所述第一IP地址和所述第二IP地址中的一个地址来替换所述另一MPTCP分组的所述目的地地址,以及
引起利用所述第三IP地址来替换所述另一MPTCP分组的所述源地址。
19.根据权利要求15所述的系统,其中所述MPTCP子流具有作为源传输端口的第一传输端口和作为目的地传输端口的第二传输端口,所述方法还包括:
将第三传输端口与所述MPTCP子流相关联;以及
向所述MPTCP子流的所述至少一个端点通告所述第三传输端口。
20.根据权利要求19所述的系统,所述方法还包括:
接收具有作为目的地地址的所述第三地址、作为所述目的地传输端口的所述第三端口、以及作为所述源传输端口的第五传输端口的MPTCP分组;
选择与所述第三地址和所述第三传输端口相关联的第四IP地址;
选择与所述第三传输端口相关联的第四传输端口;
响应于所述MPTCP分组具有作为目的地地址的所述第三IP地址:
引起利用所述第一IP地址和所述第二IP地址中的一个地址来替换所述MPTCP分组的所述目的地地址,
引起利用所述第一传输端口和所述第二传输端口中的一个传输端口来替换所述MPTCP分组的所述目的地传输端口,
引起利用所述第四IP地址来替换所述MPTCP分组的所述源地址,以及
引起利用所述第四传输端口来替换所述MPTCP分组的所述源传输端口。
CN202010049342.8A 2019-01-18 2020-01-16 通过网络网关的端到端多路径tcp Active CN111464665B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/251,950 2019-01-18
US16/251,950 US10659569B1 (en) 2019-01-18 2019-01-18 End-to-end multipath TCP through network gateways

Publications (2)

Publication Number Publication Date
CN111464665A true CN111464665A (zh) 2020-07-28
CN111464665B CN111464665B (zh) 2021-10-26

Family

ID=70736453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010049342.8A Active CN111464665B (zh) 2019-01-18 2020-01-16 通过网络网关的端到端多路径tcp

Country Status (3)

Country Link
US (1) US10659569B1 (zh)
CN (1) CN111464665B (zh)
DE (1) DE102020100211B4 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022022530A1 (zh) * 2020-07-31 2022-02-03 华为技术有限公司 确定mptcp服务器公网地址的方法和通信装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210297341A1 (en) * 2016-08-24 2021-09-23 McLaren Applied Limited Vehicle data communication
CN111988440B (zh) * 2019-05-22 2022-09-02 富联精密电子(天津)有限公司 网络地址转换方法及系统
CN113923696A (zh) * 2020-07-09 2022-01-11 华为技术有限公司 通知故障的方法和电子设备
US11818104B2 (en) * 2022-03-01 2023-11-14 Netnut, Ltd. Anonymous proxying
US11765238B1 (en) 2022-06-21 2023-09-19 Juniper Networks, Inc. Non-translated port oversubscribing for a proxy device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331160A1 (en) * 2011-06-22 2012-12-27 Telefonaktiebolaget L M Ericsson (Publ) Multi-path transmission control protocol proxy service
CN103155518A (zh) * 2010-10-15 2013-06-12 瑞典爱立信有限公司 多径传送控制协议代理
CN103441996A (zh) * 2013-08-16 2013-12-11 上海理工大学 并发传输文件的方法及系统
US20160315976A1 (en) * 2013-12-09 2016-10-27 Universite Catholique De Louvain Establishing a data transfer connection

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8331375B2 (en) * 2004-08-06 2012-12-11 Qualcomm Incorporated Technology agnostic QoS support in a multi-mode environment
JP2008158632A (ja) * 2006-12-21 2008-07-10 Canon Inc 画像形成装置、ワークフロー制御方法、該方法を実行する制御プログラム
US20120144062A1 (en) * 2010-06-04 2012-06-07 Interdigital Patent Holdings, Inc. MPTCP And Mobile IP Interworking
US8547835B2 (en) * 2010-10-21 2013-10-01 Telefonaktiebolaget L M Ericsson (Publ) Controlling IP flows to bypass a packet data network gateway using multi-path transmission control protocol connections
US8824480B2 (en) 2012-01-31 2014-09-02 Alcatel Lucent Method and apparatus for end-host based mobility, multi-homing and multipath protocols
WO2014044333A1 (en) * 2012-09-24 2014-03-27 Telefonaktiebolaget L M Ericsson (Publ) Traffic shaping and steering for a multipath transmission control protocol connection
US9456464B2 (en) 2013-06-06 2016-09-27 Apple Inc. Multipath TCP subflow establishment and control
WO2015168909A1 (zh) * 2014-05-08 2015-11-12 华为技术有限公司 数据传输控制节点、通信系统及数据传输管理方法
WO2016112948A1 (en) * 2015-01-12 2016-07-21 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for relocating packet processing functions
US10097465B2 (en) 2015-12-08 2018-10-09 Nicira Inc. Data transfer between endpoints using a multipath connection
WO2017157457A1 (en) 2016-03-18 2017-09-21 Nec Europe Ltd. Sdn support for disjoint multipath configuration
WO2017200342A1 (en) * 2016-05-19 2017-11-23 Samsung Electronics Co., Ltd. Method and apparatus for managing multipath transmission control protocol
US20170346724A1 (en) * 2016-05-25 2017-11-30 Doru Calin Dynamic multi-path control and adaptive end-to-end content delivery over wireless media
US20190253274A1 (en) * 2018-02-14 2019-08-15 Megaport (Services) Pty Ltd. Network interconnection service
US11153122B2 (en) * 2018-02-19 2021-10-19 Nicira, Inc. Providing stateful services deployed in redundant gateways connected to asymmetric network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103155518A (zh) * 2010-10-15 2013-06-12 瑞典爱立信有限公司 多径传送控制协议代理
US20120331160A1 (en) * 2011-06-22 2012-12-27 Telefonaktiebolaget L M Ericsson (Publ) Multi-path transmission control protocol proxy service
CN103441996A (zh) * 2013-08-16 2013-12-11 上海理工大学 并发传输文件的方法及系统
US20160315976A1 (en) * 2013-12-09 2016-10-27 Universite Catholique De Louvain Establishing a data transfer connection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022022530A1 (zh) * 2020-07-31 2022-02-03 华为技术有限公司 确定mptcp服务器公网地址的方法和通信装置

Also Published As

Publication number Publication date
DE102020100211B4 (de) 2023-08-31
CN111464665B (zh) 2021-10-26
DE102020100211A1 (de) 2020-07-23
US10659569B1 (en) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111464665B (zh) 通过网络网关的端到端多路径tcp
US20210185114A1 (en) Origin server cloaking using virtual private cloud network environments
US11316787B2 (en) Method and apparatus for traffic optimization in virtual private networks (VPNs)
EP3033688B1 (en) Selectively performing man in the middle decryption
US7293108B2 (en) Generic external proxy
US11503105B2 (en) System and method for content retrieval from remote network regions
US8868757B1 (en) Two-way web service router gateway
US11882199B2 (en) Virtual private network (VPN) whose traffic is intelligently routed
US20130227071A1 (en) Optimizing Return Traffic Paths Using Network Address Translation
US20110289134A1 (en) End-To-End Secure Cloud Computing
US8984114B2 (en) Dynamic session migration between network security gateways
US20070002768A1 (en) Method and system for learning network information
KR20080026590A (ko) 방화벽 뒤에 위치하고 있는 동적 ip 주소를 지니는 장치상의 웹 서버에 액세스하는 시스템 및 방법
US10862804B2 (en) Redirecting data packets between overlay network and underlay network
US10680965B1 (en) Redistribution of VPN tunnels among VPN concentrators
Bhagwat et al. MSOCKS+: an architecture for transport layer mobility
CN113169936B (zh) 用于数据流处理的服务链机制
US11805103B2 (en) Dynamic selection of tunnel endpoints
US8023407B2 (en) Redundancy in a communication network
US11836382B2 (en) Data read method, data storage method, electronic device, and computer program product
US20230140789A1 (en) Robust network connectivity leveraging edge compute
US9838108B2 (en) IP based real-time communications over a mobile network
US10938778B2 (en) Route reply back interface for cloud internal communication
US20210160229A1 (en) Iso layer-two connectivity using iso layer-three tunneling
KR101480263B1 (ko) 보안이 강화된 가상 사설망 서비스 시스템 및 방법

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