建立多路径连接的方法和多归属设备的制作方法

文档序号:7777545阅读:247来源:国知局
建立多路径连接的方法和多归属设备的制作方法
【专利摘要】根据本发明,公开了一种在至少一个通信网络内的第一多归属设备和第二多归属设备之间建立跨越多条通信路径的多路径连接的方法,其中两个设备能够支持多路径协议;其特征在于,所述方法包括以下的连续步骤:-从第一设备发送(E1)跨越所述第一设备和所述第二设备之间的至少两条通信路径的主连接建立请求;-从第二设备接收(E2)跨越所述通信路径之一的至少一个应答消息;以及,-在第一设备(C)处确定(E3)第一设备(C)已经从第二设备(S)接收的所述至少一个应答消息的第一个应答消息的通信路径作为主通信路径,以便建立跨越所述主通信路径的所述多路径连接的主连接。
【专利说明】建立多路径连接的方法和多归属设备
【技术领域】
[0001]本发明涉及通过一个或者多个通信网络在第一多归属(mult1-homed)设备和第二多归属设备之间传输数据分组。
【背景技术】
[0002]具体地,本发明涉及,但不排他性地涉及,在第一多归属设备和第二远程多归属设备之间通过互联协议(IP)建立在多路径传输控制协议(MPTCP)下操作的多路径连接。在2012年5月25日由因特网工程任务组公布的“TCPExtensions for Multipath Operationwith Multiple Addresses” 草案(A.Ford 等人)中定义了 MPTCP 协议。
[0003]在本发明的框架下,应理解:
[0004]-“多归属设备”,包括至少两个(有线的和/或无线的)通信接口的设备-每个接口具有其自身的通信地址(例如IP地址)-以便能够在多路径模式下与(可能是不同类型的)远程通信设备交换数据分组。因此,多归属设备可以包括固定电话或者移动电话(可能是“智能”型的)、固定或者便携式计算机、个人数字助理(PDA)、内容接收器(诸如解码器、住宅网关或者机顶盒(STB )),或者网络设备,诸如内容服务器;
[0005]-“通信路径”,借助于两个通信接口(每个设备一个)连接(可能是多归属的)两个通信设备的路径,使得通信路径应由两个对应的通信接口的一对通信地址来标识;以及
[0006]子流”,在单个路径上操作的TCP分组流,其形成了更大的MPTCP连接的一部分。这种子流的开始和终止类似于常规的TCP连接。
[0007]此外,MPTCP协议是常规的TCP协议的扩展以便提供多路径TCP服务,并且特别支持多归属设备的多个IP地址的同时使用。MPTCP协议使得初始地被设计为支持单个路径TCP连接的传输连接能够利用多归属设备以兼容的方式同时跨越多条路径操作。
[0008]第一多归属设备和第二多归属设备之间的MPTCP连接通常包含与主通信路径相关联的主常规TCP连接以及与主常规TCP连接相链接的一个或多个辅助TCP连接(它们与辅助通信路径相关联)。这种MPTCP连接对于两端的应用继续表现为单个TCP连接。
[0009]此外,如已经知悉的,能够支持MPTCP协议的实施(也被称为MPTCP能力)的多归属设备通常具有被指定为用于发起MPTCP连接的主接口的一个固定的通信接口。为了更有效率,该主接口应该被连接到通向第二远程多归属设备的可用路径的最快的或者最可靠的通Ih路径。
[0010]然而,如果当发起MPTCP连接时,第一设备和第二设备之间的主路径碰巧临时中断或者异常缓慢,则建立这种MPTCP连接的延迟将很长,缺点是延迟了 MPTCP连接建立或者在最坏的情况下,导致MPTCP连接建立失败。另外,由于MPTCP协议要求规定了在发起辅助连接之前主TCP连接应处于建立后的状态,因此这也延迟了辅助连接的建立。
[0011]本发明提出了克服至少一些上述缺陷的解决方案。

