从活跃TCP应用到备用TCP应用的无中断切换制造技术

技术编号:9601485 阅读:113 留言:0更新日期:2014-01-23 06:05
本发明专利技术的实施例包含用于在网络元件中维持活跃控制卡与备用控制卡之间的活跃-备用关系的方法。网络元件在活跃控制卡处接收来自远程对等体的数据。网络元件将数据从活跃TCP模块通信到活跃控制卡中的活跃应用模块。网络元件将同步数据从活跃应用模块通信到备用控制卡上的备用应用模块。网络元件将应用同步确认从备用应用模块通信到活跃APP模块。网络元件响应于接收应用同步确认而将应用确认分组从活跃应用模块通信到活跃TCP模块。然后网络元件响应于应用确认而将确认通信到远程对等体。

【技术实现步骤摘要】
【国外来华专利技术】从活跃TCP应用到备用TCP应用的无中断切换
本专利技术的实施例通常涉及网络元件中的活跃-备用系统的领域并且更特别地涉及网络元件中的活跃-备用系统中的无中断切换(hitless switchover)。
技术介绍
传送控制协议(TCP)是在各种文献(例如因特网工程任务组(IETF)请求注解(RFC) 793,“DARPA因特网程序协议规格”,1981年9月,以及IETF RFC 1122,“因特网主机通信层的要求”,1989年10月)中描述的可靠传输协议。计算机上的应用程序使用TCP来与位于远程计算机上的另一应用程序发送和接收数据。TCP使用因特网协议(IP)将分组中的数据发送到其目的地。IP沿着其自己选择的路径而将分组输送到正确的目的地。IP可未能输送少量的分组或它可以按与它们之前发送不同的次序来输送少量的分组。TCP将序列号指派给它发送的数据的每个字节。接收TCP可以使用序列号来重新排序所接收的数据以按与它们之前发送相同的次序将它们输送到接收计算机上的应用程序。接收TCP也使用序列号来检测丢失的数据并且使发送器TCP重传它们。随着TCP接收器接收数据,它将偶尔将确认发送回TCP发送器。确认包含序列号。这指示接收器已经成功接收直到经确认的序列号的所有排序的数据。然后TCP接收器将输送所接收的数据到其应用进程。响应于接收确认,TCP发送器将从其重传列表中移除经确认的数据。重传列表是用于TCP发送器上的已传送数据的临时存储。由于应用进程要求TCP发送数据,因此发送TCP同时地将那个数据放到其重传列表。在如各种RFC中规定的某些时间中,如果TCP发送器未收到已发送数据的确认,则它将重传在重传列表上的数据。以此方式,即使IP丢失某数据,TCP也可以恢复它。实现计算机应用程序的高可靠性的一种方式是使用活跃-备用方法。可以利用两个完整功能计算机来建立单个备用-活跃计算机系统。一个功能计算机被称为活跃计算机并且另一个被称为备用计算机。活跃计算机正常工作并且备用计算机等待接管操作(当并且如果活跃计算机故障时)。当备用接管时的行为被称为切换。在切换后,备用计算机变为活跃计算机。旧的活跃计算机不再在备用-活跃计算机系统中起作用。旧的活跃计算机可在以后的时间(例如在修复或复位之后)重新加入备用-活跃计算机系统。旧的活跃计算机可重新加入备用-活跃计算机系统,取回活跃计算机的角色或承担备用计算机的角色。如果备用计算机可以切换而不引起中断,则切换被称为无中断切换。在此情况下,与备用-活跃计算机系统交互的其它计算机系统将此冗余计算机系统视为单个计算机并且不检测故障或切换事件。因此,可以修复故障而不影响备用-活跃计算机与其它计算机的交互。对于无中断的切换,备用计算机必须与活跃计算机通信来追踪活跃计算机的进展并且保存在活跃计算机上创建的所有必要数据。在故障时,备用计算机可不具有来自活跃计算机的所有数据,这是因为在所有数据可以从活跃计算机发送到备用计算机之前活跃计算机与备用计算机之间的通信可已经发生故障。在此情况下,备用计算机必须恢复丢失的数据用于无中断切换。存在着用于TCP进程的方法来实现无中断切换。然而,那些方法忽视使用TCP的应用进程。方法在发送确认到远程TCP对等体之前将把从活跃TCP进来的TCP数据发送到备用TCP进程。活跃TCP将把所接收的数据传递到活跃应用。然后应用将处理它并且可能把一些已更新的状态发送到其备用应用来同步已更新的状态。备用应用将也从备用TCP接收相同的数据并且更新其自己的状态。应用进程典型地处理来自除了 TCP连接之外的来源的输入。利用现存的解决方案,保持其它输入的处理和在活跃计算机与备用计算机之间同步的TCP输入是复杂和易错的。关于TCP输出数据,在现存的解决方案中,活跃TCP将在把外出的数据发出到远程TCP对等体之前将其发送到备用TCP。这允许备用TCP在切换和失败的传送的情况下重传外出的数据。然而,对于备用应用而言,在切换时精确地知道已经发送以及未发送什么活跃应用是复杂和易错的。一些应用能够在应用层上重传外出的数据而不引起应用的中断。一些(例如文件传输协议(FTP)或回显服务器)不能重传已经成功传送的应用数据而不引起应用的中断。即使当应用可以在切换中承担重传某数据时,它很难知道要安全地重传多少数据。因此,合意的是提供机制用于TCP和应用程序通过允许备用应用更准确地追踪活跃应用和进来的/外出的TCP传送的状态而以简单无中断切换的方式交互。
技术实现思路
本专利技术的实施例包含在网络元件中执行的用于维持活跃控制卡与备用控制卡之间的活跃-备用关系的方法。网络元件在活跃控制卡中的活跃传送控制协议(“TCP”)模块处接收来自远程网络元件的数据分组。网络元件将数据分组中的至少一部分从活跃TCP模块通信到活跃控制卡中的活跃应用(“APP”)模块。网络元件响应于接收数据分组中的至少一部分而将APP同步(“SYNC”)消息从活跃APP模块通信到备用控制卡上的备用APP模块。网络元件将APP SYNC确认(“ACK”)消息从备用APP模块通信到活跃APP模块,其中APPSYNC ACK消息指示APP SYNC消息的成功输送。网络元件响应于接收APP SYNC ACK消息而将APP ACK消息从活跃APP模块通信到活跃TCP模块。网络元件响应于接收APP ACK消息而将数据ACK消息从活跃TCP模块通信到远程网络元件,其中ACK消息指示数据分组的成功输送。本专利技术的实施例包含要耦合到第二控制卡的第一控制卡,第一控制卡用作与第二控制卡的活跃-备用关系中的活跃控制卡。第一控制卡包含要耦合到一个或多个线路卡的活跃传送控制协议(“TCP”)模块。活跃TCP模块配置为从远程网络元件接收数据分组,将数据分组中的至少一部分通信到活跃应用(“APP”)模块,接收APP确认(“ACK”)消息,以及响应于APP ACK消息的接收而将数据ACK消息通信到远程网络元件。活跃APP模块要耦合到活跃TCP模块并且要另外耦合到第二控制卡上的备用APP模块。活跃APP模块配置为从活跃TCP模块接收数据分组中的至少一部分,将APP同步(“SYNC”)消息通信到备用APP模块,从备用APP模块接收APP SYNC ACK消息,以及响应于APP SYNC ACK消息的接收而将APP ACK消息通信到活跃TCP模块。本专利技术的实施例包含网络元件,以便在故障的情况下执行无中断切换。网络元件包括要耦合到网络的多个线路卡、耦合到多个线路卡的第一控制卡、以及耦合到多个线路卡的第二控制卡。第一控制卡用作活跃-备用关系中的活跃控制卡。第一控制卡包括活跃传送控制协议(“TCP”)模块,其配置为通过多个线路卡中的一个从远程网络元件接收数据分组,将数据分组中的至少一部分通信到活跃应用(“APP”)模块,接收APP确认(“ACK”)消息,以及响应于APP ACK消息的接收通过多个线路卡中的一个而将数据ACK消息通信到远程网络元件。第一控制卡还包括活跃APP模块,其要耦合到活跃TCP模块并且要另外耦合到第二控制卡上的备用APP模块。活跃APP模块配置为从活跃TCP模块接收数据分组中的至少一部分,将APP同步(“SYNC”)消息通信到备用APP模块,从备用APP模块接收AP本文档来自技高网
...

