多径传送控制协议代理的制作方法

文档序号:7885657阅读:99来源:国知局
专利名称:多径传送控制协议代理的制作方法
技术领域
本发明的实施例涉及传送控制协议(TCP)服务领域,并且更具体地说,涉及改进往来于运行TCP的主机或客户端所传递的数据的吞吐量。
背景技术
主机例如是服务器、膝上型计算机或移动电话,它与诸如另一服务器、膝上型计算机或移动电话等另一主机或订户终端站进行通信。运行TCP的主机利用TCP连接发送和接收与另一主机或订户终端站有关的分组。边缘路由器借助于通过TCP连接往来于主机传送分组来帮助主机。边缘路由器不端接或发起TCP连接,而是做出反应以确保正确传送分组。多径传送控制协议(MPTCP)是与TCP相比将具有各种益处的潜在实现。MPTCP为一个TCP连接利用多个路径,并且因此允许数据通信中更高的吞吐量。使用MPTCP,能够更容易支持诸如视频等更高业务应用。QDDM,MPTCP未被广泛实现,并且即使它在此情况下被实现,如果主机上的TCPIP栈未得到升级,则运行TCP的主机也将不能利用MPTCP。在每个单IP启用的主机上升级TCPIP栈将是困难且耗时的过程,例如,升级数十亿此类装置需要大约数年或数十年。另外,协调升级能够增加此过程的复杂性。

发明内容
本发明利用MPTCP连接而不要求升级主机上的TCPIP栈。这通过在耦合到主机的边缘路由器上运行MPTCP代理来完成。因此,主机不知道MPTCP利用并且正常运行TCP。边缘路由器执行在TCP与MPTCP之间的必需转换,以便从主机通过TCP连接发送的分组被解复用到MPTCP连接,并且类似地,通过MPTCP连接发送到主机的分组由边缘路由器复用到TCP连接。一种在边缘路由器中促进运行TCP的订户终端站与作为第二边缘路由器和服务器终端站之一的第二电子装置之间的通信的方法包括以下步骤。所述边缘路由器向域名服务器注册订户终端站的因特网协议(IP)地址,以指示订户终端站具MPTCP能力,其中,所述边缘路由器运行MPTCP代理以促进订户终端站仅具有向第二电子装置的具MPTCP能力的表象,但实际上具TCP能力而不具MPTCP能力。第二电子装置正在运行MPTCP和MPTCP代理的至少一个。所述边缘路由器从订户终端站接收目的地为所述第二电子装置的分组或者从第二电子装置接收目的地为订户终端站的分组。所述边缘路由器确定分组是通过TCP连接从订户终端站被接收还是通过MPTCP连接从第二电子装置被接收。响应于确定分组是通过TCP连接从订户终端站被接收,所述边缘路由器执行以下步骤:所述边缘路由器将分组解复用以转换分组以便通过MPTCP连接进行传送,由此通过利用MPTCP与TCP相比的更高带宽能力,为分组利用MPTCP而不是保持TCP增大了吞吐量,以及通过MPTCP连接将分组传送到第二边缘路由器或服务器终端站。响应于确定分组是通过MPTCP连接从第二电子装置被接收,所述边缘路由器执行以下步骤:边缘路由器将分组复用以转换分组以便通过TCP连接进行传送,由此所述边缘路由器从MPTCP到TCP进行转换允许订户终端站从MPTCP连接接收分组而无需重新配置其自己的TCP设置,以及通过TCP连接将分组传送到订户终端站。一种配置成为运行TCP的订户终端站利用MPTCP连接的边缘路由器包括以下模块。注册模块配置成向域名服务器注册订户终端站的因特网协议(IP)地址,以指示订户终端站具MPTCP能力,其中,所述边缘路由器运行MPTCP代理以促进订户终端站仅具有向运行MPTCP和MPTCP代理的至少一个的第二电子装置的具MPTCP能力的表象,但实际上具TCP能力而不具MPTCP能力。输入模块配置成通过TCP连接从订户终端站接收分组。分组转换模块配置成将分组解复用以利用MPTCP,由此通过利用MPTCP与TCP相比的更高带宽能力,为分组利用MPTCP而不是保持TCP增大了吞吐量。输出模块配置成通过MPTCP连接将分组传送出边缘路由器到第二电子装置,其中,第二电子装置运行MPTCP和MPTCP代理之一,并且是第二边缘路由器和服务器终端站之一。