【发明内容】
[0012]为此,本发明涉及一种在至少一个通信网络内的(例如多归属的)第一设备和第二设备之间建立跨越多条通信路径的多路径连接的方法,其中两个设备能够支持多路径协议。
[0013]根据本发明,所述方法值得注意地在于其包括以下的连续步骤:
[0014]-从第一设备发送跨越所述第一设备和第二设备之间的至少两条通信路径的主连接建立请求;
[0015]-从第二设备接收跨越所述通信路径之一的至少一个应答消息;以及
[0016]-在第一设备处确定第一设备已经从第二设备接收的所述至少一个应答消息的第一个应答消息的通信路径作为主通信路径,以便建立跨越主通信路径的所述多路径连接的主连接。
[0017]由此,借助于本发明,第一多归属设备能够优选地是自动地发现在多路径连接建立时最快的可用路径以便将其视为多路径连接的主路径。然后可以减少建立多路径连接所需的时间。
[0018]在优选的实施例中,本方法还包括以下步骤:
[0019]-跨越所确定的主通信路径从第一设备将应答消息与第一数据消息一起发送;以及
[0020]-从第二设备接收建立应答消息以便在第一设备和第二设备之间建立所述多路径连接的主连接。
[0021]在第一方面,所述方法可以还包括步骤:跨越与所确定的主通信路径不同的每条辅助通信路径从第一设备发送复位请求,用于放弃沿着这些辅助通信路径的连接。
[0022]在第二方面,所述方法可以还包括步骤:
[0023]-跨越辅助通信路径中的至少一个从第一设备发送辅助连接建立请求;
[0024]-跨越所述辅助通信路径从第二设备接收至少一个应答消息;以及
[0025]-跨越所述辅助通信路径从第一设备发送应答消息,使得跨越所述辅助通信路径在第一设备和第二设备之间建立所述多路径连接的辅助连接。
[0026]在第三方面,所述方法可以还包括步骤:
[0027]-跨越所述主通信路径从第一设备发送代表第一设备可能的辅助通信路径的信息消息;
[0028]-跨越辅助通信路径中的至少一个从第二设备接收辅助连接建立请求;
[0029]-跨越所述辅助通信路径从第一设备接收至少一个应答消息;
[0030]-跨越所述辅助通信路径从第二设备发送应答消息,使得跨越所述辅助通信路径在第一设备和第二设备之间建立所述多路径连接的辅助连接。
[0031]有利地,可以通过第一设备基本上同时发送所述主连接建立请求。
[0032]优选地,多路径协议是互联协议上的多路径传输控制协议。
[0033]在另一方面,所述方法可以包括步骤:根据至少一个性能标准,列出第一设备和第二设备之间的通信路径。
[0034]本发明还针对一种第一设备(例如多归属),该第一设备适配于在至少一个通信网络内在所述第一多归属设备和第二多归属设备之间建立跨越多条通信路径的多路径连接,两个设备能够支持多路径协议。[0035]根据本发明,所述设备包括:
[0036]-发送器,被配置为跨越所述设备之间的至少两条通信路径向第二设备发送主连接建立请求;
[0037]-接收器,被配置为跨越所述已知的通信路径之一从第二设备接收至少一个应答消息;
[0038]-估计器,被配置为确定所述第一设备已经从第二设备接收的所述至少一个应答消息的第一个应答消息的通信路径作为主通信路径,以便建立跨越主通信路径的所述多路径连接的主连接。
[0039]另外,所述发送器可以还被配置为:跨越与所确定的主通信路径不同的每条辅助通信路径向第二设备发送复位请求,用于放弃沿着这些辅助通信路径的连接。
[0040]以下阐述与所公开的实施例在范围上相当的某些方面。应理解,提出这些方面仅仅在于向读者提供本发明可以采用的某些形式的简要概述,以及这些方面不打算限制本发明的范围。实际上,本发明可以涵盖可能未在以下阐述的多个方面。
【专利附图】

