用于在信号传送点(STP)消息处理器之间分配SIGTRAN连接的方法、系统和计算机可读介质与流程

文档序号:25543595发布日期:2021-06-18 20:40
用于在信号传送点(STP)消息处理器之间分配SIGTRAN连接的方法、系统和计算机可读介质与流程

优先权要求

本申请要求于2018年11月30日提交的美国专利申请第16/206,592号的优先权权益,其公开内容通过引用整体并入本文。

本文描述的主题涉及在互联网协议(ip)网络中路由ss7消息。更具体地,本文描述的主题涉及用于在信号传送点消息处理器之间分配sigtran连接的方法、系统和计算机可读介质。



背景技术:

sigtran是由互联网工程任务组(ietf)发布的协议系列,其使得能够在ip网络中运输ss7消息。在其最初的标准化中,ss7消息被设计为在不基于ip的ss7消息传送部分(mtp)层1-3上被运输。ss7消息的sigtran运输用ip运输代替mtp层中的一个或多个。对ss7消息使用ip运输使得能够使用成本更低的ip和以太网硬件来运输ss7消息并促进链路带宽的共享。

在ss7网络中,信号传送点是将ss7消息路由到其目的地的路由节点。信号传送点基于称为点代码的ss7消息参数来路由ss7消息。因为信号传送点专门在ss7网络中提供路由服务,所以信号传送点在ss7网络中是重要的功能,并且会因路由ss7消息所需的处理而变得超负荷。因而,期望适当地管理信号传送点的处理资源。

随着sigtran的广泛使用,随着ss7stp资源的变化,需要灵活的配置。例如,在虚拟化stp资源的基于云的部署中,可能需要放大和缩小虚拟stp资源。扩展stp资源可能需要添加或删除实现ss7链路和链路集的基于stp的基于ip的连接。在ss7网络中,链路或信令链路是相邻节点之间的连接。链路集是信令链路的逻辑分组。添加和移除链路和链路集可以要求手动重新配置与链路和链路集相关联的ip地址和端口号。手动执行这种配置是耗时且费力的,并且不适合需要资源重新配置灵活性的基于云的stp部署。即使在stp资源的裸机或本地部署中,也会发生与重新配置类似的问题。

因而,鉴于这些困难,需要用于在stp消息处理器之间分配sigtran连接的改进的方法、系统和计算机可读介质。



技术实现要素:

本文描述的主题包括用于在stp消息处理器之间分配sigtran连接的方法、系统和计算机可读介质。一种用于在stp消息处理器之间分配sigtran连接的方法包括将连接负载平衡器作为前端提供给stp的多个消息处理器。该方法还包括由连接负载平衡器向ss7对等方发布互联网协议(ip)地址。该方法还包括初始化stp的消息处理器以在由连接负载平衡器发布的ip地址上侦听。该方法还包括在连接负载平衡器处接收寻址到该ip地址的sigtran消息。该方法还包括由连接负载平衡器确定sigtran消息是用于sigtran连接的初始消息还是关于sigtran连接的后续消息,以及sigtran消息是否用于已向其指派消息处理器之一的sigtran连接。该方法还包括基于消息是初始消息还是后续消息并且基于sigtran消息是否用于已向其指派消息处理器之一的sigtran连接将消息转发到消息处理器之一或丢弃消息。

根据本文描述的主题的一方面,消息处理器包括物理stp的物理消息处理器。这种stp可以部署在电信网络运营商的网络中的本地。

根据本文描述的主题的另一方面,消息处理器包括虚拟stp的虚拟消息处理器。这种stp及其消息处理器可以部署在云网络中并且可以包括在虚拟化对底层硬件的访问的管理程序层上执行的虚拟处理资源。

根据本文描述的主题的又一方面,由连接负载平衡器发布的ip地址可以与消息处理器的环回接口相关联。将ip地址与消息处理器的环回地址相关联使得消息处理器能够将ip地址用作别名,而无需广播包含ip地址的地址解析协议(arp)或互联网控制管理协议版本6(icmpv6)邻居发现消息。

根据本文描述的主题的又一方面,用于sigtran连接负载平衡的方法包括由连接负载平衡器广播将ip地址与连接负载平衡器的介质访问控制(mac)地址相关联的免费地址解析协议(arp)或icmpv6邻居发现消息。

