用于线路卡冗余的分组序列号同步的制作方法

文档序号:7909664阅读:168来源:国知局
专利名称:用于线路卡冗余的分组序列号同步的制作方法
技术领域
在此公开的本发明通常涉及电信网络的冗余机制,更具体地,涉及网络节点中活动卡与非活动卡之间的序列号的同步。
背景技术
在许多传统的电信网络中,网络中两个节点之间的传输使用时分复用(TDM)完成。TDM将多个数据流结合成一个信号,从而允许数据流共享数据路径中的物理线路,而不相互干扰。更具体地,顾名思义,TDM将信号分成多个段,每一段构成固定的时间长度。由于发送节点以循环重复的顺序将数据分配给段,因此,接收节点能可靠地在传输介质的另一端分离数据流。然而,随着现代分组交换网络的快速发展,TDM已逐渐不再成为受欢迎的最佳技术。例如,由于VoIP的灵活性、易于实现和成本的降低,基于因特网协议的语音(VoIP)服务已取代许多基于TDM的服务。不幸的是,转换到基于IP的服务要求服务提供商在扩展其基础设施和替换用户驻地设备方面承担大量的费用。由于巨大的初期投资,许多服务提供商一直不愿从基于TDM的服务转换到分组交换网络中的对应服务。TDM伪线允许服务提供商逐步转换到分组交换网络,消除替换基于 TDM的设备和不支持传统服务的需要。特别地,在TDM伪线的入口端上,节点将TDM信号转换成多个分组,然后通过基于分组的路径或伪线发送这些分组。在接收到分组后,出口端上的节点将分组转换回TDM信号,并将TDM信号向其最终目的地转发。如同任何连接一样,特定TDM伪线的可靠性通常非常重要。在这些情形下,负责通过TDM伪线发送分组的源节点可包括冗余的线路卡,以致非活动卡可在活动卡故障时重新开始分组转发。然而,现有的实现不能在与在活动卡和非活动卡中生成的分组相关联的TDM 伪线序列号之间维持一致性。因此,当非活动卡在活动卡故障时重新开始处理时,这些实现将引入序列号的“跳跃”。该序列号中的不一致性可导致在目的地节点的严重后果,包括分组的丢失和在某些情况下伪线的重启。类似的问题在使用多链路点对点协议(MLPPP)时出现,MLPPP允许节点聚合多个链路,以致多个链路作为单个更高性能的链路运行。MLPPP允许节点将多个连接的资源集合在一起,从而增加可用的带宽。如同使用TDM伪线一样,MLPPP连接也需要序列号用于正确的操作。再者,当在MLPPP系统中提供冗余时,现有的方案不能在活动卡和非活动卡之间正确地同步序列号。由于前述原因和在阅读和理解本说明后对本领域的普通技术人员显然的其它原因,需要在用于通过TDM伪线或MLPPP捆束(MLPPP bundle)发送分组的节点中的活动线路卡和非活动线路卡之间同步分组序列号。

发明内容
根据当前对在TDM伪线或MLPPP节点中的冗余线路卡之间同步序列号的需要,提出了多个示例性实施例的简要概括。在下面的概括中,可能进行某些简化和省略,其意在强调和介绍多个示例性实施例的某些方面,但并不是限定本发明的范围。足够允许本领域的普通技术人员制造和使用该创新性概念的优选示例性实施例的详细说明将在后面的部分多种示例性实施例涉及实现冗余卡并被配置为同步序列号的网络节点和相关的方法。网络节点可包括被配置为向目的地路由分组的结构。另外,网络节点可包括活动卡, 其被配置为建立去往至少一个目的地节点的至少一个链路,对将要发送的每个分组生成序列号,并通过结构中的数据路径中的通信信道将包括至少一个序列号的消息分组从活动卡发送到非活动卡。最后,网络节点可包括非活动卡,其被配置为通过通信信道从活动卡接收包括至少一个序列号的消息分组,从消息分组中提取至少一个序列号,并使用至少一个序列号将非活动卡的操作同步于活动卡。因此,多个示例性实施例能够实现网络节点中的非活动卡和活动卡之间的序列号的有效同步。更具体地,多个示例性实施例通过网络节点中的路由或交换结构中的数据路径中的通信信道将包含序列号更新的消息分组从活动卡发送到非活动卡。使用交换或路由结构而不是控制平面允许非活动卡将分组的生成紧密地同步于在活动卡中使用的序列号, 因为数据平面比控制平面快得多。活动卡和非活动卡之间序列号的紧密同步最小化在发生活动切换时的延迟和数据丢失。