【附图说明】
[0041]参照附图,但不以任何方式进行限制,借助于以下的实施例和执行示例将更好地理解和例示本发明,在附图中:
[0042]图1是其中可以实施本发明的通信网络的示例的示意图;
[0043]图2示意性地表示在图1的通信网络内的客户机设备和服务器之间建立常规TCP连接所实施的通常步骤;
[0044]图3A和3B是图示分别根据隐含方式(图3A)和明确方式(图3B)在通信网络内的客户机设备和服务器之间发起MPTCP连接所实施的通常步骤的流程图;
[0045]图4A图示了根据本发明的建立多路径连接的方法的优选实施例的步骤;
[0046]图4B是根据所述优选实施例的方法的流程图;以及
[0047]图5是能够实施如图4所描述的方法的符合本发明的设备的框图。
[0048]在可能的地方,在各附图中将使用相同的参考标记来指代相同或类似的部件。
【具体实施方式】
[0049]根据优选实施例,关于在互联协议上的多路径协议MPTCP来描述本发明。自然地,本发明不限于这种具体实施例并且当然可以考虑和实施其它多路径协议。
[0050]在优选实施例中,考虑通过通信网络N彼此通信的分别作为客户机C和服务器S的两个多归属和多地址设备(在图1中表示)。
[0051]每个设备C或者S具有MPTCP能力并且包括由它们的IP地址标识的若干连接接口。在图1到图4的具体示例中,客户机C和服务器S具有分别由A1、A2和B1、B2表示的两个接口:因此,在客户机C和服务器S之间存在多达四个不同路径,即Al-Bl、A1-B2、A2-B1和A2-B2。明显地,在一变型中,接口的数量可以不同。
[0052]在图1的示例中,客户机C可以经由蜂窝接入网络和ASDL接入网络通过因特网触及远程服务器S。蜂窝接入网络(例如,3G和/或4G)可由客户机C直接访问,而ADSL接入网络可由客户机通过网关访问。客户机C可以经由无线和/或有线接口(例如WiF1、以太网等)与这种网关通信。
[0053]如图2所示,客户机C和服务器S之间的单一路径TCP连接的建立通常由三种状态连接协议(通常称为三种方式握手)来定义:
[0054]-在第一状态下,客户机C向服务器S发送(图2上的箭头I)同步分组(SYN)(对应于连接建立请求)来指定客户机C想要连接的服务器S的端口号以及客户机的初始序列号(ISN)。然后客户机C处于早期状态(SYN_SENT)并且等待来自服务器S的响应。为每个设备S、C表示两个通信接口 A1、A2和B1、B2 ;
[0055]-在第二状态下,服务器S利用包含服务器初始序列号(ISN)的第一类型的应答分组(SYN/ACK)和客户机SYN分组(包括客户机ISN+1,SYN分组消费一个序列号)的应答分组(ACK)进行回应(箭头2)。在该第二状态下,服务器S也处于早期状态(SYN_RCVD);以及
[0056]-在第三状态下,客户机C必须发送(箭头3)具有服务器ISN+1的第二类型的应答分组(ACK),以便应答从服务器S接收到SYN分组。在该第三状态下,客户机C进入建立后的连接状态,并且在接收到来自客户机C的ACK分组时,服务器S也进入建立后的连接状态。然后TCP连接完全打开(图2中的A2-B1)。
[0057]图3A和3B图示了在多归属及具有MPTCP能力的客户机C和多归属及具有MPTCP能力的服务器S之间MPTCP连接的建立。如已知的,这种建立包括以下三个阶段:
[0058]-在第一阶段(由图3A和图3B上箭头I至3表示),客户机C发起常规TCP连接,但是发送的SYN,SYN/ACK和ACK+DATA分组还携带了多路径能力选项(MP_CAPABLE)。该选项允许客户机C和服务器S交换用于验证辅助TCP连接(或者子流)的建立以及检查远程服务器S是否支持MPTCP 协议所使用的某些信息;
[0059]-在第二阶段中(箭头4),具有MPTCP能力的服务器S必须利用建立ACK分组来回应来自客户机C的第二类型ACK+DATA分组,其可能包含数据或者如果没有立即要发送的数据,也可能不包含数据。如果客户机C在重传超时(RTO)内没有接收到这种建立ACK分组,则它应该重发包含MP_CAPABLE选项的建立ACK分组。客户机侧的MPTCP连接是处于预建立的状态(PRE_ESTABLISHED),同时等待该建立ACK分组。优选地,在接收到来自服务器S的建立ACK分组时,客户机C将改变为建立后的状态(ESTABLISHED);以及
[0060]-在第三阶段(分别由图3A中的箭头5A、6A、7A以及图3B中的箭头5B、6B、7B表示),创建一个新的TCP连接或者若干新的TCP连接并且将其链接到在第一阶段末尾时建立的主TCP连接上。基本上存在两种主要过程来建立这些辅助TCP连接:
[0061]?一种隐含的过程(图3A),其中客户机C发起(箭头5A、6A、7A)从第二 IP地址A2到已知的服务器IP地址BI的新的辅助TCP连接;以及
[0062]?一种明确的过程(图3B ),其中客户机C向服务器S提供(箭头8 )可用于MPTCP连接的IP地址(在该示例中是A2),使得服务器S使用这些可用IP地址之一发起(箭头5B、6B、7B)新的辅助TCP连接。
[0063]在这两种情况下(隐含的和明确的),SYN、SYN/ACK和ACK分组(分别由图3A中的箭头5A、6A、7A和图3B中的箭头5B、6B、7B表示)还携带加入选项(MP_J0IN)。
[0064]此外,图4B描绘的流程图描述了根据本发明的优选实施例的用于在客户机C和服务器S之间建立MPTCP连接的方法的各个步骤。
[0065]具体地,在初始步骤EO中,客户机C可以获得在它和服务器S之间存在的各个通信路径。可替换地,可以想象客户机C可能已经知道通信路径。
[0066]在第一步骤E1,客户机C通过客户机C和服务器S之间的所有已知通信路径向服务器S基本上同时发送携带MP_CAPABLE选项的同步分组SYNl (对应于连接建立请求)。换句话说,通过每一条已知的通信路径(该示例中的A1-B1、A1-B2、A2-B1和A2-B2)从客户机C向服务器S传送嵌入MP_CAPABLE选项的一个SYN分组。为了清楚,在图4A中仅仅图示了一个 SYN(MP_CAPABLE)分组 I。
[0067]明显地,作为变型,可以仅仅通过一些已知的通信路径来发送SYN分组。
[0068]在进一步的步骤E2,处于等待状态的客户机C通过所述已知路径之一从服务器S接收携带MP_CAPABLE选项的至少一个第一类型应答分组SYN/ACK2。
[0069]在接收到这种SYN/ACK分组2时,客户机C在进一步的步骤E3中确定客户机C通过其首先接收到SYN/ACK分组2的路径作为要建立的多路径连接的主通信路径。
[0070]在进一步的步骤E4,客户机C通过所确定的主通信路径向服务器S传送携带MP_CAPABLE选项的第二类型应答分组ACK+DATA3。客户机然后处于预建立状态(PRE_ESTABLISHED)。
[0071]在进一步的可选步骤E5中,客户机C跨越未被确定为多路径MPTCP通信的主通信路径的每个辅助通信路径向服务器S发送复位请求RST,以便取消沿这些辅助路径的连接。
[0072]在进一步的步骤E6中,客户机C接收到由服务器S在接收到第二类型ACK (MP_CAPABLE)分组时发送 的建立应答分组ACK4,以便建立所述多路径MPTCP连接的主连接。客户机然后处于建立后的状态(ESTABLISHED )。
[0073]在附加步骤中(仅仅在图4A中表示),可以根据参照图3A (箭头5A、6A、7A)和图3B(箭头5B、6B、7B和8)之前讨论的两个过程(隐含的或者明确的)之一来设立链接到建立后的多路径MPTCP连接的辅助TCP连接。仅仅在图4A中表示了隐含的过程。
[0074]另外,在进一步的步骤E7中,可以创建客户机C和服务器S之间已知通信路径的性能列表,其中根据例如每条路径的可靠性和/或速度的一个或者若干标准来对已知的通信路径进行排序。可以通过测量每条通信路径(主路径和辅助路径)的往返时间(RTT)和分组错误率(PER)来周期性地更新该性能列表。
[0075]借助于这种性能列表,客户机C能够在优选的通信路径上发送或者请求数据以便优化与服务器S的数据交换。
[0076]此外,图5示出的框图表示能够实施以上参照图4A和图4B描述的方法的符合本发明并且对应于客户机C的设备。
[0077]具体地,客户机C包括:
[0078]-通信接口Al和A2 (有线的和/或无线的),每个接口具有其自身的IP地址;
[0079]-模块Ml,也被称为发送器,被配置为向服务器S至少发送:
[0080]?通过至少一些已知的通信路径的携带MP_CAPABLE选项的主连接建立请求SYNl,有利地同时发送这种请求;
[0081]?跨越确定的主路径的携带MP_CAPABLE选项的第二类型应答消息ACK+DATA3 ;
[0082]?跨越每条辅助通信路径的复位请求RST,用于放弃沿这些辅助通信路径的连接;
[0083]?通过辅助通信路径的携带MP_J0IN选项的连接建立请求SYN5A ;[0084]?跨越辅助通信路径的携带MP_J0IN选项的应答消息SYN/ACK6B ;
[0085]?跨越辅助路径的携带MP_J0IN选项的第二类型应答消息ACK7A ;
[0086]?代表可能的辅助通信路径的信息消息8。
[0087]-模块M2,也被称为接收器,被配置为从服务器S至少接收:
[0088]?跨越所述已知通信路径之一的携带MP_CAPABLE选项的一个第一类型的应答消息 SYN/ACK2 ;
[0089]?用于建立所述多路径MPTCP连接的主连接的建立应答分组ACK4 ;
[0090]?通过辅助通信路径的携带MP_J0IN选项的连接建立请求SYN5B ;
[0091]?跨越辅助通信路径的携带MP_J0IN选项的第一类型应答消息SYN/ACK6A ;
[0092]?跨越辅助路径的携带MP_J0IN选项的第二类型应答消息SYN/ACK7B ;[0093]-模块M3,也被称为估计器,被配置为将客户机C通过其首先接收到来自服务器S的第一类型应答消息SYN/ACK的路径确定为主通信路径;
[0094]-模块M4,也被称为计算器,被配置为建立性能列表。
[0095]图5中表示的块Ml到M4是纯功能单元,其不一定对应于物理上单独的单元。SP,可以以软件的形式来开发它们,或者可以在包括一个或多个处理器的一个或若干集成电路中实施它们。
[0096]图1至图5的流程图和/或框图图示了根据本发明的各个实施例的系统、方法和计算机程序产品的可能的实施方案的配置、操作和功能。在这一点上,流程图或框图中的每个块可以表示代码模块、代码段或者代码的一部分,其包含用于实施指定的(多个)逻辑功能的一个或多个可执行指令。还应注意,在可替换实施方式中,在块中标注的功能可以与图中标注的顺序不同的顺序进行。例如,被示为连续的两个块可以实际上基本上同时执行,或者块有时可以以相反的顺序执行,或者块可以以可替换的方式执行,这取决于所涉及的功能。还应注意,框图和/或流程图示的每个块,以及框图和/或流程图示中的块的组合可以通过执行指定功能或者动作的专用的基于硬件的系统(例如包括一个或多个处理器)或者专用的硬件和计算机指令的组合来实施。
【权利要求】
1.一种在至少一个通信网络内(N)的第一设备和第二设备(C、S)之间建立跨越多条通信路径的多路径连接的方法,其中两个设备能够支持多路径协议; 其特征在于,所述方法包括以下的连续步骤: -从第一设备(C)发送(El)跨越所述第一设备和所述第二设备(C、S)之间的至少两条通信路径的主连接建立请求(I); -从第二设备(S)接收(E2)跨越所述通信路径之一的至少一个应答消息(2);以及 -在第一设备(C)处确定(E3)第一设备(C)已经从第二设备(S)接收的所述至少一个应答消息(2)的第一个应答消息的通信路径作为主通信路径,以便建立跨越所述主通信路径的所述多路径连接的主连接。
2.根据权利要求1的方法,还包括步骤: -跨越所确定的主通信路径从第一设备(C)将应答与第一数据消息(3) —起发送(E4);以及 -从第二设备(S)接收(E6)建立应答消息(4)以便在第一设备和第二设备(C、S)之间建立所述多路径连接的主连接。
3.根据权利要求2的方法,还包括步骤: 跨越与所确定的主通信路径不同的每条辅助通信路径从第一设备(C)发送(E5)复位请求(RST ),用于放弃沿着这些辅助通信路径的连接。
4.根据权利要求3的·方法,还包括步骤: -跨越辅助通信路径中的至少一个从第一设备(C)发送辅助连接建立请求(5A); -跨越所述辅助通信路径从第二设备(S)接收至少一个应答消息(6A); 以及 -跨越所述辅助通信路径从第一设备(C)发送应答消息(7A),使得跨越所述辅助通信路径在第一设备(C)和第二设备(S)之间建立所述多路径连接的辅助连接。
5.根据权利要求3的方法,还包括步骤: -跨越所述主通信路径从第一设备(C)发送代表第一设备(C)可能的辅助通信路径的信息消息(8); -跨越辅助通信路径中的至少一个从第二设备(S)接收辅助连接建立请求(5B); -跨越所述辅助通信路径从第一设备(C)接收至少一个应答消息(6B);以及 -跨越所述辅助通信路径从第二设备(S)发送应答消息(7B),使得跨越所述辅助通信路径在第一设备(C)和第二设备(S)之间建立所述多路径连接的辅助连接。
6.根据权利要求1-5任一项的方法,其中从第一设备(C)基本上同时发送所述主连接建立请求(I)。
7.根据权利要求1-6任一项的方法,其中多路径协议是互联协议上的多路径传输控制协议。
8.根据权利要求1-7任一项的方法,还包括步骤:根据至少一个性能标准,列出(E7)第一设备(C)和第二设备(S)之间的通信路径。
9.一种第一设备,该第一设备适配于在至少一个通信网络(N)内在第一多归属设备(C)和第二多归属设备(S)之间建立跨越多条通信路径的多路径连接,两个设备(c、s)能够支持多路径协议。其特征在于,其包括: -发送器(M1),被配置为跨越所述设备(C、S)之间的至少两条通信路径向第二设备(S)发送主连接建立请求(I); -接收器(M2),被配置为跨越所述已知的通信路径之一从第二设备(S)接收至少一个应答消息(2); -估计器(M3),被配置为确定第一设备(C)已经从第二设备(S)接收的所述至少一个应答消息(2)的第一个应答消息的通信路径作为主通信路径,以便建立跨越主通信路径的所述多路径连接的主连接。
10.根据权利要求9的多归属设备,其中,所述发送器(Ml)进一步被配置为:跨越与所确定的主通信路径不同的每条辅助通信路径向第二设备(S)发送复位请求,用于放弃沿着这些辅助通信路径的 连接。
【文档编号】H04W8/06GK103856934SQ201310601585
【公开日】2014年6月11日 申请日期:2013年11月25日 优先权日:2012年11月30日
【发明者】S.古阿基, L.蒙塔尔沃, C.泰比 申请人:汤姆逊许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1