用于运行计算机网络的方法和计算机网络与流程

文档序号:11290963阅读:335来源:国知局
用于运行计算机网络的方法和计算机网络与流程

本发明提供一种用于运行具有以菊花链环路布置的多个装置的计算机网络的方法。此外,本发明提供了这样的计算机网络。



背景技术:

一种计算机网络是以太网。以太网无法处理环路。标准协议,如生成树协议(stp:spanningtreeprotocol)和快速生成树协议(rstp:rapidspanningtreeprotocol),可以检测环路并隔离环路的两端。检测到环路之前可能需要一些时间。在网络拓扑被正确检测到之前,没有不受干扰的通信。

媒体网络可能需要其终端装置采用菊花链式解决方案,从而允许不同的布线方案。冗余是媒体网络的重要特征。因此,必须可以创建一个带有链的环路。

文献wo2014044303a1提供了一种用于运行计算机网络的方法和这种计算机网络。计算机网络包括以稳定的菊花链环路布置的多个装置,其中,每个装置包括一个具有至少三个端口的桥,由此在运行计算机网络期间,每个装置可以采取不同的状态以避免环路,并且在重新启动时,至少一个装置的端口保持其当前端口状态。



技术实现要素:

根据本发明,根据权利要求1的方法用于运行计算机网络,特别是以太网。计算机网络包括多个装置,该装置以菊花链环路布置,且该装置运行生成树算法,运行生成树算法涉及操作状态机,其中,每个装置包括具有至少三个端口的桥或交换机。第三端口适用于从计算机网络接收通信和传输通信。在运行网络期间,每个装置可以采取不同的状态来避免网络中的环路。端口的逻辑状态由状态机限定。对于至少一个装置,至少在该装置重新启动之前存储一次至少一个状态机的瞬时状态。在重新启动装置的情况下执行以下操作:验证存储状态是否仍然有效;如果验证成功,即如果存储状态仍然有效,则恢复该装置的状态。

该方法至少提供了一个机会恢复至少部分的装置状态,特别是重新启动之前存在的端口状态,而不需要运行生成树算法。该方法的优点在于,即使链中的装置正在执行软重新启动,菊花链环路也是稳定的。状态和信息持续存储到至少在重新启动之前可用。装置的不同状态包括逻辑端口状态、特别是“丢弃”、“学习”、“转发”、“禁用”,和/或物理端口状态,特别是“开(up)”和“关(down)”,和/或状态机状态的任何组合。存储的信息与仅瞬时在逻辑端口状态“转发”或“阻塞”下(在存储发生时)的端口特别相关。恢复的逻辑端口状态包括“转发”或“阻塞”或“学习”。

该方法基于以下考虑:

计算机网络是由通信通道互连的计算机和其他构件的集合。这些通道允许共享资源和信息。计算机网络可以根据各种特性、如所使用的媒介、通信协议、规模、拓扑和组织范围进行分类。

以太网是用于局域网的框架式计算机网络。需要注意的是,以太网不能处理环路。如果创建一个环路,则数据包将不断地在环路中传递。通常使用以太网交换机为了电缆和装置冗余创建环路。装置通常是星形连接到交换机。

开发了标准协议来检测环路并隔离环路的两端。最著名的协议是生成树协议(stp)和快速生成树协议(rstp),但是有时也存在其他专有的解决方案。当网络拓扑变化时,重新启动检测,以避免创建网络的未连接部分或新的环路。检测到环路之前可能需要一些时间。为了避免网络中的环行的数据包过载,环路检测协议的缺省是在新建链路上不转发数据包。这意味着在正确检测到网络拓扑结构之前,没有任何通信。

生成树协议(stp)是一种网络协议,它可确保桥接以太网的无环路拓扑。stp适用于防止桥接环路和广播辐射。为此,它在连接层-2-桥构成的网状网络内创建一个生成树,例如,以太网交换机,并禁用不属于生成树的一部分的那些链路,从而在任意两个网络节点之间留下单一有效路径。

快速生成树协议(rstp)在拓扑更改引入新的收敛行为和桥接端口规则后,提供了明显更快的生成树收敛。

stp通常需要超过30秒才能重建网络拓扑,rstp通常只需要小于2秒。

媒体网络可能需要其终端装置采用菊花链式解决方案。通过向每个装置添加具有至少三个端口的以太网交换机,以标准方式解决此问题。指定的(在运行rstp时以rstp/stp的最大年龄值和/或应用程序抖动容限)最大数量的装置可以采用菊花链路。冗余是媒体网络的一个重要特征。因此,必须创建一个带有链的环路。媒体网络中的每个装置都是终端装置,例如但不限于扬声器、dsp装置等等。

