CN103597794A - 用于提供关于数据数组关联的信息以及用于转发数据数组的设想 - Google Patents
用于提供关于数据数组关联的信息以及用于转发数据数组的设想 Download PDFInfo
- Publication number
- CN103597794A CN103597794A CN201280011300.9A CN201280011300A CN103597794A CN 103597794 A CN103597794 A CN 103597794A CN 201280011300 A CN201280011300 A CN 201280011300A CN 103597794 A CN103597794 A CN 103597794A
- Authority
- CN
- China
- Prior art keywords
- packet
- information
- association
- network entity
- current
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种用于把当前数据分组从当前源网络实体转发到当前目的地网络实体的装置(100),其中所述当前目的地网络实体是从多个目的地网络实体当中选择的。所述装置(100)包括适于接收当前数据分组的部件(110),以及适于根据负载平衡标准选择当前目的地网络实体的部件(120)。所述装置(100)还包括适于把当前数据分组转发到当前目的地网络实体的部件(130),以及适于接收来自当前网络目的地实体的响应数据分组的部件(140),其中所述响应数据分组包括关于数据分组关联的信息,所述数据分组关联是属于一个数据源与一个数据目的地之间的一个数据会话的多个不同数据分组之间的关联。所述适于进行选择的部件(120)还适于存储关于所述关联的信息。
Description
技术领域
本发明涉及通信网络,更具体而非排他性地涉及通信网络中的多径或耦合传送。
背景技术
分组交换通信网络在有线和无线通信领域内都正在稳定发展。随着针对数据分组服务的需求不断增加,网络的负载及其容量也在增长。对于一些服务来说,针对数据的需求可能高于单个服务器或数据源的容量。因此,一些容量增强想法预见到使用多个网络实体(比如服务器农场)来提供相同的服务。于是可以在这些网络实体当中共享所述需求和相关联的通信量负载,从而利用负载平衡来提供相同的数据服务。
负载平衡器是用以调节因特网中的服务提供的一种广为使用的解决方案,并且特别是针对利用超文本传输协议(简称为HTTP)的万维网(简称为WWW)。这些大部分基于互联网协议(简称为IP)的WWW服务在变得受欢迎时可能无法由单个服务器提供,这是因为所导致的利用率甚至可以很容易使得强大的服务器设备过载。一种广为采用的解决方案是把负载分配在处于单个服务器农场中的几台服务器之间,或者分配在地理上分开的服务器之间。“负载平衡器”是可以把传入的服务请求(例如传输控制协议(简称为TCP)连接或HTTP请求)分发到几台服务器当中的一台的网络实体。可以通过不同方法来实现针对一台服务器的实际遣送。一方面这包括对于链路层地址以及/或者对地址和端口字段进行翻译的分组重写技术的合理使用。这些解决方案对于终端是透明的;也就是说客户端不会注意到一项服务由多于一台服务器提供服务。另一方面存在不透明的机制,比如HTTP重定向、内容重写或者基于域名系统(简称为DNS)的负载平衡。
一些现有的负载平衡器解决方案是针对标准TCP连接而设计的。对于多媒体服务,也可以有针对通用数据报协议(简称为UDP)通信量的等效负载平衡器。后面将考虑基于TCP的服务。互联网工程任务组(简称为IETF)当前把多径TCP(简称为MPTCP)标准化为一项TCP扩展,其使用几个耦合的连接(其也被称作“子流”)来允许通过几条潜在地分离的路径进行同时数据传输。一个单独的子流与一条TCP连接类似,但是通常仅仅传输数据的一个子集。多径TCP对于应用是透明的,其可以像单个TCP连接那样访问由几个子流构成的会话或者彼此相关联的数据分组。
发明内容
一些实施例可以是基于以下发现:在使用负载平衡器的情形中,TCP连接的耦合可能会导致问题。使用多径TCP的服务可能会由于现有的负载平衡器解决方案而导致恶化,这是因为现有的负载平衡器解决方案不知晓TCP连接的耦合。一些实施例还可以是基于以下发现:通过这样的负载平衡器中的附加支持,多径服务可以得到改进。
一些实施例还可以是基于以下发现:即使其可能使用完全不同的源和目的地IP地址以及TCP端口号,一个多径TCP会话的各个子流也会耦合。通常来说,这样的一个子流可以由多个数据分组构成。根据当前的多径TCP协议规范,这可以通过在连接设立期间交换的TCP协议报头中的一个附加标识符来实现,其也被称作“令牌”。换句话说,不同子流的数据分组可以彼此相关联,并且可以包括关于数据分组关联的信息。因此,一个多径TCP会话的各个端点就可以确定一个新的多径TCP子流属于哪一个会话,并且将其添加到该会话中。因此,一些实施例可以利用这样的标识符,或者通常可以利用关于包括在这样的数据分组中的关于数据分组关联的信息。
一些实施例还可以是基于以下发现:例如透明的负载平衡器可以作为TCP/IP网关(例如第4层网关)来操作,并且平衡器根据特定策略把传入TCP连接的数据分组遣送到几台服务器当中的一台。例如可能合理的做法是把来自一个IP地址的所有连接都指派给相同的服务器,从而使得一个客户端的所有HTTP请求由相同的Web服务器来服务。一些实施例的另一项发现在于,如果数据分组源自不同的网络实体(例如在使用MPTCP时),IP地址驱动的指派可能会导致失败,这是因为不同子流的相关联的数据分组可能具有不同的IP地址,因此可能被指派给不同的服务器。后面将更加详细地讨论另外一些情形。
一些实施例提供一种适于把当前数据分组从当前源网络实体转发到当前目的地网络实体的装置,其中所述当前目的地网络实体是从多个目的地网络实体当中选择的。所述装置包括适于接收当前数据分组的部件,以及适于根据负载平衡标准选择当前目的地网络实体的部件。所述装置还包括适于把当前数据分组转发到当前目的地网络实体的部件,以及适于接收来自当前网络目的地实体的响应数据分组的部件,其中所述响应数据分组包括关于数据分组关联的信息。所述数据分组关联是属于一个数据源与一个数据目的地之间的一个数据会话的多个不同数据分组之间的关联。举例来说,作为数据源的一个终端与作为数据目的地的一台服务器具有利用MPTCP的数据会话,其具有分别由多个数据分组构成的至少两个子流。所述两个子流的各个数据分组于是在数据分组关联中相关联。所述适于进行选择的部件还适于存储关于所述关联的信息。
换句话说,在一个实施例中,所述装置可以监测数据分组中的关于数据分组关联的信息,例如所述装置可以被实施在负载平衡器中并且监测MPTCP令牌。例如当设立这样的连接时,可以在所涉及的源和目的地网络实体之间交换关于数据分组关联的信息。所述装置可以监测所述信息并且例如将其存储在存储器中。
在一些实施例中,所述适于进行接收的部件还可以适于接收来自不同源网络实体的相关联的数据分组,所述相关联的数据分组在响应数据分组之后被接收,所述相关联的数据分组属于所述数据会话并且包括关于数据分组关联的信息。换句话说,所述装置后来可以接收来自不同的源网络节点或实体的另一个数据分组。所述后来接收到的其他数据分组可以与不同的地址(例如不同的IP地址和/或端口号)一起被接收,其例如源自不同的源网络节点或实体,其中所述不同的源或实体例如可以对应于作为不同的路由器的物理上不同的节点或者对应于相同源的不同接口。所述适于进行选择的部件还可以适于根据关于数据分组关联的信息选择当前目的地网络实体,并且所述适于进行转发的部件还可以适于把相关联的数据分组转发到当前目的地网络实体。因此在一个实施例中,根据所存储的关于数据分组关联的信息以及包括在数据分组中的关于数据分组关联的信息,来自不同源的数据分组可以被识别为属于所述数据分组关联,并且随后被转发到相同的正确目的地。一些实施例于是可以克服例如由于IP地址驱动的负载平衡所引起的可能把相关联的数据分组指派给不同目的地的问题。
在一些实施例中,包括在响应数据分组中的关于数据分组关联的信息可以与包括在相关联的数据分组中的关于数据分组关联的信息完全相同。在一些实施例中,相关联的数据分组可以使用相同的令牌。换句话说,在一些实施例中,关于数据分组关联的信息可以对应于多径TCP的令牌,或者对应于多径TCP的不同令牌的集合。一个令牌可以被解释成任何种类的标识,比如作为一个数字或者一个比特序列等等。在一些实施例中,例如当对于一项关联使用一个令牌集合时,包括在响应数据分组中的关于数据分组关联的信息可能不同于包括在相关联的数据分组中的信息。在另外的实施例中,根据在初始子流中交换的信息以及由全部两个端点共享的潜在附加信息,可以通过一个函数来计算一个数据会话的不同子流的相关联的分组中的令牌。换句话说,当使用一个令牌集合时,不同的子流可以使用不同的令牌,但是所述装置的一个实施例仍然可以选择正确的目的地网络实体,这是因为可以存储所述令牌集合。在一些实施例中,包括在响应数据分组中的关于数据分组关联的信息可以对应于多径TCP的不同令牌的集合,并且包括在相关联的数据分组中的关于数据分组关联的信息可以对应于包括在多径TCP的所述不同令牌的集合中的多径TCP的单个令牌。所述适于进行选择的部件还可以适于把关于当前目的地网络实体的信息与关于数据分组关联的信息存储在一起。
在另外的实施例中,所述适于进行选择的部件还可以适于在过去了预定义时间还没有接收到包括关于数据分组关联的信息的数据分组之后,从存储装置中去除关于数据分组关联的信息。替换地,如果所有子流或MPTCP会话或者数据分组关联都被明确关闭,则可以去除所述信息。换句话说,所述装置的一些实施例可以使用超时机制,并且如果在特定时间段期间没有接收到来自特定分组关联的分组,则可以从存储装置中去除关于数据分组关联的信息。因此例如当没有接收到相关联的数据分组时,可以重新使用令牌或令牌集合而不是长时间将其阻断。
此外,如果例如在一项数据分组关联的设立阶段期间使用了已经在由另一项分组数据关联使用的令牌,则一个实施例可以防止利用该令牌建立新的数据关联。所述适于进行接收的部件还可以适于接收来自不同的网络目的地实体的另一个响应数据分组,所述另一个响应数据分组包括关于数据分组关联的信息。所述装置可以包括适于从所述另一个响应数据分组中去除关于数据关联的信息的部件。通过去除被重复使用的关于数据分组关联的信息,一些实施例可以防止由于数据分组关联的歧义而导致的失败。在一些实施例中,所述适于进行接收的部件还可以适于接收来自不同的网络目的地实体的另一个响应数据分组,所述另一个响应数据分组包括关于数据分组关联的信息。所述装置可以包括适于把所述另一个响应数据分组中的关于数据关联的信息改变到关于数据分组关联的不同信息的部件。换句话说,所述装置可以包括适于在检测到歧义时改变关于数据分组关联的信息的部件。
在另外的实施例中,还可以从其他网络实体接收关于数据分组关联的信息,比如用于对关于数据分组关联的信息或令牌指派进行集中协调以避免歧义的实体。因此,所述装置还可以包括适于从网络实体接收数据关联分组的部件,其中所述数据关联分组包括关于不同的数据分组关联的信息。所述适于进行接收的部件可以对应于任何接口。在一些实施例中,所述装置可以被包括在负载平衡器中。
一些实施例还可以提供一种系统,其具有数据源网络实体、包括前述装置的负载平衡器以及多台服务器或目的地网络实体。
一些实施例还可以例如在用于进行集中协调的网络实体中提供一种用于向网络实体提供关于数据分组关联的信息的装置。所述装置可以包括适于生成对应于数据分组关联的标识的部件,其中所述对应于数据分组关联的标识在一定时间段内是有效的。所述适于进行生成的部件还可以适于生成对应于各项数据分组关联的多个标识,其中所述多个标识当中的每一个不同于在所述时间段期间生成的对应于数据分组关联的标识。所述装置还可以包括适于向不同网络实体提供关于数据分组关联的信息的部件,其中包括关于数据分组关联的标识的信息。在一些实施例中,所述标识可以对应于令牌。
一些实施例还包括一种用于把当前数据分组从当前源网络实体转发到当前目的地网络实体的方法,其中所述当前目的地网络实体是从多个目的地网络实体当中选择的。所述方法可以包括接收当前数据分组的步骤,以及根据负载平衡标准选择当前目的地网络实体的步骤。所述方法还可以包括把当前数据分组转发到当前目的地网络实体的步骤,以及接收来自当前网络目的地实体的响应数据分组的步骤,其中所述响应数据分组包括关于数据分组关联的信息,所述数据分组关联是属于一个数据源与一个数据目的地之间的一个数据会话的多个不同数据分组之间的关联。所述方法还可以包括存储关于所述关联的信息。
此外,一些实施例提供了一种用于向网络实体提供关于数据分组关联的信息的方法,所述方法包括生成对应于数据分组关联的标识的步骤,其中所述对应于数据分组关联的标识在一定时间段内是有效的。所述方法还包括向不同网络实体提供关于数据分组关联的信息的步骤,其中包括关于数据分组关联的标识的信息。所述方法还可以包括生成对应于各项数据分组关联的多个标识的步骤,其中所述多个标识当中的每一个不同于在所述时间段期间生成的对应于数据分组关联的标识。
此外,一些实施例可以提供一种具有程序代码的计算机程序,当在计算机或处理器上执行所述计算机程序时,所述程序代码用于施行前述方法的其中之一。
附图说明
下面将参照附图并且仅仅通过举例的方式利用装置和/或方法和/或计算机程序的非限制性实施例来描述一些其他特征或方面,其中:
图1a示出了适于进行转发的装置的一个实施例的方框图;
图1b示出了适于进行提供的装置的一个实施例的方框图;
图2示出了带有负载平衡器的一个实施例的互联网情形的方框图;
图3示出了带有负载平衡器的一个实施例的互联网情形的另一幅方框图;
图4示出了由一个实施例使用的MPTCP设立的消息序列图;
图5示出了由一个实施例使用的MPTCP设立的另一幅消息序列图;
图6a示出了用于进行转发的方法的一个实施例的流程图;
图6b示出了用于进行转发的方法的一个实施例的另一幅流程图;
图7a示出了一种方法的一个实施例的流程图;
图7b示出了一种方法的一个实施例的另一幅流程图;
图8示出了负载平衡器中的一个实施例的另一幅方框图;以及
图9示出了带有MPTCP的一个实施例。
具体实施方式
下面将结合附图详细给出一些实施例的说明性描述。为了易于理解,首先解释一些技术术语:
在后文中,单个连接对应于用于进行双向通信的两个端点(发起者和响应者)之间的关联。举例来说,在一个方向上发起者可以是数据源并且响应者可以是数据目的地,在另一个方向上则分别相反。一个连接例如可以由全部两个端点处的IP地址和端口号定义。标准TCP使用这样的单个连接在主机(例如数据源和数据目的地)之间进行数据传输。
耦合连接对应于使用类似于单个连接的协议语义的两个端点之间的关联,但是其不是独立的而是一个会话的一部分。一个会话的各个数据分组例如可以通过使用特定标识符或令牌而相关联。具体来说,这样的关联可以利用包括令牌的设立消息来设立,所述令牌可能不(一定)存在于在一个会话中交换的所有消息当中。数据分组的关联可以是把多个数据分组与一个会话相关联的协议属性;所述会话可以包括多个子流,其中每一个子流可以包括后继数据分组。所述数据分组可以全部与一个会话相关联,所述数据分组可以与一个子流相关联,该子流可以与一个会话或另一个子流相关联,并且/或者所述数据分组可以彼此相关联,例如与不同子流的数据分组相关联。耦合连接不仅在多径TCP的情境中也被称作子流。在一些实施例中,网络实体可以通过对分组进行分析来区分单个连接与耦合连接。
会话是指两个主机(例如客户端/终端与服务器、数据源与数据目的地等等)之间的一个或更多耦合连接的组合。在多径TCP的情况下,会话也被称作“MPTCP连接”。会话可以是数据源与数据目的地之间的协议情境,其中使用多个相关联的子流来进行数据传输。每一个子流可以由多个数据分组构成,其中不同流的数据分组与所述会话相关联并且在彼此之间相关联。
一个会话的第一(耦合)连接或第一子流可以对应于属于会话中的初始或第一子流的后继数据分组。附加(耦合)连接可以对应于会话的任何另外的耦合连接或附加子流。属于附加子流的后继数据分组可以利用关于数据分组关联的信息(例如关于其所属的共同会话的信息)与属于第一子流的后继数据分组相关联。
图1a示出了适于进行转发的装置100的一个实施例的方框图。装置100适于把当前数据分组从当前源网络实体转发到当前目的地网络实体,其中所述当前目的地网络实体是从多个目的地网络实体当中选择的。装置100包括适于接收当前数据分组的部件100,其例如被实施为接收器或者以太网接口或任何空中接口之类的接口等等。此外,装置100包括适于根据负载平衡标准选择当前目的地网络实体的部件120,其例如被实施为选择器、控制器、处理器等等。此外,装置100包括适于把当前数据分组转发到当前目的地网络实体的部件130,部件130可以被实施为转发器、传送器、接口等等。此外,装置100包括适于接收来自当前网络目的地实体的响应数据分组的部件140,所述响应数据分组包括关于数据分组关联的信息,所述数据分组关联是属于一个数据源与一个数据目的地之间的一个数据会话的多个不同数据分组之间的关联。适于进行接收的部件140同样可以被实施为接收器或者以太网接口或任何空中接口之类的接口等等。在一些实施例中,部件120和部件140可以被分开实施,在一些实施例中,其可以被实施在相同的功能实体中。适于进行选择的部件120还适于存储关于数据分组关联的信息。换句话说,装置100可以在数据会话的第一子流的设立期间存储关于数据分组关联的信息。
图1b示出了用于提供关于数据分组关联的信息的装置150的一个实施例的方框图。用于向网络实体提供关于数据分组关联的信息的装置150包括适于生成对应于数据分组关联的标识的部件160,其中所述对应于数据分组关联的标识在一定时间段内是有效的。这样的标识可以对应于MPTCP会话的令牌。部件160可以对应于发生器,其例如被实施为随机数发生器、伪随机数发生器等等。适于进行生成的部件160还适于生成对应于各项数据分组关联的多个标识,其中所述多个标识当中的每一个不同于在所述时间段期间生成的对应于数据分组关联的标识。也就是说在一些实施例中,装置150可以生成所述标识从而使其在有效时间内是唯一的。装置150包括适于向不同网络实体提供关于数据分组关联的信息的部件170,其中包括关于数据分组关联的标识的信息。换句话说,可以向多个网络实体提供所述唯一标识,所述网络实体从所述装置接收标识,并且例如实施MPTCP令牌的集中生成。从而通过一些实施例可以解决与令牌的分布式生成(即在多个网络实体处独立生成令牌)有关的歧义问题。
图2示出了带有负载平衡器220的一个实施例的互联网情形的方框图,所述负载平衡器可以包括前述装置100、150的其中之一或全部二者。图2示出了终端200通过接口205(其例如具有源IP地址IPterm)使用IP服务,以便通过因特网210与多台服务器230、232、234、236、238当中的一台通信,所述服务器可以全部提供相同的服务。负载平衡器220使用一个或更多IP接口215(其可能使用一个IP地址IPservice或者几个地址)通过因特网210与终端200通信,并且在多台服务器230-238当中分配IP服务。
举例来说,如果HTTP请求从终端200到达,也就是说如果设立了新的TCP连接,则负载平衡器220可以将其指派给服务器230-238的其中之一,例如服务器230。接下来可以把属于该TCP连接的所有分组发送到该服务器230。一种可能性是负载平衡器220使用传入分组的源IP地址和源端口号以及可能还有其他报头字段和关于可用服务器230-238的信息以作为针对选择算法的输入,其中所述选择算法是作为负载平衡标准并且例如是散列函数,其用来选择服务器230以应对该请求。这样的简单策略可以是有效的,因为对于给定的目的地IP地址和端口号来说,源IP地址与源端口号的组合在给定TCP连接的使用寿命期间对于该连接是唯一的。在多径TCP连接的情况下,这样的策略本身可能并不足够。
图3示出了带有负载平衡器220的一个实施例的互联网情形的另一幅方框图。图3中描绘的情形示出了与前面关于图2所解释的类似的组件,其中相同的附图标记标示相同的或类似的组件。此外,图3还示出了终端200包括两个网络接口206和207,其例如用于通过接入“a”网络208建立来自地址IPa的第一子流并且用于通过接入“b”网络209建立来自地址IPb的附加子流。在图3所描绘的情形中,全部两个接入网络208和209都连接到前面描述的因特网210。不同的接入网络208和209以及相应的接口206和207例如可以对应于以太网接口之类的有线接口和无线接口,比如WLAN(其是“无线局域网”的简称)或者由3GPP(其是“第三代合作伙伴计划”的简称)或3GPP2标准化的其中一种无线接口。在一些实施例中,对应于多径TCP的一种使用情况是终端200对几条不同接入链路208、209的容量加以利用,这是通过如图3中所示对其进行并行使用而实现的。由于终端的网络接口206、207通常具有不同的IP地址,因此例如构成一个多径TCP会话的不同子流将具有不同的源IP地址。不知晓这一点的负载平衡器220无法通过前面描述的机制确保构成一个多径TCP会话的所有连接都将被转发到相同的服务器230。尽管多径TCP可以检测到这一问题并且可以回退到后向兼容的TCP通信,但是在这种情况下多径TCP将没有附加价值。一些实施例可以提供一种克服这一问题的机制。一些实施例可以利用多径TCP协议的一些元素来确保将特定多径TCP会话的所有子流的所有分组都转发到相同的服务器。
一些实施例可以不限于TCP和MPTCP,而是可以总体上解决在应当把负载平衡器与使用多个耦合连接的传输协议组合使用的情况下所出现的问题。举例来说,可以按照类似的方式使用耦合连接或分组数据关联的另一种协议是流控制传输协议(简称为SCTP)以及针对同时多径传输的扩展。下面将提供关于负载平衡的一些另外的背景信息并且关于TCP和多径TCP解释一些实施例,但是所描述的原理对于利用可能使用耦合或关联连接的其他协议的实施例也是有效的。后面的术语“耦合连接”、“相关联的数据分组”和“子流”是同义地使用的。
在图3所描绘的情形中,未经修改的负载平衡器220将不会在单个与耦合连接/子流之间做出区分。鉴于不知晓情况的负载平衡器220可能会把有可能源自不同IP地址的耦合连接指派给不同的服务器230-238,因此耦合连接的设立将不会以确定性方式发生。根据多径TCP规范,全部两个连接端点都将通过对令牌进行比较来检查耦合连接是否确实被建立到相同的对等方。如果负载平衡器220将耦合连接遣送到另一台服务器230-238,则该测试将失败,并且所述耦合连接将不会被设立。其结果是,多径传输可能不被允许。在这种情况下,多径TCP可以回退到标准TCP传输;也就是说仍然可能进行通信,但是效率较低。总而言之,只有在负载平衡器220包括支持这里所描述的其中一种机制的一个实施例的情况下,带有一个或更多负载平衡器220的一条路径上的多径TCP才可能具有附加价值。
鉴于去到不同末端系统的连接在其偶然使用相同令牌的情况下可能被错误地耦合,对于未经修改的负载平衡器220可能还会有较小的安全性风险。因此,一些实施例可以提供装置150或者还可以包括针对令牌的唯一性检查。一些实施例例如可以利用IETF的多径TCP协议设计及其特性。举例来说,在一些实施例中可以利用交换令牌以便耦合各个连接的底层机制,其还可以利用例如应用层协议等其他协议。
一些实施例可以被包括在负载平衡器中,并且可以增强操作以便应对耦合连接。这样的负载平衡器实施例可以使用各项功能来确定及存储在耦合连接的设立期间交换的协议信息,并且其可以使用该信息来把某一会话的耦合连接遣送到相同的服务器,正如已经借助于图1a描述过的那样。在一些实施例中,负载平衡器可以读取并处理令牌,即在连接设立阶段期间和在后续的数据分组交换期间交换的关于数据分组关联的信息。一些实施例可以允许通过利用耦合连接的传输协议进行交互。
下面将简要解释设立耦合连接的原理以作为理解一些实施例的背景信息。对于下面的实施例给出的机制是当前对于多径TCP所定义的机制。作为一个会话的一部分的耦合连接可以由源IP地址、源端口号、目的地IP地址和目的地端口号的组合定义。为了识别并链接耦合连接并且出于安全性原因,在一些实施例中可以使用至少一个附加标识符(其通常被称作令牌),其可以唯一地标识一个耦合连接所属的会话。取代对于每个会话使用一个令牌,有可能使用在端点处是局部唯一的两个(或更多)令牌。关于识别耦合连接的潜在方法的细节可以例如在以下多径TCP协议规范中找到:参照A.Ford、C.Raidui、M.Handley的“TCP Extensions for MultipathOperation with Multiple Addresses(针对利用多个地址的多径操作的TCP扩展)”(IETF Internet Draft,work in progress,2010年10月,draft-ietf-mptcp-multiaddressed-02);或者在一种替换的协议设计中找到:参照M.Scharf的“Multi-Connection TCP(MCTCP)Transport(多连接TCP(MCTCP)传输)”(IETF Internet Draft,work in progress,2010年7月,draft-scharf-mptcp-mctcp-01);其应当被合并在此。下面将仅仅描述对于理解各个实施例所需要的多径协议的细节。
图4示出了可以由一个实施例使用的MPTCP设立的消息序列图。图4以简化形式示出了构成一个会话的各个耦合连接的设立。在第一连接的设立期间,两个端点交换令牌,所述令牌将被用来在对应的端点处识别所述耦合连接(“指派”消息)。在终端侧,图4示出了两个接口206和207,从所述接口处把在图4中由箭头表示的消息传送到服务器230,该服务器230也具有相应的接口(其例如具有地址IPservice)。首先,在网络接口206与服务器230之间交换两条指派消息305和310。消息305可以包括来自终端200的令牌,其对应于前面提到的当前数据分组,并且消息310可以包括来自服务器230的令牌,其对应于前面提到的响应数据分组。这些令牌在第一连接(第一分组)的设立期间被交换。随后有可能在第一连接上实施数据传输315。在该数据传输期间,可以交换另外的控制信息。如图4中另外表示的那样,可以利用从接口207到服务器230的消息320和325设立附加的子流。同样地,可以在加入消息320中从接口207向服务器230传输一个令牌,并且可以在相应的响应加入消息325中传输来自服务器230的令牌。随后作为所述会话的一部分有可能在第二接口207与服务器230之间实施数据传输330。
所述两个令牌在生成该令牌的主机上可以是局部唯一的。如果其中一个端点想要向现有会话添加附加的连接,则其可以在所述附加连接的设立期间利用“加入”消息320、325用信号通知这一点。所包含的消息允许另一个端点把新的耦合连接集成到现有会话中。
应当提到的是,所述消息名称(“指派”、“加入”)仅仅是对应于在多径协议中使用的两项不同协议功能的占位符。此外,“加入”消息320、325可能不一定以明文传输令牌数值。相反,可以使用任何明确定义的功能来从令牌以及可能还有端点可以访问的其他信息计算出标识符,并且“加入”消息320、325可以包括这样的标识符。仅有的约束可以是全部两个端点可以唯一地确定耦合连接所属的会话。
图5示出了由实施在负载平衡器中的一个实施例220使用的MPTCP设立的另一个消息序列图。图5示出了通过图4所解释的类似消息,但是负载平衡器220处于带有两个接口206和207的终端200与服务器230之间的传输路径中。在图5所描绘的实施例中,假设装置100的一个实施例被包括在负载平衡器220中。参照图3,装置100适于把当前数据分组(即指派消息305)从当前源网络实体206转发到当前目的地网络实体230,其中当前目的地网络实体230是从多个目的地网络实体230-238当中选择的。从图5可以看出,消息305由负载平衡器220接收,也就是说装置100包括适于接收当前数据分组的部件110。此外,装置100包括适于根据负载平衡标准选择当前目的地网络实体230的部件120,以及适于把当前数据分组305转发到当前目的地网络实体230的部件130。举例来说,负载平衡器可以通过考虑源IP和TCP端口的策略选择服务器1(其对应于服务器230),把所述分组转发到服务器1,并且把针对所选服务器的连接分配存储在“第一表”中。一个表条目可以包括源IP地址和源端口、所选服务器以及潜在地还有另外的信息,比如目的地IP地址和目的地端口。作为回应,服务器230提供指派消息310,其也被称作响应数据分组310。因此,装置100包括适于接收来自当前网络目的地实体230的响应数据分组310的部件140,响应数据分组310包括关于数据分组关联的信息,所述数据分组关联是属于数据源200与数据目的地230之间的一个数据会话的多个不同数据分组之间的关联。适于进行选择的部件120还适于存储关于所述关联的信息。换句话说,负载平衡器220可以检测令牌并且把令牌到服务器的分配存储在“第二表”中。一个表条目可以包括令牌和作用服务器(服务器1)以及潜在地还有描述所述多径会话的另外的信息。
因此,在一些实施例中,负载平衡器220可以应对耦合连接。一些实施例可以利用负载平衡器对于耦合连接所能执行的不同步骤。这样的增强型负载平衡器220可以确定并存储在连接设立期间交换的令牌信息,并且利用该信息把一个会话的各个耦合连接遣送到相同的服务器230。如果各个耦合连接被用来访问寄放在服务器农场230-238上的各项服务,则终端200与服务器230之间的通信可以经过充当“第4层”网关的负载平衡器220。前面已经通过图3解释了这种情况。
一些实施例可以提供充当具有一个(或几个)公共可见IP地址的透明“第4层”网关的负载平衡器220,其通过另一种转发机制(比如地址重写)把分组转发到服务器230-238。从客户端或终端200的角度来看,所有耦合连接都可以终止在负载平衡器220处。负载平衡器220可以施行与支持耦合连接的主机中所需的类似的功能。
随后有可能在第一连接上实施数据传输315。根据前面的描述和图5,当从终端200侧设立新连接时,负载平衡器220可以首先检查所述分组是否对应于使用耦合连接的协议(比如多径TCP)的设立分组,并且如果是的话则随后可以执行以下步骤。在一些实施例中,负载平衡器220可以检查连接设立分组305(即当前数据分组或TCP SYN)是否包含“加入”消息320。如果没有找到“加入”消息320,则负载平衡器220可以应用服务器选择机制(例如对于源IP地址和源端口号的散列或者某种其他负载平衡标准),以便选择服务器230。随后,可以把所述分组和服务器230的源IP/源端口的组合以及可能还有其他信息添加到“第一查找表”中,并且可以把所述分组转发到所选服务器230。“第一查找表”可以把一个流映射到服务器230,并且其也可以被利用于单个连接。后面将同义地使用术语“第一查找表”和“第一表”,这一点对于术语“第二查找表”和“第二表”同样成立。
在一个会话的第一连接的情况下,服务器230(即当前目的地网络实体)可以利用确认分组(TCP SYN/ACK)310(即响应数据分组)对连接设立分组305(TCP SYN)(即当前数据分组)做出响应,所述确认分组包含“指派”消息,其带有例如从对应于新的耦合连接的服务器230选择的令牌(即关于数据分组关联的信息)。如果检测到“指派”消息310,则负载平衡器220可以确定始发服务器230,并且把令牌与服务器230的组合存储在“第二查找表”中。随后继续对所述分组的处理并且将其转发到因特网。换句话说,适于进行选择的部件120还可以适于把关于当前目的地网络实体的信息与关于数据分组关联的信息存储在一起。
在一些实施例中,适于进行接收的部件110还可以适于接收来自不同源网络实体207的相关联的数据分组320,所述相关联的数据分组320在响应数据分组310之后被接收,所述相关联的数据分组320属于所述数据会话并且包括关于数据分组关联的信息(令牌)。适于进行选择的部件120还可以适于根据关于数据分组关联的信息来选择当前目的地网络实体230,并且适于进行转发的部件130还可以适于把相关联的数据分组320转发到当前目的地网络实体230。换句话说,如果在源自因特网210的连接设立分组(即TCPSYN)中找到“加入”消息320,则可以请求作为已经存在的耦合连接的一部分的附加连接。在这种情况下,负载平衡器220可以从“加入”消息320取得所述信息(令牌),并且可以在“第二查找表”中将其用作输入以便找到并选择对应于第一连接的相同的服务器230。负载平衡器220可以检测令牌、从令牌分配列表(“第二表”)中选择服务器1、把所述分组转发到服务器1并且把连接到所选服务器的映射存储在“第一表”中,这例如是通过存储分配(源IP和端口,服务器1)。此外,可以把关于耦合连接的信息(比如第一分组和服务器230的源IP/源端口)添加到“第一查找表”中,并且把分组320转发到该服务器。在一些实施例中,对于该会话的所有其他传入数据分组,负载平衡器220可以例如利用所述分组的源IP/源端口作为输入从“第一查找表”中选择服务器230,并且把所述分组转发到所指派的服务器230。此外,在没有进一步处理的情况下把数据分组(即不是由任何服务器230-238发送的连接的第一分组的所有分组)转发到因特网210。负载平衡器220可以从IP地址和端口分配列表(“第一表”)中选择服务器1,并且把所述分组转发到服务器1。
在一些实施例中,包括在响应数据分组310中的关于数据分组关联的信息(即会话和/或子流)可以与包括在相关联的数据分组320中的关于数据分组关联的信息完全相同,也就是说在一些实施例中,对于第一子流所使用的令牌可以与对于一个附加子流所使用的令牌完全相同。关于数据分组关联的信息可以对应于多径TCP的一个令牌,或者对应于多径TCP的不同令牌的集合。在其他实施例中,包括在响应数据分组310中的关于数据分组关联的信息可以不同于包括在相关联的数据分组320中的信息。包括在响应数据分组310中的关于数据分组关联的信息可以对应于多径TCP的不同令牌的集合,包括在相关联的数据分组320中的关于数据分组关联的信息可以对应于包括在多径TCP的所述不同令牌的集合当中的多径TCP的一个特定令牌。适于进行选择的部件120还可以适于把关于当前目的地网络实体230的信息与关于数据分组关联的信息(令牌)存储在一起。
图6a示出了一种用于进行转发的方法的一个实施例的流程图。根据前述内容,所述方法用于把当前数据分组305从当前源网络实体206转发到当前目的地网络实体230,并且当前目的地网络实体230是从多个目的地网络实体230-238当中选择的。所述方法包括接收当前数据分组的步骤600,以及根据负载平衡标准选择当前目的地网络实体的步骤610。此外,所述方法还包括把当前数据分组转发到当前目的地网络实体230的步骤620。所述方法还包括接收来自当前网络目的地实体的响应数据分组的步骤630,其中所述响应数据分组包括关于数据分组关联的信息,所述数据分组关联是属于一个数据源与一个数据目的地之间的一个数据会话的多个不同数据分组之间的关联。所述方法还包括存储关于所述关联的信息的步骤640。
图6b示出了一种用于进行提供的方法的一个实施例的另一幅流程图。正如后面将详细描述的那样,所述方法是用于向网络实体200、220、230-238提供关于数据分组关联的信息。所述方法包括生成对应于数据分组关联的标识的步骤650,其中所述对应于数据分组关联的标识在一定时间段内是有效的。所述方法可以包括向不同网络实体提供关于数据分组关联的信息的步骤660,其中包括关于数据分组关联的标识的信息。所述方法包括生成对应于各项数据分组关联的多个标识的另一个步骤670,其中所述多个标识当中的每一个不同于在所述时间段期间生成的对应于数据分组关联的标识。
图7a示出了一种用于把当前数据分组从当前源网络实体转发到当前目的地网络实体的方法的一个实施例的流程图,其中所述当前目的地网络实体是从多个目的地网络实体当中选择的。该流程图按照图3中描绘的情形示出了当接收到来自因特网的数据分组时的所述方法。在接收到当前数据分组之后,在第一步骤700中分析分组报头,例如IP或TCP分组报头。在步骤701中,所述方法可以确定所述分组是对应于连接的设立分组。如果所述分组不对应于设立分组,则所述方法可以在后续步骤702中从存储装置中查找相应的服务器地址,例如从第一查找表中查找。在查找到服务器地址之后,随后可以在步骤703中把所述分组遣送到该服务器。如果在步骤701中确定所述分组对应于连接的设立分组,则随后在步骤704中还可以确定该分组是否对应于耦合各个连接的协议的设立分组。如果不确定是这样的分组,则可以像对于正常TCP连接那样在步骤706中使用负载平衡机制来进行服务器确定。换句话说,当所接收到的数据分组不是相关联的分组或设立消息时,根据负载平衡标准对于类似于当前数据分组的分组选择当前目的地网络实体。在步骤707中,可以把数据分组和服务器的映射例如存储在第一查找表中。
随后在步骤708中可以把数据分组遣送到所选服务器。如果在步骤704中检测到对应于耦合各个连接的协议的设立分组,则随后在步骤710中可以确定所述分组是否涉及第一连接指派。换句话说,可以确定所述分组意图设立一个会话的第一连接,即所述分组对应于前面的当前数据分组。如果在步骤712中没有确定这样的分组,则可以检查包括在所述分组中的令牌是否已经被存储,在一个实施例中,可以使用一个查找表(即用于令牌的第二查找表)。换句话说,检查所述分组是否对应于相关联的数据分组。如果在步骤714中没有找到令牌,则可以在步骤716中检测到错误,例如随后可以把所述分组遣送到任何服务器或者可以发送错误消息。如果在步骤714中找到相应的令牌,则在后续步骤720中可以检查所述查找表(即第二查找表),并且可以从第二查找表确定服务器地址,也就是说对于一个相关联的数据分组可以从存储装置确定当前目的地网络实体。如果在步骤710中确定了对应于第一连接的设立分组,则随后在步骤718中可以根据负载平衡策略确定相应的服务器。在步骤718之后并且也在步骤720之后,可以在步骤722中把所述映射存储在第一查找表中。此外,一个实施例还可以把信息存储在第二查找表中,以便例如准备在后来的步骤中添加一个条目。随后在步骤724中,可以把所述分组遣送到所选服务器。
图7b示出了一种方法的一个实施例的另一幅流程图,其中在图7b中示出了当接收到来自服务器的数据分组时的所述方法的各个步骤。在第一步骤730中,对所接收到的数据分组的分组报头进行分析。在后续步骤732中,所述方法确定所述分组是否对应于耦合各个连接的协议的设立分组。换句话说,在步骤732中检查所述分组是否可以对应于响应数据分组。如果确定所述数据分组不对应于响应数据分组,则随后在步骤734中按照常规方式将其递送到因特网。但是如果在步骤732中确定所接收到的数据分组对应于耦合各个连接的协议的设立分组,则随后在步骤736中进一步检查所述分组是否对应于第一连接指派,即是否对应于如前所述的响应数据分组。如果不是这种情况,则在步骤738中按照常规方式把所述分组递送到因特网。如果在步骤736中确定所述分组对应于第一连接指派,即对应于响应数据分组,则在步骤740中可以实施针对令牌唯一性的可选检查。在步骤742中,可以把服务器和令牌的映射存储在第二查找表中,其后在步骤744中将所述分组递送到因特网。后面将详细描述关于步骤740的更多细节,即对于令牌或者关于数据分组关联的信息的唯一性检查。
图8示出了负载平衡器800中的一个实施例的另一幅方框图。图8示出了负载平衡器800的一个实施例,其包括前面描述的装置100。图8示出了数据路径805,其在服务器810与因特网815之间传输数据分组。朝向因特网815可以提供IP服务,朝向服务器810例如可以使用服务器地址映射。此外,负载平衡器800可以具有用于服务器的控制连接820并且监测如方框825中所示的服务器状态。根据前面的描述,负载平衡器800可以利用服务器选择算法855连同第一查找表835来存储数据分组是否哪一个源被转发到哪一个服务器。配置和管理实体830可以控制这些组件。此外,负载平衡器800可以包括耦合连接应对实体850,装置100可以被实施在其中。出于存储目的,耦合连接应对实体850可以连接到第二查找表840,以便分别存储关于数据分组关联的信息、令牌以及服务器地址。在图8中描绘出负载平衡器800的主要组件。用于应对耦合连接的功能由耦合连接应对框850和可选的第二查找表840表示。所述两个表,即“第一表”835和“第二表”840可以在概念上存储不同的信息。另一个实施例可以把所述信息集成在一个表中。
根据前面描述的实施例,装置100可以允许在负载平衡器800中应对耦合连接或数据分组关联。在另外的实施例中,适于进行选择的部件120还可以适于在过去了预定义时间还没有接收到包括关于数据分组关联的信息的数据分组之后,或者在接收到关闭连接和/或会话的信令信息之后,从存储装置中去除关于数据分组关联的信息。为了避免查找表尺寸的过度增长,一些实施例可以检测会话的结束并且去除所述表中的相关联的条目。换句话说,部件140和/或部件120可以适于接收会话结束分组,并且在接收到这样的分组时可以从存储装置中去除关于对应的数据分组关联的信息。或者在一些实施例中可以应用过期淘汰早前的并且不再使用的表条目的众所周知的机制。此外在一些实施例中,装置100可以包括适于向不同的网络目的地实体通知关于数据关联的信息的去除或改变的部件。
一些实施例还可以包括用于应对令牌或关于数据分组关联的信息的唯一性的机制。为了避免错误,负载平衡器后方的两台服务器不可使用相同的令牌,也就是说令牌对于负载平衡器应当是唯一的,或者至少对于每个公共IP地址是唯一的。在一个实施例中,可以通过前面描述的装置150来协调各个服务器的令牌使用,从而确保负载平衡器后方的所有服务器当中的令牌唯一性。相应地,在一个实施例中,服务器可以适于接收来自另一个实体(例如装置150的一个实施例)的关于数据分组关联的信息或令牌。在装置100的其他实施例中,用于进行接收的部件140还可以适于接收来自不同网络目的地实体的另一个响应数据分组,其中所述装置包括适于从所述另一个响应数据分组去除关于数据关联的信息或者适于把所述另一个响应数据分组中的关于数据关联的信息改变到关于数据关联的不同信息的部件。换句话说,如果接收到包括关于相同数据分组关联的相同信息的两个响应数据分组,也就是说其使用相同的令牌,则所述实施例可以去除或改变关于数据分组关联的第二信息。在其中由服务器选择令牌而不与负载平衡器进行协调或交互的情形中,这样的实施例可以防止冲突。
负载平衡器的一个实施例可以对于每一个令牌验证其没有已被使用。在有重叠或冲突的情况下,负载平衡器可以防止使用多径传输,这例如是通过从对应于多径TCP的SYN/ACN分组中去除相应的TCP选项。在其他实施例中,负载平衡器可以对于一个会话的所有耦合连接透明地用另一个数值替代令牌。在另外的实施例中,可以使用服务器农场前方的几个负载平衡器。于是负载平衡器可以例如通过信令方法进行协调,以便执行前面描述的方法。换句话说,在这样的实施例中,装置100可以包括适于接收来自网络实体的数据关联分组的其他部件,其中所述数据关联分组包括关于不同的数据分组关联的信息。也就是说,在这样的实施例中可以实现多个装置,其例如利用数据关联分组在彼此之间协调关于数据分组关联的信息。
图9示出了对于MPTCP的一个实施例。图9示出了这样一种情形中的一个实施例,其中具有MPTCP支持900的移动终端使用通过3G(第三代蜂窝网络的简称)905无线接口的耦合连接以及通过Wi-Fi910的第二耦合连接而连接到因特网915。全部两个连接一同构成MPTCP会话920。移动终端900从web服务器请求数据,其中在图9所描绘的情形中,在包括前面描述的装置100的一个实施例的知晓MPTCP的负载平衡器925后方存在web服务器农场930。多径TCP(MPTCP)是当前由IETF标准化的TCP扩展。当前的协议设计在以下IETF草案中做了描述:参照A.Ford、C.Raidui、M.Handley的“TCPExtensions for Multipath Operation with Multiple Addresses(针对利用多个地址的多径操作的TCP扩展)”(IETF Internet Draft,work inprogress,2010年7月,draft-ietf-mptcp-multiaddressed-01)。根据当前的协议规范,MPTCP通过TCP报头中的TCP选项实施“指派”和“加入”消息。全部两条消息将只出现在具有SYN标志的分组中,从而使得负载平衡器925很容易检测并分析所述消息。在全部两种情况中,令牌信息被编码在TCP选项内部。在图9所描述的实施例中,假设移动终端900是多归属地终端,即具有多于一个活跃网络接口的终端。在这种情况下,MPTCP允许对于TCP连接并行使用全部两个接口。在图9的实施例中,移动终端900通过3G905(作为第三代的简称)和Wifi910接口(作为WiFi联盟的简称)访问Web站点。所述Web站点被寄放在Web服务器农场930中,并且负载平衡器925把通信量分配到n个Web服务器930。假设终端900与顶部示出的第一web服务器通信。服务器农场930前方的负载平衡器925使用该实施例来确保构成MPTCP会话的两个耦合连接被确实指派给相同的Web服务器。
此外,一些实施例可以提供一种具有程序代码的计算机程序,当所述计算机程序在计算机或处理器上执行时,所述程序代码用于施行前面描述的其中一种方法。本领域技术人员将很容易认识到,前面描述的各种方法的各个步骤可以由已编程计算机施行。在这里,一些实施例意图涵盖程序存储设备,例如数字数据存储介质,其是机器或计算机可读的并且编码机器可读或计算机可读的指令程序,其中所述指令施行前面描述的方法的一些或所有步骤。所述程序存储设备例如可以是数字存储器、磁盘和磁带之类的磁性存储介质、硬盘驱动器或者光学可读数字数据存储介质。所述实施例还意图涵盖被编程来施行前面描述的方法的所述步骤的计算机。
这里的描述和附图仅仅是为了说明本发明的原理。因此应当认识到,本领域技术人员将能够设想到各种设置,其虽然没有在这里明确描述或示出但是同样具体实现了本发明的原理并且被包括在其精神和范围内。此外,这里所引述的所有实例主要是特别意图仅仅用于教导的目的,以便帮助读者理解本发明的原理以及由(多位)发明人贡献的想法从而推进本领域,并且应当被理解成不限于这里具体引述的实例和条件。此外,这里引述本发明的原理、方面和实施例及其具体实例的所有声明都意图涵盖其等效方案。
在附图中示出的各个元件的功能,其中包括被标记为“部件”、“适于进行接收的部件”、“适于进行选择的部件”、“适于进行转发的部件”、“适于进行去除的部件”、“适于进行改变的部件”、“适于进行通知的部件”、“适于进行生成的部件”或者“适于进行提供的部件”的任何功能方框,其都可以通过使用专用硬件来提供,比如作为接收器、选择器、转发器、去除器、改变器、通知器、发生器、提供器、处理器、控制器、收发器以及与适当软件相关联的能够执行软件的硬件。当由处理器提供时,所述功能可以由单个专用处理器提供、由单个共享处理器提供或者由其中一些可以被共享的多个单独的处理器提供。此外,对于术语“处理器”或“控制器”的明确使用不应当被解释成排他性地指代能够执行软件的硬件,而是可以隐含地包括(而不限于)数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)以及非易失性存储装置。还可以包括其他传统的和/或定制的硬件。
本领域技术人员应当认识到,这里的任何方框图代表具体实现本发明的原理的说明性电路的概念视图。类似地应当认识到,任何流程图、程序图、状态转变图、伪代码等等代表可以基本上被表示在计算机可读介质中并且因此由计算机或处理器执行的各项处理,而不管这样的计算机或处理器是否被明确地示出。
Claims (12)
1.一种适于把当前数据分组从当前源网络实体转发到当前目的地网络实体的装置(100),其中所述当前目的地网络实体是从多个目的地网络实体当中选择的,所述装置(100)包括:
适于接收当前数据分组的部件(110);
适于根据负载平衡标准选择当前目的地网络实体的部件(120);
适于把当前数据分组转发到当前目的地网络实体的部件(130);以及
适于接收来自当前网络目的地实体的响应数据分组的部件(140),其中所述响应数据分组包括关于数据分组关联的信息,所述数据分组关联是属于数据源与数据目的地之间的数据会话的多个不同数据分组之间的关联;
其中,所述适于进行选择的部件(120)还适于存储关于所述关联的信息以及关于当前目的地网络实体的信息;所述适于进行接收的部件(110)还适于接收来自不同源网络实体的相关联的数据分组,所述相关联的数据分组在响应数据分组之后被接收,所述相关联的数据分组属于所述数据会话并且包括关于数据分组关联的信息,所述适于进行选择的部件(120)还适于根据关于数据分组关联的信息选择当前目的地网络实体,并且所述适于进行转发的部件(130)还适于把相关联的数据分组转发到当前目的地网络实体。
2.权利要求1的装置(100),其中,包括在响应数据分组中的关于数据分组关联的信息与包括在相关联的数据分组中的关于数据分组关联的信息完全相同。
3.权利要求2的装置(100),其中,关于数据分组关联的信息对应于多径TCP的令牌。
4.权利要求1的装置(100),其中,包括在响应数据分组中的关于数据分组关联的信息不同于包括在相关联的数据分组中的信息。
5.权利要求4的装置(100),其中,包括在响应数据分组中的关于数据分组关联的信息对应于多径TCP的不同令牌的集合,并且包括在相关联的数据分组中的关于数据分组关联的信息对应于包括在多径TCP的所述不同令牌的集合当中的多径TCP的令牌。
6.权利要求1的装置(100),其中,所述适于进行选择的部件(120)还适于把关于当前目的地网络实体的信息与关于数据分组关联的信息存储在一起。
7.权利要求1的装置(100),其中,所述适于进行选择的部件(120)还适于在过去了预定义时间还没有接收到包括关于数据分组关联的信息的数据分组之后,或者在接收到包含针对撤除数据分组关联的请求的数据分组之后,从存储装置中去除关于数据分组关联的信息。
8.权利要求1的装置(100),其中,所述适于进行接收的部件(140)还适于接收来自不同的网络目的地实体的另一个响应数据分组,所述另一个响应数据分组也包括关于数据分组关联的信息,其中所述装置包括适于从所述另一个响应数据分组中去除关于数据分组关联的信息或者用于改变所述另一个响应数据分组中的关于数据分组关联的信息的部件。
9.权利要求8的装置(100),其还包括适于向所述不同的网络目的地实体通知关于数据分组关联的信息的去除或改变的部件。
10.权利要求7的装置(100),其还包括适于接收来自网络实体的数据关联分组的部件,所述数据关联分组包括关于不同的数据分组关联的信息。
11.一种用于把当前数据分组从当前源网络实体转发到当前目的地网络实体的方法,其中所述当前目的地网络实体是从多个目的地网络实体当中选择的,所述方法包括:
接收(600)当前数据分组;
根据负载平衡标准选择(610)当前目的地网络实体;
把当前数据分组转发(620)到当前目的地网络实体;
接收(630)来自当前网络目的地实体的响应数据分组,其中所述响应数据分组包括关于数据分组关联的信息,所述数据分组关联是属于数据源与数据目的地之间的数据会话的多个不同数据分组之间的关联;
存储(640)关于所述关联的信息以及关于当前目的地网络实体的信息;
接收来自不同源网络实体的相关联的数据分组,所述相关联的数据分组在响应数据分组之后被接收,所述相关联的数据分组属于所述数据会话并且包括关于数据分组关联的信息;
根据关于数据分组关联的信息选择当前目的地网络实体;以及
把相关联的数据分组转发到当前目的地网络实体。
12.一种具有程序代码的计算机程序,当在计算机或处理器上执行所述计算机程序时,所述程序代码用于施行权利要求11的其中之一的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2012/052699 WO2012116897A1 (en) | 2011-03-02 | 2012-02-16 | Concept for providing information on a data packet association and for forwarding a data packet |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103597794A true CN103597794A (zh) | 2014-02-19 |
CN103597794B CN103597794B (zh) | 2016-08-17 |
Family
ID=50087271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280011300.9A Active CN103597794B (zh) | 2012-02-16 | 2012-04-05 | 用于提供关于数据数组关联的信息以及用于转发数据数组的设想 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103597794B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015180097A1 (zh) * | 2014-05-29 | 2015-12-03 | 华为技术有限公司 | 负载传输的控制方法及装置 |
CN105282055A (zh) * | 2014-06-19 | 2016-01-27 | 凯为公司 | 识别网络分组的内部目的地的方法及其装置 |
CN106254377A (zh) * | 2016-09-09 | 2016-12-21 | 四川长虹电器股份有限公司 | 支持海量长连接的软负载均衡方法及系统 |
CN107005470A (zh) * | 2014-10-20 | 2017-08-01 | 萨热姆通信宽带简易股份有限公司 | 用于创建数据分组的子流的方法 |
CN107615729A (zh) * | 2015-09-23 | 2018-01-19 | 华为技术有限公司 | 数据传输方法及通信装置 |
CN109076017A (zh) * | 2016-05-09 | 2018-12-21 | 阿尔卡特朗讯 | 多路径无线通信 |
US10616380B2 (en) | 2014-06-19 | 2020-04-07 | Cavium, Llc | Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof |
US10785169B2 (en) | 2013-12-30 | 2020-09-22 | Marvell Asia Pte, Ltd. | Protocol independent programmable switch (PIPS) for software defined data center networks |
US11050859B2 (en) | 2014-06-19 | 2021-06-29 | Marvell Asia Pte, Ltd. | Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof |
WO2021134860A1 (zh) * | 2019-12-30 | 2021-07-08 | 网宿科技股份有限公司 | 负载均衡方法、设备及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6856991B1 (en) * | 2002-03-19 | 2005-02-15 | Cisco Technology, Inc. | Method and apparatus for routing data to a load balanced server using MPLS packet labels |
-
2012
- 2012-04-05 CN CN201280011300.9A patent/CN103597794B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6856991B1 (en) * | 2002-03-19 | 2005-02-15 | Cisco Technology, Inc. | Method and apparatus for routing data to a load balanced server using MPLS packet labels |
Non-Patent Citations (1)
Title |
---|
ALCATEL-LUCENT BELL LABS: "Multi-Connection TCP (MCTCP) Transport", 《IETF》, 1 July 2010 (2010-07-01) * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10785169B2 (en) | 2013-12-30 | 2020-09-22 | Marvell Asia Pte, Ltd. | Protocol independent programmable switch (PIPS) for software defined data center networks |
US11824796B2 (en) | 2013-12-30 | 2023-11-21 | Marvell Asia Pte, Ltd. | Protocol independent programmable switch (PIPS) for software defined data center networks |
US10200911B2 (en) | 2014-05-29 | 2019-02-05 | Huawei Technologies Co., Ltd | Control method and apparatus for load transmission |
WO2015180097A1 (zh) * | 2014-05-29 | 2015-12-03 | 华为技术有限公司 | 负载传输的控制方法及装置 |
CN105282055A (zh) * | 2014-06-19 | 2016-01-27 | 凯为公司 | 识别网络分组的内部目的地的方法及其装置 |
US11799989B2 (en) | 2014-06-19 | 2023-10-24 | Marvell Asia Pte, Ltd. | Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof |
US11050859B2 (en) | 2014-06-19 | 2021-06-29 | Marvell Asia Pte, Ltd. | Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof |
CN105282055B (zh) * | 2014-06-19 | 2020-10-23 | 马维尔亚洲私人有限公司 | 识别网络分组的内部目的地的方法及其装置 |
US10616380B2 (en) | 2014-06-19 | 2020-04-07 | Cavium, Llc | Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof |
CN107005470A (zh) * | 2014-10-20 | 2017-08-01 | 萨热姆通信宽带简易股份有限公司 | 用于创建数据分组的子流的方法 |
CN107005470B (zh) * | 2014-10-20 | 2020-06-05 | 萨热姆通信宽带简易股份有限公司 | 创建数据分组的子流的方法、装置、通信系统和存储装置 |
US10958581B2 (en) | 2015-09-23 | 2021-03-23 | Huawei Technologies Co., Ltd. | Data transmission method and communications apparatus |
CN107615729B (zh) * | 2015-09-23 | 2020-03-20 | 华为技术有限公司 | 数据传输方法及通信装置 |
CN107615729A (zh) * | 2015-09-23 | 2018-01-19 | 华为技术有限公司 | 数据传输方法及通信装置 |
US10841205B2 (en) | 2016-05-09 | 2020-11-17 | Alcatel Lucent | Multi-path wireless communication |
CN109076017B (zh) * | 2016-05-09 | 2021-01-08 | 阿尔卡特朗讯 | 用于路由信号的方法、路由设备和计算机可读存储介质 |
CN109076017A (zh) * | 2016-05-09 | 2018-12-21 | 阿尔卡特朗讯 | 多路径无线通信 |
CN106254377B (zh) * | 2016-09-09 | 2019-09-10 | 四川长虹电器股份有限公司 | 支持海量长连接的软负载均衡方法及系统 |
CN106254377A (zh) * | 2016-09-09 | 2016-12-21 | 四川长虹电器股份有限公司 | 支持海量长连接的软负载均衡方法及系统 |
WO2021134860A1 (zh) * | 2019-12-30 | 2021-07-08 | 网宿科技股份有限公司 | 负载均衡方法、设备及系统 |
CN113132248A (zh) * | 2019-12-30 | 2021-07-16 | 网宿科技股份有限公司 | 负载均衡方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103597794B (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9674054B2 (en) | Concept for providing information on a data packet association and for forwarding a data packet | |
CN103597794A (zh) | 用于提供关于数据数组关联的信息以及用于转发数据数组的设想 | |
CN102893556B (zh) | 用于源对等体基于容量的Diameter负载共享的方法、系统和设备 | |
US10462054B2 (en) | Overloading address space for improved routing, diagnostics, and content-relay network | |
CN102075445B (zh) | 负载均衡方法及装置 | |
CN103339901B (zh) | 内容导向网络环境中的终端和中间节点以及终端和中间节点的通信方法 | |
CN101911600B (zh) | 经由任播的无地图全局流量负载均衡的方法和系统 | |
CN102714636B (zh) | 用于便于越过网络边界的推送通信的方法和装置 | |
CN105850102A (zh) | 服务链的控制 | |
CN103036919B (zh) | 用于实现虚拟机在虚拟私有云内的迁移的方法和设备 | |
CN102938735B (zh) | 使用路由通告携带选项下发nat64地址前缀的方法 | |
CN102891800B (zh) | 由多个节点中的一节点执行的方法、节点以及获知溢出信息的系统 | |
CN108881018B (zh) | 用于在diameter信令路由器处路由diameter消息的方法、系统及装置 | |
CN102882781B (zh) | 一种报文发送的方法、路由器桥及系统 | |
CN103618801A (zh) | 一种p2p资源共享的方法、设备及系统 | |
CN104202313A (zh) | 数据转发方法及网关 | |
CN102739502A (zh) | 一种实现网络标识转换的方法、装置及系统 | |
CN110601989A (zh) | 一种网络流量均衡方法及装置 | |
ES2401160T3 (es) | Procedimiento y sistema para controlar una comunicación de datos dentro de una red | |
CN101796769B (zh) | 用于改善控制服务器性能的因特网协议版本4上的因特网协议版本6转变方法和设备 | |
US8451847B2 (en) | Intermediate node device, method of controlling intermediate node device, and network system | |
CN104836678A (zh) | 基于网络选择及时间安排的消息传输方法及节点设备 | |
JP5889154B2 (ja) | マルチキャスト配信システム、マルチキャスト配信方法およびプログラム | |
CN108965120A (zh) | 路由通告方法、装置、通信设备及存储介质 | |
CN102204221B (zh) | 多归属多地址空间网络中实现数据包安全传送的方法及主机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |