CN103503421A - 负荷平衡系统中的sctp关联端点重定位 - Google Patents
负荷平衡系统中的sctp关联端点重定位 Download PDFInfo
- Publication number
- CN103503421A CN103503421A CN201280022364.9A CN201280022364A CN103503421A CN 103503421 A CN103503421 A CN 103503421A CN 201280022364 A CN201280022364 A CN 201280022364A CN 103503421 A CN103503421 A CN 103503421A
- Authority
- CN
- China
- Prior art keywords
- sctp
- end server
- server
- endpoint
- associated endpoint
- 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
Images
Classifications
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1027—Persistence of sessions during load balancing
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提出用于将流控制传输协议(SCTP)关联从第一后端服务器重定位到第二后端服务器而不干扰SCTP关联连接的系统和方法。前端服务器通过向第一后端服务器请求SCTP关联连接参数并且向第二后端服务器提供该SCTP关联连接参数来协调替代。此外,在替代期间,前端服务器丢弃送往两个后端服务器的、不是替代所必需的任何SCTP关联分组。在整个替代中,在SCTP关联的非重定位端上的客户机没有察觉到替代或者前端服务器的存在。
Description
技术领域
一般来说,本发明涉及对一系列服务器进行负荷平衡,更具体来说,涉及基于以另一个服务器上的SCTP关联端点替代一个服务器的SCTP关联端点来对一系列服务器进行负荷平衡。
背景技术
随着因特网的普及和网站的功能性持续增长,许多网站要求多个服务器来处理送往其页面的通信业务的负荷。在因特网的另一种使用中,基于因特网协议的语音服务已经增长到要求许多服务器来处理对给定服务提供商的需求的容量。随着对多服务器系统的要求发展,需要在提供服务的多个所部署服务器之间平衡为服务产生的负荷的能力。
此外,处理基于因特网协议(IP)的电信的信令以及针对提供与可靠和反应迅速通信结合的丰富多媒体体验的网站复杂度增长的期望引起了诸如流控制传输协议(SCTP)之类的通信协议的发展。SCTP在无连接IP之上提供与传输控制协议(TCP)类似的面向连接的协议,并且包括用TCP无法获得的多归属(multi-homing)和多流播(multi-streaming)的附加特征。这些附加特征允许多个客户机与服务器之间更有效率的通信。
期望一种用于多个服务器的负荷平衡系统,该负荷平衡系统提供SCTP的特征,但是具有下列一个或多个:1)一个服务器上的SCTP应用端点被不同服务器上的SCTP应用端点替代,同时保持SCTP关联,即,客户机应当没有察觉到向新服务器的转变;2)没有修改SCTP协议;3)使SCTP块检查量最小化;4)使关联状态存储最小化;5)使SCTP校验和重新计算最小化;6)没有修改IP信头;7)支持SCTP多归属特征;8)对套接字应用编程接口(API)的用户是透明的;以及9)没有修改服务器IP通信栈。尝试了基于网络地址转换(NAT)方案的多种尝试以提供解决方案,但是这些解决方案通常不满足上述特性中的部分或全部。
因此,对于满足上述特性、并且还允许在不干扰当前操作服务器或者运行于操作服务器上的应用和关联的情况下根据需要来缩放系统容量的能力等等、具有负荷平衡能力的系统,市场压力在逐渐增加。
发明内容
系统和方法通过提供中间的前端服务器以在请求服务的客户机与提供服务的后端服务器之间路由SCTP通信,来解决上述市场需要。前端服务器和一系列后端服务器共享虚拟因特网协议(VIP)地址和SCTP端口号,从而允许客户机在不知道提供服务的具体后端服务器的情况下访问该服务。实际上,按照一个实施例,后端服务器独立地操作,并且没有察觉到其它后端服务器存在或者前端服务器正充当中介。以类似的方式,客户机没有察觉到前端服务器的存在,并且认为SCTP通信交互直接与后端服务器进行。
在一个示范实施例中,示出一种方法,该方法用于采用第二后端服务器上的SCTP关联端点来替代第一后端服务器上的SCTP关联端点,而没有断开SCTP关联。在第一示范实施例步骤中,在前端服务器接收关于第一后端服务器上的第一SCTP关联端点被第二后端服务器上的第二SCTP关联端点替代的第一通知。在下一个示范实施例步骤中,前端服务器开始丢弃送往第一后端服务器上的第一SCTP关联端点的任何所接收的SCTP关联分组。在另一个示范实施例步骤中,前端服务器向第二后端服务器发送替代第一后端服务器上的第一SCTP关联端点的第二通知。在下一个示范实施例步骤中,前端服务器开始向第二后端服务器上的第二SCTP关联端点路由SCTP关联分组。
在另一个示范实施例中,示出一种用于由后端服务器来替代SCTP关联端点的方法。在第一示范实施例步骤中,后端服务器接收替代SCTP关联端点的通知。在另一个示范实施例步骤中,后端服务器连接到与SCTP关联端点相关联的客户机。在下一个示范实施例步骤中,后端服务器向客户机发送SCTP关联初始化分组。
在另一个示范实施例中,提供一种用于促进以第二后端服务器上的第二SCTP关联端点对第一后端服务器上的第一SCTP关联端点的替代的服务器。示范服务器实施例包括用于处理与SCTP关联端点替代相关联的SCTP关联分组的替代组件。示范服务器实施例还包括用于协调服务器、第一后端服务器上的SCTP关联端点和第二后端服务器上的SCTP关联端点之间的通信的替代管理组件。
附图说明
附图示出示范实施例,其中:
图1示出供前端节点采用在第二后端服务节点的SCTP关联端点替代在第一后端服务节点的SCTP关联端点而不断开SCTP关联或者干扰在客户机的SCTP关联端点的系统;
图2示出供前端节点采用在第二后端服务节点的SCTP关联端点替代在第一后端服务节点的SCTP关联端点而不断开SCTP关联或者干扰在客户机的SCTP关联端点的系统,其中所述前端节点由初始化组件、引擎组件和存储组件来促进;
图3示出供前端节点采用在第二后端服务节点的SCTP关联端点替代在第一后端服务节点的SCTP关联端点而不断开SCTP关联或者干扰在客户机的SCTP关联端点的系统,其中所述初始化组件由客户机初始化组件和后端服务器初始化组件来促进;
图4示出供前端节点采用在第二后端服务节点的SCTP关联端点替代在第一后端服务节点的SCTP关联端点而不断开SCTP关联或者干扰在客户机的SCTP关联端点的系统,其中所述引擎组件由替代组件来促进,并且所述替代组件由替代管理组件来促进;
图5是信令图,示出通过负荷平衡前端服务器与发起通信的客户机在客户机与后端服务器之间的SCTP关联请求和响应;
图6是信令图,示出通过负荷平衡前端服务器与发起通信的后端服务器在客户机与后端服务器之间的SCTP关联请求和响应;
图7是信令图,示出通过负荷平衡前端服务器从客户机到后端服务器的SCTP关联初始化后通信;
图8是流程图,示出用于采用在第二后端服务器的SCTP关联端点替代在第一后端服务器的SCTP关联端点、而不断开所述SCTP关联或者干扰连接到客户机的SCTP关联端点的方法;以及
图9示出一种示范计算装置,用于实现供负荷平衡前端节点基于后端服务节点生成的SCTP检验标签来建立和路由客户机与后端服务节点之间的SCTP连接的系统。
具体实施方式
示范实施例的以下详细描述参照附图。不同附图中的相同参考标号标识相同或相似的元件。另外,以下详细描述并非限制本发明。本发明的范围而是由所附权利要求来限定。
首先看图1,示出用于基于检验标签仲裁来提供通信分配的负荷平衡SCTP关联系统100的一个示范实施例的简图。负荷平衡SCTP关联系统100的示范实施例包括,但不限于,示范客户机102、示范网络104、示范前端节点106(即,前端服务器)和三个示范后端节点108、110、112(即,后端服务器)。在这个示范实施例中应当注意,术语“节点”和“服务器”能够可互换地使用。在这个示范实施例中还应当注意,后端服务器108、110、112能够是独立地操作的任何数量的后端服务器108、110、112。
在示范实施例的一个方面,客户机102是能够向经由网络104可通信地连接到客户机102的前端服务器106请求服务的任何装置。在示范实施例的一个示例中,客户机102包括,但不限于,运行万维网浏览器并且访问位于因特网上的网站的网页的个人计算机。在示范实施例的另一方面,客户机102配置成采用流控制传输协议(SCTP)与前端服务器106进行通信以得到面向连接的支持。此外,在示范实施例中,客户机102是连接到基于因特网协议的语音(VoIP)装置以经由诸如因特网之类的网络104与用于语音通信的前端服务器进行通信的电话。
在示范实施例的另一方面,网络104提供客户机102与前端服务器106之间的通信链路。在示范实施例的一个配置中,网络104能够是因特网。继续本示范实施例,前端服务器106通过将SCTP检验标签用作分配密钥,提供在客户机102与一系列的后端服务器108、110、112其中之一之间透明地路由通信的能力。在示范实施例的又一方面,所述一系列的后端服务器108、110、112提供客户机102所预期的应用服务。应当注意,虽然示出单个客户机102,但是多个客户机102能够连接到所述一系列的后端服务器108、110、112。在示范实施例的又一方面,后端服务器108、110、112不知道彼此,并且与其所连接的客户机102独立地操作。还应当注意,后端服务器108、110、112和(一个或多个)客户机102没有察觉到前端服务器106,前端服务器对于(一个或多个)客户机102与后端服务器108、110、112之间的连接是透明的,并且基于后端服务器108、110、112为SCTP关联所创建的SCTP检验标签,在(一个或多个)客户机102与后端服务器108、110、112之间路由通信。
现在来看图2,作为示范实施例100的一部分示出另一个示范实施例200。示范实施例200示出前端服务器106包括初始化组件202、引擎组件204和存储组件206。在示范实施例200的一个方面,初始化组件202能够提供促进来自客户机102或者后端服务器108的无冲突SCTP连接的创建的能力。
在示范实施例200的另一方面,初始化组件202能够基于客户机102提供的SCTP端口号、后端服务器108提供的SCTP端口号和后端服务器108提供的SCTP发起标签的组合来生成分配密钥。继续本示范实施例,前端服务器106使用分配密钥在客户机102与后端服务器108之间路由通信,并且保证在前端服务器106接收的所有通信都被递交给适当的端点。
在示范实施例200的另一方面,初始化组件202创建和维护检验标签转换表,以便防止分配密钥之间的任何冲突。在这个示范实施例中,如果两个客户机102/后端服务器108对所提供端口号和发起标签组合而形成相同的分配标签,则会形成冲突。继续本示范实施例,当前端服务器106正发起客户机102与后端服务器108之间的SCTP关联时,前端服务器基于客户机102/后端服务器108端口号以及后端服务器108所提供的发起标签来创建分配密钥。随后,在本示范实施例中,前端服务器106在检验标签转换表中查找相同的分配密钥,如果没有找到,则初始化的SCTP关联能够继续,而前端服务器106基于该分配密钥正确地在客户机102与后端服务器108之间路由通信。
此外,在该示范实施例中,如果前端服务器106在检验标签转换表中找到分配密钥的匹配,则前端服务器106生成新的发起标签值,并且创建新的无冲突的分配密钥。随后,在该示范实施例中,前端服务器106在检验标签转换表中创建新条目以保存分配密钥对,并且关联初始化继续进行,而前端服务器106基于由前端服务器106在检验标签转换表中维护的分配密钥对正确地在客户机102与后端服务器108之间路由通信。
在该示范实施例的另一方面,在完成SCTP关联初始化之后,引擎组件204提供在客户机102与后端服务器108之间分配通信的能力。在该示范环境的一个方面,前端服务器106从客户机102接收送往与前端服务器106共享虚拟因特网协议(VIP)地址的后端服务器108、110、112其中之一的SCTP通信。继续该示范实施例,前端服务器106的引擎组件204尝试在检验标签转换表中查找SCTP通信的分配密钥,如果在检验标签转换表中没有找到分配密钥,则前端服务器106的引擎组件204将SCTP通信转发到分配密钥所指定的后端服务器108。此外,在该示范实施例中,如果在检验标签转换表中找到分配密钥,则前端服务器106的引擎组件204用检验标签转换表中的关联分配密钥来替换通信中的分配密钥,以及在需要时重新计算通信的校验和,并且将通信转发到替代分配密钥所指定的后端服务器108。
继续该示范实施例的另一方面,存储组件206提供存储与维护客户机102与后端服务器108之间的SCTP关联相关联的数据的能力。此外,在该示范环境中,存储组件206包括检验标签转换表以及检验标签转换表中的条目数量的计数。示范环境存储组件206中的检验标签转换表计数器能够用于确定是否存在对检查检验标签转换表的任何需要,只要计数为零,则分配密钥生成中尚未存在任何冲突,并且从任何客户机102到任何后端服务器108的通信能够在无需搜索检验标签转换表的情况下转发。
现在来看图3,示出另一个示范实施例300。示范实施例300的一部分示出客户机初始化组件302和后端服务器初始化组件304。在示范实施例300的一个方面,客户机初始化组件302提供管理由客户机102发起的SCTP关联的能力。在该示范实施例中,客户机初始化组件302确定后端服务器108所提供的发起标签是否会创建与另一个SCTP关联有冲突的分配密钥。继续该示范实施例,如果检测到有冲突的分配密钥,则客户机初始化组件302采用客户机初始化组件302所生成的无冲突发起标签来替代后端服务器108所生成的发起标签,将无冲突发起标签放置在INIT-ACK块中,并且重新计算和替代SCTP公共信头中的校验和。
继续该示范实施例,后端服务器初始化组件304提供管理后端服务器108所发起的SCTP关联的能力。在该示范实施例中,后端服务器初始化组件304确定后端服务器108所提供的发起标签是否会创建与另一个SCTP关联有冲突的分配密钥。继续该示范实施例,如果检测到有冲突的分配密钥,则后端服务器初始化组件304采用后端服务器初始化组件304所生成的无冲突发起标签来替代后端服务器108所生成的发起标签,将无冲突发起标签放置在INIT块中,并且重新计算和替代SCTP公共信头中的校验和。
现在来看图4,示出另一个示范实施例400。示范实施例400的一部分示出替代管理组件402、与前端服务器106相关联的替代组件404、后端服务器108和后端服务器110。在这个示范实施例中应当注意,虽然替代管理组件402示为分开的组件,但是替代管理组件402也能够是前端服务器106或引擎组件204的一部分。在这个示范实施例中还应当注意,虽然SCTP关联从后端服务器108重定位到后端服务器110,但是SCTP关联能够从与前端服务器相关联的任何后端服务器重定位到与所述前端服务器相关联的任何其它后端服务器。
继续该示范实施例,替代管理组件402提供协调由第二后端服务器110对第一后端服务器108的SCTP关联端点的替代的能力。在该示范实施例的一个方面,替代管理组件402接收关于SCTP关联从后端服务器108移动到后端服务器110的通知。此外,在该示范实施例中,替代管理组件402向后端服务器108发送对SCTP关联参数、即客户机102的端口号、客户机102的IP地址和后端服务器108的端口号的请求。
在该示范实施例的另一方面,替代管理组件402提供通知前端服务器106的替代组件404关于SCTP关联从后端服务器108重定位到后端服务器110的能力。继续该示范实施例,替代管理组件402提供通知后端服务器110关于SCTP关联重定位到后端服务器110并且为后端服务器110提供从后端服务器108所得到的SCTP关联替代参数的能力。
在该示范实施例的另一方面,前端服务器106的替代组件404能够提供在从替代管理组件402接收到关于SCTP关联从后端服务器108重定位到后端服务器110的通知之后、停止向后端服务器108传递SCTP关联分组的能力。继续该示范实施例,在从替代管理组件402接收到通知之后,后端服务器110能够提供在后端服务器110上绑定到SCTP关联替代参数中提供的SCTP关联端口号并且连接到SCTP关联替代参数中提供的客户机102 IP地址和客户机102端口号的能力。
现在来看图5,所示的是示范实施例500。示范实施例500示出供客户机102通过前端服务器106发起与后端服务器108的SCTP关联的信令流。在该示范实施例中应当注意,前端服务器106和一个或多个后端服务器108、110、112共享虚拟因特网协议(IP)地址,并且后端服务器108、110、112彼此独立地操作。在该示范实施例中还应当注意,前端服务器106的操作对于SCTP关联中涉及的客户机102和后端服务器108都是透明的。
首先,在示范实施例步骤502,客户机102向前端服务器106和一系列后端服务器108所共享的虚拟IP地址发送SCTP INIT块。在该示范实施例中,前端服务器106接收SCTP INIT块,并且基于分配策略确定哪个后端服务器108将接收SCTP INIT块。在步骤504继续该示范实施例,前端服务器106将SCTP INIT块转发到所选的后端服务器108。继续该示范实施例,后端服务器108通过生成包括发起标签以及后端服务器108所使用的SCTP端口号的SCTP INIT-ACK块,来处理SCTP INIT块,并且在506,向客户机102发送INIT-ACK块。
在该示范实施例中,前端服务器106接收SCTP INIT-ACK块,并且检查INIT-ACK块的内容以创建分配密钥,以便管理发起客户机102与所选的后端服务器108之间的通信。该示范实施例继续进行,其中前端服务器106将客户机102 SCTP端口号与发起标签和后端服务器108 SCTP端口号组合,从而创建用于SCTP关联的分配密钥。继续该示范实施例,前端服务器106检查检验标签转换表,以便确认新创建的分配密钥不是前端服务器106所管理的另一个SCTP关联已经在使用的。在该示范实施例中,如果在检验标签转换表中找到分配密钥,则前端服务器106生成新的发起标签,并且创建无冲突的分配密钥。
接下来,在该示范实施例中,前端服务器在检验标签转换表中为客户机102和后端服务器108生成的发起标签创建新条目,并且将这些值存储在检验标签转换表中。继续该示范实施例,前端服务器106采用新的发起标签和重新计算的校验和来更新SCTP INIT-ACK块,以及在步骤508,将已更新SCTP INIT-ACK块转发到客户机102。在该示范实施例中应当注意,如果前端服务器106没有检测到分配密钥的冲突,则前端服务器106不在检验标签转换表中为SCTP关联创建条目。
在该示范环境的步骤510继续进行,客户机102向后端服务器108发送COOKIE-ECHO块,并且中间的前端服务器106检查COOKIE-ECHO块,以便确定分配密钥是否与检验标签转换表中存储的分配密钥的任一个匹配。在该示范实施例中,如果分配密钥匹配检验标签转换表的某个条目,则前端服务器106采用来自检验标签转换表的发起标签来替代COOKIE-ECHO块中的检验标签,采用基于所替代的检验标签重新计算的校验和来替代该校验和,以及在步骤512,将COOKIE-ECHO块转发到后端服务器108。随后,在该示范实施例中,在514,后端服务器108向客户机102发送COOKIE-ACK块,以及在步骤516,前端服务器106将COOKIE-ACK块透明地转发到客户机102。
现在来看图6,所示的是示范实施例600。示范实施例600示出供后端服务器108通过前端服务器106发起与客户机102的SCTP关联的信令流。在该示范实施例中应当注意,前端服务器106和一个或多个后端服务器108共享虚拟因特网协议(IP)地址,并且后端服务器108、110、112彼此独立地操作。在该示范实施例中还应当注意,前端服务器106的操作对SCTP关联中涉及的客户机102和后端服务器108都是透明的。
首先,在该示范实施例中,后端服务器108生成发起标签,并且在步骤602,透明地通过前端服务器106在SCTP INIT块中将发起标签发往客户机102。随后,在该示范实施例中,前端服务器106从后端服务器108接收SCTP INIT块,并且透明地检查INIT块的内容以创建分配密钥,以便管理目的地客户机102与发起后端服务器108之间的通信。该示范实施例继续进行,其中,前端服务器106将客户机SCTP端口号与后端服务器108生成的发起标签和后端服务器108 SCTP端口号组合,从而创建用于SCTP关联的分配密钥。
继续该示范实施例,前端服务器106检查检验标签转换表,以便确认新创建的分配密钥不是前端服务器106所管理的另一个SCTP关联已经在使用的。在该示范实施例中,如果在检验标签转换表中找到该分配密钥,则前端服务器106生成新的发起标签来替代后端服务器108生成的发起标签,并且创建无冲突的分配密钥。随后,在该示范实施例中,前端服务器在检验标签转换表中为客户机102和后端服务器108生成的发起标签和SCTP端口号创建新条目,并且将这些值存储在检验标签转换表中。
在步骤604继续该示范实施例,前端服务器106将SCTP INIT块转发到客户机102,以及客户机102通过生成包括客户机生成的发起标签和与客户机相关联的cookie的SCTP INIT-ACK块来处理SCTP INIT块,以及在步骤606,通过前端服务器106将INIT-ACK块发往后端服务器108。
随后,在该示范实施例中,前端服务器106从客户机102接收SCTP INIT-ACK块,并且透明地检查SCTP分组公共信头的内容,以便检索用于向适当的后端服务器108分配SCTP INIT-ACK的分配密钥。继续该示范实施例,前端服务器106检查检验标签转换表,以便确定分配密钥是否处于检验标签转换表中。在该示范实施例中,如果在检验标签转换表中找到分配密钥,则前端服务器106采用来自检验标签转换表的关联后端服务器108发起标签来替代INIT-ACK消息的SCTP公共信头中的检验标签,并且在步骤608将SCTP INIT-ACK转发到适当的后端服务器108之前更新校验和。在该示范实施例中应当注意,如果前端服务器106没有检测到分配密钥的冲突,则前端服务器106只是基于从SCTP公共信头所检索的检验标签将SCTP INIT-ACK转发到适当的后端服务器108,并且后端服务器建立与客户机的SCTP关联。
在该示范环境的步骤610继续进行,后端服务器108通过前端服务器106将COOKIE-ECHO块发往客户机102,并且前端服务器106在步骤612将COOKIE-ECHO透明地转发到客户机102,以及客户机建立与后端服务器108的SCTP关联。随后,在该示范实施例中,在614,客户机102将COOKIE-ACK块发往后端服务器108,以及在步骤616,前端服务器106确定对于这个SCTP关联来说,分配密钥是否存在,并且相应地确定是否要求检验标签的交换。该示范实施例继续进行,其中,前端服务器106对于客户机102和后端服务器108透明地将COOKIE-ACK块向后端服务器108转发。
现在来看图7,所示的是示范实施例700。示范实施例700示出供客户机102使用所建立的SCTP关联、通过前端服务器106与后端服务器108进行通信的信令流。在该示范实施例中应当注意,前端服务器106和一个或多个后端服务器108、110、112共享虚拟因特网协议(IP)地址,并且后端服务器108彼此独立地操作。在该示范实施例中还应当注意,前端服务器106的操作对SCTP关联中涉及的客户机102和后端服务器108都是透明的。
随后,在该示范实施例中,在步骤702,客户机102通过前端服务器106将SCTP分组发往后端服务器108。前端服务器106从客户机102接收SCTP分组,并且透明地检查SCTP分组的内容,以便检索用于向适当的后端服务器108分配SCTP分组的分配密钥。继续该示范实施例,前端服务器106检查检验标签转换表,以便确定该分配密钥是否处于检验标签转换表中。在该示范实施例中,如果在检验标签转换表中找到该分配密钥,则前端服务器106采用来自检验标签转换表的关联后端服务器108发起标签来替代SCTP分组公共信头中的检验标签,并且在步骤704将SCTP分组转发到适当的后端服务器108之前更新校验和。在该示范实施例中应当注意,如果前端服务器106没有检测到分配密钥的冲突,则前端服务器106基于从SCTP分组公共信头中检索的检验标签将SCTP分组转发到适当的后端服务器108。
接着在图8,示出用于重定位SCTP关联的一个示范方法实施例800。从步骤802开始,示范方法实施例800能够接收将SCTP关联从第一后端服务器108重定位到第二后端服务器110的请求。在该示范实施例中,替代请求能够来自操作员手动调用替代请求,或者它能够来自负荷平衡系统自动确定何时指示替代。继续该示范实施例,在步骤804,替代管理组件402将向托管SCTP关联的后端服务器108请求SCTP关联参数。在该示范实施例中,SCTP关联参数包括但不限于源和目的地端口号以及目的地IP地址。
随后,在示范实施例的步骤806,方法800通过替代管理组件402通知前端服务器106的替代组件404和接收SCTP关联的后端服务器110关于该SCTP关联替代。在示范实施例的一个方面,在接收通知之后,前端服务器106的替代组件404停止向托管SCTP关联的后端服务器108路由任何其它SCTP分组。在该示范实施例的另一方面,在接收通知之后,接收SCTP关联的后端服务器110绑定到通知中接收的源端口号,并且连接到通知中接收的目的地IP地址和端口号。
在示范实施例的步骤808继续,SCTP关联重定位到后端服务器110。在该示范实施例的一个方面,后端服务器110上的SCTP栈生成具有新的发起标签和新的初始传输序列号(I-TSN)的INIT块,并且向客户机102发送INIT块。继续该示范实施例,客户机102上的SCTP栈检测所建立SCTP关联中间的INIT块,并且发送配置到Cookie中的保留位置的、具有新的发起标签和捆绑标签(Tie-Tags)的副本的INIT-ACK,如日期为2007年9月的“SCTP Request for Comments (RFC) 4960”的第5.2.2小节所述,通过引用结合到本文中。继续该示范实施例,前端服务器106向接收被重定位的SCTP关联的后端服务器110转发INIT-ACK块,并且在这个点,没有向后端服务器110路由任何数据分组。在该示范实施例的另一方面,后端服务器110上的SCTP栈生成COOKIE-ECHO块,其中包含与刚收到的INIT-ACK块一起接收到的cookie。继续该示范实施例,后端服务器110将COOKIE-ECHO块发往客户机102,以及当客户机102接收到具有捆绑标签的副本的COOKIE-ECHO块时,客户机102通过前端服务器106将COOKIE-ACK块发往后端服务器110。在该示范实施例中,当前端服务器106的替代组件404接收COOKIE-ACK块时,替代组件404将COOKIE-ACK块以及任何后续块转发到后端服务器110,因此将SCTP关联从后端服务器108重定位到后端服务器110。
图9示出其中能够实现要求保护的主题的适当计算系统环境900的一个示例,但是如以上所澄清的,计算系统环境900只是用于示范实施例的适当计算环境的一个示例,而不是要暗示关于要求保护的主题的使用范围或功能性的任何限制。此外,计算环境900不是要暗示与要求保护的主题以及示例计算环境900中所示组件的任一个或组合相关的任何依赖性或要求。
现在来看图9,用于实现前面所述的创新的装置的一个示例包括采取计算机910的形式的通用计算装置。计算机910的组件能够包括,但不限于:处理单元920;系统存储器930;以及系统总线990,系统总线990将包括系统存储器930在内的各种系统组件耦合到处理单元920。系统总线990能够是若干类型的总线结构中的任一种,所述总线结构包括采用多种总线架构中任一种的存储器总线或存储控制器、外围总线和本地总线。
计算机910能够包括多种计算机可读介质。计算机可读介质能够是能够由计算机910访问的任何可用介质。作为举例而不是限制,计算机可读介质能够包括计算机存储介质和通信介质。计算机存储介质包括用于存储诸如计算机可读指令、数据结构、程序模块或者其它数据之类的信息、按照任何方法或技术实现的易失性和非易失性以及可拆卸和不可拆卸的介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CDROM、数字通用盘(DVD)或其它光盘存储装置、盒式磁带、磁带、磁盘存储装置或其它磁存储装置、或者能够用于存储预期信息并且能够由计算机910访问的任何其它介质。通信介质能够在诸如载波或其它传输机制之类的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并且能够包括任何适当的信息传递介质。
系统存储器930能够包括采取易失性和/或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)和/或随机存取存储器(RAM)。包含例如在启动期间帮助计算机910内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)能够存储在存储器930中。存储器930还能够包含由处理单元920直接可访问和/或当前操作的数据和/或程序模块。作为非限制性示例,存储器930还能够包括操作系统、应用程序、其它程序模块和程序数据。
计算机910还能够包括其它可拆卸/不可拆卸和易失性/非易失性计算机存储介质。例如,计算机910能够包括:硬盘驱动器,它从不可拆卸的非易失性磁介质读取或对其写入;磁盘驱动器,它从可拆卸的非易失性磁盘读取或对其写入;和/或光盘驱动器,它从诸如CD-ROM或其它光介质之类的可拆卸的非易失性光盘读取或对其写入。能够在示范操作环境中使用的其它可拆卸/不可拆卸、易失性/非易失性计算机存储介质包括,但不限于:盒式磁带、闪存卡、数字通用盘、数字视频磁带、固态RAM、固态ROM等。硬盘驱动器能够通过不可拆卸的存储器接口、例如接口来连接到系统总线990,以及磁盘驱动器或光盘驱动器能够通过可拆卸的存储器接口、例如接口来连接到系统总线990。
用户能够通过诸如键盘之类的输入装置或者诸如鼠标、轨迹球、触摸板和/或其它指示装置之类的指示装置将命令和信息输入计算机910。其它输入装置能够包括话筒、操纵杆、游戏板、盘式卫星天线、扫描仪或类似装置。这些和/或其它输入装置能够通过与系统总线990耦合的用户输入940及关联的(一个或多个)接口来连接到处理单元920,但是能够通过诸如并行端口、游戏端口或者通用串行总线(USB)之类的其它接口和总线结构来连接。
图形子系统也能够连接到系统总线990。另外,监视器或者其它类型的显示装置能够通过诸如输出接口950之类的接口(其又能够与视频存储器进行通信)连接到系统总线990。除监视器之外,计算机还能够包括其它外围输出装置,诸如喇叭和/或打印装置,其还能够通过输出接口950来连接。
计算机910能够在使用到诸如远程服务器970之类的一个或多个其它远程计算机的逻辑连接的组网或分布式环境中操作,所述远程计算机又能够具有与装置910不同的介质能力。远程服务器970能够是个人计算机、服务器、路由器、网络PC、对等装置或者其它公共网络节点和/或任何其它远程介质消费或传输装置,并且能够包括以上相对于计算机910所述的元件中的任一个或全部。图9所示的逻辑连接包括诸如局域网(LAN)或广域网(WAN)之类的网络980,但是也能够包括其它网络/总线。
在用于LAN组网环境时,计算机910通过网络接口或适配器连接到LAN 980。在用于WAN组网环境时,计算机910能够包括如调制解调器之类的通信组件、或者用于通过WAN(例如因特网)建立通信的其它手段。能够在内部或外部的如调制解调器之类的通信组件能够通过在输入940的用户输入接口和/或其它适当机制连接到系统总线990。
在组网环境中,相对于计算机910或其部分所描绘的程序模块能够存储在远程存储器存储装置中。应当注意,所示和所述的网络连接是示范性的,并且能够使用建立计算机之间通信链路的其它手段。
另外,应当注意,如本申请所使用的,诸如“组件”、“显示器”、“接口”之类的术语和其它类似术语意在表示计算装置,或者是硬件、硬件和软件的组合、软件,或者是如应用于实现前端键盘的计算装置的在执行中的软件。例如,组件非限制性地可以是运行于处理器上的进程、处理器、对象、可执行程序、执行线程、程序和计算装置。作为一个示例,运行于计算装置上的应用以及计算装置均能够是组件。一个或多个组件能够驻留在进程和/或执行线程中,而且组件能够局限于一个计算装置上和/或分布在两个或更多计算装置之间、和/或是可通信地连接的模块。此外,应当注意,如本申请所使用的,诸如“系统用户”、“用户”之类的术语和类似术语意在表示操作上述计算装置的人。
上述示范实施例在所有方面意在对本创新进行说明而不是限制。因此,本创新能够在本领域技术人员能够从本文包含的描述中得出的详细实现方面进行许多变更。所有这类变更和修改都被认为落入以下权利要求所限定的本创新的范围和精神之内。本申请的描述中使用的元件、动作或指令都不应当被理解为对于本发明是关键或必不可少的,除非明确地这样描述。另外,本文所使用的表述“一个”意在包括一项或多项。
Claims (23)
1. 一种路由流控制传输协议(SCTP)分组的方法,所述方法包括:
-由前端服务器接收由第二SCTP关联端点替代与在第一SCTP关联端点的所述SCTP分组相关联的SCTP关联端点的第一通知;
-由所述前端服务器丢弃所述前端服务器所接收的、送往所述第一SCTP关联端点的所述SCTP分组;
-由所述前端服务器向所述第二SCTP关联端点发送所述替代的第二通知;以及
-由所述前端服务器向所述第二SCTP关联端点路由在所述替代之后由所述前端服务器接收的所述SCTP分组。
2. 如权利要求1所述的方法,其中,所述通知还包括与所述替代相关联的参数。
3. 如权利要求2所述的方法,其中,所述参数还包括:
-与客户机相关联的第一端口号;
-与所述客户机相关联的因特网协议(IP)地址;以及
-与所述第一SCTP关联端点相关联的第二端口号。
4. 如权利要求2所述的方法,其中,所述前端服务器向所述第一SCTP关联端点请求所述参数。
5. 如权利要求1所述的方法,其中,所述前端服务器、所述第一SCTP关联端点和所述第二SCTP关联端点共享虚拟因特网协议(VIP)地址。
6. 如权利要求1所述的方法,其中,从操作员接收所述第一通知。
7. 如权利要求1所述的方法,其中,从负荷平衡系统接收所述第一通知。
8. 如权利要求1所述的方法,其中,从维护系统接收所述第一通知。
9. 一种替代流控制传输协议(SCTP)关联端点的方法,所述方法包括:
-由后端服务器接收替代所述SCTP关联端点的通知;
-由所述后端服务器连接到与所述SCTP关联端点相关联的客户机;以及
-由所述后端服务器向所述客户机发送SCTP关联初始化分组。
10. 如权利要求9所述的方法,其中,所述通知还包括与所述客户机相关联的参数。
11. 如权利要求10所述的方法,其中,所述参数还包括:
-与所述客户机相关联的第一端口号;
-与所述客户机相关联的因特网协议(IP)地址;以及
-与所述SCTP关联端点相关联的第二端口号。
12. 如权利要求9所述的方法,其中,所述后端服务器使用与所述SCTP关联端点相同的因特网协议(IP)地址。
13. 如权利要求11所述的方法,其中,所述连接还包括由所述后端服务器绑定到所述第二端口号。
14. 如权利要求13所述的方法,其中,所述连接还包括由所述后端服务器连接到在所述IP地址的所述第一端口号。
15. 如权利要求9所述的方法,其中,所述SCTP关联初始化分组包括与所述后端服务器相关联的发起标签和初始传输序列号。
16. 一种用于促进由第二流控制传输协议(SCTP)关联端点对第一SCTP关联端点的SCTP关联端点替代的服务器,所述服务器包括:
-替代组件,用于处理与所述SCTP关联端点替代相关联的SCTP分组;以及
-替代管理组件,用于在由所述第二SCTP关联端点对所述第一SCTP关联端点的所述SCTP关联端点替代期间,协调第一SCTP关联端点、所述第二SCTP关联端点和所述服务器之间的通信。
17. 如权利要求16所述的服务器,配置成在所述第一SCTP关联端点、所述第二SCTP关联端点和所述服务器之间共享虚拟因特网协议(VIP)地址。
18. 如权利要求16所述的服务器,其中,所述替代管理组件配置成接受来自操作员的用于发起所述SCTP关联端点替代的手动输入。
19. 如权利要求16所述的服务器,其中,所述替代管理组件配置成接受来自负荷平衡系统的输出,作为用于发起所述SCTP关联端点替代的输入。
20. 如权利要求16所述的服务器,其中,所述替代组件配置成在所述SCTP关联端点替代期间,丢弃送往所述第二SCTP关联端点的SCTP关联数据分组。
21. 如权利要求16所述的服务器,其中,所述替代组件配置成在所述SCTP关联端点替代期间,丢弃送往所述第一SCTP关联端点的SCTP关联分组。
22. 如权利要求16所述的服务器,其中,所述替代管理组件配置成允许从分开的节点来管理所述SCTP关联端点替代。
23. 如权利要求16所述的服务器,其中,所述替代管理组件还包括协调与和所述SCTP关联替代相关联的客户机的SCTP关联通信。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/044,210 US20120233240A1 (en) | 2011-03-09 | 2011-03-09 | Sctp association endpoint relocation in a load balancing system |
US13/044210 | 2011-03-09 | ||
PCT/IB2012/051097 WO2012120474A1 (en) | 2011-03-09 | 2012-03-08 | Sctp association endpoint relocation in a load balancing system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103503421A true CN103503421A (zh) | 2014-01-08 |
Family
ID=45929551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280022364.9A Pending CN103503421A (zh) | 2011-03-09 | 2012-03-08 | 负荷平衡系统中的sctp关联端点重定位 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120233240A1 (zh) |
EP (1) | EP2684343A1 (zh) |
CN (1) | CN103503421A (zh) |
WO (1) | WO2012120474A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107243156A (zh) * | 2017-06-30 | 2017-10-13 | 珠海金山网络游戏科技有限公司 | 一种大型分布式网络游戏服务器系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9332053B2 (en) * | 2012-06-15 | 2016-05-03 | Tekelec, Inc. | Methods, systems, and computer readable media for load balancing stream control transmission protocol (SCTP) messages |
CN104253980B (zh) * | 2014-09-25 | 2018-01-16 | 浙江宇视科技有限公司 | 一种前端设备与后台媒体设备的连接方法及装置 |
CN108432212B (zh) * | 2016-02-16 | 2020-09-11 | 华为技术有限公司 | 基于流控制传输协议sctp的通信方法、装置和系统 |
US10999202B2 (en) | 2018-11-30 | 2021-05-04 | Oracle International Corporation | Methods, systems, and computer readable media for distributing Sigtran connections among signal transfer point (STP) message processors |
US11576072B2 (en) | 2020-09-21 | 2023-02-07 | Oracle International Corporation | Methods, systems, and computer-readable media for distributing S1 connections to mobility management entities (MMEs) and N2 connections to access and mobility management functions (AMFs) |
US11985202B1 (en) | 2023-05-11 | 2024-05-14 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method for achieving high availability of SCTP connection in a microservice system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040103194A1 (en) * | 2002-11-21 | 2004-05-27 | Docomo Communicatios Laboratories Usa, Inc. | Method and system for server load balancing |
CN101527707A (zh) * | 2008-03-07 | 2009-09-09 | 上海贝尔阿尔卡特股份有限公司 | 用于sctp协议栈热备份的实时一致性检验方法及相关装置 |
US20090252114A1 (en) * | 2005-12-08 | 2009-10-08 | Electronics And Telecommunications Research Institute | Method and System for Supporting Seamless Handover of Mobile Node Using Mobile Stream Control Transmission Protocol |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7277954B1 (en) * | 2002-04-29 | 2007-10-02 | Cisco Technology, Inc. | Technique for determining multi-path latency in multi-homed transport protocol |
US9749404B2 (en) * | 2008-04-17 | 2017-08-29 | Radware, Ltd. | Method and system for load balancing over a cluster of authentication, authorization and accounting (AAA) servers |
US8412832B2 (en) * | 2009-12-23 | 2013-04-02 | Citrix Systems, Inc. | Systems and methods for GSLB MEP connection management across multiple core appliances |
US8677004B2 (en) * | 2010-09-10 | 2014-03-18 | International Business Machines Corporation | Migration of logical partitions between two devices |
-
2011
- 2011-03-09 US US13/044,210 patent/US20120233240A1/en not_active Abandoned
-
2012
- 2012-03-08 WO PCT/IB2012/051097 patent/WO2012120474A1/en active Application Filing
- 2012-03-08 CN CN201280022364.9A patent/CN103503421A/zh active Pending
- 2012-03-08 EP EP12712155.6A patent/EP2684343A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040103194A1 (en) * | 2002-11-21 | 2004-05-27 | Docomo Communicatios Laboratories Usa, Inc. | Method and system for server load balancing |
US20090252114A1 (en) * | 2005-12-08 | 2009-10-08 | Electronics And Telecommunications Research Institute | Method and System for Supporting Seamless Handover of Mobile Node Using Mobile Stream Control Transmission Protocol |
CN101527707A (zh) * | 2008-03-07 | 2009-09-09 | 上海贝尔阿尔卡特股份有限公司 | 用于sctp协议栈热备份的实时一致性检验方法及相关装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107243156A (zh) * | 2017-06-30 | 2017-10-13 | 珠海金山网络游戏科技有限公司 | 一种大型分布式网络游戏服务器系统 |
Also Published As
Publication number | Publication date |
---|---|
US20120233240A1 (en) | 2012-09-13 |
EP2684343A1 (en) | 2014-01-15 |
WO2012120474A1 (en) | 2012-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103814565A (zh) | 使用vtag调停的负载均衡sctp关联 | |
CN103503421A (zh) | 负荷平衡系统中的sctp关联端点重定位 | |
US8767737B2 (en) | Data center network system and packet forwarding method thereof | |
CN111034160B (zh) | 在负载均衡连接上具有虚拟vip和源代理的非dsr分布式负载均衡器 | |
US9584481B2 (en) | Host providing system and communication control method | |
TW200934198A (en) | Method and apparatus for dynamically configuring virtual internet protocol addresses | |
US7552441B2 (en) | Socket compatibility layer for TOE | |
US20080089323A1 (en) | System and method for assigning virtual local area networks | |
WO2017000593A1 (zh) | 报文处理方法及装置 | |
CN110719221B (zh) | 即时通信方法、装置、设备及存储介质 | |
US10205663B1 (en) | Managing host computing devices | |
CN102577256A (zh) | 在虚拟化网络基础设施情况下用于透明云计算的方法和设备 | |
CN104246734A (zh) | 在无线链路上支持usb hub或外围设备的多跳树的可扩展wse hub | |
CN102801702B (zh) | 服务器连接方法、信息提供方法、云计算网络及操作方法 | |
US20130138813A1 (en) | Role instance reachability in data center | |
JP5255035B2 (ja) | フェイルオーバシステム、記憶処理装置及びフェイルオーバ制御方法 | |
TW200928777A (en) | Data processing method and apparatus based on cluster | |
CN108234422A (zh) | 资源调度方法及装置 | |
US9049140B2 (en) | Backbone network with policy driven routing | |
CN113452778A (zh) | 会话保持方法、装置、设备、系统及存储介质 | |
US11831715B1 (en) | Scalable ethernet bunch of flash (EBOF) storage system | |
CN101442547B (zh) | 一种报文处理方法、系统及设备 | |
JP4452271B2 (ja) | マルチキャスト通信ネットワークシステム及びこれを用いたデータ送/受信方法 | |
US10353585B2 (en) | Methods for managing array LUNs in a storage network with a multi-path configuration and devices thereof | |
US10862849B2 (en) | Address resolution system |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140108 |