菊花链是一种将多个装置按顺序或环形连接在一起的布线方案。每个网络装置包括上游端口和下游端口,其中每个端口耦合到至少一个电缆。每个装置中的第三端口适于从网络接收通信和向网络传输通信。

每个装置在运行计算机网络期间可以采取不同的端口状态,例如,转发和阻塞的端口状态。需要注意的是,在重新启动过程中,装置既不会主动地支持rstp也不会支持stp,它仍然会过滤掉管理数据包,但没有办法处理消息或发送更新。假设装置在重启前具有正确的端口状态。还假设重新启动期间网段中发生不超过一个显著变化。假设重新启动不需要3倍以上的管理数据包发送周期或管理数据包活动包(呼叫时间)的时间。假设装置不能运行rstp和/或stp协议的时间不超过3倍的呼叫时间。

支持stp和/或rstp涉及在不同输入的基础上操作状态机。输入是从接收的桥接协议数据单元(bpdu:bridgeprotocoldataunit)提取的定时器和信息。状态机(也称“有限状态机”)是计算的数学模型。它模拟一个可以处于不同状态的抽象机器,一个时间一个状态。

对于交换机之间的通信,使用所谓的桥接协议。协议的信息包是bpdu。为了确保每个桥有足够的信息得出结论,交换bpdu。桥使用端口本身的唯一标识符作为源地址发送bpdu帧。bpdu有时也称为第2层管理数据。

该协议的配置方式使得每个bpdu中发送的信息都是无状态的,这意味着bpdu可能会被丢失/丢弃,只要定时器没有过期。通常,必须处理3个bpdu中的一个,以保持逻辑网络拓扑稳定。

2个bpdu之间的时间被定义为呼叫时间,根据规格可以为2到10秒之间的任何值。该值必须在系统范围内配置。

rstp和stp逻辑端口和物理端口状态为:

“丢弃”(rstp)/“阻塞\侦听”(stp),与物理端口状态“开”关联,意味着交换机处理管理数据并等待信息。

“学习”(rstp和stp),与物理端口状态“开”相关联,意味着端口将学习任何传入数据的源地址。

“转发”(rstp和stp),与物理端口状态“开”相关联,意味着端口接收和发送数据。

“禁用”(rstp和stp),与物理端口状态“关”相关联,意味着交换机不处理任何信息(可由网络管理员完成)。

rstp和stp逻辑端口状态由stp或rstp协议的状态机限定,通常在硬件接口中设置为能够执行该说明书中的操作。逻辑端口状态也可以从硬件装置读出。

应当理解,在不脱离本发明的范围的情况下,上述特征和下文描述的那些特征不仅可以以指定的组合方式使用,而且也可以以其它组合方式或独立地使用。

如果装置启动或重新启动,则来自生成树算法的逻辑端口状态将被清除。在这个状态从相邻装置重新学习之前需要几秒钟。在装置的简单复位的情况下,如从根桥看到的,到生成树中的该装置之后的任何装置的通信路径将长时间丢失。特别是在传输ip媒体流的系统中,这是核心功能的丧失。通过实施如权利要求1所述的以下解决方案来避免这种情况。

重启之前,例如在预关闭阶段,装置可以持续存储必需的状态机的当前状态,特别是包括通过bpdu接收的所有信息,例如但不限于根桥信息和根路径开销以及逻辑端口状态。

如果没有预关闭阶段可用,则装置可以以规率的时间间隔存储状态,优选每个呼叫时间或在接收到bpdu之后立即存储状态。

根据rstp/stp规范,当装置丢失3个bpdu时,将发布拓扑变化。在最坏的情况下,重新启动装置准备在重新启动时发送bpdu。这意味着rstp/stp必须在重新启动后的2倍呼叫时间内启动并运行,以防止进入生成树协议。或者,装置可以在重新启动之前先发送出bpdu,因为该重新启动通常是计划好的,并且一旦装置启动后发送出bpdu。这将可用的重新启动时间增加到呼叫时间的3倍。

为了进一步降低重新启动后不必要的拓扑变化(进入生成树协议)的风险,可以将接收到的信息定时器设置为最大值,以给予相邻装置最大重启时间,这将在多个相邻装置异步启动软重启过程时提供帮助。这在链中的所有装置大约在同一时间重启时(例如由于固件更新)是一种解决方案。