本发明通过示例方式而不是限制的方式在附图的图形中被示出,附图中,相似的标号表示类似的元件。应注意,在此公开中对“一”或“一个”实施例的不同引用不一定是指相同的实施例,并且此类引用是指至少一个。此外,在结合实某个施例描述某个特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例来实现此类特征、结构或特性是在本领域技术人员的认知之内。图1示出根据本发明的一个实施例的客户端和服务器的示范计算机系统;
图2示出根据本发明的一个实施例的两个主机的示范计算机系统;
图3是根据本发明的一个实施例的示范边缘路由器;
图4A示出根据本发明的一个实施例的边缘路由器的示范方法;
图4B示出根据本发明的一个实施例的边缘路由器的示范确认方法;以及 图5示出根据本发明的一个实施例的边缘路由器的示范方法。
具体实施例方式在下面的描述中,陈述了许多特定细节。然而,要理解的是,实践本发明的实施例可无需这些特定细节。在其它情况下,公知的电路、结构和技术未被详细显示以免混淆对此描述的理解。说明书中对“ 一个实施例”、“一实施例”、“示例实施例”等的引用指所述实施例可包括特定特征、结构或特性,但每个实施例可不一定包括特定特征、结构或特性。另外,此类词语不一定指相同实施例。此外,在结合实某个施例描述某个特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例来实现此类特征、结构或特性是在本领域技术人员的认知之内。 在下面的描述和权利要求中,可使用术语“耦合”和“连接”及其衍生词。应理解,这些术语无意作为彼此的同义词。“耦合”用于指示可与彼此直接物理或电接触或不直接物理或电接触的两个或更多元件与彼此交互或协作。“连接”用于指示在与彼此耦合的两个或更多元件之间通信的建立。所述图中所示技术可使用一个或多个电子装置(例如,终端站、网络元件等)上存储和执行的代码和/或数据来实现。此类计算装置使用机器可读媒体来存储和传递(在内部和/或通过网络与其它电子装置)代码和数据,所述媒体例如机器可读存储媒体(例如,磁盘、光盘、随机存取存储器、只读存储器、闪存存储器装置、相变存储器)和机器可读通信媒体(例如,电、光、声或其它形式的传播信号-如载波、红外信号、数字信号等)。另外,此类电子装置一般情况下包括耦合到诸如一个或多个存储装置、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)和网络连接等一个或多个其它组件的一个或多个处理器的集合。处理器的集合与其它组件的耦合一般情况下是通过一个或多个总线和桥接器(也称为总线控制器)。存储装置和携带网络业务的信号分别表示一个或多个机器可读存储媒体和机器可读通信媒体。因此,给定电子装置的存储装置一般情况下存储代码和/或数据以便在该电子装置的一个或多个处理器的集合上执行。当然,本发明的实施例的一个或多个部分可使用软件、固件和/或硬件的不同组合来实现。在本文中使用时,网络元件(例如,路由器、交换器、桥接器等)是一件连网设备,包括硬件和软件,其在通信上与网络上的其它设备(例如,其它网络元件、计算机终端站等)互连。一些网络元件是“多服务网络元件”,其为多个连网功能(例如,路由选择、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或为多个应用服务(例如,数据、话音和视频)提供支持。订户终端站(例如,服务器、工作站、膝上型计算机、掌上型计算机、移动电话、智能电话、多媒体电话、因特网协议话音(VOIP)电话、便携式媒体播放器、GPS单元、游戏系统、机顶盒(STB)等)访问通过因特网提供的内容/服务和/或在因特网上重叠的虚拟专用网(VPN)上提供的内容/服务。所述内容和/或服务一般由属于服务或内容提供商或参与对等服务的终端站的一个或多个终端站(例如,服务器终端站)来提供,并且可包括公共网页(免费内容、店面、搜索服务等)、私有网页(例如,提供电子邮件服务的用户名/密码访问的网页等)、通过VPN的企业网络、IPTV等。一般情况下,订户终端站耦合(例如,通过耦合到接入网络(以有线或无线方式)的客户场所设备)到边缘网络元件,所述边缘网络元件耦合(例如通过到其它边缘网络元件的一个或多个核心网络元件)到其它终端站(例如,服务器终端站)。一些网络元件包括用于AAA (认证、授权和计费)协议(例如,RADIUS (远程认证拨入用户服务)、Diameter和/或TACAS+ (终端接入控制器接入控制系统))的功能性。AAA能够通过客户端/服务器模型提供,其中,AAA客户端在网络元件上实现,并且AAA服务器能够在网络元件本地上或在与网络元件耦合的远程终端站(例如,服务器终端站)上实现。认证是识别和验证订户的过程。例如,订户可能根据用户名和密码的组合或通过独特的密钥识别。授权确定订户在经鉴定后能够进行的操作,如获得某个终端站信息资源的接入权(例如,通过接入控制策略的使用)。计费是记录用户活动。作为摘要示例,订户终端站可通过耦合到核心网络元件的边缘网络元件(支持AAA处理)耦合(例如,通过接入网络),而核心网络元件耦合到服务/内容提供商的服务器终端站。AAA处理经执行以便为订户识别订户记录。订户记录包括在该订户的业务的处理期间使用的属性集合(例如,订户名称、密码、认证信息、接入控制信息、速率限制信息、监管信息等)。某些网络元件(例如,某些边缘网络元件)在内部表示使用订户电路的订户终端站(或有时是诸如住宅网关(例如,路由器、调制解调器)等客户端设备(CPE))。订户电路在网络元件内独特地识别订户会话,并且一般对于会话的寿命期存在。因此,网络元件一般在订户连接到该网络元件时分配订户电路,并且对应地在该订户断开连接时解除分配该订户电路。每个订户站表示使用诸如通过另一协议的点对点协议(PPPoX)(其中,X是以太网或同步传送模式(ATM))、以太网、802.1Q虚拟LAN (VLAN)、因特网协议、ATM等协议,在网络元件与订户终端站(或有时是诸如住宅网关或调制解调器等CPE)之间传递的分组的可区分流。订户会话能够使用多种机制来发起:手动供应动态主机配置协议(DHCP)、DHCP/无客户端因特网协议服务(CLIPS)、媒体接入控制(MAC)地址跟踪等。例如,点对点协议(PPP)通常用于DSL服务,并且要求安装使得订户能够输入用户名和密码的PPP客户端,这又可用于选择订户记录。在使用DHCP时(例如,用于电缆调制解调器服务),一般不提供用户名;但在此类情况下,提供在订户终端站(或CPE)中硬件的MAC地址。DHCP和CLIPS在网络元件上的使用捕捉MAC地址,并且使用这些地址区分订户和访问其订户记录。某些网络元件(例如,某些边缘网络元件)使用电路的层次结构。电路的层次结构的叶节点是订户电路。订户电路具有在层次结构中的父电路,父电路一般表示多个订户电路的聚合,并且因此网络段和网络元件用于提供那些终端站到网络元件的接入网络连接性。这些父电路可表示订户电路的物理或逻辑聚合(例如,虚拟局域网(VLAN))、专用虚拟电路(PVC)(例如,用于异步传送模式(ATM))、电路组、信道、伪线、网络元件的物理端口及链路聚合组)。电路组是允许电路的各种集合为例如聚合速率控制等配置目的而编组在一起的虚拟结构。伪线是第2层点对点面向连接服务的仿真。链路聚合组是为带宽聚合和冗余目的而合并多个物理端口的虚拟结构。因此,父电路在物理上或在逻辑上封装订户电路。一些网络元件支持多个上下文的配置。在本文中使用时,每个上下文包括虚拟网络元件的一个或多个实例(例如,虚拟路由器、虚拟桥接器(可在虚拟专用LAN服务(VPLS)中充当虚拟交换实例)。每个上下文一般与在网络元件上配置的其它网络元件共享系统资源(例如,存储器、处理循环等),但仍可独立管理。例如,在使用多个虚拟路由器的情况下,每个虚拟路由器可共系统资源,但与关于其管理域、AAA (认证、授权和计费)名称空间、IP地址及路由选择数据库有关的那些其它虚拟路由器分开。在边缘网络元件中可采用多个上下文以便为服务的订户和/或内容提供商提供直接网络接入和/或不同类的服务。在某些网络元件内,可配置多个“接口 ”。在本文中使用时,每个接口是一个逻辑实体,一般配置为上下文的一部分,上下文提供更高层协议和服务信息(例如,第3层寻址)并独立于物理端口和电路(例如,ATM PVC (永久性虚拟电路)、802.1Q VLAN电路、QinQ电路、DLCI电路等)。除其它订户配置要求外,AAA服务器中的订户记录识别在其它订户配置要求中对应订户应在网络元件内绑定到哪个上下文(例如,哪个虚拟路由器)。在本文中使用时,绑定形成了在物理实体(例如,端口、信道等)或逻辑实体与上下文的接口(通过该接口为该上下文配置网络协议(例如,路由选择协议、桥接协议))之间的关联,所述物理实体或逻辑实体例如有电路(例如,订户电路、逻辑电路(一个或多个订户电路的集合)等)等。在某一更高层协议接口已配置并与该物理实体相关联时,订户数据在物理实体上流动。一些网络元件提供用于实现VPN (虚拟专用网络)(例如,第2层VPN和/或第3层VPN)的支持。例如,耦合提供商的网络和客户网络的网络元件分别称为PE (提供商边缘)和CE (客户边缘)。在第2层VPN中,转发一般在VPN的任一端上的CE上执行,并且业务跨网络发送(例如,通过由其它网络元件耦合的一个或多个PE)。第2层电路配置在CE与PE(例如,以太网端口、802.1Q永久性虚拟电路(PVC)、按需802.1Q PVC、帧中继PVC、异步传送模式(ATM) PVC等)。在第3层VPN中,路由选择一般由PE执行。例如,支持多个上下文的边缘网络元件可部署为PE ;并且上下文可配置有VPN协议,并且因此该上下文被称为VPN上下文。一些网络元件提供对VPLS (虚拟专用LAN服务)的支持。例如,在VPLS网络中,订户终端站通过耦合到CE,而CE通过由其它网络元件耦合的PE耦合,访问通过VPLS网络提供的内容/服务。VPLS网络能够用于实现三合一网络应用(例如,数据应用(例如高速因特网接入)、视频应用(例如,诸如IPTV (因特网协议电视)等电视服务)、VoD (视频点播)服务等)和话音应用(例如,VoIP (因特网协议话音)服务))、VPN服务等。VPLS是能够用于多点连接性的一种类型的第2层VPN。VPLS网络也允许在分开的地理位置与CE耦合的订户终端站跨宽域网(WAN)与彼此进行通信,好像它们在局域网(LAN)(称为仿真LAN)中直接附连到彼此一样。在VPLS网络中,每个CE —般可能通过接入网络(有线和/或无线),经附连电路(例如,在CE与PE之间的虚拟链路或连接)附连到PE的桥接器模块。PE的桥接器模块通过仿真LAN接口附连到仿真LAN。每个桥接器模块通过维护映射MAC地址到伪线和附连电路的转发表而充当“虚拟交换实例”(VSI)。PE基于帧(从CE接收)中包括的MAC目的地地址字段,将那些帧转发到目的地(例如,其它CE、其它PE等)。网络元件通常被分离成控制平面和数据平面(有时称为转发平面或媒体平面)。如果网络元件是路由器(或者在实现路由功能性),则控制平面一般确定要如何路由数据(例如,分组)(例如,用于数据的下一跳和用于该数据的输出端口),以及数据平面负责转发该数据。例如,控制平面一般包括一个或多个路由协议(例如,边界网关协议(BGP)、内部网关协议(IGP)(开放式最短路径优先(OSPF)、路由信息协议(RIP)、中间系统到中间系统(IS-1S)等)、标签分布协议(LDP)、资源保留协议(RSVP)等),这些协议与其它网络元件进行通信以交换路由,并基于一个或多个路由选择度量选择那些路由。路由和邻接存储在控制平面上的一个或多个路由选择结构中(例如,路由信息库(RIB)、标签信息库(LIB)、一个或多个邻接结构等)。控制平面通过基于路由选择结构的信息(例如,邻接和路由信息)为数据平面编程。例如,控制平面将邻接和路由信息编码到数据平面上的一个或多个转发结构(例如,转发信息库(FIB)、标签转发信息库(LFIB)和一个或多个邻接结构)中。在转发业务时,数据平面使用这些转发和邻接结构。基于某个路由度量(度量能够对不同的路由选择协议不同),每个路由选择协议将路由条目下载到主RIB。每个路由选择协议能够在本地RIB (例如,OSPF本地RIB)中存储路由条目,包括未下载到主RIB中的路由条目。管理主RIB的RIB模块从通过路由选择协议下载的路由中选择路由(基于度量的集合),并且将那些选定路由(有时称为活动路由条目)下载到数据平面。RIB模块也能够促使路由在路由选择协议之间再次分布。对于第2层转发,网络元件能够存储用于基于在此数据中的第2层信息转发数据的一个或多个桥接表。一般情况下,网络元件包括一个或多个线路卡的集合、一个或多个控制卡的集合和可选的一个或多个服务卡(有时称为资源卡)的集合。这些卡通过一个或多个机制耦合在一起(例如,耦合线路卡的第一全网状和耦合所有卡的第二全网状)。线路卡的集合组成数据平面,而控制卡的集合提供控制平面并且通过线路卡与外部网络元件交换分组。服务卡的集合能够提供专业化处理(例如,第4层到第7层服务(例如,防火墙、IPsec、IDS、P2P)、VoIP会话边界控制器、移动无线网关(GGSN、演进分组系统(EPS)网关)等)。例如,服务卡可用于终接IPsec隧道,并且执行伴随认证(attendant authentication)和加密算法。图1示出根据本发明的一个实施例的客户端和服务器的示范计算机系统。客户端105和服务器115经边缘路由器110与彼此进行通信。边缘路由器110经实现以便借助于利用通过因特网的MPTCP连接而实现改进的吞吐量。客户端105运行TCP,而服务器115运行MPTCP。由于客户端105中的TCPIP栈未配置用于MPTCP,因此,从客户端105发送的分组一般将不能利用通过因特网的MPTCP连接的益处。相反,来自客户端105的分组将只是通过接入网络传送到边缘路由器110,并且随后通过MPTCP连接的单个路径;剩余的路径将保持未使用。然而,边缘路由器110运行MPTCP代理以便促进客户端105与服务器115之间的通信。现在,虽然客户端105不知道在边缘路由器110中进行的转换,但即使客户端105尚未从TCP升级到MPTCP,客户端105也能够利用由于MPTCP连接而能够实现的更高吞吐量。边缘路由器110管理往来于客户端105传送的数据分组。在一个实施例中,客户端105使用TCP连接通过接入网络将分组传送到边缘路由器110。由于边缘路由器110运行MPTCP代理,因此,它能够将来自TCP连接的分组处理成通过MPTCP连接的多个路径。边缘路由器110端接与客户端105的TCP连接,并且发起与服务器115的MPTCP连接。边缘路由器110将从客户端105接收的分组解复用以便通过MPTCP连接进行传送。边缘路由器110通过MPTCP连接发送分组,MPTCP连接即通过因特网并且到服务器115的新连接。服务器115在运行MPTCP,并且因此无问题地接收分组。在一个实施例中,服务器115将分组传送到客户端105。服务器115运行MPTCP,并且因此通过因特网通过MPTCP连接将分组发送到边缘路由器110。边缘路由器110运行MPTCP代理,并且因此与到服务器115的MPTCP连接兼容。边缘路由器110端接MPTCP连接,并且发起与客户端105 (运行TCP而不运行MPTCP)的TCP连接。边缘路由器110将通过MPTCP连接所接收的分组复用以便通过接入网络通过TCP连接进行传送并且传送到客户端105。因此,即使客户端105本身运行TCP,而不是MPTCP,客户端105也能够接收通过MPTCP连接所传送的通信。TCP连接通过源IP地址、目的地IP地址、IP报头协议类型(TCP)、源端口及目的地端口独特地进行识别。MPTCP连接也以此方式独特地进行识别。TCP连接内的段通过其序号独特地进行识别。在边缘路由器110的复用和解复用过程包括维护从TCP连接上段到MPTCP构成(constituent)连接上段的映射。为维护此映射,使用了用于TCP段的独特标识(如上所述)。在TCP连接上的边缘路由器110接收某个段时,它被映射到MPTCP连接上的某个段。对于MPTCP连接上该段的确认消息到达时,发送对于TCP连接上对应段的确认消息。类似地,在MPTCP构成上接收某个段时,它被映射到TCP连接上的段。接收对于TCP连接上该段的确认消息时,发送对于MPTCP连接上对应段的确认。图2示出根据本发明的一个实施例的两个主机的示范计算机系统。在此实施例中,主机I 205与主机2 220进行通信。这些主机运行TCP,但能够利用通过因特网的MPTCP连接,产生用于数据的更高吞吐量。运行MPTCP的边缘路由器I和2 110、215支持此能力。在主机I 205与边缘路由器I 110之间通过接入网络中的TCP连接传送分组。在主机2 220与边缘路由器2 215之间也通过接入网络中的TCP连接传送分组。边缘路由器I和2 110,215运行MPTCP代理,以便能够通过因特网通过MPTCP连接传送分组。主机I 205发起与边缘路由器I 110的TCP连接并且将分组传送到边缘路由器I110时,边缘路由器I 110端接该TCP连接,并且将用于MPTCP的分组解复用。边缘路由器I110通过因特网通过MPTCP连接将转换的分组发送到边缘路由器2 215,边缘路由器2 215也运行MPTCP代理并且因此与MPTCP兼容。边缘路由器2 215端接MPTCP连接,并且发起与主机2 220通过接入网络的新TCP连接。边缘路由器2 215将来自MPTCP连接的分组复用以便通过TCP连接进行传送,并且将分组发送到主机2 220。主机2 220运行TCP而不知道在边缘路由器I和2 110、215进行的转换。类似地,在主机2 220发起TCP连接以将分组发送到主机I 205时,进行相反的操作。图3是根据本发明的一个实施例的示范边缘路由器。边缘路由器110包括各种模块以接收,处理和传送数据分组,包括注册模块305、输入模块310、分组转换模块315和输出模块320。边缘路由器110在利用MPTCP的多个路径的同时,允许通过TCP和MPTCP连接传送分组。边缘路由器110耦合到尚未更新到MPTCP的订户终端站,例如,客户端、主机等,并且使得能够与订户终端站进行通信以完全利用MPTCP。注册模块305向域名服务器注册订户终端站的IP地址。即使实际上订户终端站只具TCP能力,而不具MPTCP能力,但此注册使订户终端站向其它边缘路由器、服务器等显得具MPTCP能力。因此,在将数据分组传送到边缘路由器110时,运行MPTCP或MPTCP代理的其它边缘路由器、服务器等将利用MPTCP连接。输入模块310配置成通过TCP连接从订户终端站接收分组。此时,在边缘路由器110端接TCP连接以便进行分组转换。分组转换模块315转换输入模块310接收的分组,并且将分组解复用以利用MPTCP与TCP相比的更高带宽路径能力。输出模块320随后将转换的分组通过MPTCP连接从边缘路由器110传送到另一电子装置,如运行MPTCP或MPTCP代理的另一边缘路由器或服务器终端站。关于分组转换,在TCP连接上接收某个段时,在本地存储TCP报头的副本,并且在MPTCP构成连接之一上发送该段。在边缘路由器维护在输入段的TCP报头与输出段的MPTCP报头之间的关联。在边缘路由器在MPTCP构成上接收确认时,发送对于TCP连接上对应段的确认。边缘路由器110也促进在相反方向上、即从具MPTCP能力的电子装置到具TCP能力的订户终端站的通信。在此实施例中,输入模块310通过MPTCP连接从边缘路由器或服务器终端站接收分组。该边缘路由器或服务器终端站相信具TCP能力的订户终端站支持MPTCP,因为在注册期间注册模块305已做出如此指示。在此点,在边缘路由器110端接MPTCP连接。分组转换模块315将分组复用以适应TCP,并且输出模块320随后通过新发起的TCP连接将分组传送出边缘路由器110,并且继续传送到订户终端站。此外,在一个实施例中,分组转换模块315存储来自输入模块310接收的分组的报头信息。此报头信息用于将确认的传送处理为数据分组已被接收的证明。对于从具TCP能力的订户终端站传送到具MPTCP能力的边缘路由器或服务器终端站的分组的方向,边缘路由器110从具MPTCP能力的边缘路由器或服务器终端站接收确认,以证明分组已成功传送。此确认通过MPTCP连接被接收。边缘路由器110将通过TCP连接路由确认,并且因此查看分组转换模块315以前存储的报头信息以帮助进行路由选择。在相反的方向上,边缘路由器110也接收确认。在此情况下,将分组从具MPTCP能力的边缘路由器或服务器终端站传送到具TCP能力的订户终端站,并且由分组转换模块315得到报头信息。因此,通过TCP连接将确认从具TCP能力的订户终端站传送到边缘路由器,以证明分组已被成功接收。边缘路由器110不能简单地将确认传递到具MPTCP能力的边缘路由器或服务器终端站,因为存在多个路径并且需要进一步处理以转换确认以便进行传送。此处,分组转换模块315查看以前存储的报头信息以解析确认,并且通过MPTCP连接的适当路径传送它以及传送到具MPTCP能力的路由器或服务器终端站。图4A示出根据本发明的一个实施例的边缘路由器的示范方法。此流程图和其它流程图的操作将参照其它图形的示范实施例进行描述。然而,应理解的是,流程图的操作能够通过与参照这些其它图形所述的那些实施例不同的本发明的实施例执行,并且参照图这些其它图形所述的本发明的实施例能够执行与参照流程图所述的那些实施例不同的操作。在操作405,边缘路由器110向域名服务器(DNS)注册主机或客户端的IP地址,以便即使主机或客户端实际上只具TCP能力也指示主机或客户端具MPTCP能力的表象。随后,在操作410,边缘路由器110接收分组并存储来自分组的报头信息。报头信息用于路由接收的确认。边缘路由器110接收的分组将从具TCP能力的主机或客户端通过TCP连接被接收,或者从例如另一边缘路由器、服务器等运行MPTCP或MPTCP代理的另一装置通过MPTCP连接被接收(操作415)。对于边缘路由器110通过TCP连接所接收的分组,边缘路由器110将分组解复用以便通过MPTCP连接进行传送(操作420)。随后,可由边缘路由器110通过MPTCP连接传送解复用的分组(操作425)。对于边缘路由器110通过MPTCP连接所接收的分组,边缘路由器110将分组复用以适应TCP(操作430)。边缘路由器110随后通过TCP连接将复用的分组传送到具TCP能力的主机或客户端(操作435)。图4B示出根据本发明的一个实施例的边缘路由器的示范确认方法。确认证明分组已被接收。然而,不能必然地通过不同连接简单地传递确认,因为MPTCP具有不对应于TCP的多个路径。因此,转换可由边缘路由器110完成。在操作440,边缘路由器110接收分组的确认。如果确认通过MPTCP连接被接收,则它需要被转换以适应TCP连接。如果确认通过TCP连接被接收,则它需要被解析以对应于MPTCP的适当路径。确认的转换基于操作410中以前所得的报头信息来完成。随后,通过适当的路径传送转换的确认(操作445)。此转换涉及使用在TCP连接上的段到MPTCP连接上段的映射。在从TCP连接传送段到MPTCP连接时创建此映射。从该时间起,维护段号从一个连接到另一连接的映射。在确认接收时,段号映射用于生成到TCP连接的映射。图5示出根据本发明的一个实施例的边缘路由器的示范方法。此实施例陈述涉及边缘路由器110的连接发起和端接点。边缘路由器110不是在相同连接上使分组通过,而是端接连接并且发起新连接。在操作505,边缘路由器110通过连接接收分组。此连接是TCP连接或MPTCP连接。在接收分组时,边缘路由器Iio端接连接(操作510)。边缘路由器110随后转换分组以便通过新连接进行传送(操作515)。通过TCP连接接收分组时,将通过新MPTCP连接传送它,并且通过MPTCP连接接收分组时,被通过新TCP连接传送它。边缘路由器110发起该新连接以发送转换的分组(操作520)。
例如,虽然图中的流程图示出本发明的某些实施例执行的操作的特定顺序,但应理解,此类顺序是示范性的(例如,备选实施例可以不同的顺序执行操作,组合某些操作,重叠某些操作等)。虽然本发明已根据几个实施例来描述,但本领域的技术人员将认识到本发明不限于所述实施例,通过随附权利要求的精神和范围内的修改和变化,能够实践本发明。描述因此要视为是说明性的而不是限制性的。
权利要求
1.一种在边缘路由器中促进运行传送控制协议(TCP)的订户终端站与作为第二边缘路由器和服务器终端站之一的第二电子装置之间的通信的方法,所述方法包括以下步骤: 向域名服务器注册所述订户终端站的因特网协议(IP)地址,以指示所述订户终端站具多径传送控制协议(MPTCP)能力,其中所述边缘路由器运行MPTCP代理以促进所述订户终端站仅具有向所述第二电子装置的具MPTCP能力的表象,但实际上具TCP能力而不具MPTCP能力,其中所述第二电子装置正在运行MPTCP和MPTCP代理的至少一个; 从所述订户终端站接收目的地为所述第二电子装置的分组或者从所述第二电子装置接收目的地为所述订户终端站的分组; 确定所述分组是通过TCP连接从所述订户终端站被接收还是通过MPTCP连接从所述第二电子装置被接收; 响应于确定所述分组是通过所述TCP连接从所述订户终端站被接收,执行以下步骤:将所述分组解复用以转换所述分组以便通过所述MPTCP连接进行传送,由此通过利用MPTCP与TCP相比的更高带宽能力,为所述分组利用MPTCP而不是保持TCP来增大吞吐量;以及 通过所述MPTCP连接将所述分组传送到所述第二边缘路由器或服务器终端站;以及 响应于确定所述分组是通过所述MPTCP连接从所述第二电子装置被接收,执行以下步骤: 将所述分组复用以转换所述分组以便通过所述TCP连接进行传送,由此所述边缘路由器从MPTCP到TCP进行转换允许所述订户终端站从所述MPTCP连接接收分组而无需重新配置其自己的TCP设置 ;以及 通过所述TCP连接将所述分组传送到所述订户终端站。
2.如权利要求1所述的方法,其中在通过所述TCP连接从所述订户终端站接收所述分组时,还执行以下步骤: 在所述边缘路由器端接所述TCP连接;以及 在所述边缘路由器发起所述MPTCP连接以将解复用的分组传送到所述第二电子装置。
3.如权利要求1所述的方法,其中在通过所述MPTCP连接从所述第二电子装置接收所述分组时,还执行以下步骤: 在所述边缘路由器端接所述MPTCP连接;以及 在所述边缘路由器发起所述TCP连接以将复用的分组传送到所述订户终端站。
4.如权利要求1所述的方法,其中响应于确定所述分组是通过所述MPTCP连接从所述第二电子装置被接收,还执行以下步骤: 存储来自通过所述MPTCP连接从所述第二电子装置接收的所述分组的报头信息; 通过所述TCP连接从所述订户终端站接收确认,其中所述确认对应于从所述第二电子装置接收的所述分组; 基于用于MPTCP的所述报头信息来解析所述确认;以及 通过所述MPTCP连接将所解析的确认传送到所述第二电子装置。
5.如权利要求1所述的方法,其中响应于确定所述分组是通过所述TCP连接从所述订户终端站被接收,还执行以下步骤: 存储来自通过所述TCP连接从所述订户终端站接收的所述分组的报头信息;通过所述MPTCP连接从所述第二电子装置接收确认,其中所述确认对应于从所述订户终端站接收的所述分组; 基于用于TCP的所述报头信息来转换所述确认;以及 通过所述TCP连接将所转换的确认传送到所述订户终端站。
6.如权利要求1所述的方法,其中所述订户终端站是运行TCP而不知道所述MPTCP转换的主机,以及其中所述第二电子装置是为运行TCP的第二主机运行MPTCP代理的第二边缘路由器,由此运行TCP的两个主机利用包括更高带宽的MPTPC优点。
7.如权利要求1所述的方法,其中所述订户终端站是运行TCP而不知道所述MPTCP转换的主机,以及其中所述第二电子装置是运行MPTCP的服务器。
8.一种配置成为运行传送控制协议(TCP)的订户终端站利用多径传送控制协议(MPTCP)连接的边缘路由器,包括: 注册模块,配置成向域名服务器注册所述订户终端站的因特网协议(IP)地址,以指示所述订户终端站具MPTCP能力,其中所述边缘路由器运行MPTCP代理以促进所述订户终端站仅具有向运行MPTCP和MPTCP代理的至少一个的第二电子装置的具MPTCP能力的表象,但实际上具TCP能力而不具MPTCP能力; 输入模块,配置成通过TCP连接从所述订户终端站接收分组; 分组转换模块,配置成将所述分组解复用以利用MPTCP,由此通过利用MPTCP与TCP相比的更高带宽能力,为所述分组利用MPTCP而不是保持TCP来增大吞吐量;以及 输出模块,配置成通过MPTCP连接将所述分组传送出所述边缘路由器到所述第二电子装置,其中所述第二电子 装置运行MPTCP和MPTCP代理之一,并且是第二边缘路由器和服务器终端站之一。
9.如权利要求8所述的边缘路由器,其中所述输入模块也配置成通过所述MTPCP连接从所述第二电子装置接收分组的另一集合,所述分组转换模块也配置成将分组的所述另一集合复用以适应TCP,由此通过实现分组的所述另一集合的MPTCP到TCP转换,所述边缘路由器允许所述订户终端站从所述MPTCP连接接收分组而无需重新配置其自己的TCP设置,并且所述输出模块也配置成通过所述TCP连接将分组的所述另一集合传送出所述边缘路由器到所述订户终端站。
10.如权利要求9所述的边缘路由器,其中所述分组转换模块也配置成端接所述第二电子装置与所述边缘路由器之间的所述MPTCP连接,并且发起所述边缘路由器与所述订户终端站之间的所述TCP连接。
11.如权利要求9所述的边缘路由器,其中所述分组转换模块也配置成存储来自通过所述MPTCP连接从所述第二电子装置接收的所述分组的报头信息,所述输入模块也配置成通过所述TCP连接从所述订户终端站接收确认,其中所述确认对应于从所述第二电子装置接收的所述分组,其中所述分组转换模块也配置成基于用于MPTCP的所述报头信息来解析所述确认,以及所述输出模块通过所述MPTCP连接将所解析的确认传送到所述第二电子装置。
12.如权利要求8所述的边缘路由器,其中所述分组转换模块也配置成端接所述订户终端站与所述边缘路由器之间的所述TCP连接,并且发起所述边缘路由器与所述第二电子装置之间的所述MPTCP连接。
13.如权利要求8所述的边缘路由器,其中所述分组转换模块也配置成存储来自通过所述TCP连接从所述订户终端站接收的所述分组的报头信息,所述输入模块也配置成通过所述MPTCP连接从所述第二电子装置接收确认,其中所述确认对应于从所述订户终端站接收的所述分组,所述分组转换模块也配置成基于用于TCP的所述报头信息来转换所述确认,以及所述输出模块也配置成通过所述TCP连接将所转换的确认传送到所述订户终端站。
14.如权利要求8所述的边缘路由器,其中运行TCP的所述订户终端站不知道所述MPTCP转换,以及其中所述第二电子装置是配置成为运行TCP的第二订户终端站运行MPTCP代理的第二边缘路由器,由此运行TCP的两个订户终端站利用包括更高带宽的MPTCP优点。
15.如权利要求8所述的边缘路由器,其中运行TCP的所述订户终端站不知道所述MPTCP转换,以及其 中所述第二电子装置是配置成运行MPTCP的服务器终端站。
全文摘要
边缘路由器运行多径传送控制协议(MPTCP)代理以允许实现TCP(传送控制协议)以正常操作的主机仍得到MPTCP连接的益处。主机上无需进行TCPIP栈的升级。边缘路由器将通过TCP连接从主机接收的分组解复用到MPTCP连接,并且将通过MPTCP连接发送到主机的分组复用到TCP连接。因此,能够实现分组通信的更高吞吐量,例如以用于改进的视频支持。
文档编号H04L29/06GK103155518SQ201180049730
公开日2013年6月12日 申请日期2011年10月12日 优先权日2010年10月15日
发明者S.基尼 申请人:瑞典爱立信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1