线路卡的无缝生成树升级的利记博彩app

文档序号:7674810阅读:244来源:国知局
专利名称:线路卡的无缝生成树升级的利记博彩app
技术领域
本发明的领域总地涉及用于在第2层交换网络等等之中维持无环路拓
扑的机制。更具体而言,其涉及用于在网络设备的(例如交换机的)软件 的重启期间维持无环路拓扑的机制。
背景技术
生成树协议(STP) —般在交换机上运行,并且负责在第2层(L2) 交换网络中维持无环路拓扑。对STP算法的概括描述可在以下IEEE标准 文档中矛戈至U: (1) "IEEE standard for local and metropolitan area networks 一 common specification. Part 3: media access control (MAC) bridges -amendment 2: rapid reconfiguration", LAN/MAN Standards Committee of the IEEE Computer Society, USA, IEEE Std 802.1w-2001, E-ISBN: 0-7381-2925-9: ISBN: 0-7381-2924-0, (2001),以及(2) "IEEE Standard for Local and metropolitan area networks Media Access Control (MAC) Bridges", IEEE Std 802.1 D-2004 (Revision of IEEE Std 802. ID- 1998), E-ISBN: 0-7381-3982-3, ISBN: 0-7381-3982-3, (2004),这些文档通过引用被完全并入在此。STP通 过周期性地与邻居交换机交换网桥协议数据单元(BPDU)并将端口状态 适当地设置为转发/阻止/侦听/获知,来进行操作。
目前,当例如在升级或降级过程期间交换机线路卡的软件要被重启 时,该线路卡上的所有L2端口都在重启时段期间被关断。这导致了L2流 量的中断和网络拓扑的重收敛。这些端口在重启期间必须被关断,这是因 为重启的线路卡上的端口状态不能被改变,因为一旦重启开始,被称为 "线路卡控制平面软件"的更改端口状态的软件就不可用了。如果L2端 口在重启期间不被关断,则网络其余部分的拓扑改变将在重启期间导致环 路。此外,重启的线路卡的被阻止端口将导致影响整个网络的拓扑改变。 再次收敛,以确定绕过被阻止端口的替换路径。
另一个情形是控制平面软件在具有单个监管机的交换机中被重启时 (例如在升级或降级期间)或者监管机软件本身被升级时。监管机除了负 责其他任务之外,一般还负责与其他交换机交换控制消息,从而实现
STP。在交换机的监管机的重启期间,无法在重启的交换机和其他交换机 之间交换BPDU。当网络中的未重启的交换机在转发延迟的两倍长的时间 G0秒)中未能接收到BPDU时,这就可能导致未重启的交换机的端口状 态的更改,而这种更改可能导致环路。因此,在当前的实现方式中,在单 个监管机重启期间戶万有的L2端口都被关断,以便它们不能成为造成环路 形成的因素。
总之,当前的用于处理监管机或线路卡软件的软件重启的机制会中断 L2数据平面流量,因为所有端口都被关断,从而导致生成树拓扑的重收 敛。因此,需要用于在网络设备的线路卡或监管机软件的软件升级期间维 持无环路的第2层f石扑的改进的、非中断性的机制。