一旦装置正重新启动,如果装置检测到软复位且知道rstp或stp将随后在初始化过程中启动,不应该像通上电后那样默认逻辑端口状态。当装置通上电而不是重新启动时,不应该恢复。当电源从链路中的装置移除时,网络拓扑没有变化的假设是不太可能的。

rstp/stp堆栈应在启动期间检查是否有任何信息,例如状态之前(重新启动之前)被存储。如果信息可用,应在适当的验证测试之后尽可能地将状态机的状态转换为存储状态。

rstp/stp堆栈应该验证存储的状态,即存储的值是否仍然有效。这可以通过对软/硬复位值的持续性检查和/或通过在状态机中存储的逻辑值和物理端口状态之间的持续性检查来执行。

-验证可以是但不限于以下任何一项或以下项的组合且每个端口应重复:如果物理端口处于“关”状态,并且该端口的存储的逻辑状态不匹配“禁用”逻辑状态,不应该恢复状态机信息。

-如果物理端口处于“关”状态且硬件装置中的逻辑状态与“禁用”逻辑状态不匹配,则不应该恢复状态机信息。

-如果物理端口处于“关”状态且存储的逻辑状态和硬件装置中的逻辑状态与“禁用”逻辑状态相匹配,则允许为该端口恢复状态机信息。

-如果物理端口处于“开”状态且存储的逻辑状态为“禁用”,则不应该恢复状态机信息。

通常情况下,如果所有端口的存储信息都有效,则恢复状态。如果允许为所有端口恢复状态机信息,则rstp/stp应用程序应该实际恢复所有状态机信息,如果任何端口被更改,则恢复逻辑应该决定哪些端口恢复状态是安全的,并且这样做时,其他端口应该设置为默认。

当软重新启动系统中的一个装置而使rstp能够根据本发明工作时,该装置和使用该装置作为源的任何装置将仅存在流数据丢失。在不使用本发明的情况下,对于使用此音频路径的所有装置,存在流媒体数据丢失。流媒体最有可能是音频流。

在一个优选实施例中,运行生成树算法涉及基于网络协议信息操作状态机。瞬时状态包括通过网络协议信息接收的信息。特别是该信息通过bpdu接收。特别是存储通过bpdu收到的所有信息。本实施例能够在重新启动之前的时刻、甚至重新启动之后的时刻评估bpdu信息。

在一个优选实施例中,瞬时状态在预关闭阶段被存储。如果知道会发生关机,就可以这样做。因此,信息可以尽可能晚地保存,从而最大限度地降低重新启动结束之前网络修改的可能性,并最大限度地提高重新启动后存储状态仍然有效的可能性。

在一个优选实施例中,瞬时状态以规率的时间间隔存储。即使发生意外或不可预见的重新启动,特别是在没有预关机阶段的情况下,也可以使用存储的信息。

在一个优选实施例中,如果检测到实际值与存储状态之间的冲突,则装置的存储状态不被恢复。实际值可以是每个可用且适合于一致性检查的信息的值,例如,实际或存储的状态机状态,逻辑或物理端口状态。这样可以避免可能导致网络故障的网络配置。

在一个优选实施例中,冲突被确定为端口的存储状态与实际逻辑和/或物理状态之间的差异。这种冲突的原因特别是因为装置的网络电缆在存储值和取回这些值之间,特别是在重启期间被移除或添加。另一种可能性是,硬件切换部分已经在上述时间范围内复位。

在一个优选实施例中,验证存储状态仍然有效,其中,执行以下任何一项或以下项的组合:

-验证是否已经执行了软复位或硬复位:如果装置检测到软复位并且知道生成树算法将随后在初始化过程中在3倍呼叫时间内启动,则该逻辑端口状态不被更新,

-执行状态机中的存储的逻辑值与物理状态之间的持续性检查,

-如果物理端口处于“关”状态且该端口的存储的逻辑状态与“禁用”逻辑状态不匹配,则不恢复状态机信息,

-如果物理端口处于“关”状态且硬件装置中的逻辑状态与“禁用”逻辑状态不匹配,则不恢复状态机信息,

-如果物理端口处于“关”状态且存储的逻辑状态和硬件装置中的逻辑状态与“禁用”逻辑状态相匹配,允许为该端口恢复状态机信息,

-如果物理端口处于“开”状态且存储的逻辑状态为“禁用”,则不恢复状态机信息,

-如果物理端口处于“开”状态且存储的逻辑状态不是“丢弃”,则允许为该端口恢复状态机信息。