为了更好地理解多个示例性实施例,对附图进行标记,其中图IA是在活动卡和非活动卡之间的活动切换之前的用于模拟分组交换网络上的 TDM的示例性系统的示意图;图IB是在活动卡和非活动卡之间的活动切换之后的用于模拟分组交换网络上的 TDM的示例性系统的示意图;图2Α是在活动卡和非活动卡之间的活动切换之前的包括实现多链路点对点协议的节点的实例性系统的示意图;图2Β是在活动卡和非活动卡之间的活动切换之后的包括实现多链路点对点协议的节点的实例性系统的示意图;图3是在图1Α、1Β、2Α和2Β的节点中使用的示例性卡的内部组件的示意图;图4Α是由非活动卡向活动卡发送以请求与一个或多个所识别的链路相关联的序列号的实例性消息的示意图;图4Β是用于将与单个链路相关联的序列号从活动卡发送到非活动卡的示例性消息的示意图;图4C是用于将与多个链路相关联的序列号从活动卡发送到非活动卡的示例性消息的示意图;图4D是用于将与多个连续的链路相关联的序列号从活动线路卡发送到非活动线路卡的示例性消息的示意图;图5是用于在网络节点中的非活动卡和活动卡之间同步序列号的示例性方法的流程图。
具体实施例方式现在参照附图,其中相同的数字表示相同的组件或步骤,公开多个示例性实施例的更多方面。图1是在活动卡123和非活动卡124的活动切换之前的用于模拟分组交换网络 130上的TDM的示例性系统100的示意图。在多个示例性实施例中,系统100包括TDM发射机110以及包括接口 121、活动卡123、非活动卡124、交换或路由结构127和网络接口卡 128的网络节点120。系统100还可包括分组交换网络130、TDM伪线135、网络节点140和 TDM接收机150。TDM发射机110可以是任何适用于生成并发送TDM信号的设备。因此,TDM发射机 110例如可以是无线基站,其包括有线线路接口以将TDM数据流转发到节点120。例如,TDM 发射机110可以是3G网络中的节点B或在全球移动通信系统O^SM)网络、通用移动电信系统(UMTS)网络、长期演进(LTE)网络或其它无线或非无线网络中的另一个基站收发信机。 TDM发射机110还可以是用于实现准同步数字体系(PDH)、同步数字体系(SDH)、同步光纤网 (SONET)、T1/E1有线线路的组件,或对于本领域的普通技术人员显而易见的适当替代物。节点120可以被配置为从TDM发射机110接收TDM信号,然后将信号转换成多个分组以用于通过分组交换网络130传输。因此,节点120可以是包括能够通过TDM伪线135 通信的功能的网络单元,诸如路由器或交换机。节点120可包括接口 121,其从TDM发射机110接收数据。更具体地,接口 121可将数据转发到活动卡123和非活动卡124,用于处理并转发到适当的目的地。节点120还可包括活动卡123,其接收传输到接口 121的数据。活动卡123可与节点140建立链路,如所示的,该链路可以是TDM伪线135。当TDM发射机110发送TDM数据通过节点120时,活动卡123通过接口 121接收数据流,执行处理以将TDM数据转换成多个分组125a,然后,将分组12 发送到结构127,用于路由或交换到目的地节点,其可以是节点 140。当根据TDM数据流生成分组时,活动卡123可对每个分组12 生成序列号。更具体地,由于节点140必须对分组12 重新排序以重构对应的TDM数据流,因此,活动卡123 可生成表明它生成分组的顺序的值。该值可以是例如表明活动卡123生成分组的顺序的整数,以致该整数在每次活动卡123生成新的分组时增加。每个序列号可包括在通过TDM伪线135传输的对应的分组中。活动卡123还可被配置为通过结构127中的数据路径中的通信信道向非活动卡 1 发送一个或多个消息分组126a。更具体地,分组126a可指示由活动卡123生成的一个或多个序列号的值和对应的伪线的标识符(例如,标识TDM伪线135的整数),以致非活动卡134可以将其操作同步于活动卡123。这些分组126a的发送可通过初始化非活动卡134、 或在接收到来自非活动卡124的请求后、或以固定的间隔或在活动卡123所确定的某个时间触发。非活动卡IM可被配置为与活动卡123类似。更具体地,非活动卡IM可通过接口 121接收由TDM发射机110发送的数据。在正常运行中(即,活动卡未出现故障),非活动卡IM生成并发送分组12 ,但这些分组在离开节点120之前在某个点终止。因此,这些分组可在结构127处、在网络接口卡1 处或在节点120中的任何其它点处终止。另外,非活动卡IM可以被配置为通过结构127从活动卡123接收消息分组U6a。 如上所述,这些分组可指示由活动卡123生成的最新的序列号和对应的链路的标识符。可选择地,非活动卡1 可发送向活动卡123请求更新的分组126b。这些消息的示例性分组格式将在下面参照图4A-4D进行详细说明。在从活动卡123接收到消息分组126a后,非活动卡IM可提取包含在分组中的信息,以致非活动卡1 可将其操作同步于活动卡123。具体地,非活动卡IM可识别链路和它的对应的序列号,然后在生成该链路的分组时使用这些序列号。作为例子,非活动卡IM可以接收表明与通过TDM伪线135发送的分组相关联的序列号的消息。然后,非活动卡IM可根据该序列号生成分组。例如,非活动卡IM可生成以该序列号开始的分组、在该序列号加1处的分组、在该序列号减1处的分组或在任何其它相对于所接收的序列号的值处的分组。作为另一个例子,根据有关分组生成的速率的信息, 非活动卡1 可以使用所接收的序列号估计在活动卡123处序列号的当前值,然后在该值处开始生成序列号。该估计将根据链路的类型变化,因此,合适的估计对于本领域的普通技术人员来说是显而易见的。作为该同步的结果,由非活动卡124生成的随后的分组包含基本等于活动卡IM 所发送的分组的序列号。因此,在活动卡123故障时,非活动卡124(现在是活动的)可以立即重新启动活动卡123的操作,而在节点140或TDM接收机150处很少甚至没有数据丢失。显然,由于消息分组U6a、126b通过结构127发送,而不使用控制平面消息发送, 因此,非活动卡1 可维持活动卡123所使用的最新序列号的较高准确指示。更具体地,通过数据平面发送分组U6a、126b极大最小化了与控制平面消息发送相关的延迟,以致在非活动卡IM处接收的值紧密地对应于活动卡123所使用的当前序列号。特别地,由于以相对低的速率生成用于TDM伪线135的分组,因此,通过数据平面发送消息允许非活动卡IM 接收活动卡123所生成的相对新的序列号。如上所述,在分组以较高速率生成的例子中,非活动卡IM可以估计自生成序列号开始由活动卡123生成的序列号的数量,然后将该数量加到序列号上以获得序列号的当前估计值。使用这些过程,取决于实现,在活动卡123中的当前序列号和在非活动卡IM处接收的序列号的最新值之间的差小于或等于2。然而,显然,取决于实现,大于2的值仍可提供所要求的同步。因此,非活动卡1 在重新开始活动卡123的操作后立即开始发送分组,而在节点140和TDM接收机150处很少或没有分组丢失。另外,显然,活动卡123和非活动卡IM的上述说明旨在提供系统100中这些组件的功能的概况。示例性卡的内部组件在下面参照图3进一步地描述。分组交换网络130可以是任何根据基于分组的协议运行的网络。因此,网络130可例如根据传输控制协议/因特网协议(TCP/IP)、多协议标签交换(MPLQ、以太网Ethernet、 运营商骨干网传输(PBT)或任何其它对于本领域的普通技术人员显而易见的适合的基于分组的协议运行。系统100还可包括TDM伪线135,用于通过分组交换网络130在节点120和节点 140之间传输数据。更具体地,TDM伪线135可包括分组交换网络130中的一个链路,用于传输模拟TDM信号的多个分组。显然,尽管描述为仅包括一个TDM伪线135,但系统100可包括起始于节点120并终止于节点140或某个节点的多个TDM伪线。节点140可以可变的速率通过TDM伪线135接收从节点120发送的分组。然后, 节点140可将分组转换回TDM信号,用于将信号传输到TDM接收机150。系统100还可包括TDM接收机150,其从节点140接收所输出的TDM信号。因此, TDM接收机150例如可以是用户驻地设备、节点或任何其它被配置为接收和/或处理TDM信号的组件。图IB是在活动卡123(现在是非活动的)和非活动卡124(现在是活动的)之间的活动切换之后的用于模拟分组交换网络130上的TDM的实例性系统100的示意图。如图 IB中的伪线135所采用的路径所指示的,活动切换已经在活动卡123和非活动卡IM之间发生。该活动切换可由多个情形中的任何一个触发,包括在先活动卡123的故障和维护。如上面参照图IA进一步详细说明的,在活动切换后,非活动卡124(现在是活动的)重新开始通过TDM伪线135的分组转发操作。更具体地,非活动卡IM开始通过TDM伪线135向目的地节点140转发分组12恥。由于非活动卡IM先前接收了由活动卡123 (现在是非活动的)最近生成的序列号的指示,因此,非活动卡1 可生成具有等于或接近本应由活动卡123分配的值的序列号的分组12恥。因此,在成为活动的之后,非活动卡IM可在 TDM伪线135上以与如果活动卡123保持活动则本应由活动卡123使用的基本相同的序列号重新开始数据传送。这最小化对节点140的影响,从而减少数据丢失并降低伪线135重启的可能性。相反,已知系统中的卡会使用独立确定的序列号发送分组,从而引起在目的地节点丢失数据的可能性并可能使TDM伪线的高成本重启成为必然。显然,上述关于使用TDM伪线的系统100的操作的说明是示例性的。因此,在多个示例性实施例中,系统100可被修改以与任何需要序列号的系统一起运行。例如,如将在下面参照图2A和2B更详细说明的,节点120可以被修改以根据多链路点对点协议(MLPPP) 运行。图2A是在活动卡223和非活动卡2 之间的活动切换之前的包括实现多链路点对点协议的节点220的示例性系统200的示意图。在多个示例性实施例中,系统200包括发射机210、分组交换网络215、接收机230以及包括接口 221、活动卡223、非活动卡224、交换或路由结构227和网络接口卡228的网络节点220。以下系统200的描述旨在提供这种系统200的组件的概况。这些组件与上面参照图IA和2B更详细描述的对应组件类似地实现。因此,通过在下面应用图IA和IB的描述的相关部分,可以获得对系统200的进一步理解。通常,发射机220可生成分组以用于通过分组交换网络215传输到节点220分组。 这些分组可以在节点220处接收,并通过网络接口卡2 和结构227传输到活动卡223和非活动卡224,其中,活动卡223接收分组的副本225c,非活动卡2 接收分组的副本225d。 然后,活动卡223可生成多个分组22 ,以用于在MLPPP捆束2 上通过接口 221发送到接收机230。非活动卡2 还可以生成多个分组22 ,但这些分组将在离开节点220之前的某个点被终止。活动卡223还被配置为利用多链路点对点协议通过多个物理链路(称为捆束) 传输分组。因此,节点220的组件可以遵循由因特网工程任务组发布的请求评议1717(RFC1717) "PPP多链路协议”。为了标识分组,以致接收机230可重新组合通过MLPPP捆束2 接收的数据,活动卡223可对每个分组生成序列号。特别地,活动卡223可生成表明分组在给定捆束中通过多个物理链路发送的顺序的序列号。活动卡223可生成包括每个MLPPP捆束2 或MLPPP捆束类(bundle class)的当前序列号的消息分组226a。如上所述,这可由活动卡223或在从非活动卡2M接收到请求分组226b后触发。在通过结构227的数据平面接收到消息分组226a后,非活动卡2M 可将序列号的生成同步于活动卡223,如以上更详细描述的。特别地,非活动卡2M可生成用于每个MLPPP捆束2 或MLPPP捆束类的分组,其以使用从活动卡223接收的序列号确定的起始序列号开始。图2B是在活动卡223(现在是非活动的)和非活动卡224(现在是活动的)之间的活动切换之后的包括实现多链路点对点协议的节点220的示例性系统200的示意图。如在节点220和接收机230之间的MLPPP捆束2 所采用的路径所指示的,活动切换已经在活动卡223和非活动卡2M之间发生。如上面参照图IA更详细描述的,在活动切换后,非活动卡224(现在是活动的)重新启动节点220和接收机230之间通过MLPPP束229的分组转发操作。由于非活动卡2 先前接收了活动卡223最近生成的序列号的指示,因此,非活动卡2M可以生成具有等于或接近本应由活动卡223分配给对应的MLPPP捆束2 或MLPPP捆束类的值的序列号的分组 2^b。图3是用于在图1A、1B、2A和2B的系统100、200中使用的示例性卡300的组件的示意图。卡300可作为系统100、200中的活动卡123、223或非活动卡124、2M运行。在多个示例性实施例中,卡300包括接收机310、序列号生成模块320、分组形成模块330、处理器 340和发射机350。如将根据以下的说明显而易见的,这些组件中的每一个都可以与一个或多个其它组件进行通信以实现卡300的功能。接收机310可包括被配置为接收数据的硬件和/或在机器可读存储介质上编码的软件。因此,接收机310可包括一个或多个接口以从硬件接口 121或结构227接收分组和其它数据。当卡300是活动卡123、223时,卡310可被配置为从非活动卡1M、2M接收包含序列号请求的消息分组126b、2^b。相反,当卡300是非活动卡124、224时,接收机300 可被配置为从活动卡123、223接收包含序列号的消息分组126a、2^a。显然,为了简化起见,接收机310被表示和描述为单个模块;在运行时,接收机310可在卡300中包括多个单独的组件。序列号生成模块320可包括被配置为对将要通过诸如伪线或MLPPP捆束或捆束类的通信链路发送的每个分组生成序列号的硬件和/或在机器可读存储介质上编码的软件。 每个卡300可包括用于每个伪线或MLPPP捆束或捆束类的序列号生成模块。当卡300是活动卡123、223时,序列号生成模块320可对每个分组生成表明分组生成的顺序的序列号。例如,该序列号可以是表明卡300生成分组的顺序的整数,以致该整数在每次卡300生成新的分组时增加。每个序列号可以被包括在由分组形成模块330生成的对应的分组中。当卡300是非活动卡1M、2M时,序列号生成模块320可执行类似的功能。然而, 在生成序列号时,序列号生成模块320可在接收机310从活动卡123、223最新接收的序列号处或从中导出的序列号处开始分配序列号,以致非活动卡124、2M将其操作同步于活动卡123、223。该序列号的同步可对每个伪线或每个MLPPP捆束或MLPPP捆束类执行。分组形成模块330可包括被配置为生成并发送分组的硬件或在机器可读存储介质上编码的软件。因此,当卡300用于模拟分组交换网络上的TDM数据流时,分组形成模块 330可从接收机310接收数据和从序列号生成模块320接收序列号,然后,使用该信息以生成用于使用发射机350传输的分组。分组形成模块330还可用于生成用于在活动卡123、223和非活动卡1M、2M之间交换序列号的分组。因此,当卡300是活动卡123、223时,分组形成模块330可生成包括一个或多个序列号和对应的链路的标识符的消息分组。相反,当卡300是非活动卡1M、2M 时,分组形成模块330可生成包括向活动卡123、223请求更新后的序列号的请求的消息分组。这些消息的示例性分组格式在下面参照图4A-4D详细描述。处理器340可用于执行其它实现卡300的功能所必需的操作。处理器340可以是网络处理器、现场可编程门阵列(FPGA)、通用微处理器、用指令编码的机器可读介质或任何类似设备。处理器240可执行计算,控制其它组件的操作,并执行分组处理和转发操作。发射机350可包括被配置为接收数据的硬件和/或在机器可读存储介质上编码的软件。因此,发射机350可包括一个或多个接口以将分组和其它数据传输到交换或路由结构127或接口 221。当卡300是活动卡123、223时,发射机350可被配置为向非活动卡1M、2M发送包含序列号的消息分组126a、2^a。相反,当卡300是非活动卡124、224时,发射机350可被配置为向活动卡123、223发送包含序列号请求的消息分组126b、2^b。将在下面详细描述的图4A-4D表示用于在活动卡123、223和非活动卡1M、2M之间交换序列号和序列号请求的多个消息。显然,这些消息的结构是示例性的,并且消息可在不同的装置中用相同的信息形成,或者可选择地,消息可包括不同字段以实现相同的目的。图4A是由非活动卡1M、2M发送到活动卡123、223以请求与一个或多个所识别的链路相关联的序列号的示例性消息400的示意图。在多个示例性实施例中,在初始化或在非活动卡1M、2M要求更新后的序列号的任何其它时间,非活动卡124、224发送消息 400。消息400可包括报头402,其包括将消息400从非活动卡1M、2M交换或路由到活动卡123、223所需的信息。因此,报头402可包括目的地IP地址和端口或任何其它足够结构127将消息400交换或路由到活动卡123、223的信息。在报头402中包括的合适字段对于本领域的普通技术人员来说是显而易见的。消息400还可包括消息标识符404,其表明由非活动卡124、224发送的消息的类型。因此,消息标识符404可以是例如整数、字符串或其它任何字母数字值,假设活动卡 123、223能可靠地识别消息的类型。如图4A所示,消息ID 404是“请求N个非连续的链路序列号”,表明非活动卡124、2M要求更新具有非连续的标识符的多个链路。消息ID 404 也可以是“请求单个链路序列号”,其表明需要单个链路的序列号,或者也可以是“请求批量 N个链路序列号”,其表明需要具有连续标识符的多个链路的序列号。再者,消息ID 404的适当变形对于本领域的普通技术人员来说是显而易见的。最后,消息400可包括一系列链路标识符406、408、410、412。因此,当请求是用于具有非连续的标识符的多个链路时,消息400可包括具有用于要求序列号的每个链路的标识符的字段。可选择地,当只要求用于一个链路的序列号时,消息400可包括具有一个标识符的单个字段。作为另一个可选,当请求是用于具有连续标识符的多个链路时,消息400可包括两个字段,一个表明最低标识符,而另一个表明最高标识符。图4B是用于将与单个链路相关联的序列号从活动卡123、223发送到非活动卡 124,224的示例性消息420的示意图。在多个示例性实施例中,活动卡123、223在从非活动卡124、2M接收到请求400后、或在初始化非活动卡124、2M后、或以固定的间隔或在任何其它由活动卡123、223确定的时间发送消息420。消息420可包括消息报头422,其包括将消息420从活动卡123、223交换或路由到非活动卡1M、2M所需的信息。因此,报头422可包括目的地IP地址和端口或任何其它足够结构127将消息420交换或路由到非活动卡124、224的信息。消息420还可包括消息标识符424,其表明消息420涉及单个链路的更新。标识符 4M可以是整数、字符串或任何其它字母数字值,假设非活动卡1M、2M能可靠地将消息识别为包括与单个链路相关联的序列号的更新。最后,消息420可包括三个字段,其包含关于活动卡123、223所管理的链路的信息。特别地,消息420可包括链路标识符字段426,其可包含唯一地标识诸如TDM虚链路或 MLPPP捆束或MLPPP捆束类的链路的字母数字值。消息420还可包括序列号字段428,其可包含用于所识别的链路的由活动卡123、223生成的最新序列号。最后,消息420可包括链路信息字段430,其可包含任何其它关于链路的相关信息。包含在链路信息字段430中的适当信息对于本领域的普通技术人员来说是显而易见的。图4C是用于将与多个连续链路相关联的序列号从活动线路卡123、223发送到非活动线路卡1M、2M的示例性消息440的示意图。在多个示例性实施例中,活动卡123、223 在从非活动卡124、2M接收到请求400后、或在初始化非活动卡124、2M后、或以固定的间隔、或在任何其它由活动卡123、223确定的时间发送消息440。如消息420 —样,消息440可包括消息报头442,其包括将消息440从活动卡123、 223交换或路由到非活动卡1M、2M所需的信息。因此,报头442可包括目的地IP地址和端口或任何其它足够结构127将消息440交换或路由到非活动卡124、224的信息。消息440还可包括消息标识符444,其表明消息440涉及多个链路的批量更新。标识符444可以是整数、字符串或任何其它字母数字值,假设非活动卡124、2M能可靠地将消息识别为包括与具有连续标识符的多个链路相关联的序列号的更新。最后,消息440可包括多个字段,其包含关于活动卡123、223所管理的链路的信息。因此,链路标识符字段446、448可分别表明包括序列号更新的链路的第一和最后一个链路标识符。序列号字段450、452、454,456可分别包含由活动卡123、223对第一、第二、第 N和最后一个链路生成的最新序列号。最后,链路信息字段456、458、460、462可分别包含第一、第二、第N和最后一个链路的其它信息。图4D是用于将与多个链路相关联的序列号从活动线路卡123、223发送到非活动线路卡1M、2M的示例性消息470的示意图。在多个示例性实施例中,活动卡123、223在从非活动卡1M、2M接收到请求400后、或在初始化非活动卡1M、2M后、或以固定的间隔、 或在任何其它由活动卡123、223确定的时间发送消息470。如消息420、440 —样,消息470可包括消息报头472,其包括将消息470从活动卡123、223交换或路由到非活动卡1M、2M所需的信息。因此,报头472可包括目的地IP地址和端口或任何其它足够结构127将消息470交换或路由到非活动卡124、224的信息。消息470还可包括消息标识符474,其表明消息470涉及N个非连续的链路的更新。标识符474可以是整数、字符串或任何其它字母数字值,假设非活动卡1M、2M能可靠地将消息识别为包括与具有非连续的标识符的多个链路相关联的序列号的更新。最后,消息470可包括多个字段,其包含关于活动卡123、223所管理的链路的信息。因此,链路标识符字段476、480、486可分别表明包括序列号更新的链路的第一、第二和最后一个链路标识符。序列号字段478、482、488可分别包含由活动卡123、223对第一、第二和最后一个链路生成的最新序列号。如字段484所指示的,消息470可包括多个其它链路标识符对和对应的序列号。最后,链路信息字段490、492、494可包含每个链路的其它信肩、ο图5是用于在网络节点120中的活动卡123、223和非活动卡1M、2M之间同步序列号的示例性方法500的流程图。示例性方法500从步骤510开始,进行到步骤520,在该步骤,至少一个链路在网络节点120、220和诸如节点140或接收机230的目的地节点之间建立。链路例如可以是一个或多个TDM伪线或MLPPP捆束中的物理链路。当在步骤520建立链路后,示例性方法500进行到步骤530,在该步骤,活动卡 123,223对于将要由网络节点120、220通过在步骤520建立的链路发送的每个分组生成序列号。该序列号例如可以是整数值,其对于由节点120、220通过指定链路发送的每个分组增加。然后,示例性方法500进行到步骤M0,在该步骤,数据路径上的通信信道通过结构127、227在活动卡123、223和非活动卡1M、2M之间建立。如以上详细描述的,数据路径上的通信信道允许活动卡123、223和非活动卡1M、2M交换信息而无需使用控制平面消息传送,控制平面消息传送非常慢并消耗大量的资源。然后,示例性方法500进行到步骤550,在该步骤,活动卡123、223通过在步骤540 建立的数据路径上的通信信道发送分组,分组包括对一个或多个链路生成的最新序列号。 如上所述,该分组可在从非活动卡1M、2M接收到请求后、或在初始化非活动卡1M、2M 后、或以固定的间隔或在任何由活动卡123、223确定的时间发送。这些分组中的每一个可以是在图4B、4C或4D中描述的格式之一或其某些变形。如以上详细描述的,从活动卡123、223发送到非活动卡124、224的分组可包括序列号的值和标识与序列号对应的链路的值。另外,分组可包括关于网络节点120220与一个或多个目的地节点之间的多个链路(例如,多个TDM伪线或一个或多个MLPPP捆束中的多个链路)的信息。在这些情况下,活动卡123、223可例如使用图4B中描述的格式发送用于多个链路的每一个的单独分组。可选择地,活动卡123、223可使用在图4C或图4D中描述的格式或其某些变形发送包括用于多个链路的每一个的信息的单个分组。然后,示例性方法500进行到步骤560,在该步骤,非活动卡1M、2M从由活动卡 123、223发送的分组中提取序列号。更具体地,非活动卡1M、2M可解析分组以确定消息的类型和在消息中期望什么字段。然后,非活动卡1M、2M可提取链路标识符、对应的序列号和包含在分组中的其它信息。在从分组中提取序列号之后,示例性方法500进行到步骤570,在该步骤,非活动卡1M、2M将其操作同步于活动卡123、223。更具体地,对于每个链路,非活动卡1M、2M 可向分组分配以根据所接收的序列号确定的值开始的序列号,以致由非活动卡124、224生成的随后的分组包含大致等于由活动卡123、223发送的分组的序列号。如以上详细描述的,起始值可根据在活动卡123、223中生成分组的速率确定或估计。然后,示例性方法500进行到步骤580,在该步骤,在活动卡123、223故障后,非活动卡1M、2M重新启动活动卡123、223的操作。更具体地,在步骤570中生成的分组可通过结构127或接口 221发送,并被交换或路由到适当的目的地。显然,由于非活动卡124、 2M使用从活动卡123、223接收的序列号更新生成分组,因此,非活动卡1M、2M可立即重新启动活动卡123、223的操作,而在目的地节点很少甚至没有数据丢失。然后,示例性方法500进行到步骤590,在该步骤,示例性方法500结束。显然,为了易于说明,方法500被描述为包括多个连续步骤。因此,在实施方法500中,这些步骤中的一个或多个可由不同单元并行执行或以不同的顺序执行。根据前面的内容,多个示例性实施例能够实现网络节点中的非活动卡和活动卡之间的序列号的有效同步。更具体地,多个示例性实施例通过网络节点的路由或交换结构中的数据路径上的通信信道将包含序列号更新的消息分组从活动卡发送到非活动卡。使用交换或路由结构而不是控制平面允许非活动卡将分组的生成紧密地同步于在活动卡中使用的序列号,并在活动切换发生时最小化延迟和数据丢失。显然,根据上述说明,本发明的多个示例性实施例可在硬件、固件和/或软件中实现。另外,多个示例性实施例可被实现为在机器可读存储介质上存储的指令,其可由至少一个处理器读取和执行以执行在此详细描述的操作。机器可读存储介质可包括任何用于以诸如计算机、网络节点、路由器、交换机或类似设备的机器可读的形式存储信息的机制。因此, 机器可读存储介质可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光盘存储介质、闪存设备和类似的存储介质。尽管已经特别参照本发明的某些示例性方面详细描述了多个示例性实施例,但应当理解,本发明能够用于其它实施例,其细节能够在多个显然的方面修改。如对于本领域的普通技术人员显而易见的,可以实现各种变形和修改,而处在本发明的精神和范围内。因此,上述公开、描述和图仅用于说明的目的,在任何情况下都不限定本发明,本发明仅由权利要求限定。
权利要求
1.一种用于在网络节点中的非活动卡与活动卡之间同步序列号的方法,包括 在所述网络节点和至少一个目的地节点之间建立至少一个链路;在所述活动卡中生成至少一个序列号,其中,所述活动卡对将要由所述网络节点通过所述至少一个链路发送的每个分组生成序列号;通过所述网络节点的结构,在所述非活动卡与所述活动卡之间的数据路径上建立通信信道;通过所述通信信道,从所述活动卡向所述非活动卡发送包括所述至少一个序列号的分组;在所述非活动卡处,从所述分组中提取所述至少一个序列号;以及使用从所述分组中提取的所述至少一个序列号,将所述非活动卡的操作同步于所述活动卡。
2.根据权利要求1所述的用于同步序列号的方法,还包括在故障时,通过使用所述非活动卡向所述至少一个目的地节点发送分组来重新启动所述活动卡的操作,其中,所述分组包括根据从所述活动卡接收的所述至少一个序列号生成的序列号。
3.根据权利要求1所述的用于同步序列号的方法,其中,从所述活动卡向所述非活动卡发送的分组包括所述至少一个序列号的值和标识与所述至少一个序列号对应的至少一个链路的值。
4.根据权利要求1所述的用于同步序列号的方法,其中,所述至少一个链路是所述网络节点与对应的多个目的地节点之间的多个链路,对于所述多个链路的每一个,所述活动卡向所述非活动卡发送单个分组,所述单个分组包括用于所述多个链路的每一个的至少一个序列号。
5.根据权利要求1所述的用于同步序列号的方法,其中,所述活动卡以固定的间隔和在初始化所述非活动卡后向所述非活动卡发送包括所述至少一个序列号的分组。
6.一种网络节点,其实现冗余卡并被配置为同步序列号,所述节点包括 结构,其被配置为向目的地路由分组;活动卡,其被配置为在所述网络节点与至少一个目的地节点之间建立至少一个链路; 生成至少一个序列号,其中,所述活动卡对于将要由所述网络节点通过所述至少一个链路发送的每个分组生成序列号;以及通过所述结构中的数据路径上的通信信道,从所述活动卡向非活动卡发送包括所述至少一个序列号的分组;以及非活动卡,其连接到所述结构和所述活动卡,并被配置为 通过所述结构中的通信信道从所述活动卡接收所述分组; 从所述分组中提取所述至少一个序列号;以及使用从所述分组中提取的所述至少一个序列号,将所述非活动卡的操作同步于所述活动卡。
7.根据权利要求6所述的网络节点,其中,所述非活动卡还被配置为在故障时,通过向所述至少一个目的地节点发送分组来重新启动所述活动卡的操作,其中,所述分组包括根据从所述活动卡接收的所述至少一个序列号生成的序列号。
8.根据权利要求6所述的网络节点,其中,从所述活动卡向所述非活动卡发送的分组包括所述至少一个序列号的值和标识与所述至少一个序列号对应的链路的值。
9.根据权利要求6所述的网络节点,其中,所述至少一个链路是所述网络节点与对应的多个目的地节点之间的多个链路,对于所述多个链路的每一个,所述活动卡向所述非活动卡发送单个分组,所述单个分组包括用于所述多个链路的每一个的至少一个序列号。
10.一种线路卡,其用在网络节点中并与所述网络节点中的非活动卡进行通信以提供序列号同步,所述线路卡包括序列号生成模块,其被配置为生成至少一个序列号,其中,所述序列号生成模块对于将要由所述网络节点通过至少一个链路发送的每个分组生成序列号;以及通信模块,其被配置为通过所述网络节点的结构,在去往所述非活动卡的数据路径上建立通信信道;以及通过所述通信信道向所述非活动卡发送包括所述至少一个序列号的分组,由此,所述非活动卡通过从所述分组中提取所述至少一个序列号而将操作同步于活动卡。
全文摘要
示意性实施例涉及一种实现冗余卡并被配置为同步序列号的网络节点及相关方法。网络节点可包括被配置为向目的地路由分组的结构。另外,网络节点可包括活动卡,其被配置为建立至少一个去往目的地节点的链路,对每个将要发送的分组生成序列号,并通过在结构中的数据路径上的通信信道,从活动卡向非活动卡发送包括至少一个序列号的消息分组。最后,网络节点可包括非活动卡,其被配置为通过通信信道从活动卡接收包括至少一个序列号的消息分组,提取至少一个序列号,并使用该至少一个序列号将非活动卡的操作同步于活动卡。
文档编号H04L12/56GK102318324SQ201080007666
公开日2012年1月11日 申请日期2010年2月10日 优先权日2009年2月13日
发明者A·波林 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1