根据本文描述的主题的又一方面,消息是用于尚未向其指派stp消息处理器之一的sigtran连接的初始消息。如果确定消息为初始消息并且尚未将连接指派给消息处理器之一,那么消息处理器之一使用负载平衡算法被指派给初始消息旨在针对其发起建立的sigtran连接。然后sigtran消息被转发到指派给sigtran连接的消息处理器。

根据本文描述的主题的又一方面,使用负载平衡算法将消息处理器之一指派给sigtran连接包括对于每个消息处理器维护组计数,其中组计数指示指派给每个消息处理器的sigtran连接的数量。对于每个消息处理器,计算消息处理器的组计数与消息处理器的最低组计数之间的组计数差。具有小于链路分配阈值的组计数差的消息处理器被包括为连接分配候选。组计数差大于或等于链路分配阈值的消息处理器被排除在外,不作为连接分配候选的考虑。

根据本文描述的主题的又一方面,用于sigtran连接负载平衡的方法包括检测消息处理器之一的故障和重新连接,并且作为响应,将重新连接的消息处理器用作sigtran连接分配的候选。

根据本文描述的主题的又一方面,确定消息是与sigtran连接相关联的初始消息还是后续消息可以包括确定消息是后续消息。确定与后续消息相关联的sigtran连接是否已指派给消息处理器之一可以包括确定sigtran连接是否已指派给消息处理器之一。如果消息被确定为sigtran连接已针对其被指派给消息处理器之一的后续消息,那么可以将该消息转发到指派的消息处理器。

根据本文描述的主题的又一方面,用于sigtran连接负载平衡的方法包括以绕过连接负载平衡器的方式将出口流量从stp的消息处理器转发到ss7对等方。

根据本文描述的主题的又一方面,提供了一种用于在信号传送点(stp)处理器之间分配sigtran连接的系统。该系统包括信号传送点(stp),该信号传送点包括多个消息处理器,用于路由在sigtran连接上接收到的sigtran消息。该系统还包括连接负载平衡器,该连接负载平衡器作为stp的消息处理器的前端进行操作。连接负载平衡器被配置为向ss7对等方发布互联网协议(ip)地址。消息处理器被初始化为在由连接负载平衡器发布的ip地址上侦听。连接负载平衡器被配置为接收寻址到ip地址的sigtran消息,确定sigtran消息是用于sigtran连接的初始消息还是用于sigtran连接的后续消息,以及sigtran消息是否用于已向其指派消息处理器之一的sigtran连接。连接负载平衡器被配置为基于确定的结果将sigtran消息转发到消息处理器之一。

根据本文描述的主题的又一方面,连接负载平衡器被配置为广播将ip地址与连接负载平衡器的mac地址相关联的免费arp或icmpv6邻居发现消息。

根据本文描述的主题的又一方面,连接负载平衡器确定消息是用于尚未向其指派消息处理器之一的sigtran连接的初始消息,使用负载平衡算法将初始消息旨在针对其发起建立的sigtran连接指派给消息处理器之一,并将sigtran消息转发到指派给sigtran连接的消息处理器。

根据本文描述的主题的又一方面,连接负载平衡器被配置为为每个消息处理器维护组计数,其中组计数指示指派给每个消息处理器的sigtran连接的数量,并且其中连接负载平衡器还被配置为针对每个消息处理器计算消息处理器的组计数与消息处理器的最低组计数之间的组计数差,并且包括具有小于链路分配阈值的组计数差的消息处理器作为连接分配候选。

根据本文描述的主题的又一方面,连接负载平衡器被配置为检测消息处理器之一的故障和重新连接,并且作为响应,使用重新连接的消息处理器作为sigtran连接分配的候选。

根据本文描述的主题的又一方面,消息处理器被配置为以绕过连接负载平衡器的方式将出口流量从stp的消息处理器转发到ss7对等方。