每个端口应重复上述验证。如果允许为所有端口恢复状态机信息,则rstp/stp应用程序应该实际恢复所有状态机信息,如果任何端口被更改,则恢复逻辑应该决定哪个端口恢复状态是安全的,并且这样做,其他端口应该设置为默认。

该实施例能够在重新启动期间通常发生的大多数情况下进行检测和作出适当的反应。

在一个优选实施例中,每个装置通过改变其端口的逻辑状态而采取不同的状态,端口的瞬时逻辑状态作为瞬时信息存储,端口的逻辑状态作为装置的状态根据以下验证方案恢复:

a)要检查的下一个端口可用吗?

b1)如果是,转到c)

b2)如果否,恢复状态机信息并运行网络,

c)物理端口状态是“开”状态吗?

d1)如果是,转到e)

d2)如果否,转到g)

e)存储的逻辑端口状态是“禁用”吗?

f1)如果是,不恢复状态机信息和运行网络,

f2)如果否,转到a)

g)存储的逻辑状态是“禁用”吗?

h1)如果是,转到i)

h2)如果否,不恢复状态机信息和运行网络,

i)硬件装置中的逻辑端口状态被设置为“禁用”吗?

j1)如果是,转到a)

j2)如果否,不恢复状态机信息和运行网络。

不恢复状态机信息是在上述步骤未涵盖的所有其他情况下要采取的默认操作。

该实施例使得能够在所有情况下安全地恢复逻辑端口状态。

根据本发明,提供了一种包括多个装置的计算机网络,所述装置被以菊花链环路布置,所述计算机网络适于执行如上所述的根据本发明的方法。

附图说明

图1计算机网络,

图2恢复流程图。

应当理解,在不脱离本发明的范围的情况下,上述特征和下文描述的那些特征不仅可以以指定的组合方式使用,而且可以以其它组合方式或独立地使用。在附图中通过实施例的方式示例性地图示出了本发明,并且在下文中参照附图详细说明本发明。应当理解,该描述决不限制本发明的范围,而仅是对本发明的实施例的说明。

具体实施方式

图1示出了包括以菊花链环路布置的四个装置4a-d的计算机网络2。每个装置4a-d包括桥6a-d。每个桥6a-d具有三个端口8a-c。每个装置均运行生成树算法或协议10,所述生成树算法或协议在控制器12中由一个圆圈象征性地表示。在运行网络期间,每个装置采取不同的状态以避免网络2中的闭合环路。在本示例中,这些是状态“丢弃“d”,学习“l”,“转发”f和“禁用”o。装置4b在图1中作为根桥。为了避免环路,装置4a和4d之间的网络连接通过将装置4d的端口8b置于“丢弃”状态d而被阻断。所有其他端口8a、b处于“转发”状态f。端口8c处于合适的状态,以便连接到各种其它部件(未示出),这对本发明不重要。

对于所有装置,仅示例性地以装置4a为例示出了装置4a中包含的状态机14。状态机可以采取不同的状态s。状态机基于提供给它们的网络协议信息16(在该示例中为bpdu)工作。

图2示出了一个恢复流程图,它可以作为验证实施。

验证从步骤a开始)。

在步骤a)中,评估在该验证过程中尚未检查并仍待检查的下一个端口8a-c是否可用。如果“是”,则沿路径b1进行到步骤c)。如果“否”,则沿着路径b2进行到步骤y1)和z)。

在步骤c)中,评估物理端口8a-c状态是否为“开(up)”。如果“是”,则沿路径d1进行到步骤e)。如果“否”(物理端口为“关(down)”),则沿着路径d2进行到步骤g)。

在步骤e)中,评估存储的逻辑端口状态是否为“禁用”。存储装置由存储介质18的符号来描绘,例如为控制器12中的存储器,瞬时信息存储在该存储介质上。如果“是”,则沿着路径f1进行到步骤y2)和z)。如果“否”,则沿着路径f2进行到步骤a)。

在步骤g)中,评估存储的逻辑状态是否为“禁用”。如果“是”,则沿着路径h1进行到步骤i)。如果“否”,则沿着路径h2进行到步骤y2)和z)。

在步骤i)中,评估硬件装置中的逻辑端口状态是否设置为“禁用”。如果“是”,则沿着路径j1进行到步骤a)。如果“否”,则沿着路径j2进行到步骤y2)和z)。

在步骤y1)中,恢复状态机信息。

在步骤y2)中,状态机信息不被恢复,这也是在上述步骤未覆盖的任何情况下采取的默认动作。

在步骤z)中,运行网络。

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