路由器与网络交换机之间的通信的故障转移和故障恢复的制作方法
【专利摘要】本申请涉及路由器与网络交换机之间的通信的故障转移和故障恢复,提供了一种路由器。路由器包括主接口、备用接口、处理器和存储器。主接口和备用接口可用于与网络交换机通信。路由器可被配置为判定主接口是否稳定。当主接口可用于经由主网段与网络交换机交换信息时,主接口稳定。路由器可被配置为在主接口被判定为稳定时激活主接口。路由器还可被配置为在主接口被判定为不稳定时激活备用接口。备用接口可被激活来用于与网络交换机交换信息。
【专利说明】路由器与网络交换机之间的通信的故障转移和故障恢复
[0001]本申请是申请日为2009年12月03日、题为“路由器与网络交换机之间的通信的故障转移和故障恢复”的中国发明专利中请N0.200980123662.5 (PCT国际申请PCT/US2009/066550)的分案申请。
【技术领域】
[0002]本发明实施例涉及通信网络中路由器与网络交换机之间的通信。更具体而言,本发明实施例可涉及路由器与网络交换机之间的故障转移(failover)和故障恢复(fallback)。
【背景技术】
[0003]通信网络可包括网络交换机。网络交换机将通信设备与网络路由器或其他通信设备相连接。诸如铜缆或光纤之类的传输线路可用于在网络交换机与网络路由器之间传输数据。传输线路可与网络路由器的接口相耦合。该接口可例如在传输线路与网络路由器或网络交换机断开连接时变得不活动。当该接口不活动时,网络交换机不能与网络路由器通信。相应地,使用网络交换机来与网络路由器通信的通信设备不能与网络路由器或与网络路由器相连的其他网络通信。
【专利附图】
【附图说明】
[0004]图1示出了通信网络的一个实施例;
[0005]图2示出了与网络交换机相耦合的网络路由器的一个实施例;
[0006]图3示出了路由器端口和交换机端口的实施例;
[0007]图4示出了路由器端口控制器的一个实施例;
[0008]图5A示出了用于判定所选接口是否稳定的定时的一个实施例,并且图5B示出了随机选择的转变阈值的一个实施例。
[0009]图6A和6B示出了高可用性通信的实施例;
[0010]图7A和7B示出了备用通信的实施例;
[0011]图8示出了用于网络交换机与网络路由器之间的通信的方法的一个实施例;并且
[0012]图9示出了用于自动判定所选接口是否稳定的方法的一个实施例。
【具体实施方式】
[0013]本发明的一个实施例涉及网络路由器与网络交换机之间的通信的故障转移和故障恢复。故障转移包括将通信从主网络转移到备用网络,从而使得当主接口不活动或摆动(flapping)时例如当主接口不稳定时网络路由器和网络交换机可以通信。故障恢复包括当主接口活动时例如当主接口稳定时使通信从备用网络返回到主网络。这里使用的通信包括对诸如消息、数据或信号之类的信息的交换。当所选接口的能量状态在相对短的时间中太频繁地变化时,发生摆动。
[0014]在一个方面中,一种路由器包括主接口、备用接口、处理器和存储器。主接口可操作来经由主网段与网络交换机通信。备用接口可操作来经由备用网段与网络交换机通信。主接口和备用接口可与处理器相耦合。存储器可与处理器通信。存储器可包括可利用处理器执行的计算机代码。计算机代码可被配置为判定主接口是否稳定,当主接口可用于经由主网络与网络交换机交换信息时,主接口稳定。计算机代码可被配置为当主接口被判定为稳定时激活主接口。主接口可被激活以用于经由备用网段与网络交换机交换信息。计算机代码还可被配置为当主接口被判定为不稳定时激活备用接口。备用接口可被激活以用于与网络交换机交换信息。
[0015]在第二方面中,提供了一种用于选择用于与网络交换机通信的第一路由器接口的方法。所选择的第一路由器接口可操作来利用第一通信信道与网络交换机通信。该方法可包括判定所选择的第一路由器接口是否稳定,在所选择的第一路由器接口稳定时利用所选择的第一路由器接口与网络交换机通信,以及当所选择的第一路由器接口不稳定时判定第二路由器接口是否稳定。当第二路由器接口稳定时,通信被转移到第二路由器接口。
[0016]在第三方面中,一种方法包括选择用于与网络交换机通信的第一路由器接口。所选择的第一路由器接口可操作来利用第一通信信道与网络交换机通信。所选择的第一路由器接口上的第一转变次数被计数。该转移次数是在第一转变计数窗口期间计数的。路由器基于该转变次数来判定所选择的第一路由器接口是否稳定。当所选择的第一路由器接口不稳定时,与网络交换机的通信被转移到第二路由器接口。第二路由器接口可操作来利用第二通信信道与网络交换机通信。
[0017]图1示出了通信网络10。通信网络10包括网络路由器20、网络交换机30以及一个或多个通信设备40a、40b。网络交换机30通过网络13与一个或多个通信设备40a、40b相耦合或者可以通过网络13与一个或多个通信设备40a、40b相耦合。网络交换机30通过网络14与网络路由器20相耦合或者可以通过网络14与网络路由器20相耦合。网络路由器20可以通过网络17与诸如路由器、交换机和服务器之类的其他通信设备相耦合。术语“与...相耦合”包括直接连接或通过一个或多个中间组件间接连接。这种中间组件可包括基于硬件和/或软件的组件。在替换实施例中,通信网络10包括更多、更少或不同的组件。
[0018]通信网络10是局域网(LAN)、个人区域网(PAN)、广域网(WAN)、全球网(GAN)、校园区域网(CAN)、内联网、外联网或其他用于通信的系统。例如,通信网络10是用于确保消息在路由器20与网络交换机30之间传输的系统。在路由器20内,例如当主接口不稳定时,通信可以自动或手动地被从主接口转移到备用接口。当主接口稳定时,通信可以自动或手动地被转移回主接口。在另一示例中,通信网络10可基于哪个接口是稳定和/或优选的,来自动地选择主接口或备用接口并将通信转移到所选接口。
[0019]在将被称为“以上例示”的例示中,一个企业可以使用根据本发明实施例的通信网络10。该企业可以雇佣一簿记员Bill和一营销人员Mary。Bill使用膝上型计算机,该膝上型计算机连接到网络交换机30。Mary使用桌面型计算机,该桌面型计算机也连接到网络交换机30。一通信信道将网络交换机30与网络路由器20相耦合,该网络路由器20连接到因特网。该通信信道可包括主传输线路和备用传输线路。主传输线路可连接到网络路由器20的主接口,备用传输线路可连接到网络路由器20的备用接口。当主接口不稳定时(例如,当主网络与主接口断开连接时),网络路由器20可以将通信转移到备用接口,从而使得备用传输线路被用于与网络交换机30的通信。当主接口稳定时,网络路由器20可将通信转移回主传输线路。从而,当主接口不稳定时,Bill和Mary可以与网络路由器20通信,以例如访问因特网上的信息。
[0020]网络13、14可以是传输线路、网段、通信信道、通信网络或通信线缆。如图2所示,网络14可包括主信道15和备用信道16。主信道15和备用信道16可以是铜缆、光纤、其他通信线缆或者其任何组合。例如,如果主信道15是铜缆,则备用信道16可以是光纤。在另一示例中,如果主信道15是光纤,则备用信道16可以是铜缆。在另一示例中,如果主信道15是铜缆,则备用信道16可以也是铜缆。在以上例示中,主传输线路是主信道15,并且备用传输线路是备用信道16。以上例示中的主传输线路可以是铜缆并且备用传输线路可以是光纤。
[0021]主信道15和备用信道16可包括将主信道15和备用信道连接到网络路由器20和网络交换机30的连接器。例如,在以上例示中,主传输线路(例如,铜缆)在一端或两端可包括RJ45以太网连接器,并且备用传输线路(例如,光纤)在该光纤的一端或两端可包括可被插入到小型可插拔(SFP)模块中的连接器。
[0022]网络17可以是服务提供商(SP)网络、因特网协议(IP)网络、因特网SP网络、因特网协议语音(VoIP)网络或其他用于通信的网络。例如,在以上例示中,网络17是连接到因特网的IP网络。在另一示例中,网络17可用于与另一通信网络10通信。
[0023]如图2所示,网络路由器20可包括可操作以用于与网络交换机30通信的路由器端口 21。可以提供更多的、不同的或更少的组件。例如,网络路由器20可包括一个或多个额外端口 33,用于与其他设备通信,例如其他网络交换机、服务器或连接到网络17的通信设备。一个或多个额外端口 33可以与路由器端口 21通信地耦合。
[0024]网络路由器20可以是路由器、计算机、服务器、开放系统互连(OSI)第3层交换机或其他用于路由和转发消息的设备。例如,网络路由器20可以是可操作来在网络交换机30与网络17之间路由消息的Cisco76xx路由器或Cisco 8xx路由器。在另一示例中,网络路由器20可操作来自动判定主接口和/或备用接口何时稳定或不稳定。网络路由器20可以自动将通信从不稳定接口转移到稳定接口。作为替换或附加,当主接口稳定和/或当备用接口不稳定时,通信可被从备用接口转移到主接口。在主接口与备用接口之间来回转移通信的一个益处在于网络路由器20可向通信设备40a、40b提供自动以太网故障转移和故障恢复。
[0025]这里使用的稳定接口可以是活动且不摆动的接口。不稳定接口是不活动或摆动的接口。
[0026]如图3所示,路由器端口 21包括端口接口 210、复用器220、地址设备230以及控制器240。可以提供更多的、不同的或更少的组件。
[0027]端口接口 210可包括主接口 211、主PHY 212、备用接口 213以及备用PHY 214。主接口 211和备用接口 213可以是连接到或者可操作来连接到主信道15和备用信道16的接口。主接口 211和备用接口 213可以是用于接收连接器的链路。例如,主接口 211可包括用于容纳RJ45连接器的RJ45模块,并且备用接口 213可包括小型可插拔(SFP)模块。主接口 211可与主信道15通信,并且备用接口 213可与备用信道16通信。主PHY 212和备用PHY 214是物理介质。主PHY 212将主接口 211与复用器220相耦合。备用PHY 214将备用接口 213与复用器220相耦合。
[0028]主PHY 212和备用PHY 214用于将诸如地址设备230之类的链路层设备与诸如主信道15与备用信道16之间的物理介质相耦合。主PHY 212和备用PHY 214可包括物理编码子层(PCS)和物理介质相关(PMD)层。PCS对所发送和接收的数据进行编码和解码。编码的目的是使得接收器更容易恢复信号。
[0029]复用器220可操作来执行复用和/或解复用。复用器220可把来自主PHY 212和备用PHY 214的通信组合成一个或多个信号,以便传送到地址设备230或路由器端口控制器240。复用器220可用于把在主接口 211和/或备用接口 213处接收的信息路由到控制器240。使用复用器220的一个益处可在于路由器端口 21只需要一个地址设备230和一个路由器端口控制器240。虽然路由器端口 21可利用两条信道(例如,主信道15和备用信道16)通信,但是路由器端口 21只需要一个物理地址和一个路由器端口控制器240。此外,从主接口 211到备用接口 213(或者反之)的通信切换可以更高效且成本效益更高,因为只需要一个地址设备230和一个控制器240。
[0030]地址设备230可以是介质访问控制(MAC)设备或其他包括路由器端口 21的物理地址的设备。该物理地址可用于与网络交换机30通信。该物理地址可以是指示出地址设备230的物理位置的唯一标识符。例如,地址设备230可以是提供MAC地址的MAC设备。地址设备230可被部署在路由器端口控制器240外部(如图3所示),或者与控制器240相集成(例如,部署在控制器240中)。例如,MAC地址可被硬编码在控制器240中。
[0031]图4示出了控制器240。控制器240包括处理器410和存储器420。控制器240可包括更多的、不同的或更少的组件。例如,处理器410可连接到远程存储器,从而控制器240可不包括存储器420。在另一示例中,如上所述,控制器240可包括地址设备230。
[0032]处理器410可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列、模拟电路、数字电路、其组合、或其他现在已知或将来开发的处理器。处理器410可以是单个设备或者设备的组合,例如与网络或分布式处理相关联。可以使用各种处理策略中的任何一种,例如多处理、多任务、并行处理、远程处理等等。处理器410响应于作为软件、硬件、集成电路、固件、微代码等等的一部分存储的指令。
[0033]处理器410可操作来与网络交换机30、一个或多个通信设备40a、40b和/或一个或多个与网络17相连的通信设备通信。为了通信,处理器410可发送和/或接收信息,例如消息、信号或其他数据。
[0034]处理器410可操作来路由或转发信息。当处理器410接收信息时,处理器410可以检查接收到的信息并且确定接收到的信息的最终目的地。可以基于该检查和/或路由表430来确定最终目的地,该路由表430可被存储在存储器420中。处理器410可以将接收到的信息发送到最终目的地。作为替换或附加,处理器410可以执行不同网络之间协议的转化。
[0035]处理器410可以选择主接口 211和/或备用接口 213以用于与网络交换机30通信。主接口 211可以是优选接口,其连接到优选网络,例如主信道15。优选接口可以是客户或提供商优选的接口。优选性可以被确定并存储在存储器中或基于接口的稳定性来确定。作为替换或附加,可能没有优选者或者可以随机选择优选者。备用接口 213可以是用于为优选接口备用的接口。
[0036]处理器410可操作来判定所选接口是否稳定。判定所选接口是否稳定包括判定所选接口是否活动(或者,已经是活动的或者将有可能变得活动)、对在第一转变计数窗口中所选接口的能量转变的次数计数,将该转变次数与随机转变阈值相比较,在第二转变计数窗口结束时判定所选接口活动还是不活动,或者这些的任何组合。
[0037]这里使用的能量的转变次数涉及主PHY 212和/或备用PHY 214上的能量状态从活动状态变化到不活动状态的次数。例如,如果在主PHY 212上未检测到能量,则主PHY212的能量状态是不活动。然而,如果在主PHY 212上检测到能量,则主PHY 212的能量状态是活动。
[0038]如图5A和5B所示,处理器410可以随机地选择第一转变计数窗口 510的持续时间和转变阈值550。可以选择介于第一转变计数窗口 510内的最大转变次数540与第一转变计数窗口 510内的最小转变次数560之间的转变阈值。例如,如果每次转变花费100毫秒,并且第一转变计数窗口 510的持续时间(例如,从t0到tl)是随机选择的持续时间,例如5秒,则最多可能转变540将是五十(50)次转变(例如,(5*1000)/100),并且最少可能转变560将是十(10)次转变。挑选介于十(10)和五十(50)之间的随机数将提供四十(40)个可能的数字。从而,如果路由器背靠背连接的,如图2所示,则挑选相同时间的概率很低,因此降低了挑选错误的介质并最终陷入无限循环的概率。从而,转变阈值是介于10次与50次转变之间的随机数,例如25次转变。
[0039]处理器410可使用定时器来确定第一转变计数窗口 510,如图5所示。转变计数窗口 510可以是随机选择的或预定的持续时间。例如,如图5所示,第一转变计数窗口的持续时间可以是从时间t0到时间tl。第一转变计数窗口的持续时间可以是随机的持续时间,例如3-9秒。然而,第一转变计数窗口 510的持续时间可以大于或小于此示例性范围。在第一转变计数窗口 510结束时,处理器410可以停止该定时器并且确定转变次数。第一转变计数窗口 510的持续时间可以是固定的,例如针对不同的非交叠窗口顺序地计数,或者可以是移动窗口,例如针对最近的转变计数。
[0040]处理器410可以为第一计数窗口 510期间的转变的次数计数,并且将所计数的转变次数与转变阈值550相比较。如图5B所示,如果所计数的转变次数大于或等于转变阈值550,则所选接口被判定为没有稳定到足以继续检查所选接口 570。换言之,当所计数的转变次数大于或等于转变阈值550时,所选接口在摆动。从而,所选接口可能没有稳定到足以用于通信。然而,如果所计数的转变次数小于转变阈值550,则所选接口被判定为稳定到足以继续检查580所选接口是否稳定。
[0041]如图5A所示,处理器410可以判定在保持计数窗口 520(例如,从tl到t2)结束时主接口 211和/或备用接口 213是具有活动状态还是不活动状态。例如,处理器410可判定在时间t2主接口 211和/或备用接口 213是具有活动状态还是不活动状态。保持计数窗口 520的持续时间可以比第一转变计数窗口 510的持续时间更短、更长或与之相同。
[0042]处理器410可操作来判定所选接口何时活动(“UP”(运行中))或不活动(“DOWN”(停工))。例如,当在相应的PHY(例如,PHY 212或PHY 214)上检测到能量时,则所选接口具有活动状态(例如UP)。当在相应PHY (例如,PHY 212或PHY 214)上没有检测到能量时,认为主接口 211和/或备用接口 213具有不活动状态(例如DOWN)。
[0043]就这里的使用而言,当所计数的转变次数小于随机选择的转变阈值并且所选接口在保持计数窗口 520结束时是活动的时,所选接口可被判定为是稳定的。当所选接口在第一转变计数窗口之前或期间是不活动的或者所选接口在保持计数窗口结束时是不活动的时,所选接口可被判定为是不稳定的。当所计数的转变次数大于或等于随机选择的转变阈值550时,所选接口被判定为在摆动。摆动可发生在网络路由器20或网络交换机30上的接口具有将导致网络路由器20判定主接口 211和/或备用接口 213交替UP和DOWN的硬件故障时。摆动可能由通信网络10内的病态状况(例如,硬件差错、软件差错、配置差错、通信链路中的间歇性差错或者不可靠的连接)导致,其导致信息被反复地通告和撤回。
[0044]处理器410可操作来在主接口 211不活动或不稳定时将通信从主接口 211转移到备用接口 213。将通信从主信道15转移到备用信道16可被称为故障转移。转移通信可包括将通信迁移到稳定接口。在一个示例中,如图3所示,当主接口 211不活动或不稳定时,处理器410开始通过备用信道16与网络交换机30通信。处理器410可以例如通过第二接口 320和备用PHY321来发送信息到第二地址设备322。
[0045]将通信转移到稳定接口的一个益处可在于当主接口 211不活动或在摆动时网络路由器20和网络交换机30仍可通信。这在通信中提供了冗余性。例如,在以上例示中,当网络路由器与网络交换机之间的主传输线路被断开连接以便维护时,Mary仍可利用备用传输线路来访问因特网。故障转移可以是自动的,从而使得维护的执行不要求手动重配置。
[0046]在一个实施例中,处理器410在转移通信之前可以判定备用接口 213是否稳定。判定备用接口 213是否稳定可包括判定备用接口 213是否活动和/或稳定。在转移通信之前检查备用接口 213的一个益处可在于防止了对通信的不必要转移。可提供额外的备用接口,以使得故障转移可以是转移到任何备用,并且一个备用可以故障转移到另一个备用。
[0047]处理器410可操作来执行故障恢复。故障恢复包括将通信从备用信道16返回到主信道15。返回通信可包括将通信转移或将通信迁移到主接口 211。例如,当备用信道16不活动或在摆动时,主信道15稳定时,或者作为规则,可将通信返回到主信道15。
[0048]处理器410可操作来选择主接口 211或备用接口 213以用于与网络路由器20通信。例如,基于主接口 211和/或备用接口 213是否活动、不活动、稳定或不稳定,处理器410可以选择用于通信的接口。选择可以包括读取切换表以判定是使用主接口 211还是备用接口 213来进行通信。网络路由器20可以使用诸如表I那样的切换表来选择用于与网络交换机的通信的接口。表I是基于主接口是优选接口的。
[0049]
主接口I备用接口 I选择的接口
稳定稳定王接口
稳定不稳定王接口
不稳定稳定备用接口
算法挑选接口
[0050]表I
[0051]如表I所示,当主接口 211活动(例如UP)时,处理器410可选择主接口 211。当主接口 211停工或摆动时,处理器410可自动选择稳定接口。选择稳定接口可包括选择备用接口 213或另一个活动的接口。例如,如表I所示,当主接口 211不活动或不稳定,而备用接口 213稳定时,处理器410可以将通信转移到备用接口 213。在另一示例中,当主接口211和备用接口 213不活动或不稳定时,处理器410可选择另一路由器所支持的接口。
[0052]转移通信可包括激活和解除激活主接口 211和/或备用接口 213。例如,如果主接口 211不活动或在摆动,则处理器410可以解除激活主接口 211并且激活备用接口 213。在另一示例中,当主接口 211活动或变得活动时,处理器410可以解除激活备用接口 213并且激活主接口 211。激活接口可包括配置控制器240和/或复用器220以使得控制器240与被激活的接口通信。例如,如果主接口 211被激活,则控制器240与主接口 211通信。解除激活接口可包括配置控制器240和/或复用器220以使得控制器240不与被解除激活的接口通信。
[0053]处理器410可操作来执行高可用性切换。高可用性切换包括在两个或更多个网络路由器20和/或网络交换机30之间切换通信。如图6A所示,两个或更多个网络路由器20被配置成使得当连接在第一路由器20a与网络交换机30之间的第一主信道15a和第一备用信道16a不稳定时,第二路由器20b承担第一网络路由器20a和第二网络路由器20b两者的工作负荷。例如,当第一主信道15a和第一备用信道16a不稳定时,第二主信道15b或第二备用信道16b可被用于通信。第一网络路由器20a可指示第二网络路由器20b开始与网络交换机30通信。
[0054]高可用性切换的一个益处在于当第一网络路由器20a的主接口 211、备用接口 213不稳定时,网络交换机30仍可与第二网络路由器20b通信,从而使得通信设备40a、40b仍可与第二网络路由器20b通信。在以上例示中,即使网络路由器停工,Mary仍可利用第二网络路由器20b访问因特网。此外,第二网络路由器20b具有两个级别的通信,例如第二主信道15b和第二备用信道16b。
[0055]在一个实施例中,当第一网络路由器20a恢复操作时,第二网络路由器20b可以执行故障恢复,该故障恢复将通信返回到正常操作,例如使用第一网络路由器20a与网络交换机30之间的第一主信道15a或第一备用信道16a。
[0056]图6B示出了故障恢复的替换实施例。如图6B所示,当与第一主信道15a相连的路由器接口不稳定时,网络路由器20可将通信切换到与第一备用信道16a相连的路由器接口。第一主信道15a可连接到第一网络交换机30a,并且第一备用信道16a可连接到第二网络交换机30b。
[0057]图7A和图7B示出了高可用性切换的替换实施例。如图7A和7B所示,当与第一主信道15a相连的路由器接口不活动或不稳定时,第一网络路由器20a可将通信切换到与第一备用信道16a相连的路由器接口。当与第一主信道15a和第一备用信道16a相连的路由器接口不活动或不稳定时,网络路由器20可将通信切换到第二主信道15b。当与第一主信道15a、第一备用信道16a和第二主信道15b相连的接口不活动或不稳定时,网络路由器20可将通信切换到与第二备用信道16b相连的路由器接口。
[0058]存储器420可以是计算机可读存储介质。计算机可读存储介质可包括各种类型的易失性和非易失性存储介质,包括但不限于随机访问存储器、只读存储器、可编程只读存储器、电可编程只读存储器、电可擦除只读存储器、闪存、磁带或磁盘、光介质等等。存储器420可以是单个设备或者设备的组合。存储器420可以邻近处理器410、是处理器410的一部分、与处理器410联网和/或远离处理器410。
[0059]如图4所示,存储器420可存储路由表430。路由表可包括到特定网络目的地的路由(并且在一些情况下可包括与这些路由相关联的度量)。路由表可包括一个或多个网络的拓扑。存储器420可存储其他列表、数据库或表格。例如,存储器420可存储转发表。处理器410可使用转发表来找到输入接口应向其发送信息的适当接口。
[0060]存储器420可以是其中存储有表示可由被编程的处理器410执行的指令的数据的计算机可读存储介质。存储器420为处理器410存储指令。处理器410被用指令编程并且执行指令。附图中示出或者这里描述的功能、动作、方法或任何是由被编程的处理器410执行存储在存储器420中的指令来执行的。这些功能、动作、方法或任务独立于特定类型的指令集、存储介质、处理器或处理策略并且可用独立或组合操作的软件、硬件、集成电路、固件、微代码等等来执行。指令用于实现这里描述的过程、技术、方法或动作。
[0061]如图4所示,存储器420可包括用于路由/转发的指令435、用于故障转移的指令440、用于故障恢复的指令450以及用于高可用性切换的指令460。可提供更多的、不同的或更少的指令。
[0062]用于路由/转发的指令435可被执行来路由或转发信息。例如,指令435可被执行来从通信设备或网络交换机接收信息、分析接收到的信息以确定目的地地址、以及将接收到的信息转发或路由到该目的地地址。分析接收到的信息可包括使用路由表来确定目的地地址。
[0063]用于故障转移的指令440可被执行来将通信从主接口切换到备用接口,以使得当主接口不活动或不稳定时网络路由器和网络交换机可通信。切换通信可包括将通信从第一通信信道转移到第二通信信道。如图4所示,用于故障转移的指令440可包括用于判定的指令442、用于选择的指令443以及用于将通信转移到所选接口的指令444。用于判定的指令442可被执行来判定接口是否稳定,例如通过判定接口是否活动、不活动和/或在摆动。用于选择的指令443可被执行来选择用于通信的接口。指令443可被执行来选择优选接口、稳定接口、活动接口或其组合。用于切换的指令44可被执行来将通信转移到所选接口。
[0064]用于故障恢复的指令450可被执行来将通信从备用信道返回到主信道。将通信返回到主信道可包括将通信转移到主接口。如图4所示,用于故障恢复的指令450可包括用于选择的指令452和用于返回的指令454。用于选择的指令452可被执行来选择活动和/或稳定的接口。
[0065]用于高可用性切换的指令460可被执行来将通信转移到第二网络路由器或第二网络交换机。转移通信可包括将通信从第一网络路由器或第一网络交换机迁移到具有稳定接口的第二网络路由器或第二网络交换机。
[0066]如图3所示,网络交换机30可包括第一交换机端口 31和第二交换机端口 32。网络交换机30可包括更多的、不同的或更少的组件。例如,网络交换机30可包括连接到一个或多个通信设备40的一个或多个端口。在另一示例中,网络交换机30可包括连接到网络路由器20的额外端口,例如可提供第三交换机端口。第三交换机端口可连接到备用网络,该备用网络可作为第一网络15和第二网络16的备用。例如,如果与第一网络15和第二网络16相连的接口不活动或不稳定,则备用网络可用于网络路由器20与网络交换机30之间的通信。在另一示例中,如图2所示,网络交换机30可包括一个或多个通信端口 33,该一个或多个通信端口 33可用于将通信设备40与第一交换机端口 31和第二交换机端口 32相耦合。在另一示例中,网络交换机30可包括缓冲器,该缓冲器可保存要转发的数据分组。
[0067]网络交换机30可操作来使得通信网络10的诸如一个或多个通信设备40a、40b之类的不同节点可以以平稳且高效的方式直接相互通信。网络交换机30可以工作在OSI参考模型的第I层(物理)和第2层(数据链路)。网络交换机30可以分析传入的数据(例如,语音数据和/或文本数据),以确定传入数据的目的地地址。基于该地址,通过传入和传出物理通信端口和链路之间的交换矩阵来建立传输路径。
[0068]如图3所示,第一交换机端口 31和第二交换机端口 32包括第一接口 310和第二接口 320 ;第一 PHY311和第二 PHY321 ;第一地址设备312和第二地址设备322 ;以及第一控制器313和第二控制器323。第一交换机端口 31和第二交换机端口 32可包括更多的、不同的或更少的组件。
[0069]第一接口 310和第二接口 320可以是将主信道15和备用信道16与第一 PHY311和第二 PHY321相耦合的机械和/或电气链路。例如,如图3所示,第一接口 310可以将主信道15与第一 PHY311相耦合,并且第一接口 310可以将备用信道16与第二 PHY321相耦八口 ο
[0070]第一地址设备312和第二地址设备322可以是包括第一交换机端口 31和第二交换机端口 32的物理地址的介质访问控制(MAC)设备或其他设备。物理地址可用于与网络路由器20通信。物理地址可以是指示出第一地址设备312和第二地址设备322的物理位置的唯一指示符。例如,第一地址设备312可以是提供MAC地址的MAC设备。第一地址设备312可被部署在控制器313外部(如图3所示),或者与控制器313相集成(例如,部署在控制器313中)。例如,MAC地址可被硬编码在控制器313中。
[0071]控制器313、323可包括处理器和存储器。控制器313、323可切换从一个或多个通信设备40接收的数据。例如,控制器313可接收来自第一通信设备的传入数据,分析传入数据以确定目的地地址(例如,与通信设备40a、40b、网络路由器20或连接到网络交换机30的通信设备相关联),并将传入数据发送到网络路由器20。
[0072]—个或多个通信设备40可以是个人计算机、服务器、路由器、网络节点、集线器、远程终端、网络交换机或放置在网络中的其他设备。例如,在以上例示中,膝上型计算机是通信设备40,并且个人计算机是通信设备40。一个或多个通信设备40可被用户操作,以例如浏览因特网或发送消息到其他通信设备。
[0073]图8是示出网络路由器与网络交换机之间通信的一个实施例的流程图。该方法可包括选择用于通信的第一网络接口,判定所选网络接口是否稳定,将所选网络接口用于网络路由器与网络交换机之间的通信。该方法还可包括例如在所选网络接口不活动或不稳定时选择另一接口并将通信切换到该另一网络接口。
[0074]在块810,网络路由器选择第一接口。第一接口可以是优选接口,例如连接到优选例如,例如铜缆或光纤。网络路由器可通过利用查询过程或从存储器中读取优选接口来选择第一接口。查询过程可用于检查接口的状态。
[0075]在块820中,网络路由器判定所选接口是否稳定。网络路由器可使用稳定性方法,例如图9所示的方法,来判定所选接口是否稳定。在块910,如图9所示,一旦通信被切换到所选接口,第一定时器就被启动。
[0076]在一个实施例中,路由器可判定所选接口是否是活动的、曾是活动的或者将可能是活动的,如块915中所示。换言之,路由器可判定在相应的PHY上是否有、曾有或将可能有能量。如果相应的PHY不具有能量,则所选接口可能是不活动的,并且路由器可以选择另一接口并且将通信切换到该接口,如图8的块830中所示。在替换实施例中,路由器可以在启动第一定时器之前判定所选接口是否活动。换言之,块915中表示的动作可以在块910中表示的动作之前执行。
[0077]在块920,路由器对第一转变计数窗口期间在所选接口上的例如从UP到DOWN和/或从DOWN到UP的转变的次数计数。当在所选接口上、例如在与所选接口相对应的PHY上检测到能量时,所选接口是UP的。当在所选接口上、例如在与所选接口相对应的PHY上未检测到能量时,所选接口是DOWN的。在第一转变计数窗口结束时,路由器可以停止定时器并且确定转变次数。
[0078]如块930中所示,路由器可以将在第一转变计数窗口期间计数的所计数的转变次数与随机选择的转变阈值相比较。随机选择的转变阈值可以小于第一转变计数窗口的最大转变次数并且大于第一转变计数窗口的最小转变次数。例如,当所计数的转变次数低于随机选择的转变阈值时,所选网络可被判定为稳定到足以继续完成对所选接口是否稳定的检查。然而,当转变次数大于或等于随机选择的转变阈值时,所选接口可被判定为不稳定。相应地,路由器可以选择另一接口并且将通信切换到所选接口,如块830中所示。在替换实施例中,随机选择的转变阈值可以是预定或预选择的转变阈值。
[0079]在块940,当所计数的转变次数低于随机选择的转变阈值时,第二定时器被启动。第二定时器用于限定保持计数窗口。保持计数窗口 520的持续时间可以长于第一转变计数窗口的持续时间。如块950处所示,路由器可以判定所选接口在保持计数窗口结束时是不活动(例如UP)还是活动(例如DOWN)。例如,如果所选网络在保持计数窗口结束时是不活动的,则所选接口被判定为不稳定并且通信被切换到另一网络,如图8的块830中所示。然而,如果所选网络在保持计数窗口结束时是活动的,则所选接口被判定为稳定并且用于与网络交换机通信,如图8的块840中所示。所选接口可以被连续地或周期性地检查以判定所选接口是否稳定。
[0080]在一替换实施例中,如果所选接口不是优选接口,则网络路由器可以周期性地查询优选接口。该查询可以在网络路由器判定所选接口是否稳定之前、期间或之后发生。如果优选接口是UP的,则网络路由器可以将通信切换到优选接口。即使当备用接口 UP时,通信也可被切换回优选接口。自动回复到优选接口的一个益处可在于可以尽可能地使用优选接口和优选网络。此外,网络管理员可能不需要手动将通信切换回优选网络。
[0081]虽然以上已经参考各种实施例描述了本发明,但是应当理解在不脱离本发明的范围的情况下可以进行许多变化和修改。因此,希望以上详细描述被认为是例示性的而不是限制性的,并且要理解意欲限定本发明的精神和范围的是所附的权利要求,包括所有等同物。
【权利要求】
1.一种网络交换机,包括: 第一接口,其与主网段和第一物理层进行通信; 第二接口,其与次级网段和第二物理层进行通信;以及 至少一个控制器,其被配置为在根据所述第一物理层在第一时间段期间的能量状态变化的数目以及所述第一物理层在第二时间段的保持计数窗口结束时是活动的判定所述第一物理层稳定时,分析在所述第一接口处接收到的数据,并且所述至少一个控制器还被配置为在所述第一物理层不稳定时,分析在所述第二接口处接收到的数据。
2.如权利要求1所述的网络交换机,其中,所述第一物理层是否稳定是基于将所述第一物理层在所述第一时间段期间的所述能量状态变化的数目与随机选择的转变阈值相比较而得出的。
3.如权利要求2所述的网络交换机,其中,所述第一时间段包括随机选择的时间段。
4.如权利要求1所述的网络交换机,其中,所述主网段包括铜缆并且所述次级网段包括光纤。
5.如权利要求1所述的网络交换机,其中,所述至少一个控制器被配置为在所述第二接口稳定时,分析在所述第二接口处接收到的数据。
6.一种方法,包括: 选择端口的第一接口以使用第一网段进行通信; 在预定转变计数窗口期间,对在所述第一接口处的能量状态转变的数目进行计数,以判定所述第一接口的稳定性,其中所述预定转变计数窗口包括随机选择的时间段; 当所述第一接口稳定时,经由所述端口的所述第一接口和所述第一网段进行通信; 当所述第一接口不稳定时,对在第二接口处的能量状态转变的数目进行计数,以判定所述端口的所述第二接口的稳定性;以及 当所述第二接口稳定而所述第一接口不稳定时,将通信移动至所述端口的所述第二接口和第二网段。
7.如权利要求6所述的方法,还包括:将在所述第一接口处的所述能量状态转变的数目与随机选择的转变阈值相比较。
8.如权利要求7所述的方法,还包括:当在所述第一接口处的所述能量状态转变的数目小于所述随机选择的转变阈值时,判定所述第一接口是稳定的。
9.如权利要求6所述的方法,还包括:监视所述第一接口以判定所述第一接口是否稳定;以及当所述第一接口稳定时,将经由所述端口的通信移回至所述第一接口和所述第一网段。
10.如权利要求6所述的方法,还包括:当所述第一接口和所述第二接口都不稳定时,将通信切换至另一网络设备。
11.如权利要求6所述的方法,其中,所述第一接口与铜缆相耦合并且所述第二接口与光纤相f禹合。
12.如权利要求6所述的方法,其中,所述第一网段包括铜缆并且所述第二网段包括光纤。
13.如权利要求6所述的方法,其中,判定所述第一接口的稳定性还包括:判定所述第一接口在保持计数窗口结束时是否是活动的。
14.一种方法,包括: 选择网络设备的第一接口与主网段进行通信; 基于所述第一接口在第一时间段期间的能量状态变化的数目小于阈值并且所述第一接口在第二时间段的保持计数窗口结束时是活动的,判定所述第一接口的稳定性; 当所述第一接口稳定时,分析在所述第一接口处接收到的数据; 当所述第一接口不稳定时,选择所述网络设备的第二接口与次级网段进行通信;以及当所述第二接口的能量状态变化的数目小于阈值时,分析在所述第二接口处接收到的数据。
15.如权利要求14所述的方法,其中,所述第一时间段是随机选择的。
16.如权利要求14所述的方法,其中,所述阈值是随机选择的阈值。
17.如权利要求14所述的方法,其中,所述主网段包括铜缆并且所述次级网段包括光纤。
18.如权利要求14所述的方法,其中,所述主网段包括光纤并且所述次级网段包括金属导体。
19.如权利要求13所述的方法,其中,所述保持计数窗口的持续时间长于所述预定转变计数窗口的持续时间。
20.如权利要求14所述的方法,其中,所述第二时间段是随机选择的。
【文档编号】H04L12/24GK104135433SQ201410301601
【公开日】2014年11月5日 申请日期:2009年12月3日 优先权日:2008年12月5日
【发明者】纳韦恩·古努库拉, 杰瑟林·普瑟帕拉姆比尔, 森·恩古因, 林炳辰 申请人:思科技术公司