根据本文描述的主题的又一方面,提供了一种非暂态计算机可读介质,该非暂态计算机可读介质在其上存储有可执行指令,该可执行指令在由计算机的处理器执行时控制计算机执行步骤。这些步骤包括提供连接负载平衡器作为stp的多个消息处理器的前端。这些步骤还包括由连接负载平衡器将互联网协议(ip)地址发布到ss7对等方。这些步骤还包括初始化stp的消息处理器,以在由连接负载平衡器发布的ip地址上侦听。这些步骤还包括在连接负载平衡器处接收寻址到ip地址的sigtran消息。这些步骤还包括由连接负载平衡器确定sigtran消息是用于sigtran连接的初始消息还是用于sigtran连接的后续消息。这些步骤还包括由连接负载平衡器并且基于确定的结果将sigtran消息转发到消息处理器之一。

本文描述的主题可以结合硬件和/或固件在软件中实现。例如,本文描述的主题可以在由处理器执行的软件中实现。在一个示例性实施方式中,本文描述的主题可以使用其上存储有计算机可执行指令的非暂态计算机可读介质来实现,该计算机可执行指令在由计算机的处理器执行时控制计算机执行步骤。适用于实现本文描述的主题的示例性计算机可读介质包括非暂态计算机可读介质,诸如盘存储器设备、芯片存储器设备、可编程逻辑设备和专用集成电路。此外,实现本文描述的主题的计算机可读介质可以位于单个设备或计算平台上,或者可以分布在多个设备或计算平台上。

附图说明

现在将参考附图解释本文描述的主题:

图1是图示到stp的消息处理器的sigtran连接的常规分配的框图;

图2是图示当消息处理器出现故障时stp处的消息处理器之间的sigtran连接的常规分配的网络图;

图3是图示使用连接负载平衡器在stp处的消息处理器之间的sigtran连接的分配的网络图;

图4是图示以绕过连接负载平衡器的方式路由来自stp的出口流量的路由的网络图;

图5是图示连接负载平衡器初始化的消息流程图;

图6是图示stp消息处理器初始化的消息流程图;

图7是图示使用连接负载平衡器在stp消息处理器之间的sigtran连接的分配的消息流程图。

图8是图示使用连接负载平衡器在stp处与现有sigtran连接相关联的消息的处理的消息流程图;

图9是图示在重新连接发生故障的消息处理器之后使用连接负载平衡器路由消息的网络图;

图10是连接负载平衡器和包括多个消息处理器的信号传送点的框图;以及

图11是图示用于使用连接负载平衡器在stp消息处理器之间分配sigtran消息的示例性处理的流程图。

具体实施方式

公开了用于在stp处理器之间分配sigtran连接的方法、系统和计算机可读介质。图1图示了用于在stp消息处理器之间分配sigtran连接的常规系统。在图1中,来自stp100的信号传送包括多个消息处理器1021-102n。每个消息处理器1021-102n具有到外部设备(诸如ss7对等方104)的专用连接,称为链路。在所示的示例中,ss7链路编号为1-k。链路1-k形成逻辑分组,称为链路集。消息处理器表示单个ss7点代码。每个消息处理器1021-102n具有两个以太网设备106a和106b。在stp100的消息处理器与ss7对等方104的信令设备108之间建立多宿主流控制传输协议(sctp)关联110和112。多宿主sctp关联是处理之间的连接,其中每个端点处的处理具有多于一个ip地址。在示出的示例中,ip地址ip-stp-1-a和ip-stp-n-a是与多宿主stp关联的路径“a”的一端相关联的ip地址。类似地,ip地址ip-stp-1-b和ip-stp-n-b是与多宿主sctp关联的路径“b”的一端相关联的ip地址。ip地址ip-stp-1-a、ip-stp-n-a、ip-stp-1b和ip-stp-n-b已发布到ss7对等方104。因此,当消息处理器1021-102n之一发生故障或添加新的消息处理器时,要求ss7对等方104的重新配置。

多宿主sctp关联110和112在stp100的两个不同消息处理器上各自具有端点。因而,当消息处理器1021-102n之一发生故障时,流量可以自动切换到与多宿主连接或关联相关联的另一个消息处理器。但是,sctp关联的剩余路径将以减少的容量操作。当消息处理器变得可用时,无论是在故障之后还是在放大操作期间,都必须为新链路配置用于新消息处理器的ip地址。对于远程stp对等方而言,这种配置可能是费力或费处理器的。