【技术保护点】
一种在网络元件中执行的方法,用于维持活跃控制卡与备用控制卡之间的活跃?备用关系,所述方法包括以下步骤:在所述活跃控制卡中的活跃传输控制协议(“TCP”)模块处接收来自远程网络元件的数据分组;将所述数据分组中的至少一部分从所述活跃TCP模块通信到所述活跃控制卡中的活跃应用(“APP”)模块;响应于接收所述数据分组中的所述至少一部分而将APP同步(“SYNC”)消息从所述活跃APP模块通信到所述备用控制卡上的备用APP模块;在所述活跃APP模块处接收来自所述备用APP模块的APP?SYNC确认(“ACK”)消息,其中所述APP?SYNC?ACK消息指示所述APP?SYNC消息的成功输送;响应于接收所述APP?SYNC?ACK消息而将APP?ACK消息从所述活跃APP模块通信到所述活跃TCP模块;以及响应于接收所述APP?ACK消息而将数据ACK消息从所述活跃TCP模块通信到所述远程网络元件,其中所述数据ACK消息指示所述数据分组的成功输送。

【技术特征摘要】
【国外来华专利技术】2011.05.09 US 13/103,9841.一种在网络元件中执行的方法,用于维持活跃控制卡与备用控制卡之间的活跃-备用关系,所述方法包括以下步骤: 在所述活跃控制卡中的活跃传输控制协议(“TCP”)模块处接收来自远程网络元件的数据分组; 将所述数据分组中的至少一部分从所述活跃TCP模块通信到所述活跃控制卡中的活跃应用(“APP”)模块; 响应于接收所述数据分组中的所述至少一部分而将APP同步(“SYNC”)消息从所述活跃APP模块通信到所述备用控制卡上的备用APP模块; 在所述活跃APP模块处接收来自所述备用APP模块的APP SYNC确认(“ACK”)消息,其中所述APP SYNC ACK消息指示所述APP SYNC消息的成功输送; 响应于接收所述APP SYNC ACK消息而将APP ACK消息从所述活跃APP模块通信到所述活跃TCP模块;以及 响应于接收所述APP ACK消息而将数据ACK消息从所述活跃TCP模块通信到所述远程网络元件,其中所述数据ACK消息指示所述数据分组的成功输送。2.如权利要求1所述的方法,还包括步骤: 基于活跃APP状态和包含在所述数据分组中的所述至少一部分中的信息而确定一组一个或多个活跃APP状态改变;以及 生成所述APP SYNC消息来包括所述一组活跃APP状态改变。3.如权利要求1所述的方法,其中所述APPSYNC消息跨过进程间通信信道而通信到所述备用APP模块。4.如权利要求1所述的方法,其中所述活跃APP模块包括活跃边界网关协议(“BGP”)进程并且所述备用APP模块包括备用BGP APP,并且其中所述数据分组包括BGP更新消息并且所述APP SYNC消息包括所述备用BGP APP用来与所述活跃BGP APP同步状态信息的数据。5.如权利要求4所述的方法,还包括以下步骤: 在所述活跃BGP APP处读取包含在所述BGP更新消息内的一个或多个BGP路由更新;基于来自本地策略信息库的一个或多个策略而在所述活跃BGP APP处丢弃一个或多个BGP路由更新; 基于活跃BGP APP状态、所述一个或多个读取的BGP路由更新、以及所述一个或多个丢弃的BGP路由更新而确定一组一个或多个BGP状态改变;以及生成所述APP SYNC消息来包括所述一组BGP状态改变。6.如权利要求1所述的方法,还包括以下步骤: 从所述活跃TCP模块中的一个或多个TCP端点检索TCP端点信息; 将检索到的TCP端点信息通信到所述备用TCP模块; 在所述备用APP模块处检测发起无中断切换的切换事件; 利用以前通信的TCP端点信息来创建所述备用TCP模块中的一个或多个TCP端点;以及 响应于检测所述切换事件,执行使备用控制卡从备用状态转变到活跃状态的无中断切换,其中所述转变对于所述远程网络元件是透明的。7.如权利要求6所述的方法,其中所述活跃APP模块包括活跃边界网关协议(“BGP”)进程,所述备用APP模块包括备用BGP APP,并且所述远程网络元件是BGP路由器并且其中执行所述无中断切换以使所述远程网络元件不响应于所述切换事件而执行BGP平滑重启。8.一种耦合到第二控制卡的第一控制卡,所述第一控制卡用作与所述第二控制卡的活跃-备用关系中的活跃控制卡,所述第一控制卡包括: 耦合到一个或多个线路卡的活跃传输控制协议(“TCP”)模块,所述活跃TCP模块配置为: 从远程网络元件接收数据分组, 将所述数据分组中的至少一部分通信到活跃应用(“APP”)模块, 接收APP确认(“ACK”)消息,以及 响应于所述APP ACK消息的所述接收而将数据ACK消息通信到所述远程网络元件;以及 所述活跃APP模块,耦合 到所述活跃TCP模块并且另外耦合到所述第二控制卡上的备用APP模块,所述活跃APP模块配置为: 从所述活跃TCP模块接收所述数据分组中的所述至少一部分, 将APP同步(“SYNC”)消息通信到所述备用APP模块, 从所述备用APP模块接收APP SYNC ACK消息,以及 响应于所述APP SYNC ACK消息的接收而将APP ACK消息通信到所述活跃TCP模块。9.如权利要求8所述的第一控制卡,其中所述活跃APP模块还配置为: 基于活跃APP状态和包含在所述数据分组中的所述至少一部分中的信息而确定一组一个或多个活跃APP状态改变;以及 生成所述APP SYNC消息来包括所述一组活跃APP状态改变。10.如权利要求8所述的第一控制卡,其中所述活跃APP模块通过进程间通信信道而耦合到所述备用APP模块。11.如权利要求8所述的第一控制卡,其中所述活跃APP模块包括活跃边界网关协议(“BGP”)进程并且所述备用APP模块包括备用BGP APP,并且其中所述数据分组包括BGP更新消息并且所述APP SYNC消息包括所述备用BGP APP用来与所述活跃BGP APP同步状态信息的数据。12.如权利要求11所述的第一控制卡,其中所述活跃APP模块还配置为: 读取包含在所述BGP更新消息内的一个或多个BGP路由更新; 基于来自本地策略信息库的一个或多个策略而丢弃一个或多个BGP路由更新; 基于活跃BGP APP状态、所述一个或多个读取的BGP路由更新、以及所述一个或多个丢弃的BGP路由更新而确定一组一个或多个BGP状态改变;以及生成所述APP SYNC消息来包括所述一组BGP状态改变。13.如权利要求8所述的第一控制卡,其中所述活跃APP模块还配置为: 从所述活跃TCP模块中的一个或多个TCP端点检索TCP端点信息;以及 将检索到的TCP端点信息通信到所述备用APP模块,其中所述检索到的TCP端点信息由所述备用APP模块用来响应于切换事件而创建所述备用TCP模块中的一个或多个TCP端点。14.一种在故障的情况下执行无中断切换的网络元件,所述网络元件包括: 耦合到网络的多个线路卡; 耦合到所述多个线路卡的第一控制卡,所述第一控制卡用作活跃-备用关系中的活跃控制卡并且包括: 活跃传输控制协议(“TCP”)模块,配置为: 通过所述多个线路卡中的一个从远程网络元件接收数据分组, 将所述数据分组中的至少一部分通信到活跃应用(“APP”)模块, 接收APP确认(“ACK”)消息,以及 响应于所述APP ACK消息的接收通过所述多个线路卡中的一个而将数据ACK消息通信到所述远程网络元件,以及 活跃APP模块,耦合到所述活跃TCP模块并且另外耦合到第二控制卡上的备用APP模块,所述活跃APP模块配置为: 从...

【专利技术属性】
技术研发人员:J黑茨
申请(专利权)人:瑞典爱立信有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1