发明内容
本发明提供了用于提供网络设备(例如交换机)的重启的方法和装 置,其具有最低限度的中断性并且防止网络中环路的形成。 一般来说,这 里设想的这类重启发生在网络设备的用于更改设备的端口状态或者用于实 现生成树协议(STP)以及其他功能的软件不可用时。在一种情况下,交 换机在其线路卡之一上经历软件升级,从而STP软件无法更改升级的线路 卡的端口状态或者升级的线路卡无法冲刷其第2层MAC表。本发明的实 施例允许了重启的交换机的端口在某些条件下继续转发。重启的交换机还 与其邻居合作,以便线路卡能够帮助防止环路。
在一个实施例中,公开了一种重启具有用于接收和发送第2层数据的 多个端口的第一网乡各设备的方法。第一网络设备属于网络设备的网络。当 第一网络设备的至少、一部分的重启即将发生,从而重启的网络设备部分不 再能够更改多个端口中的一个或多个的生成树协议(STP)状态并且在重 启期间保持在固定状态中的这种端口被称为重启的端口时,在预定条件下
在重启期间维持处于转发状态的每个重启的端口的转发状态。在重启期 间,重启的网络设备部分的重启的端口中的每一个与其在作为第一网络设 备的邻居的第二未重启网络设备中的对端端口合作以防止网络中的第2层 环路。
在特定实现方式中,重启的网络部分是第一网络设备中的不再能够更 改重启的端口中的一个或多个的生成树协议(STP)状态的线路卡。在另
一方面中,是Portfast端口的每个重启的端口在重启期间被维持在转发状 态中。被两个或更多个其他网络设备共享的每个重启的端口在重启期间被 阻止。如果确定不被共享或者是Portfast端口的每个重启的端口的对端能 够合作以防止环路,则该端口在重启期间被维持在转发状态中(如果它处 于转发状态中),并且在重启期间能够合作以防止环路的对端被告知该重 启。每个对端被告知重启即将发生、被告知重启的种类并且在重启完成时 被告知重启的完成。如果确定不被共享或者是Portfast端口的每个重启的 端口的对端不能够在重启期间合作以防止环路,则该端口在重启期间被阻 止。在重启之前完成任何待发生的端口状态改变并且阻止任何STP用户配 置,直到重启完成为止。
在另一方面中,在重启期间从STP根计算中排除在重启期间被阻止的 重启的端口。推迟重启的端口的从阻止到转发的状态改变,直到重启完成 为止。在网络中的角色改变导致特定的重启的端口的从转发到阻止的状态 改变时执行以下操作(i)特定的重启的端口向特定的重启的端口的对端 发送通告其当前状态并标识其新端口角色的第一网桥协议数据单元 (BPDU),其中第一 BPDU被发送以使得特定的重启的端口的对端将其 状态改变到阻止并将其自身标记为重启不一致;并且(ii)特定的重启的 端口接收来自特定的重启的端口的对端的、承载对端的新阻止状态的 BPDU。
在网络中的SYNC操作导致特定的重启的端口的从转发到阻止的状态 改变时执行以下操作(i)当第一网络设备接收到来自希望转到转发状态 的对端端口的开放新链路的提议时,第一网络设备将提议转发到其一个或 多个邻居网络设备,以便一个或多个邻居网络设备能够各自将自己与网络
的其余部分切断;并且(ii)当响应于被转发到邻居网络设备的提议,在 第一网络设备中接收到同意时,将同意转发到其在新链路上的对端端口。
在另一实施例中,在重启之前为重启的网络设备的MAC地址获知表 设置较短的老化定时器,以便引起对表中的陈旧的L2条目的快速冲刷。
在另一实施例中,本发明涉及一种可以重启的网络设备,该网络设备 具有用于接收和发送第2层数据的多个端口。该第一网络设备包括一个或 多个处理器和一个或多个存储器。存储器和处理器中的至少一个可以提供 上述方法操作中的至少一些。
在另一实施例中,本发明涉及一种重启具有用于接收和发送第2层数 据的多个端口的第一网络设备的网络系统,其中第一网络设备属于网络设 备的网络。该系统包括多个交换机,其中包括第一交换机和耦合到第一 网络交换机的至少一个邻居交换机,并且该第一交换机可以执行以下步
骤(0当第一网络设备的至少一部分的重启即将发生,从而重启的网络
设备部分不再能够更改多个端口中的一个或多个的生成树协议(STP)状 态并且在重启期间保持在固定状态中的这种端口被称为重启的端口时,在 预定条件下在重启期间维持处于转发状态的每个重启的端口的转发状态; 以及(ii)在重启期间,重启的网络设备部分的重启的端口中的每一个与 其在作为第一网络设备的邻居的第二未重启网络设备中的对端端口合作以 防止网络中的第2层环路。
本发明的这些和其他特征和优点将在以下本发明的说明书和附图中更 详细给出,其中附图以示例方式示出了本发明的原理。


图1A是示出根据本发明一个实施例发生在线路卡计划重启之前的无 缝重启过程的流程图。
图1B是示出根据本发明一种实现方式在线路卡重启期间执行的无缝 重启过程的流程图。
图1C是示出根据本发明一个实施例在线路卡重启完成之后执行的无 缝重启过程的流程图。
图2A至2F示出了根据本发明一种实现方式用于处理重启的端口的角色改变的无缝重启机制,如果端口的线路卡未重启,则所述角色改变可能 导致状态改变为阻止。
图3A至3D示出了根据本发明另 一种实现方式用于针对重启的端口处 理SYNC操作的无缝重启机制,如果端口未重启,则所述SYNC操作可能 导致状态改变为阻止。
图4A是示出根据本发明一个实施例用于单个监管机的无缝重启的过 程的流程图。
图4B是示出根据本发明一个实施例,从邻居交换机的角度来看在单 个监管机重启期间执行的无缝重启过程的流程图。
图4C是示出根据本发明一种实现方式在监管机重启之后执行的无缝 重启过程的流程图。
图5A至5D是交换机网络的图示,其中对重启的单个监管机实现无缝 重启过程,其间在网络中根优先级被改变。
图6是可用于实现本发明的实施例的示例性交换机的框图。
具体实施例方式
现在将详细参考本发明的特定实施例。此实施例的示例在附图中示 出。虽然将结合此特定实施例来描述本发明,但是应当理解,并不希望将 本发明限制到一个实施例。相反,希望覆盖可能包括在所附权利要求限定 的本发明的精神和范围内的替换、修改和等同。在以下描述中,阐述了许 多具体细节以帮助全面理解本发明。没有这些具体细节中的一些或全部也 可实现本发明。在其他情况下,没有详细描述公知的过程操作,以避免不 必要地模糊本发明的主题。
当特定网络设备的用于更改该设备的端口状态或实现生成树协议 (STP)的软件不可用时,计划重启(planned restart)就对该网络设备发 生。在一种实现方式中,交换机在它的线路卡之一上经历软件升级,从而 STP软件无法更改升级中的线路卡的端口状态或者升级中的线路卡无法冲 刷其第2层MAC表。在另一种实现方式中,交换机具有为交换机中的所
有线路卡及其端口执行控制操作的单个监管机,并且该单个监管机正在经 历软件升级。
当网络设备中的软件(例如线路卡的软件或单个监管机的软件)的计 划重启即将发生时,本发明的机制允许第2层端口在某些条件下保持转发 而不是被阻止。如果在重启期间网络中没有拓扑改变,则重启的网络设备 软件本身并不导致拓扑改变。此外,当在重启期间网络中确实发生拓扑改 变时,该改变不会导致第2层环路。重启的软件的相关联端口上的拓扑改 变被推迟,直到重启完成之后为止,从而使连通性最大化。
可以实现任何适当的机制来促成无缝重启,其中与重启的软件相关联 的端口在某些条件下可继续转发并且拓扑改变不会导致环路。本发明的实 施例在较高的级别上可以被描述为包括用于使重启的线路卡的端口的邻居 可以帮助防止环路的方式。也就是说,重启的网络设备与其邻居网络设备 合作,以便邻居知晓该重启并且采取预防性动作来防止否则可能针对重启 的网络设备的一个或多个端口发生的环路。
本发明的实施例包括用于处理重启的线路卡的第一实现方式和用于处
理重启的单个监管机的第二实现方式。图1A 1C示出了用于处理线路卡重 启的技术,而图4A 4C示出了用于处理单个监管机重启的技术。虽然所示 出的实施例在这里被描述为适用于交换机的"线路卡"和"监管机",这 些技术当然也可以应用到任何类型的重启的网络设备(例如路由器)以及
任何下述硬件配置在这种硬件配置中,在重启期间,第2层端口状态暂
时不能被STP更改,或者用于控制这种端口的STP软件/硬件暂时不可 用。
在线路卡的重启期间,STP控制软件继续在监管机上运行,同时经历 了以下例如参考图1B概述的少许修改。由于监管机及其STP控制软件在 重启期间运行,因此STP可能要求端口状态改变。也就是说,端口状态改 变可能被STP过程发起。 一般来说, 一些改变被推迟,而其他改变由作为 重启的线路卡的邻居的交换机上的端口处理。
图1A是示出根据本发明一个实施例发生在线路卡计划重启之前的无 缝重启过程100的流程图。最初,在操作102中判定计划重启是否即将发生。计划重启可由为线路卡启动软件升级过程的用户发起。例如,用户也 可通过发出命令或者启动用于线路卡的无缝重启软件程序的执行来发起图 1A 1C的无缝重启机制。例如,在软件升级的发起期间,用户可被呈现以 执行无缝重启程序的选项,或者这种程序可以在软件升级发起时自动运 行。
当计划重启将要发生时,随后在操作104中判定重启的线路卡的每个 端口的对端是否能够进行无缝重启。也就是说,判定作为重启的交换机的 邻居的交换机是否能够实现这里描述的技术,以防止环路和使重启期间可 能发生的连通性中断达到最低限度。在一种实现方式中,每个重启的端口 向其邻居端口发送査询,询问邻居是否是无缝重启兼容的。邻居可以作出 肯定或否定答复,或者未能作出响应。给当邻居对査询作出肯定响应时, 邻居才被认为是无缝重启兼容的。否则,它被认为不是无缝重启兼容的。
以下操作106至112是对每个端口执行的。如果端口是Portfast,则在 操作106中,端口的状态被维持。Portfast端口位于交换机网络的边缘 (即,Portfast端口未被耦合到其他交换机)。由于处于边缘,Portfast端 口总是能够保持在转发状态中,因为它们不能导致环路。可以通过检査每 个端口的Portfast字段来判定每个端口是否是Portfast。 Portfast端口的状态 可被维持。否则,如果端口是共享的,则在操作108中该端口被阻止。共 享端口可能被耦合到两个或更多个交换机,并且可能无法判定是否所有共 享交换机都能够进行无缝重启并且与共享邻居交换机合作实现本发明的技 术。因此,重启的线路卡的共享端口被阻止。可以通过检査端口的共享字 段来判定端口是否被共享。
否则,如果端口的对端不能进行无缝重启,则在操作110中该端口被 阻止。否则,如果端口的对端能够进行无缝重启,则在操作112中,端口 的状态被维持,并且对端被告知以重启。因此,重启的线路卡的一些端口 在某些条件下可保持转发。在一种实现方式中,对端或邻居被告知重启即 将发生、升级的种类(例如线路卡或单个监管机)以及重启的完成(在其 发生时)。在操作114中,任何待发生的状态改变于是在重启之前完成, 并且任何STP配置在重启期间都被阻止。在重启期间被阻止或禁止的STP 配置可包括对重启的线路卡及其端口的任何用户配置。
图IB是示出根据本发明一种实现方式在线路卡重启期间执行的无缝 重启过程150的流程图。
一般来说,监管机软件或者控制STP的软件在经
过以下修改的情况下继续运行。最初,在操作154中,从STP根计算中排 除重启的线路卡中的所有被阻止端口。在STP中,在交换机网络中定义根 交换机,并且评估每个非根交换机的端口以确定到达根交换机的成本效率 最高的路径,其进而成为根端口。为了在图3B中说明,交换机3 306的端 口 308b具有去往根交换机1 302的相关成本2 (通过交换机2 304的端口 304b和304a),而交换机306的另一端口 308a对于去往根交换机302的 路径具有更高的成本3。通常,交换机3 306的最佳成本端口 (308b)将 被选择为交换机3 306的"根"端口。
但是,由于此端口 308b属于重启的线路卡并且在重启期间被阻止, 因此将此端口 308b选择为根端口将会导致去往根交换机1 302的路径被阻 止。由于优选具有去往根交换机的转发路径以使连通性最大化,而重启的 端口在整个重启期间可能被阻止,因此包括重启的端口中的路径不被用于 确定去往根交换机的成本效率最高的路径。
返回参考图1B,随后在操作155中判定对于重启的线路卡是否发起了 端口状态改变。例如,是否出于任何原因(例如防止环路)而发生了导致 重启的端口的状态发生改变的网络改变。如果尚未发起端口状态改变,那 就在操作170中简单地判定重启是否已完成,并且过程转回操作155。
在STP中,端口可具有五种状态之一禁用、阻止、侦听、获知和转 发。转变到禁用状态和从禁用状态转变可能发生在端口被启用或禁用时。 由于重启的端口在重启期间不能被禁用或启用,因此该转变在重启期间不 会发生。端口可以将状态从阻止改变到转发,反之亦然。获知状态是阻止 和转发之间的过渡状态,并且到获知状态的转变只能从阻止状态发生。
参考图1B,如果已经发起端口状态改变,则随后在操作156中判定端 口状态改变是否是从转发到阻止。如果端口不是从转发改变到阻止,则假 定它正在经历以下状态转变之一(阻止到转发)或(获知到转发)或 (阻止到获知)或(获知到阻止)。例如,端口的角色可能已被从备选/备
用改变到指定,这可能导致重启的端口发生从阻止到转发的状态改变。在 另一示例中,SYNC操作的完成或者转发延迟超时可能导致重启的端口发 生从阻止到转发的改变。由于重启的端口的状态不能被改变,并且使端口
处于阻止或获知状态不会导致环路,因此在操作158中,从阻止/获知到转 发/阻止/获知的端口改变被推迟,直到重启完成为止。
如果端口状态改变是从转发到阻止,则随后在操作160中判定此端口 状态改变是否是由于角色改变而发生的。例如,判定是否发生了重定根 (re-rooting)操作。也就是说,根或指定端口变成了备选端口 。图2A至 2F示出了根据本发明一种实现方式用于处理重启的端口的角色改变的无缝 重启机制,如果端口的线路卡未重启,则所述角色改变可能导致状态改变 为阻止。
图2A示出了三个交换机的网络200:根交换机1 202、交换机2 204 和交换机3 206。这三个交换机各自包括一个或多个端口,这一个或多个 端口在交换机3的线路卡208重启之前具有特定的角色和状态。根交换机 1包括具有指定(D)角色和转发(F)状态的端口 202b,该端口 202b耦 合到具有备选(A)角色和阻止(B)状态的(交换机3的)端口 208a。 根交换机1还包括具有指定(D)角色和转发(F)角色的端口 202a,该 端口 202a耦合到具有根(R)角色和转发(F)状态的端口 204b。交换机 2还包括具有指定(D)角色和转发(F)状态的端口 204a,该端口 204a 耦合到具有根(R)角色和转发(转发)角色的(交换机3的)端口 210a。交换机3的线路卡210随后重启。因此,重启的线路卡210的端口 210a被保持在转发状态中,因为此端口 201a不是共享的,并且其对端能 够进行无缝重启。
图2B示出了在重启开始之后完成之前图2A的交换机网络200。如图 所示,根交换机1的P202b的端口成本已经减小,导致交换机3的P208a 的角色改变。端口 208a经历了从备选(A)到根(R)的角色改变。因 此,重启的端口 210a经历了从根(R)到备选(A)的角色改变。于是, 新的根端口 208a有必要变为转发,以便执行其根角色而不损失连通性。端 口 208a的这一端口状态改变将要求端口 210a在端口 208a执行其状态改变
之前变为阻止,以防止暂时性环路。返回图IB所示的过程,如果这种角 色改变将导致重启的端口从转发改变到阻止,重启的线路卡的发生状态改变的端口则在操作162中向其对端发送BPDU消息(参见图2C)以通告 其状态(例如在图示示例中是[备选,转发])并标识其新的根对端,等等。
响应于来自重启的端口的BPDU,对端在操作164中可将其自身标记 为重启不一致(RI)并将其状态设置为阻止(B),如图2D所示。换言 之,对端或邻居代替重启的端口阻止其自身。对端随后在操作166中利用 承载其新状态(D,B, RI)的BPDU向发通告的端口作出响应,如图2D所 示。如图2E所示,对端端口 204a现在为阻止(B),因此根端口 208a现 在作为正常STP操作的一部分可将其状态改变到转发(F),以便具有处 于转发状态中的根端口并且不导致暂时性环路(即在端口 208a、 210a、 204a、 204b、 202a、 202b之间并返回208a的路径中)。
返回参考图1B,随后在操作170中判定重启是否已完成。如果重启尚 未完成,则过程转回操作155。当端口从转发改变到阻止并且此改变是由 SYNC操作导致时,在操作168中发生若干动作以防止环路,这些动作在 图3A-3D中示出。图3A至3D示出了根据本发明另一种实现方式用于针 对重启的端口处理SYNC操作的无缝重启机制,如果端口未重启,则所述 SYNC操作可能导致状态改变为阻止。
图3A示出了交换机网络300,该交换机网络300包括分别被标记以标 号302、 304、 306、 312、 316和314的交换机1至6。每个交换机具有一 个或多个端口。例如,交换机1 302包括端口 302a和302b。交换机2 304 包括端口 304a。交换机3 306包括用于线路卡1 308的端口 308a。交换机 4 312包括端口 312a-312c。交换机5包括端口 316a,交换机316包括端口 314a。交换机3还被示为包括重启的线路卡310,以及未重启的线路卡 308。在交换机3中的重启开始之前,网络300的所有端口都处于由 "白"端口圈示出的转发(F)状态中,并且交换机3的线路卡308的端 口 308a具有根(R)角色。
在交换机3的线路卡310重启期间,图3B示出了交换机3的新端口308b和交换机2的新端口 304b之间的链路的添加。新链路的两个新端口 308b和304b最初都处于被示为"黑"端口圈的阻止(B)状态中。此附加 的链路导致了成本等于2(1+1)的、通过端口 308b、 304b、 304a和302a从 交换机3到交换机1的更好的路由路径,而不是成本等于3的、通过端口 308a和302b的路由。
为了迅速将这个新的指定端口 304b转移到转发状态,SYNC操作可以 作为802,1 W迅速生成树协议规范的一部分被执行。对于在未进行重启时 发生的SYNC操作,此SYNC操作将涉及交换机2与交换机3执行握手。 作为此握手的一部分,提议被从交换机2发送到交换机3。交换机3在接 收到此提议时将会阻止其所有指定转发端口 (310a)并且在完成后向交换 机2发回同意,交换机2在接收到该同意后可以立即将端口 304b转移到转 发状态。这可以在没有暂时性环路的危险的情况下发生,因为交换机2的 端口角色和状态与交换机3同步(由于它们已经执行了握手),并且交换 机3与其可能不同步的下游交换机(交换机4)的转发路径被切断(由于 在前一步骤中阻止了其指定端口)。接下来,交换机3将与所有其下游邻 居交换机(交换机4)执行类似的握手,以再次使其指定端口转发。这 样,本来在端口 304a上的转发路径的切断将会通过网络传播G04b到 310a到G12b和312c)),直到它到达网络末端。该过程保证了不会有 暂时性环路。
与进行握手的交换机的线路卡没有发生重启时相比,无缝重启以不同 的方式来处理此握手。当发生重启时,无缝重启过程实际上将重启的端口 的切断操作转移到邻居的端口。如图3C所示,交换机2的新端口 304b向 交换机3 306的线路卡308的新端口 308b发送提议(P) 322,而端口 304b保持在阻止(B)状态中以形成切断320,从而切断与网络其余部分 的新链路(例如从交换机1到未示出的其他交换机)。当重启未在进行 时,交换机306通常将会阻止其去往其邻居交换机的端口。也就是说,端 口 310a将被阻止。但是,由于此端口 310a属于重启的线路卡310,因此 其不能将其状态改变到被阻止。因此,提议(P) 324被从重启的端口 310a转发到邻居交换机312的端口 312a。响应于此提议(P) 324,交换机4阻止端口 312b和312c。如图所 示,阻止这些端口将会形成切断交换机4的邻居交换机的切断326。交换 机4随后从端口 312a向交换机3的端口 310a发送同意(A) 328 (参见图 3D)。当交换机3收到来自交换机4的同意(A) 328时,交换机3随后 可从端口 308b向交换机2的端口 304b发送同意(A) 330,该端口 304b 随后可立即转移到转发状态。交换机4将会像通常那样继续SYNC以解除 对其端口的阻止。
返回参考图1B,随后在操作170中判定重启是否己完成。当重启完成 时,过程150结束。否则,过程转回操作155,在操作155中,再次判定 是否发起了状态改变。
图1C是示出根据本发明一个实施例在线路卡重启完成之后执行的无 缝重启过程180的流程图。最初,在操作182中重新计算所有STP端口角 色。以下操作184-190是对重启的线路卡上的每个端口执行的。在操作 184中,完成任何被推迟的端口状态改变。例如,发生在重启期间并被推 迟的从阻止到转发的重启端口状态改变现在被执行。在操作186中,对每 个端口重新开始正常的STP操作。在操作188中,每个端口的对端也被告 知重启完成。响应于重启完成,对端在操作190中为任何[重启不一致,阻 止]端口重启其转发延迟(fdWhile)定时器并设置提议比特,然后重新开 始正常的操作。转发延迟定时器被重启,以便在重启期间被阻止的端口在 定时器期满时可变为转发。提议比特被设置,以便被阻止的端口可以进行 SYNC并利用802.1w迅速转变来变为转发。
如图2F所示,重启的线路卡210的具有备选角色的端口 210被阻止 (B),而交换机2的具有指定角色并被标记为重启不一致的端口 204a启 动其转发延迟定时器并设置其BPDU中的提议比特,并且最终作为正常的 STP操作将变为转发(F)。 一旦对于重启的线路卡上的所有端口都完成 了操作184-190,则在操作192中解除对STP配置的阻止并且正常的STP 操作重新开始。过程180结束。
也可以实现技术来为重启的线路卡处理第2层MAC冲刷。当第2层 信息被接收到特定端口中时,接收端口中的MAC地址获知表被更新。也就是说,当在端口上接收到MAC地址时,这个接收到的MAC地址被获 知并被保存在这种端口的MAC地址获知表中。当在预定的一段时间中未 接收到具有已获知的MAC地址的分组时,例如一般在300秒之后,相应 的MAC地址被淘汰出适当的MAC地址获知表。
在SPT拓扑改变期间,MAC地址获知表一般被冲刷在忘却任何错误 的路径。当然,在重启期间,拓扑改变也可能发生,并且需要冲刷MAC 地址获知表。但是,对于重启的线路卡的端口,在重启期间不能完成此冲 刷,因为在重启的卡上此类控制是不可用的。在一个实施例中,老化定时 器在重启之前被设置到一个短的值(例如10秒)。如果有拓扑改变,则 对于老化定时器的这个设置将导致老化时间(10秒)期间的黑洞;但是, 与默认的300秒相比,风险时段非常短暂,并且不大可能导致流量的重大 中断。如果MAC表不正确并且数据被发送到错误的目的地,黑洞就可能 发生。用于重启的线路卡的无缝重启过程也可被应用到各种其他场景,例 如在重启期间链路被添加或去除、根故障、根改变,等等。
当在线路卡重启期间网络中没有拓扑改变时,本发明的无缝重启实施 例提供了若干个优点。例如,线路卡的无缝重启允许了重启的线路卡交换 机及其对端交换机上的正常STP操作。此外,不需要改变端口状态或冲刷 第2层MAC表。另外,重启的线路卡不会生成拓扑改变或环路。最后, 如果第2层数据路径不是共享的并且邻居端口能够进行无缝重启,那么在 重启的线路卡中他们可以保持转发。
当在线路卡重启期间网络中发生拓扑改变时,若干个优点也与无缝重 启相关联。如果重启的线路卡必须将端口从转发状态转移到阻止状态以打 破环路,则其邻居交换机上的对端端口将把其状态转移到阻止以打破该环 路。另外,如果重启的线路卡必须将端口从阻止转移到转发,则它将推迟 此状态改变以便不会在无意间产生环路,同时却牺牲了连通性。总之,第 2层数据路径保持转发,除了在没有转发数据路径可用的情况中以外。
这里也设想了用于重启的单个监管机的无缝重启机制。単个监管机指 的是交换机中的单个监管机,而不是冗余监管机。冗余监管机的状态如果 同步的话,它们一般不会导致中断。 一般来说,当交换机的单个监管机软
件(或者任何其他适当的STP控制软件)正在重启时,在重启期间在整个
交换机上都不执行STP控制软件。
图4A至4C示出了被划分成以下三个时间范围的无缝重启机制重启 之前、重启期间和重启之后。图4A是示出根据本发明一个实施例用于单 个监管机的无缝重启的过程400的流程图。图4A的操作与图1A的操作类 似。也就是说,操作402至414可以分别以与图1A的操作102至114很 相同的方式来执行。但是,过程400包含附加的操作116,该操作116包 括将完整的STP状态写入或存储到一个或多个持续性存储设备中,该完整 的STP状态在监管机重启后可被取回。保留STP状态信息是因为在监管机 重启期间它可能丢失。以下参考图4C进一步说明对该STP状态信息的使 用。
图4B是示出根据本发明一个实施例,从邻居交换机的角度来看在单 个监管机重启期间执行的无缝重启过程450的流程图。最初,在操作454 中判定是否发生了拓扑改变。例如,可以判定是否接收到了指示出任何根 信息的改变的BPDU。
当未发生拓扑改变时,在操作456中邻居禁止对从正被重启的交换机 接收到的信息的淘汰。因此,虽然重启的交换机未在执行STP并且未向其 邻居交换机发出BPDU更新,但重启的交换机的根信息在重启期间可被邻 居交换机保留,重启可能长于老化超时,并且可以使用重启的交换机来进 行数据转发。
邻居还在操作458中禁止向正被重启的交换机发送BPDU,因为重启 的监管机交换机在其STP软件没有运行的情况下不处理BPDU。这是一个 优化并且可以被省略。随后在操作470中判定重启是否完成。如果重启完 成,过程则结束。否则,过程400重新初始化并且再次在操作454中判定 是否有拓扑改变。只要没有拓扑改变,邻居交换机(针对重启的交换机) 就继续禁止淘汰最近从重启的交换机接收的信息并且禁止向该交换机发送 BPDU。
如果发生了拓扑改变,则在操作460中,关于作为重启的交换机的对 端的端口的信息被淘汰。在操作462中,作为重启的交换机的对端的端口 的状态在重启时段期间被改变到[重启不一致,阻止],然后过程400结
束。在重启之后,重启不一致的端口优选地被初始化到指定角色和转发状 态。
图4C是示出根据本发明一种实现方式在监管机重启之后执行的无缝 重启过程470的流程图。最初,对于重启的交换机上的所有端口,在操作 472中查询对端端口以判定在重启期间是否有被对端检测到的拓扑改变。 也就是说,邻居交换机保存关于在重启的交换机的重启过程期间是否发生 了任何拓扑改变的记录。例如,在每个邻居交换机中维护着重启拓扑改变 标志。重启拓扑改变标志被设置到默认值FALSE。当邻居被告知以重启 时,如果检测到拓扑改变,它则将重启拓扑改变标志改变到TRUE。在邻 居接收到对拓扑改变检测的査询之后,标志被改回FALSE。
基于重启的端口对邻居的查询,随后在操作474中判定对端是否检测 到拓扑改变。如果未检测到拓扑改变,则在操作476中恢复保存在持续性 存储设备中的STP状态。随后在操作478中执行STP的有状态重启。在有 状态重启期间,STP过程在监管机上被启动。STP控制软件的运行时数据 结构基于恢复出的持续性状态被创建和初始化。例如,基于从持续性存储 设备恢复出什么值来初始化端口的端口角色和端口状态。每个端口的每个 端口状态变成重启之前的状态并且可能是转发/阻止/获知/禁用,并且端口 角色也是重启之前的角色并且可能是根/指定/备选/备用。这样,软件端口 状态与线路卡上的实际端口状态同步。这与无状态重启不同,在无状态重 启中,所有端口都被初始化到阻止状态和指定角色,并且如果被强制为阻 止则被初始化到硬件状态。
如果拓扑改变被对端检测到,则在操作480中判定重启的交换机是不 是根。例如,重启的交换机可被预配置为根,或者基于其预配置的优先级 值或某个其他变量被指定为根。如果重启的交换机是根,则在操作486中 所有的端口都被初始化到[指定,阻止]。如果交换机不是根,那么在操作 482中,在根端口上从其对端获得其旧的根端口的最新STP端口信息并将 该信息填充到其他端口,并且把除被设置到其旧的保留状态的前根端口之 外的所有端口初始化到[指定,阻止]。对于根和非根重启交换机,随后在
操作484中重启STP算法。
然后在操作488中所有对端被告知重启完成。对端随后在操作490中 为任何[重启不一致,阻止]端口重启其转发延迟(fdWhile定时器)并设置 提议比特,然后重新开始正常操作。这些操作488、 490和492分别与图 1C的操作188、 190和192类似。70的过程随后结束。
图5A至5D是交换机网络500的图示,其中对重启的单个监管机实现 无缝重启过程,其间在网络中根优先级被改变。图5A示出了重启之前的 网络500。该网络包括交换机1、交换机2、交换机3和交换机4。交换机 1在交换机3重启之前是根交换机。在其监管机重启之前交换机3的STP 状态被总结如下端口 504a为指定(D)和转发(F);端口 504b为根
(R)和转发(F);端口 504c为指定(D)和转发(F)。在重启之前, 交换机3的这些STP状态被保留在持续性存储设备中,该持续性存储设备 在重启完成之后可供重启的交换机使用。
图5B示出了在交换机3的监管机的重启开始之后的同一网络500。如 图所示,重启的交换机3的状态丢失。拓扑改变也发生。例如,交换机1 的优先级已被提高,从而交换机2将变为新的根。由于发生了拓扑改变, 作为重启的交换机的邻居的交换机(交换机4和交换机2)淘汰来自重启 的交换机3的信息。此外,邻居的作为重启的交换机的对端的端口将其状 态改变到阻止(B)并且被标记为重启不一致(RI)。因此,交换机2的 对端端口 502a和交换机4的对端端口 506a将其状态改变到[D,B,RI]。
图5C示出了在交换机3的重启完成之后的同一网络500。交换机3恢 复在重启之前保留的其STP端口状态和角色(在虚线椭圆510中示出)。 但是,由于重启的交换机3的对端在重启期间检测到了拓扑改变,因此这 是中断性重启,并且除了先前的根之外的所有端口都以指定(D)角色和 阻止(B)状态启动,如图5D所示。交换机3将在其旧根端口 504b上査 询其对端以获取最新的根信息(已经改变了)。在交换机3的所有端口开 始BPDU发送之前,此新信息被填充到交换机3的所有端口。这防止了交 换机3在网络中注入陈旧的根信息,这种注入可能导致网络的不稳定(经 典示例是由通告不再存在的最佳根的BPDU所导致的"幽灵根"问题)。
重启的交换机3的对端一旦获得来自重启的交换机的重启完成消息,也被
转移到正常STP状态(例如D, B)。用于重启的单个监管机的无缝重启
过程也可被应用到各种其他场景,例如在重启期间新链路被添加以及根故 障。
本发明的实施例通过在重启期间在重启的线路卡中维持端口转发,提 供了交换机的线路卡或监管机软件的无缝重启,而不会导致网络拓扑的改 变。在一种实现方式中,关于重启的交换机的拓扑改变被推迟,直到重启 完成之后为止,以便使连通性最大化。此外,当在网络中发生拓扑改变 时,在重启之前、重启期间和重启之后,防止了在网络中形成环路。
本发明的技术可以以可应用STP的硬件和软件的任何组合来实现。例 如,本发明的技术可实现在操作系统内核中、实现在单独的用户进程中、 实现在被绑定到网络应用的库程序包中,实现在专门构造的机器上或者实 现在网络接口卡上。在特定实现方式中,它们被实1L在计算机网络的第2 层交换机上。
在一种实现方式中,交换机包括至少一个存储器设备和至少一个处理 器。存储器和处理器可以执行上述技术中的任何一种,以及标准的交换/路 由操作、虚拟化管理、区域管理,等等。
图6是可用于实现本发明的技术的交换机的一个示例的图示。虽然将 描述一个特定的配置,但是应当注意有多种交换机和路由器配置可用。交 换机601可包括一个或多个监管机611 (但本发明的技术更适合于单个监 管机)和电源617。根据各种实施例,监管机611具有其自己的处理器、 存储器和存储资源。
线路卡675和677通过接口电路695和677以及背板615与活动监管 机611通信。背板615可为线路卡和监管机之间的所有流量提供通信信 道。各个线路卡675和677也可通过端口 685和687耦合到外部网络实 体,例如655。
应当注意,交换机可支持任何数目的线路卡和监管机。在所示出的实 施例中,只有单个监管机连接到背板615并且该单个监管机与许多不同的 线路卡通信。活动监管机611可被配置或设计为运行多个应用,例如
STP、路由、域管理器、系统管理器和工具应用。监管机可包括被耦合到 接口以与其他实体通信的一个或多个处理器。
此外,虽然描述了示例性的交换机,但是上述实施例可以实现在多种 网络设备(例如服务器)中以及多种介质中。例如,用于实现上述发明的 指令和数据可被存储在盘驱动器、硬盘驱动器、软盘、服务器计算机或远 程联网计算机上。因此,当前的实施例应当被认为是示例性的而不是限制 性的,并且本发明不应当限于这里给出的细节,而是可在所附权利要求的 范围和等同范围内修改。
不论交换机的配置如何,它都可以采用被配置为存储用于通用网络操 作和/或这里描述的创造性技术的数据、数据库和程序指令的一个或多个存 储器或存储器模块。例如,程序指令可控制操作系统和/或一个或多个应用 的操作。 一个或多个存储器也可被配置为存储根信息、STP状态信息,等 等。
因为这种信息和程序指令可被用来实现这里描述的系统/方法,所以本 发明涉及包括用于执行这里描述的各种操作的程序指令、状态信息等的机 器可读介质。机器可读介质的示例包括但不限于磁介质,例如硬盘、软
盘和磁带;光介质,例如CD-ROM盘和DVD;磁光介质,例如可光读软 盘;以及被专门配置为存储和执行程序指令的硬件设备,例如只读存储器 设备(ROM)和随机存取存储器(RAM)。本发明也可实现在通过诸如 无线电波、光线路、电线路等之类的适当介质传播的载波中。程序指令的 示例既包括例如由编译器产生的机器代码,也包括包含可由计算机利用解 释器来执行的更高级代码的文件。
虽然出于理解清晰目的己经较详细地描述了以上发明,但是很明显, 在所附权利要求的范围内可实现某些改变和修改。因此,所描述的实施例 应当被认为是示例性的而不是限制性的,并且本发明不应当限于这里给出 的细节,而是应当由所附权利要求及其等同物的完整范围来限定。
权利要求
1.一种重启具有用于接收和发送第2层数据的多个端口的第一网络设备的方法,其中所述第一网络设备属于网络设备的网络,所述方法包括当所述第一网络设备的至少一部分的重启即将发生,从而重启的网络设备部分不再能够更改所述多个端口中的一个或多个的生成树协议(STP)状态并且在所述重启期间保持在固定状态中的这种端口被称为重启的端口时,在预定条件下在所述重启期间维持处于转发状态的每个重启的端口的转发状态;以及在所述重启期间,所述重启的网络设备部分的所述重启的端口中的每一个与其在作为所述第一网络设备的邻居的第二未重启网络设备中的对端端口合作以防止所述网络中的第2层环路。
2. 如权利要求1所述的方法,其中,所述重启的网络部分是所述第一 网络设备中的不再能够更改所述重启的端口中的一个或多个的生成树协议(STP)状态的线路卡。
3. 如权利要求1或2所述的方法,其中,是Portfast端口的每个重启 的端口在所述重启期间被维持在转发状态中。
4. 如权利要求1-3中任何一个所述的方法,其中,被两个或更多个其 他网络设备共享的每个重启的端口在所述重启期间被阻止。
5. 如权利要求1-4中任何一个所述的方法,其中,如果确定不被共享 或者是Portfast端口的每个重启的端口的对端能够合作以防止环路,则该 端口在所述重启期间被维持在转发状态中,所述方法还包括在所述重启期 间告知能够合作以防止环路的对端。
6. 如权利要求1-5中任何一个所述的方法,其中,每个对端被告知重 启即将发生、被告知重启的种类并且在所述重启完成时被告知所述重启的 完成。
7. 如权利要求6所述的方法,其中,如果确定不被共享或者是Portfast 端口的每个重启的端口的对端不能够在所述重启期间合作以防止环路,则 该端口在所述重启期间被阻止。
8. 如权利要求1-7中任何一个所述的方法,还包括在所述重启之前完 成任何待发生的端口状态改变并且阻止STP配置直到所述重启完成为止。
9. 如权利要求8所述的方法,还包括在所述重启期间从STP根计算中 排除在所述重启期间被阻止的重启的端口 。
10. 如权利要求8或9所述的方法,还包括推迟重启的端口的从阻止 到转发的状态改变,直到所述重启完成为止。
11. 如权利要求IO所述的方法,还包括在所述网络中的角色改变导致 特定的重启的端口的从转发到阻止的状态改变时执行以下操作所述特定的重启的端口向所述特定的重启的端口的对端发送通告其当 前状态并标识其新端口角色的第一网桥协议数据单元(BPDU),其中所 述第一 BPDU被发送以使得所述特定的重启的端口的对端将其状态改变到 阻止并将其自身标记为重启不一致;并且所述特定的重启的端口接收来自所述特定的重启的端口的对端的、承 载所述对端的新阻止状态的BPDU。
12. 如权利要求10或11所述的方法,还包括在所述网络中的SYNC 操作导致特定的重启的端口的从转发到阻止的状态改变时执行以下操作当所述第一网络设备接收到来自希望转到转发状态的对端端口的开放 新链路的提议时,所述第一网络设备将所述提议转发到其一个或多个邻居 网络设备,以便所述一个或多个邻居网络设备能够各自将自己与所述网络 的其余部分切断;并且当响应于被转发到所述邻居网络设备的所述提议,在所述第一网络设 备中接收到同意时,将所述同意转发到其在所述新链路上的对端端口。
13. 如权利要求12所述的方法,还包括在重启之前为所述重启的网络 设备的MAC地址获知表设置较短的老化定时器,以便引起对所述表中的 陈旧的L2条目的快速冲刷。
14. 一种可以重启的第一网络设备,其中所述第一网络设备具有用于 接收和发送第2层数据的多个端口,其中所述第一网络设备属于网络设备 的网络,所述第一网络设备包括一个或多个处理器; 一个或多个存储器,其中所述处理器和存储器中的至少一个被配置用于当所述第一网络设备的至少一部分的重启即将发生,从而重启的网络 设备部分不再能够更改所述多个端口中的一个或多个的生成树协议 (STP)状态并且在所述重启期间保持在固定状态中的这种端口被称为重 启的端口时,在预定条件下在所述重启期间维持处于转发状态的每个重启的端口的转发状态;以及在所述重启期间,所述重启的网络设备部分的所述重启的端口中的每 一个与其在作为所述第一网络设备的邻居的第二未重启网络设备中的对端端口合作以防止所述网络中的第2层环路。
15. 如权利要求14所述的第一网络设备,其中,所述重启的网络部分 是所述第一网络设备中的不再能够更改所述重启的端口中的一个或多个的 生成树协议(STP)状态的线路卡。
16. 如权利要求14或15所述的第一网络设备,其中,是Portfast端口 的每个重启的端口在所述重启期间被维持在转发状态中。
17. 如权利要求14-16中任何一个所述的第一网络设备,其中,被两个 或更多个其他网络设备共享的每个重启的端口在所述重启期间被阻止。
18. 如权利要求14-17中任何一个所述的第一网络设备,其中,如果确 定不被共享或者是Portfast端口的每个重启的端口的对端能够合作以防止 环路,则该端口在所述重启期间被维持在转发状态中,其中所述处理器和 存储器中的至少一个还被配置用于在所述重启期间告知能够合作以防止环 路的对端。
19. 如权利要求14-18中任何一个所述的第一网络设备,其中,每个对 端被告知重启即将发生、被告知重启的种类并且在所述重启完成时被告知 所述重启的完成。
20. 如权利要求19所述的第一网络设备,其中,如果确定不被共享或 者是Portfast端口的每个重启的端口的对端不能够在所述重启期间合作以 防止环路,则该端口在所述重启期间被阻止。
21. 如权利要求14-20中任何一个所述的第一网络设备,其中所述处理 器和存储器中的至少一个还被配置用于在所述重启之前完成任何待发生的端口状态改变并且阻止STP配置直到所述重启完成为止。
22. 如权利要求21所述的第一网络设备,其中所述处理器和存储器中 的至少一个还被配置用于在所述重启期间从STP根计算中排除在所述重启 期间被阻止的重启的端口。
23. 如权利要求21或22所述的第一网络设备,其中所述处理器和存 储器中的至少一个还被配置用于推迟重启的端口的从阻止到转发的状态改 变,直到所述重启完成为止。
24. 如权利要求23所述的第一网络设备,其中所述处理器和存储器中 的至少一个还被配置用于在所述网络中的角色改变导致特定的重启的端口 的从转发到阻止的状态改变时执行以下操作所述特定的重启的端口向所述特定的重启的端口的对端发送通告其当 前状态并标识其新端口角色的第一网桥协议数据单元(BPDU),其中所 述第一 BPDU被发送以使得所述特定的重启的端口的对端将其状态改变到 阻止并将其自身标记为重启不一致;并且所述特定的重启的端口接收来自所述特定的重启的端口的对端的、承 载所述对端的新阻止状态的BPDU。
25. 如权利要求23或24所述的第一网络设备,其中所述处理器和存 储器中的至少一个还被配置用于在所述网络中的SYNC操作导致特定的重 启的端口的从转发到阻止的状态改变时执行以下操作当所述第一网络设备接收到来自希望转到转发状态的对端端口的开放 新链路的提议时,所述第一网络设备将所述提议转发到其一个或多个邻居 网络设备,以便所述一个或多个邻居网络设备能够各自将自己与所述网络 的其余部分切断;并且当响应于被转发到所述邻居网络设备的所述提议,在所述第一网络设 备中接收到同意时,将所述同意转发到其在所述新链路上的对端端口。
26. 如权利要求25所述的第一网络设备,其中所述处理器和存储器中 的至少一个还被配置用于在重启之前为所述重启的网络设备的MAC地址 获知表设置较短的老化定时器,以便引起对所述表中的陈旧的L2条目的 快速冲刷。
27. —种用于重启具有用于接收和发送第2层数据的多个端口的第一网络设备的装置,其中所述第一网络设备属于网络设备的网络,所述装置采取所述第一网络设备的形式,并且包括用于进行以下操作的装置当所述第一网络设备的至少一部分的重启 即将发生,从而重启的网络设备部分不再能够更改所述多个端口中的一个 或多个的生成树协议(STP)状态并且在所述重启期间保持在固定状态中 的这种端口被称为重启的端口时,在预定条件下在所述重启期间维持处于 转发状态的每个重启的端口的转发状态;以及用于进行以下操作的装置在所述重启期间,所述重启的网络设备部 分的所述重启的端口中的每一个与其在作为所述第一网络设备的邻居的第二未重启网络设备中的对端端口合作以防止所述网络中的第2层环路。
28. —种重启具有用于接收和发送第2层数据的多个端口的第一网络 设备的网络系统,其中所述第一网络设备属于网络设备的网络,所述网络 系统包括多个交换机,包括第一交换机和耦合到所述第一网络交换机的至少一 个邻居交换机,所述第一交换机可以执行以下步骤当所述第一网络设备的至少一部分的重启即将发生,从而重启的 网络设备部分不再能够更改所述多个端口中的一个或多个的生成树协议(STP)状态并且在所述重启期间保持在固定状态中的这种端口被称为重启的端口时,在预定条件下在所述重启期间维持处于转发状态的每个重启的端口的转发状态;以及在所述重启期间,所述重启的网络设备部分的所述重启的端口中 的每一个与其在作为所述第一网络设备的邻居的第二未重启网络设备中的 对端端口合作以防止所述网络中的第2层环路。
全文摘要
公开了用于重启第一网络设备的方法和装置。第一网络设备具有用于接收和发送第2层数据的多个端口并且属于网络设备的网络。当第一网络设备的至少一部分的重启即将发生,从而重启的网络设备部分不再能够更改一个或多个重启的端口(102)(即在重启期间保持在固定状态中的端口)的生成树协议(STP)状态时,在预定条件下在重启期间维持每个重启的端口的当前状态(106、114)。在重启期间,每个重启的端口与其在第二未重启网络设备中的对端端口合作以防止网络中的第2层环路(150)。
文档编号H04L12/28GK101371504SQ200780002217
公开日2009年2月18日 申请日期2007年1月9日 优先权日2006年1月10日
发明者乌梅什·马哈詹, 塔曼·卡恩, 拉马纳·梅拉谢吕乌, 阿米特库玛·帕特尔, 隆那科·德赛 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1