图2图示了其中消息处理器之一发生故障时发生的处理。在图2中,在步骤1中,消息处理器1021发生故障。在步骤2中,连接到消息处理器1021的所有链路都被丢弃。到消息处理器1021的重新连接尝试也发生故障。对于连接到stp100的远程对等节点,链路可以位于单个消息处理器上,或者基于冗余模式分布在多个消息处理器上。当发生故障时,ss7对等方104尝试使用另一个消息处理器的固定ip重新配置受影响的链路,这可能是费力的。

图2中所示场景的另一个问题是,可能无法自动将连接分配到负载最少的消息处理器。例如,如果消息处理器1021与sigtran连接不成比例地加载,那么可能无法进行负载平衡,因为ss7对等方104不知道消息处理器1021-102n的相对负载。图2中所示场景的另一个问题是,当stp消息处理器出现故障时,连接到发生故障的消息处理器的链路不会自动分配给其它stp消息处理器,除非执行手动干预以便用其它stp消息处理器重新配置链路,否则链路集将以减少的容量进行操作。如上所述,使用多宿主sigtran连接,当与一条路径相关联的消息处理器发生故障时,可以通过与多宿主sigtran连接相关联的备用链路将消息发送到stp。但是,如图2中所示,当一个消息处理器发生故障时,与链路集相关联的信令链路的一半都发生故障,这减少了链路集的容量。鉴于这些困难,需要在信号传送点处的消息处理器之间改进sigtran连接的分配。

图3是图示使用连接负载平衡器在stp处sigtran连接的分配的网络图。参考图3,连接负载平衡器150用作stp100的消息处理器1021-102n的前端。连接负载平衡器150在每个网络上向ss7对等方104发布ip地址。在所示示例中,所发布的ip地址是网络a的ip-stp-a和网络b的ip-stp-b。这些ip地址是连接负载平衡器150识别需要在stp100的消息处理器之间分配的消息的公用ip地址。连接负载平衡器150包括以太网接口152a和152b。发布ip地址可以包括向ss7对等方104广播免费arp消息,该消息将ip地址ip-stp-a和ip-stp-b与以太网接口152a和152b的mac地址相关联。如果在网络中使用ip版本4,那么免费arp消息可以被用于发布由连接负载平衡器使用的ip地址,以在stp处理器之间进行负载共享。如果使用ip版本6,而不是广播免费arp消息,那么可以使用icmpv6邻居发现消息向ss7对等方广播ip地址和对应的mac地址。通常,ip地址将被发布到与连接负载平衡器150相邻的边界网关,并且边界网关将使用边界网关协议(bgp)或其它合适的ip路由发现机制将ip地址传送到其它ss7节点。

如关于图1和2所示的示例那样,可以在ss7对等方104与消息处理器1021和102n之间建立多宿主sctp关联。可以使用诸如m3ua之类的适配层协议通过多宿主sctp关联向stp100传输ss7流量或从stp100传输ss7流量。

即使图3中所示的示例说明了ss7对等方104与消息处理器1021-102n之间的多宿主sctp关联,本文描述的主题也不限于这种实施方式。连接负载平衡器150可以被用于ss7对等方与stp消息处理器之间的单宿主sctp关联(即,仅具有与每个端点相关联的单个ip地址的sctp关联)之间的负载平衡连接。

如本文所使用的,术语“sigtran连接”将用于指通过ip网络在ss7端点之间建立以携带sigtran流量的连接。sigtran连接的示例是sctp关联。

每个消息处理器1021-102n还将自己配置为侦听由连接负载平衡器150发布的ip地址。例如,消息处理器1021可以侦听ip地址ip-stp-a和ip-stp-b。配置消息处理器以进行侦听可以包括在给定的ip地址和端口上执行套接字侦听命令。

连接负载平衡器150解决了上述问题中的至少一些。通过仅暴露用于连接到stp消息处理器的一组公共ip地址,并且即使消息处理器进入和退出服务也继续使用同一组ip地址,stp消息处理器中的改变将不要求链路和链路集的手动重新配置。stp100可以按比例放大或缩小,而无需改变公共ip地址信息。配置的改变对于ss7对等方104将是透明的,因为新消息处理器将使用由连接负载平衡器150发布的现有ip地址集中的ip地址。在图3中,连接负载平衡器150仅向ss7对等方104暴露ip地址ip-stp-a和ip-stp-b。stp消息处理器1021-102n各自识别由连接负载平衡器150发布的ip地址的集合。新的物理或虚拟消息处理器将被配置为识别ip地址的同一集合。因此,当向服务添加消息处理器或从服务中删除消息处理器时,这种配置的改变对于ss7对等方104是透明的。

