CN104518939A - 用于连接通信网络中的主机的方法和相应中继模块 - Google Patents
用于连接通信网络中的主机的方法和相应中继模块 Download PDFInfo
- Publication number
- CN104518939A CN104518939A CN201410520862.7A CN201410520862A CN104518939A CN 104518939 A CN104518939 A CN 104518939A CN 201410520862 A CN201410520862 A CN 201410520862A CN 104518939 A CN104518939 A CN 104518939A
- Authority
- CN
- China
- Prior art keywords
- main frame
- connection establishment
- establishment request
- connection
- trunk module
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/04—Large scale networks; Deep hierarchical networks
- H04W84/042—Public Land Mobile systems, e.g. cellular systems
- H04W84/047—Public Land Mobile systems, e.g. cellular systems using dedicated repeater stations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种用于连接通信网络中的主机的方法和相应中继模块。本发明涉及一个中继模块R,包括用于截取由第一主机H1发送的第一连接建立请求的捕获模块CM;被配置为发送在中继模块R和第二主机H2间建立初始辅助连接第二连接建立请求并从所述第二主机H2接收第一确认响应的通信模块11和上下文发现单元3,上下文发现单元被配置为在第一连接建立请求和第一确认响应呈现同样的多路径属性时激活处理由已建立的所述主连接承载的流量的转发模式;并且在第一连接建立请求和第一确认响应呈现不同的多路径属性时,激活处理由以下部分承载的流量的中继模式。
Description
技术领域
本公开总体上涉及数据分组通过一个或多个通信网络在第一和第二主机间的传输,并且特别但并非排他性地涉及用于通过中继器模块连接至少在一个通信网络上的多宿主的并且有多路径协议功能的主机和单路径协议主机的方法和中继模块。
背景技术
本部分旨在向读者介绍本领域的各个方面,其可能涉及下文中所描述和/或所要求的各个方面。这种讨论被认为有助于给读者提供背景信息以利于更好地里理解本发明的各个方面。因此,应该理解这些陈述应当从这个角度被领会,而不是作为对现有技术的承认。
当今,多媒体和数据服务使用多种多样的通信路径(例如卫星、电缆、ADSL、3G和4G、WiFi等)。为利用可用的这样的各种通信路径,大部分最近的设备包括多个无线接口。特别地,新一代移动设备比如膝上型计算机、智能电话和平板电脑通常配有WiFi、3G和蓝牙接口。
然而,多媒体服务通常以对两个设备间的每个连接只使用单一的通信路径的传输控制协议(简写为TCP)作为传输协议来实现。结果,为了提高性能、弹性或可用性,多媒体服务不能利用移动设备的多个接口所提供的可用的通信路径多样性。
为克服这种缺点,研究界已开发了多路径传输控制协议(简写为MPTCP),这是常规TCP协议的扩展,提供在两个设备间的多个路径上同时传输单一端到端连接的数据的功能。互联网工程任务组在2013年1月的发表的IETF RFC-6824“TCP Extensions for Multipath Operation withMultiple Addresses(对具有多地址的多路径操作的TCP扩展)”(A.Ford等人)中对MPTCP进行了定义。
■在本发明的框架内,应当理解:
■_“多宿主的(multi-homed)设备或主机”,包括(有线和/或无线的)至少两个通信接口的设备,其中每个接口具有其自身的通信地址(例如IP地址),以能与处于多路径模式中(可能是不同类型的)远程通信设备交换数据分组。因此,多宿主设备可以涉及固定或移动电话(可能是“智能电话”类型)、固定式或便携式计算机、个人数字助理(PDA)、内容接收机(比如解码器、家庭网关或机顶盒(STB))或网络设备(比如内容服务器);
■_“通信路径”,由两个通信接口(每个设备一个)连接两个通信设备(可能是多宿主的)的路径,使得通信路径由两个相应的通信接口的通信地址来标识;以及
■_“子流”,在单一路径上操作的TCP分组流,其形成更大的MPTCP连接的一部分。这种子流以类似于常规TCP连接的方式被开始和被终止。
■第一和第二多宿主设备间的MPTCP连接由与主通信路径相关联的主常规TCP连接、以及与辅助通信路径相关联的一个或多个辅助TCP连接,辅助TCP被链接到主常规TCP连接。这种MPTCP连接对两端的应用程序作为单一TCP连接继续出现。
■如已经公知的,能够支持MPTCP协议的实施(也称为有MPTCP能力的)多宿主设备通常具有被分配为作为主接口用于发起MPTCP连接的通信的一个固定接口。
为了获益于路径多样性,至少一个设备需要是多宿主的,并且两个设备都需要是有MPTCP能力的,否者MPTCP连接退回到常规TCP连接并且路径多样性不能被使用。
如往常新的互联网协议的推出一样,部署是渐进的,在被广泛使用之前需要一定的时间。因此,有MPTCP能力的设备和只有TCP功能的设备间将会有很长的共存时间,期间,应用多路径的条件将不会被完全满足。作为示例,无法实现MPTCP的TCP视频服务器将它的服务限制在标准TCP连接和单路径方案,尽管客户端设备配备有通向多路径机会的多个接口。
本发明提出了一种解决方案以克服至少上面提到的缺点。
发明内容
本发明涉及用于通过中继模块连接至少在一个通信网络中的第一主机和第二主机的方法,该方法值得注意的是其在中继模块上包括:
-捕获由第一主机发送的、与第二主机建立主连接的第一连接建立请求;
-向第二主机发送在中继模块和第二主机间建立初始辅助连接的第二连接建立请求;
-从第二主机接收第一确认响应;
-如果第一连接建立请求和第一确认响应呈现同样的多路径属性,则激活处理由已建立的直接主连接所承载的流量的转发模式,以及:
■丢弃从第二主机接收的第一确认响应以放弃初始辅助连接建立;
■将第一连接建立请求发送给第二主机;
■针对直接主连接的建立,响应于先前发送的第一连接建立请求,将由第二主机发送的第二确认响应转发给第一主机;
-如果第一连接建立请求和第一确认响应呈现不同的多路径属性,则激活处理由以下各项所承载的流量的中继模式:
■在第一主机和中继模块间建立的附加辅助连接;以及
■在中继模块和第二主机间建立的初始辅助连接。
因此,得益于本发明,该方法可以利用,例如多宿主和有多路径协议功能的第一主机和中继模块间的多路径架构,而无需要求第二主机的任何多路径功能,反之亦然。当第一主机接口的性能低(低带宽)并且是非确定性的(例如与无线接口相接)时本发明可以是尤其有价值的。在这种情况下,通过聚合不同接口的带宽多路径架构可以在第一主机侧同时提供更高的容量和更好的可靠性。
根据实施例,该方法初步地进一步地包括,在接收到第一连接建立请求时,在中继模块中创建第一接口以处理初始辅助连接建立。
优选地,所述第二连接建立请求可以要求初始辅助多路径连接的建立。因此,作为说明性示例,如果第一主机只是标准TCP而第二主机是多宿主的并且有MPTCP能力的,则在中继模块和第二主机间的初始辅助连接可以是多路径的。
此外,第一连接建立请求和第一确认响应可以被存储在中继模块的上下文发现单元中。
此外,当中继模式已被激活时在中继模块上所述方法可以还包括:
-处理在第一主机和中继模块间建立所述附加辅助连接的第一连接建立请求。作为示例,如果第一连接建立请求包括多路径属性的选项则所述附加辅助连接可以是多路径连接;
-处理在中继模块和第二主机间建立初始辅助连接的第一确认响应。作为示例,如果第一确认响应包括多路径属性的选项则所述初始辅助连接是多路径连接;
-在初始辅助连接和附加辅助连接间创建链路。
此外,所述方法可以包括将初始和附加辅助连接所承载的流量标识为处于中继模式和/或将已建立的主连接所承载的流量标识为处于转发模式中。
在本发明的另一个方面,初始和附加辅助连接间的链路可以使用对应表。
此外,对第一连接建立请求的处理可以还包括:
-在中继模块中创建第二接口以处理与第一主机的附加辅助连接;
-将所述所存储的第一连接建立请求发送给第二接口;
-接受最初由第一主机请求的主连接以建立所述附加辅助连接。
此外,对第一确认响应的处理可以还包括:
-向第一接口发送所述所存储的第一确认响应发送;
-接受由中继模块请求的初始辅助连接以建立所述初始辅助连接。
本发明进一步涉及一种被布置于至少一个通信网络中、用于连接第一主机和第二主机的中继模块。根据本发明,所述中继模块包括:
-捕获模块,该捕获模块被配置为截取由第一主机发送的第一连接建立请求以与第二主机建立主连接;
-通信模块,该通信模块被配置为:
■向第二主机发送在中继模块和第二主机间建立初始辅助连接的第二连接建立请求;
■从第二主机接收第一确认响应;
-上下文发现单元,该上下文发现单元被配置为激活:
■在第一连接建立请求和第一确认响应呈现同样的多路径属性的情况下,激活处理由已建立的主连接所承载的流量的转发模式;
■第一连接建立请求和第一确认响应呈现不同的多路径属性的情况下,激活处理由以下部分承载的流量的中继模式:
-在第一主机和中继模块间建立的附加辅助连接;以及
-在中继模块和第二主机间建立的初始辅助连接;
并且其中所述捕获模块进一步被配置为:
-丢弃从第二主机接收的第一确认响应以放弃初始辅助连接建立;
-将第一连接建立请求发送给第二主机;
-针对直接主连接的建立,响应于先前发送的第一连接建立请求,将由第二主机发送的第二确认响应转发给第一主机。
此外,所述上下文发现单元可以被配置为存储第一连接建立请求和第一确认响应以及判定它们的多路径属性。
此外,中继模块可以还包括:
-流量标识单元,由于例如标识表的存在,该流量标识单元适合于区分在转发模式中处理的流量和在中继模式中处理的流量;
-中继应用,该中继应用在中继模式中,用于中继由第一和第二主机间的初始和附加辅助连接所承载的流量。
本发明还涉及被布置于至少一个通信网络中、用于连接第一主机和第二主机的中继模块。所述中继模块包括至少一个处理器,该处理器被配置为:
-截取第一主机发送的、与第二主机建立主连接的第一连接建立请求;
-向第二主机发送在中继模块和第二主机间建立初始辅助连接的第二连接建立请求;
-从第二主机接收第一确认响应;
-激活:
■在第一连接建立请求和第一确认响应呈现同样的多路径属性的情况下,激活处理由已建立的主连接所承载的流量的转发模式;
■在第一连接建立请求和第一确认响应呈现不同的多路径属性的情况下,激活处理由以下部分承载的流量的中继模式:
-在第一主机和中继模块间建立的附加辅助连接;以及
-在中继模块和第二主机间建立的初始辅助连接;
-丢弃从第二主机接收放弃初始辅助连接建立的第一确认响应;
-将第一连接建立请求发送给第二主机;
-针对所述直接主连接的建立,响应于先前发送的第一连接建立请求,将由第二主机发送的第二确认响应转发给第一主机。
本发明还涉及可从通信网络下载的和/或被记录于计算机可读和/或处理器可执行介质上的一种计算机程序产品,包括用于实施如上所述的方法的程序代码指令。
此外,本发明涉及包括记录于其上的计算机程序产品并且能够被处理器运行的非暂态计算机可读介质,包括用于实施上述方法的程序代码指令。
下面阐述了在范围上与所公开的实施例相当的某些方面。应当理解的是呈现这些方面仅为向读者提供本发明可能具有的某些形式的简要的总结并且这些方面不旨在限制本发明的范围。实际上,本发明可以包括可能未在下文被阐述的许多方面。
附图说明
非限制性地参考附图,通过以下实施例和实施示例本发明将得到更好的理解和示出,其中:
-图1示意性地示出根据本发明的优选实施例的包括中继模块的网络架构的示例的框图;
-图2是根据所述的优选实施例的由图1的中继模块实现的方法的流程图。
在图中,除非另有说明相同的标号代表相同的部分。
本说明书、权利要求和附图中所公开的参考可以独立地或以任何适当的组合的形式被提供。特征可以,在适当的情况下,在硬件、软件或两者的组合中被实现。
此外,在图1中,所呈现的模块是功能单元,其可以与物理上分离的单元对应或可以被包含在同一物理单元中。即,它们可以以软件、硬件的形式被开发或者在一个或多个集成电路中被实现。例如,这些模块或这些模块中的至少一些模块可以在独特的组件中被分组或者可以构成相同的软件的功能。相反,某些模块可以最后被分成独立的单元。
具体实施方式
根据优选实施例,关于互联网协议中的标准TCP和多路径协议MPTCP描述了本发明。当然,本发明并不局限于这些特定实施例并且其它多路径协议当然可以被考虑以及被实现。
如图1中所示,根据优选实施例的网络架构包括第一主机H1、第二主机H2和多宿主的并且有MPTCP能力的中间盒(middle-box)MB(比如网关)。主机H1和H2想要使用TCP交换数据。应该注意到,“主机”指的是客户端(比如个人计算机、平板电脑或智能电话等)、服务器或中间盒。两个主机H1和H2可以是有MPTCP能力的或标准TCP的(即,只有TCP功能,但没有MPTCP能力)。
主机H1通过第一网络N1(如家庭网络)连接到中间盒MB,主机H1想要通过第二网络N2(如互联网网络)连接到主机H2。由于中间盒MB,第一网络N1被连接到第二网络N2。显然,在变体中,连接可以由第二主机H2发起。
考虑到所有的主机组合(标准TCP、有MPTCP能力的),例如被布置在中间盒MB中的中继模块R执行中继机制RM(下文中将参考图2进行描述),其提出两种工作模式:转发(FORWARD)模式和中继(RELAY)模式。
当H1和H2都呈现同样的多路径能力时,即主机H1和H2都是有MPTCP能力的或主机H1、H2都包括标准TCP栈时,转发模式被激活。在这种状况下,中继模块R起到透明网桥的作用,并转发流量而不加以特定处理,以避免任何性能下降。
当主机H1和H2呈现不同的多路径能力时(一个主机是有MPTCP能力的,而另一主机只是标准TCP),中继模式被激活,中继模块R切换到中继模式并且中继主机H1和H2间的流量。
如已经公知的,由于MPTCP是TCP的扩展,因此使用如与正常TCP连接相同的过程发起MPTCP连接,即三路握手(SYN、SYN/ACK、ACK)。这样,MPTCP主机是通过使用可用路径中的一个可用路径向远程主机发送SYN来发起TCP连接的主机。为了启用附加的路径,执行了新的TCP三路握手。
当涉及有MPTCP能力的主机时,属于MPTCP连接的每个TCP分组将包含在TCP片段的头部中的数据嵌入到“选项(option)”字段中。MPTCP选项被标识有等于30的“种类(kind)”值(参见RFC6824,2014年1月,表1)。此外,“子类型(subtype)”字段被用于更具体地定义MPTCP选项。在SYN、SYN/ACK和ACK分组的上下文中,这些选项的目的是检查远程主机是否支持MPTCP。它们还允许主机交换某些信息以确保沿可用路径的附加的子流的建立。MPTCP子流由一对IP进行定义,一个属于第一主机H1(比如客户端),另一个属于第二主机H2(比如服务器)。
当MPTCP连接被发起时,利用SYN、SYN/ACK和ACK分组执行标准TCP三路握手,这些分组携带由等于0的子类型值标识的、命名为MP_CAPABLE的多路径功能(MultiPath Capable)选项。这个选项声称其发送者能够执行多路径TCP。
接下来,为了建立附加的路径,子流被与所发起的MPTCP连接关联起来。然后,利用携带由等于1的子类型值标识的、命名为MP_JOIN的多路径加入(MultiPath Join)选项的SYN、SYN/ACK和ACK分组来执行新的TCP三路握手。
如图1和图2中所示,为管理两个主机H1和H2之间的流量,由于(例如)中继模块R的存储器MY(其可以对应于中间盒MB的存储器)中所存储的中继应用,中继模块R实施以下机制RM。在步骤S1中,由于流量转移单元1,中继模块R将接收到的被标识的流量转移(或捕获)到监听接口2。被转移的流量可以是被交换的所有的SYN和SYN/ACK分组和被标识为处于中继模式的所有的TCP分组。也就是说,流量转移单元1根据分组类型和/或根据在其中流量被交换的连接模式(中继模式或转发模式)对流量进行转移。
如图1中所示,流量转移单元1和监听接口2可以定义捕获模块CM。
在步骤S2中,中继模块R的监听模块2对被转移的流量进行分析,以标识来自主机H1、H2中的一个的第一连接建立请求(标准SYN分组或具有MP_CAPABLE(subtype=0x0)选项的MPTCP SYN分组)。作为示例,主机H1向主机H2发送所述第一连接建立请求。如果这个来自第一主机H1的第一连接建立请求被识别出来,则监听接口2将其转发给中继模块R的上下文发现单元3。
在步骤S3中,在接收到来自第一主机H1的这样的第一连接建立请求后,中继模块R的上下文发现单元3:
-存储(步骤S3a)第二主机H2的IP地址、最初由第一主机H1所请求的端口以及所述第一连接建立请求的多路径属性(“SP”单路径(Single Path)或“MP”多路径(Multipath));
-保持(步骤S3b)所述第一连接建立请求;以及
-创建(步骤S3c)第一接口I1(比如MPTCP套接字,也称为通信模块)以通过初始辅助连接连接到第二主机H2。
在步骤S4中,第一接口I1试图创建至第二主机H2的新的MPTCP连接,它是通过发送用于建立中继模块R和第二主机H2之间的初始多路径辅助连接的第二连接建立请求(携带MP_CAPABLE选项的SYN分组)来实现的。
在步骤S5中,当第一确认响应(SYN/ACK分组)被中继模块R接收到并被流量转移单元1和监听接口2转发到上下文发现单元3时,所述上下文发现单元3检查所述第一响应的多路径属性(SP或MP),以判定主机H1和H2是否都呈现相同的多路径能力。
在步骤S6中,在主机H1和H2都呈现同样的多路径能力(即两者都是有MPTCP能力的或两者都只是TCP)的情况下,中继模块R激活转发模式,或者,在主机H1和H2具有不同的多路径能力(即,一个主机H1、H2是有多路径能力的,而另一主机H2、H1只是标准TCP)的情况下,中继模块R激活中继模式。
中继模块R还包括流量标识单元4,流量标识单元4能够基于连接建立阶段期间所建立的标识表(详见下文)区分在转发模式和在中继模式中所处理的流量。
一旦转发模式被激活,在步骤S7中,中继模块R(例如,由捕获模块CM执行):
-关闭(步骤S7a)连接到第二主机H2的第一接口I1(复位中继模块和第二主机H2之间的现在无用的连接);
-丢弃(步骤S7b)从第二主机H2接收到的第一确认响应以放弃初始辅助连接建立;
-在中间盒MB分组处理的路径中将第一连接建立请求向第二主机H2释放(步骤S7c),而不加以任何标记(marking);
-执行转发步骤(步骤S7d):
■向第一主机H1转发由第二主机H2发送的第二确认响应(SYN/ACK分组)以建立直接主连接;以及
■向第二主机H2转发由第一主机H1发送的相应的建立确认响应(ACK分组)。
其结果是,在所述转发模式中,所述第一连接建立请求和在相应的连接上交换的流量遵循中间盒MB的标准转发路径,这由图1中的标号5所标识(例如,通过路由模块5A和伪装模块5B)。
如果在中间盒MB上接收到携带MP_JOIN选项(subtype=0x1的SYN分组)的进一步的连接建立请求并且子流被标识为(通过利用标识表)属于当前处于转发模式的MPTCP会话,则被布置在中继模块R中的流量标识单元4随后被配置为将由所述子流(由SYN MP_JOIN分组发起)承载的流量标识(例如,通过在下文中所描述的标识表来标识)为处于转发模式中。所述进一步的连接建立请求随后被监听接口2释放,以遵循中间盒分组处理。在这种情况下,如果数据分组被接收,则其未被转移,这是因为中继模块R处于转发模式中,它只遵循标准中间盒分组处理路径。
当中继模式被激活时,在步骤S8中,中继模块R:
-释放(步骤S8a)第一确认响应(SYN/ACK分组)以由第一接口I1处理;
-接受(步骤S8b)由中继模块R所请求的初始辅助连接以建立该初始辅助连接;
-创建(步骤S8c)第二接口I2,以应对第一主机H1和中继模块R之间的附加辅助连接;
-将所存储的第一连接建立请求(SYN分组)向第二接口I2释放(步骤S8d);
-接受(步骤S8e)最初由第一主机H1所请求的主连接以建立所述附加辅助连接。换句话说,由第一主机所请求的用于与第二主机H2进行交换的主连接被第一主机H1和中继模块R之间的附加辅助连接所替代;
-例如使用对应表来创建(步骤S8f)第一和第二接口I1,I2之间的链路。
中继模块R的流量标识单元4可以基于标识表将由初始和附加辅助连接所承载的流量标识为处于中继模式中。更一般地,流量标识单元4能够基于所述标识表来区分在转发模式中处理的流量和在中继模式中处理的流量。
换句话说,在该中继模式中,在由第一接口I1管理的初始辅助连接上交换的流量被中继模块R的流量标识单元4标识为处于中继模式中。第一连接建立请求被释放,以遵循其路径到达监听接口2,监听接口2接受所述第一连接请求并创建第二接口I2(比如,TCP套接字)以应对第一主机的接口I1。在建立的附加辅助连接上交换的流量被流量标识单元4标识,并随后被流量转移单元1向中继模块R的中继应用路由,该中继应用转发第一和第二接口I1、I2之间的流量。
如果在中间盒MB上接收到携带MP_JOIN选项(subtype=0x1的SYN分组)的进一步的连接建立请求并且子流被标识(通过利用标识表)为属于当前在中继模式中的MPTCP会话,则中继模块R的流量标识单元随后被配置为将由所述子流(被SYN MP_JOIN分组发起)承载的流量标识为处于中继模式中。所述进一步的连接建立请求被向中继应用转移,并且TCP握手可以完成以打开相应的子流。
具体而言,当中间盒MB从第一主机H1接收到数据分组时,数据分组被转移到中继模块R中所创建的第二接口I2。随后,所述数据分组在到达第二主机H2之前被从第二接口I2中继到第一接口I1(通过由中继应用使用对应表)。当中间盒MB从第二主机H2接收到数据分组时,数据分组被转移到中继模块的所创建的第一接口I1。随后,所述数据分组在到达第二主机H2之前被从第一接口I1中继到第二接口I2。
如果中间盒MB接收到“关闭连接”分组(在TCP时是FIN分组,在MPTCP时是DATA_FIN分组),则第一和第二接口I1和I2被中继模块R关闭,并且对应表被重置。
此外,为追踪哪些连接需要被转发或被中继,当连接被建立时中继模块R建立一个查找表。这种标识表(未被显示在图上)最初为空,并且被上下文发现单元3填充。随后当数据分组被接收到后,该表被流量标识单元4所查阅。下面给出了这种标识表的示例:
标识表
源和目的地地址以及端口列表允许对所建立的连接进行快速查找并且针对每个接收到的分组选择适当的处理。对于常规的TCP连接,源和目的地令牌并不存在并且为空。对于MPTCP连接,源令牌是目的地的秘钥(如在SYN/ACK分组中由目的地主机所发送)的散列,并且目的地令牌是源的秘钥(如在SYN分组中由源主机所发送)的散列。这一对令牌在两端处唯一地标识MPTCP连接。这些令牌被MPTCP协议重新用于后续子流的建立,并且允许查找相应的MPTCP主流。从中继的角度看,需要追踪哪个子流属于哪个主流以判定每个子流的操作模式。
为了让中继模块得以追踪新子流的增加,优选地可以应对下面两种不同的情形:
-增加新的源地址:当具有多个接口的源(比如第一主机H1)决定将一个接口添加到现有MPTCP会话时,它向由其IP地址标识的目的地主机(比如第二主机H2)发布MPTCP SYN分组,该MPTCP SYN分组携带具有标识目的地处的MPTCP会话的令牌(例如“S_tok1”)的MP_JOIN选项。当看到该分组时,中继模块R查找S_tok1和目的地地址对,以检索为该MPTCP会话所选择的操作模式并最终向标识表添加一行,该行记录附加的源地址以及相应的令牌和操作模式(中继模式,转发模式)。
-增加新的目的地地址:中继模块R需要实现两步骤的过程。首先,中继模块R追踪ADD_ADDR消息,其被作为选项附加到数据分组并且允许目的地主机指示附加IP地址的可用性。在收到这种消息时,其将该地址与相关联的MPTCP会话一同记录在标识表中。其次,在接收到具有MP_JOIN选项的MPTCP SYN分组后,如果目的地地址与以前记录(添加)的地址匹配并且源令牌与已知令牌(比如,S_tok1)匹配,则中继模块R将子流标识为属于该MPTCP会话并且记录相关联的源和目的地端口。
应当注意到,在示例性的而非限制性的示例中,本发明可以在中间盒中被实现,该中间盒是在集成MPTCP栈的Linux个人计算机上运行的路由器。第一主机(比如客户端)和第二主机(比如服务器)运行在集成MPTCP或标准TCP栈的Linux个人计算机上。路由器在一侧通过多达两个100M以太网接口被连接到客户端PC,在另一侧经由多达两个100M以太网接口连接到服务器PC。
此外,在上述优选实施例中,中继模块R被作为硬件和/或软件模块集成在中间盒MB中。显然,在替代实施例中,中继模块可以是直接地或者通过中间盒连接到第一或第二主机的独立的硬件模块。
因此,本发明的原理的各个方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等形式)或组合硬件和软件方面的实施例的形式,这些硬件和软件一般都可以在本文中称为“电路”、“模块”或“系统”,其整体被嵌入到单个主机中或通过任何种类的方法被连接在一起的多个主机中。此外,本发明的原理的各个方面可以采取计算机可读介质的形式。可以使用一种或多种计算机可读存储介质的任何组合。
在说明书、权利要求和附图中所公开的内容可以独立地或以任何适当的组合的形式被提供。发明的特征在适当的情况下可以以硬件、软件或两者的组合的形式被实施。权利要求中出现的标号仅仅是示例性的,而不应当对权利要求的范围起任何限制作用。
在优选的实施例中描述了本发明,显然,在本领域的技术人员的能力范围内并且没有创造性劳动的运用的情况下,能够对本发明进行大量的修改和实施。因此,本发明的范围由权利要求限定。
在其权利要求中,表示为用于执行具体功能的装置(比如转移单元1,监听接口2,上下文发现单元3,第一和第二接口I1、I2,流量标识单元4,中继应用等)的任何元件旨在涵盖执行该功能的任何方式,例如包括:a)执行该功能的电路元件(比如一个或多个处理器)的组合或b)任何形式的软件(因此包括固件、微代码等),其与用于实施软件的适当的电路相结合以执行该功能。由这样的权利要求所限定的原理存在一个事实,也即由各种所述装置提供的功能以权利要求所要求的方式进行组合和和汇集。因此它被认为可以提供那些功能的任何装置都等效于本文中所示的装置。
Claims (15)
1.一种用于通过中继模块(R)在至少一个通信网络(N1,N2)中连接第一主机(H1)和第二主机(H2)的方法,其特征在于所述方法包括在所述中继模块(R)处:
-捕获(S1,S2)由所述第一主机(H1)发送的与所述第二主机(H2)建立主连接的第一连接建立请求;
-向所述第二主机(H2)发送(S4)在所述中继模块(R)和所述第二主机(H2)间建立初始辅助连接的第二连接建立请求;
-从所述第二主机(H2)接收(S5)第一确认响应;
-如果所述第一连接建立请求和所述第一确认响应呈现同样的多路径属性,则激活(S6)转发模式以处理由建立的直接主连接所承载的流量,并且
■丢弃(S7b)从所述第二主机(H2)接收的所述第一确认响应以放弃所述初始辅助连接建立;
■将所述第一连接建立请求释放(S7c)至所述第二主机(H2);
■将由所述第二主机(H2)响应于先前发送的第一连接建立请求而发送的第二确认响应转发(S7d)至所述第一主机(H1),以建立所述直接主连接;
-如果所述第一连接建立请求和所述第一确认响应呈现不同的所述多路径属性,则激活(S6)中继模式以处理由以下连接承载的流量:
■在所述第一主机(H1)和所述中继模块(R)之间建立的附加辅助连接;以及
■在所述中继模块(R)和所述第二主机(H2)之间建立的所述初始辅助连接。
2.如权利要求1所述的方法,还包括:在接收到所述第一连接建立请求后,在所述中继模块(R)内创建第一接口(I1)以应对所述初始辅助连接建立。
3.如权利要求1或2所述的方法,其中所述第二连接建立请求建立初始辅助多路径连接。
4.如权利要求1到3中任一项所述的方法,其中所述第一连接建立请求和所述第一确认响应被存储(S5)于所述中继模块(R)的上下文发现单元中。
5.如权利要求4所述的方法,还包括:当所述中继模式被激活时,在所述中继模块(R)处:
-处理所述第一连接建立请求以在所述第一主机(H1)和所述中继模块(R)之间建立所述附加辅助连接;
-处理所述第一确认响应以在所述中继模块(R)和所述第二主机(H2)之间建立所述初始辅助连接;
-创建(S8f)所述初始辅助连接和所述附加辅助连接之间的链路。
6.如权利要求5所述的方法,其中所述初始辅助连接和所述附加辅助连接之间的链路使用对应表。
7.如权利要求5或6所述的方法,其中对所述第一连接建立请求的处理还包括:
-在所述中继模块(R)中创建(S8c)第二接口(I2)以应对与所述第一主机(H1)的所述附加辅助连接;
-向所述第二接口(I2)释放(S8d)所存储的第一连接建立请求;
-接受(S8e)最初由所述第一主机(H1)请求的所述主连接,以建立所述附加辅助连接。
8.如权利要求5到7中任一项所述的方法,其中对所述第一确认响应的处理还包括:
-向所述第一接口(I1)释放(S8a)所存储的第一确认响应;
-接受(S8b)由所述中继模块(R)请求的初始辅助连接,以建立所述初始辅助连接。
9.一种被布置于至少一个通信网络(N1,N2)中、用于连接第一主机(H1)和第二主机(H2)的中继模块,其特征在于包括:
-捕获模块(CM),所述捕获模块(CM)被配置用于截取由所述第一主机(H1)发送的、用于建立与所述第二主机(H2)的主连接的第一连接建立请求;
-通信模块(I1),所述通信模块(I1)被配置用于:
■向所述第二主机(H2)发送用于在所述中继模块(R)和所述第二主机(H2)之间建立初始辅助连接的第二连接建立请求;
■从所述第二主机(H2)接收第一确认响应;
-上下文发现单元(3),所述上下文发现单元(3)被配置用于:
■在所述第一连接建立请求和所述第一确认响应呈现同样的多路径属性的情况下,激活转发模式以处理由建立的主连接承载的流量;
■所述第一连接建立请求和所述第一确认响应呈现不同的多路径属性的情况下,激活中继模式以处理由以下连接承载的流量:
-在所述第一主机(H1)和所述中继模块(R)之间建立的附加辅助连接;以及
-在所述中继模块(R)和所述第二主机(H2)之间建立的所述初始辅助连接;
并且其中所述捕获模块(CM)还被配置用于:
-丢弃从所述第二主机(H2)接收的所述第一确认响应以放弃所述初始辅助连接建立;
-将所述第一连接建立请求释放至所述第二主机(H2);
-向所述第一主机(H1)转发由所述第二主机(H2)响应于先前发送的第一连接建立请求而发送的第二确认响应,以建立所述直接主连接。
10.如权利要求9所述的中继模块,其中所述上下文发现单元(3)还被配置用于:存储所述第一连接建立请求和所述第一确认响应并且判定它们的多路径属性。
11.如权利要求9或10所述的中继模块,还包括流量标识单元(4),该流量标识单元(4)适合于区分在所述转发模式中处理的流量和在所述中继模式中处理的流量。
12.如权利要求9到11中任一项所述的中继模块,还包括中继应用,所述中继应用用于在所述中继模式中在所述第一和第二主机(H1,H2)之间中继由所述初始辅助连接和所述附加辅助连接所承载的流量。
13.一种被布置于至少一个通信网络(N1,N2)中、用于连接第一主机(H1)和第二主机(H2)的中继模块,其特征在于包括至少一个处理器,所述处理器被配置为:
-截取由所述第一主机(H1)发送的建立与所述第二主机(H2)的主连接的第一连接建立请求;
-向所述第二主机(H2)发送建立所述中继模块(R)和所述第二主机(H2)之间的初始辅助连接的第二连接建立请求;
-从所述第二主机(H2)接收第一确认响应;
-执行激活步骤,包括:
■在所述第一连接建立请求和所述第一确认响应呈现同样的多路径属性的情况下,激活转发模式以处理由建立的直接主连接承载的流量;
■在所述第一连接建立请求和所述第一确认响应呈现不同的多路径属性的情况下,激活中继模式以处理由以下连接承载的流量:
-在所述第一主机(H1)和所述中继模块(R)之间建立的附加辅助连接;以及
-在所述中继模块(R)和所述第二主机(H2)之间建立的所述初始辅助连接;
-丢弃从所述第二主机(H2)接收的所述第一确认响应以放弃所述初始辅助连接建立;
-将所述第一连接建立请求释放至所述第二主机(H2);
-向所述第一主机(H1)转发由所述第二主机(H2)响应于先前发送的第一连接建立请求而发送的第二确认响应,以建立所述直接主连接。
14.一种计算机程序产品,该计算机程序产品可从通信网络下载、和/或记载在计算机可读的介质上、和/或可由处理器执行,该计算机程序产品包括用于实施如权利要求1至8中的至少一个所述的方法的程序代码指令。
15.一种非暂态计算机可读介质,该计算机可读介质上记录有计算机程序产品并且该计算机程序产品能够被处理器运行,该计算机可读介质包括用于实施如权利要求1至8中的至少一个所述的方法的程序代码指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20130306349 EP2854357A1 (en) | 2013-09-30 | 2013-09-30 | Method for connecting a first host and a second host within at least one communication network through a relay module, corresponding relay module |
EP13306349.5 | 2013-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104518939A true CN104518939A (zh) | 2015-04-15 |
Family
ID=49474338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410520862.7A Pending CN104518939A (zh) | 2013-09-30 | 2014-09-30 | 用于连接通信网络中的主机的方法和相应中继模块 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20150095502A1 (zh) |
EP (2) | EP2854357A1 (zh) |
JP (1) | JP2015070616A (zh) |
KR (1) | KR20150037573A (zh) |
CN (1) | CN104518939A (zh) |
BR (1) | BR102014023992A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106507696A (zh) * | 2015-06-26 | 2017-03-15 | 瑞典爱立信有限公司 | 用于确定是否要发起第二多路径传输控制协议连接的第一网络节点及其中的方法 |
CN107211010A (zh) * | 2015-12-16 | 2017-09-26 | 华为技术有限公司 | 一种数据传输方法及设备 |
CN111064704A (zh) * | 2019-11-19 | 2020-04-24 | 中国科学院计算技术研究所 | 一种基于mptcp启动窗口自适应的数据传输方法、装置和介质 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
WO2015136582A1 (ja) * | 2014-03-13 | 2015-09-17 | パナソニックIpマネジメント株式会社 | 情報機器特定システム、情報機器特定方法、情報機器およびプログラム |
US20150281367A1 (en) * | 2014-03-26 | 2015-10-01 | Akamai Technologies, Inc. | Multipath tcp techniques for distributed computing systems |
WO2016066210A1 (en) * | 2014-10-30 | 2016-05-06 | Telefonaktiebolaget L M Ericsson (Publ) | Handling of backup path in a wireless communication system |
CN107409121B (zh) * | 2015-03-12 | 2021-02-23 | 瑞典爱立信有限公司 | 用于多路径业务聚合的方法和布置 |
US10476992B1 (en) * | 2015-07-06 | 2019-11-12 | F5 Networks, Inc. | Methods for providing MPTCP proxy options and devices thereof |
WO2017007705A1 (en) | 2015-07-06 | 2017-01-12 | Shape Security, Inc. | Asymmetrical challenges for web security |
CN105656875A (zh) * | 2015-10-21 | 2016-06-08 | 乐卡汽车智能科技(北京)有限公司 | 基于mptcp的主流连接建立方法及装置 |
WO2017113182A1 (zh) * | 2015-12-30 | 2017-07-06 | 华为技术有限公司 | 用于确定传输链路的方法和终端设备 |
EP3276891B1 (en) | 2016-07-29 | 2019-02-27 | Deutsche Telekom AG | Techniques for establishing a communication connection between two network entities via different network flows |
JP6724641B2 (ja) | 2016-08-03 | 2020-07-15 | 富士通株式会社 | 管理装置、通信システム及び割当方法 |
US10498868B2 (en) * | 2017-02-14 | 2019-12-03 | Alcatel Lucent | Multipath transport communications |
JP6908914B2 (ja) * | 2017-02-24 | 2021-07-28 | 株式会社国際電気通信基礎技術研究所 | データ送信装置、データ受信装置、通信システム、および、プログラム |
WO2018165190A1 (en) | 2017-03-07 | 2018-09-13 | Akamai Technologies, Inc. | Cooperative multipath |
US11223565B2 (en) * | 2017-12-22 | 2022-01-11 | Nokia Technologies Oy | Designs of an MPTCP-aware load balancer and load balancer using the designs |
WO2019166697A1 (en) * | 2018-03-01 | 2019-09-06 | Nokia Technologies Oy | Conversion between transmission control protocols |
WO2022038771A1 (ja) * | 2020-08-21 | 2022-02-24 | 日本電信電話株式会社 | 通信システム、通信方法、中継サーバ及びプログラム |
Citations (3)
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 | 瑞典爱立信有限公司 | 多径传送控制协议代理 |
US20130195004A1 (en) * | 2012-01-31 | 2013-08-01 | Karl Georg Hampel | Method and apparatus for multipath protocol packet relay |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032641B2 (en) * | 2009-04-30 | 2011-10-04 | Blue Coat Systems, Inc. | Assymmetric traffic flow detection |
EP2514159B1 (en) * | 2009-12-14 | 2021-02-17 | Nokia Technologies Oy | Method and apparatus for multipath communication |
US9455897B2 (en) * | 2010-04-06 | 2016-09-27 | Qualcomm Incorporated | Cooperative bandwidth aggregation using multipath transport |
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 |
EP2495927B1 (en) * | 2011-03-02 | 2014-10-08 | Alcatel Lucent | Concept for providing information on a data packet association and for forwarding a data packet |
US8824480B2 (en) * | 2012-01-31 | 2014-09-02 | Alcatel Lucent | Method and apparatus for end-host based mobility, multi-homing and multipath protocols |
WO2014090335A1 (en) * | 2012-12-14 | 2014-06-19 | Telefonaktiebolaget L M Ericsson (Publ) | Handling multipath transmission control protocol signalling in a communications network |
US9888042B2 (en) * | 2013-05-21 | 2018-02-06 | Citrix Systems, Inc. | Systems and methods for multipath transmission control protocol connection management |
-
2013
- 2013-09-30 EP EP20130306349 patent/EP2854357A1/en not_active Withdrawn
-
2014
- 2014-07-30 EP EP14179045.1A patent/EP2854360B1/en not_active Not-in-force
- 2014-09-22 US US14/493,288 patent/US20150095502A1/en not_active Abandoned
- 2014-09-25 KR KR20140128343A patent/KR20150037573A/ko not_active Application Discontinuation
- 2014-09-26 BR BR102014023992A patent/BR102014023992A2/pt not_active Application Discontinuation
- 2014-09-29 JP JP2014198200A patent/JP2015070616A/ja active Pending
- 2014-09-30 CN CN201410520862.7A patent/CN104518939A/zh active Pending
Patent Citations (3)
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 |
US20130195004A1 (en) * | 2012-01-31 | 2013-08-01 | Karl Georg Hampel | Method and apparatus for multipath protocol packet relay |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106507696A (zh) * | 2015-06-26 | 2017-03-15 | 瑞典爱立信有限公司 | 用于确定是否要发起第二多路径传输控制协议连接的第一网络节点及其中的方法 |
CN106507696B (zh) * | 2015-06-26 | 2018-10-12 | 瑞典爱立信有限公司 | 用于确定是否要发起第二多路径传输控制协议连接的第一网络节点及其中的方法 |
CN107211010A (zh) * | 2015-12-16 | 2017-09-26 | 华为技术有限公司 | 一种数据传输方法及设备 |
CN107211010B (zh) * | 2015-12-16 | 2020-01-31 | 华为技术有限公司 | 一种数据传输方法及设备 |
CN111064704A (zh) * | 2019-11-19 | 2020-04-24 | 中国科学院计算技术研究所 | 一种基于mptcp启动窗口自适应的数据传输方法、装置和介质 |
CN111064704B (zh) * | 2019-11-19 | 2021-02-09 | 中国科学院计算技术研究所 | 一种基于mptcp启动窗口自适应的数据传输方法、装置和介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2854360A1 (en) | 2015-04-01 |
BR102014023992A2 (pt) | 2016-04-26 |
EP2854360B1 (en) | 2016-04-06 |
JP2015070616A (ja) | 2015-04-13 |
KR20150037573A (ko) | 2015-04-08 |
EP2854357A1 (en) | 2015-04-01 |
US20150095502A1 (en) | 2015-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104518939A (zh) | 用于连接通信网络中的主机的方法和相应中继模块 | |
CN101296238B (zh) | 一种保持安全套接层会话持续性的方法及设备 | |
CN101141420B (zh) | 私网与公网进行数据通信的方法及系统 | |
US8085795B2 (en) | Packet relay apparatus | |
JP5378494B2 (ja) | リレーサーバを利用したデータ伝送システム及び方法 | |
JP5097620B2 (ja) | マルチパス通信システム | |
CN102739569B (zh) | 一种用于卫星通信中的网关及其tcp性能增强的方法 | |
CN101707569B (zh) | Nat业务报文处理的方法及装置 | |
CN101572643A (zh) | 实现私网之间转发数据的方法和系统 | |
EP1755276A1 (en) | Communication control method | |
CN104954245A (zh) | 业务功能链处理方法及装置 | |
CN101304302A (zh) | 视频数据的传输方法及其系统 | |
US8892745B2 (en) | Redirection of a request for information | |
CN103379182A (zh) | 数据传输方法和客户端 | |
EA018130B1 (ru) | Способ выборочного перехвата сеанса | |
CN104184646A (zh) | Vpn网络数据交互方法和系统及其网络数据交互设备 | |
CN110460641A (zh) | 数据传输方法、装置及系统 | |
CN104852988A (zh) | 一种报文转发方法和装置 | |
CN102710495B (zh) | 一种监控网络用户主机建立路由信息的方法及装置 | |
CN103516573B (zh) | 受限网络中客户端之间的数据传输方法和客户端 | |
CN102215231A (zh) | 一种转发数据的方法及网关 | |
CN100464547C (zh) | 一种实现不同通信协议设备间信息传输的方法 | |
JP2004229265A5 (zh) | ||
CN102377829B (zh) | 基于hip的通信方法、系统及设备 | |
CN103368841A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150415 |
|
WD01 | Invention patent application deemed withdrawn after publication |