连接负载平衡器150还可以平衡ss7消息处理器1021-102n之间的sigtran连接。如果在stp100处的消息处理能力丢失或减小,那么连接负载平衡器150可以在可用的ss7消息处理器之间重新分配链路,从而避免与远程ss7对等方104的服务中断。类似地,如果在stp100处添加处理能力,那么连接负载平衡器150可以以对远程ss7对等方透明的方式在可用消息处理器之间重新平衡sigtran连接。

图3还可以被用于图示使用连接负载平衡器150的入口流量的路由。在图3中,来自ss7对等方104上的信令设备108的流量被寻址到由连接负载平衡器150发布的公共ip地址ip-stp-a或ip-stp-b。连接负载平衡器150接收消息流量,并针对每个消息确定该消息是与sigtran连接相关联的初始消息还是与sigtran连接相关联的后续消息。初始消息是尚未为其指派消息处理器的连接请求消息。对于sctp关联,初始消息的示例是sctpinit消息。在sctp协议中,init消息是用于发起与远程端点建立sctp关联的消息。init消息携带与发送init消息的端点相关联的ip地址列表。

后续消息是在针对sctp关联的初始消息之后发送的消息,诸如sctpcookie-echo消息、选择性确认(sack)、心跳、心跳ack或数据消息。如果确定消息是初始消息,那么连接负载平衡器150可以使用负载平衡算法将消息指派给消息处理器1021-102n之一,这将在下面详细描述。如果确定消息是与sigtran连接相关联的后续消息,那么连接负载平衡器150会将消息路由到先前指派给该sigtran连接的消息处理器1021-102n。如果消息是后续消息并且尚未将消息处理器指派给sigtran连接,那么连接负载平衡器150可以丢弃该消息。

图4是图示出口消息流量从stp100到远程ss7对等方104的流的图。参考图4,来自消息处理器1021-102n的出口流量不被路由通过连接负载平衡器150,因此不影响连接负载平衡器150的容量。围绕连接负载平衡器150路由流量的机制包括ip路由协议,其中使用标准路由信息协议(诸如路由信息协议(rip)、开放式最短路径优先(ospf))来确定从stp100到信令设备108的路由路径。这种路径不能包括连接负载平衡器150。由于为由连接负载平衡器使用的公共ip地址广播了免费arp或icmpv6邻居发现消息,因此寻址到公共ip地址的入口消息(即,从ss7对等方到stp消息处理器之一的消息)被路由通过连接负载平衡器。出口消息不被寻址到连接负载平衡器的公共ip地址。而是将它们寻址到目的地ss7对等方的ip地址。如上所述,到ss7对等方的路由不能包括连接负载平衡器150,因此可以在使用rip或ospf确定的路由上路由出口消息(即,从stp消息处理器到sctp关联的另一端处的ss7对等方的消息),这绕过了连接负载平衡器150。

图5和6图示了连接负载平衡器初始化。参考图5,在步骤a1中,连接负载平衡器150向ss7对等方发布其上存在连接负载平衡器的每个网络的ip地址,该ss7对等方在所示示例中是边界网关156。ip地址的发布可以通过广播将ip地址ip-stp-a与mac地址mac-a以及将ip地址ip-stp-b与mac地址mac-b相关联的免费arp或icmpv6邻居发现消息来完成。在步骤a2中,边界网关156更新其mac或arp表以将ip地址与mac地址相关联。表160说明了在从连接负载平衡器150接收到免费arp消息之后边界网关156的arp表的配置的示例。

图6是图示消息处理器的初始化的流程图。参考图6,在步骤b1中,所有消息处理器都配置由环回接口上的连接负载平衡器150发布的ip地址ip-stp-a和ip-stp-b的别名地址。在每个消息处理器1021-102n的环回接口上配置ip地址,以便消息处理器1021-102n不为这些ip地址发送arp或icmp消息。在步骤b2中,每个消息处理器1021-102n配置多宿主响应者连接,其开始侦听用于主路径的ip地址ip-stp-a和用于辅路径的ip地址ip-stp-b。

在初始化之后,可以使用负载平衡算法在stp100的处理器之间分配sigtran连接。图7是图示使用连接负载平衡器150将新的sigtran连接分配给ss7消息处理器的消息流程图。参考图7,在步骤c1中,远程ss7客户端104在链路l1上发送sigtran连接请求。连接请求的目的地ip地址包括ip地址ip-stp-a和ip-stp-b。在这个示例中,源ip地址为r-ip-x和r-ip-y。连接请求的目的地端口是p1。

在步骤c2中,边界网关156在其mac表中查询与ip地址ip-stp-a对应的mac地址。在这个示例中,边界网关156定位地址mac-a,其与连接负载平衡器150的接口对应。因而,边界网关156将消息转发到连接负载平衡器150。

在步骤c3中,连接负载平衡器150应用连接分配或负载平衡算法以确定哪个stp消息处理器应当接收连接请求。在这个示例中,假设由于负载平衡算法而将消息发送到消息处理器102i。在一个示例中,连接负载平衡器150可以基于算法中的以下参数来执行负载平衡。对于每个消息处理器,连接负载平衡器150可以维护组计数。组计数表示到达给定消息处理器的来自远程对等方的链路数。最初,所有消息处理器的组计数都将设置为0。每次将新的sigtran连接指派给消息处理器时,组计数都会递增。可以在负载平衡算法中使用的另一个参数是链路分配阈值,该阈值在整个链路集中有效。链路分配阈值是由用户设置的可配置值,以定义组计数之间的阈值差,高于该阈值差,将不考虑将消息处理器用于负载平衡。例如,链路分配阈值可以被设置为4。当连接负载平衡器150接收到新的sigtran连接请求时,连接负载平衡器150确定每个消息处理器1021、102i和102n的组计数。然后,连接负载平衡器150识别具有最低组计数的消息处理器,并将链路分配阈值添加到最低组计数。具有大于最低组计数和链路分配阈值之和的组计数的任何消息处理器都不会被考虑用于负载平衡。具有小于最低组计数和链路分配阈值之和的组计数的任何消息处理器都将被视为连接分配候选。例如,如果消息处理器1021、102i和102n的组计数分别为1、3和4,并且链路分配阈值为2,那么仅将消息处理器1021和102i视为连接分配的候选。

一旦识别出用于连接分配的候选的组,连接负载平衡器150就可以例如使用随机选择算法从候选之一中进行选择,并将连接请求转发到指派的消息处理器(参见步骤c4)。连接负载平衡器150还可以在其关联数据库中创建条目,该条目将sigtran连接与指派的消息处理器相关联。可以存储在关联数据库中的参数的示例如下:

{r-ip-x,r-ip-y,r-port-->stp-mp-i}

在这个示例中,r-ip-x和r-ip-y是向连接负载平衡器150发送sctpinit消息的ss7对等方的ip地址。单个对等方可以使用多于一个ip地址,因为对等方实现了sctp多宿主。r-port是由发送节点在sctpinit消息中使用的sctp端口号。stp-mp-i是由连接负载平衡器150用于指派给连接的stp消息处理器的标识符。

在由连接负载平衡器150创建了记录(诸如如上所示的)之后,后续消息(诸如sctp数据或通过相同sctp关联发送的控制消息)将被转发到同一stp消息处理器。例如,当sctp数据或控制消息(也称为“块”)到达连接负载平衡器150时,连接负载平衡器150可以使用消息中的源ip地址和sctp端口号在其关联数据库中执行查找。在这个示例中,假设源ip地址为r-ip-x和r-ip-y,并且源端口为r-port。因而,连接负载平衡器150将从上面的示例中定位匹配的条目并将sctp数据消息转发到指派的stp消息处理器stp-mp-i。

还应当注意的是,如果连接负载平衡器150接收到sctpinit消息并且已经与stp消息处理器之一建立连接,那么连接负载平衡器150会将消息转发到指派的消息stp消息处理器。指派的消息处理器上的sctp关联状态机将处理状态消息,诸如已为其建立连接的init消息。继续上面的示例,如果接收到具有源ip地址r-ip-x和r-ip-y且源sctp端口为r-port的sctpinit消息,并且连接负载平衡器在其关联数据库中找到匹配的条目,那么连接负载平衡器150会将init消息转发到指派的消息处理器。指派的消息处理器可以接收init消息,并且取决于sctp关联状态机的当前状态来处理或丢弃init消息。

返回图7,在步骤c5中,指派的消息处理器接受连接并将响应直接通过边界网关156发送到远程对等方。连接负载平衡器150不在出口消息的路径中。

图8是图示由连接负载平衡器150对后续消息的处理的消息流程图。如上所述,术语“后续消息”是指除连接建立消息以外的消息。参考图8,在步骤d1中,sigtran消息从远程客户端104到达边界网关156。sigtran消息以目的地ip地址ip-stp-a和ip-stp-b、源ip地址r-ip-x和r-ip-y以及目的地端口p1到达链路l1。

在步骤d2中,边界网关156使用来自消息的ip地址ip-stp-a和ip-stp-b查询其mac表并识别来自连接负载平衡器150的mac地址。在步骤d2中,边界网关156将sigtran消息转发到连接负载平衡器150。

在步骤d3中,连接负载平衡器150查询其关联数据库,以确定接收到的消息是否与已经指派给stp100的消息处理器的sigtran连接相关联。如上所述,关联数据库是由连接负载平衡器150维护的数据库,以跟踪sigtran连接(sctp关联)到stp消息处理器的指派。关联数据库中用于将sigtran连接与消息处理器相关联的参数可以包括源ip地址和源端口。在这个示例中,确定端口p1上具有远程ip地址r-ip-x的消息与stp消息处理器stp-mp-i相关联。在步骤d4中,连接负载平衡器150将消息转发到消息处理器stp-mp-i。在步骤d5中,消息处理器stp-mp-i接受数据(或其它后续)消息并经由边界网关通过相同的sctp关联将响应直接发送到远程对等方,而无需通过连接负载平衡器150。连接负载平衡器150接收到的针对其在关联数据库中找不到关联条目的后续消息被丢弃。

图9是图示在ss7消息处理器重新连接之后由连接负载平衡器执行的操作的网络图。参考图9,在步骤1中,stp100的消息处理器出现故障。在步骤2中,连接到发生故障的消息处理器的ss7链路也出现故障。在步骤3中,远程ss7对等方104尝试链路1的重新连接。使用由发生故障的消息处理器使用的相同ip地址执行重新连接。连接负载平衡器150基于上述连接分配算法将连接请求重新路由到可用消息处理器之一。

图10是连接负载平衡器150和stp100的框图。参考图10,连接负载平衡器150包括分别用于网络a和b的以太网接口152a和152b。连接负载平衡器还包括至少一个处理器154。sigtran连接分配器155可以在处理器154上执行以执行本文描述的用于在stp100的消息处理器1021-102n之间分配sigtran连接的步骤。

stp100包括消息处理器1021-102n。每个消息处理器包括分别连接到网络a和b的以太网接口106a和106b。每个消息处理器1021-102n还可以包括处理器158和ss7/sigtran功能159。ss7/sigtran功能159可以执行ss7功能(诸如基于点代码路由消息)以及sigtran功能(诸如与远程对等方设置多宿主sctp关联)。每个消息处理器1021-102n可以是物理消息处理器或虚拟消息处理器。作为物理消息处理器,每个消息处理器1021-102n可以是通过诸如总线或底板之类的通信介质162连接到stp100中其它印刷电路板的印刷电路板。作为虚拟实体,每个消息处理器1021-102n可以表示在云计算硬件上的管理程序上运行的虚拟机。因此,本文描述的主题包括在真实或虚拟stp中的真实或虚拟消息处理器之间分配连接。

图11是图示用于在stp消息处理器之间分配sigtran连接的示例性处理的流程图。参考图11,在步骤200中,连接负载平衡器将其用于连接负载平衡的ip地址发布到远程对等方。可以通过广播免费arp消息以将要进行负载平衡的ip地址与连接负载平衡器的mac地址相关联来执行这个步骤。如果使用ipv6,那么可以通过将icmpv6邻居发现消息广播到相邻节点来执行步骤200。

在步骤202中,stp的消息处理器被配置有ip地址作为环回接口上的别名。消息处理器还被配置为侦听ip地址。使用环回接口,以便消息处理器不会广播与ip地址有关的icmpv6邻居发现或arp消息。

在步骤204中,在连接负载平衡器处接收到sigtran消息。sigtran消息可以是sctp消息,诸如sctp控件或数据块。sctp消息可以在m3ua有效载荷上携带ss7或在sigtran有效载荷上携带其它ss7。

在步骤206,确定消息是初始消息还是后续消息。确定消息是初始消息还是后续消息可以包括检查消息的sctp块类型字段。块类型字段携带识别sctp消息类型的代码。值0x01指示块类型为init或初始化。块类型0x00指示块类型是数据,或者消息携带使用sctp连接的应用的数据。其它感兴趣的块类型可以包括识别cookie回显消息的0x0a,该消息是用于建立sctp关联的握手过程的一部分。

如果在步骤206中消息被确定为初始消息,那么控制前进到步骤206a,在此确定是否已将消息处理器指派给连接。确定是否已将消息处理器指派给连接可以包括使用消息中的源ip地址和源sctp端口查询由连接负载平衡器150维护的关联数据库。如果匹配的记录位于关联数据库中,那么确定已将消息处理器指派给连接。如果记录不位于关联数据库中,那么确定尚未将消息处理器指派给连接。

如果消息是初始消息并且已经将消息处理器指派给连接,那么控制前进到步骤208,在此将消息转发到指派给连接的消息处理器。指派的消息处理器上的sctp关联状态机将处理状态消息,诸如已为其建立连接的init消息。如果消息是初始消息并且尚未将消息处理器指派给连接,那么控制前进到步骤210,在此初始化消息旨在针对其发起建立的sigtran连接被指派给消息处理器之一并导致在指派的消息处理器与远程ss7对等方之间的sctp/sigtran连接建立。sctp连接建立涉及从指派的消息处理器向ss7对等方发送init确认消息。然后,ss7对等方经由连接负载平衡器将cookie-echo消息发送到指派的消息处理器。连接负载平衡器将通过sctp关联从ss7对等方接收到的cookie-echo、数据和其它非init消息视为用于sctp关联的后续消息。

将sigtran连接指派给消息处理器之一可以包括应用上述负载平衡算法,以基于组计数识别连接分配候选,该组计数指示具有sigtran连接的消息处理器的相对加载,然后使用选择算法选择连接分配候选之一。因为负载平衡算法识别具有相似sigtran连接加载的连接分配候选,所以选择算法可以是任何合适的选择算法,诸如随机选择、循环选择等。一旦选择了消息处理器,与将sigtran连接指派给消息处理器相关联的最终步骤就包括在由连接负载平衡器150维护的关联数据库中创建记录,该记录将消息中的源ip地址和源sctp端口号与指派的stp消息处理器相关联。在将连接指派给stp消息处理器之一之后,控制前进到步骤210,在此消息被转发到指派的消息处理器。

返回到步骤206,如果消息被确定为后续消息,那么控制前进到步骤206b,在此确定是否已将消息处理器指派给后续消息与之相关联的sigtran连接。如上所述,后续消息的示例包括sctp数据和控制消息(init消息除外)。确定是否已将消息处理器指派给后续消息可以包括使用消息中的源ip地址和源sctp端口号在由连接负载平衡器150维护的关联数据库中执行查找。如果匹配项位于数据库中,那么可以确定连接已指派给消息处理器之一。如果匹配项不位于关联数据库中,那么可以确定连接未指派给消息处理器之一。

如果消息是用于未为其指派stp消息处理器的sigtran连接的后续消息,那么控制前进到步骤207b,在此消息被丢弃。如果消息是用于已为其指派消息处理器的sigtran连接的后续消息,那么控制前进到步骤210,在此消息被转发到先前指派给sigtran连接的消息处理器。

因此,使用本文描述的步骤,可以将真实和虚拟stp消息处理器无缝地添加到网络或从网络中移除,而无需使用新ip地址重新配置远程节点。连接负载平衡器还平衡stp中消息处理器的加载。本文描述的主题可以被用于在真实或虚拟stp消息处理器之间分配消息。

将理解的是,在不脱离本公开主题的范围的情况下,可以改变本公开主题的各种细节。此外,前述描述仅出于说明的目的,而非出于限制的目的。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1