通过环路防护来避免网络黑洞

通过环路防护来避免网络黑洞  在网络部署中,为了提高网络的稳定性,往往会采取物理冗余的方式。如下图所示,即使到交换机B的某个端口出现故障,由于物理冗余的存在,使得数据仍然可以传送。只是其传送的路径不同而已。当网络运行正常的时候,生成树协议会自动根据相关的规则来确定数据流传送的路径。所以虽然形成了一个物理的环路,但是在数据传递的时候,不会因为环路而形成网络黑洞。但是,如果采取某种保护机制的话,当网络出现故障后再恢复的过程中,就可能出现环路。

  通过环路防护来避免网络黑洞

  一、故障模拟

  假设交换机A是根路由器。为了提高网络的可用性,在交换机A、B、C之间形成了物理环路。不过生成树协议会根据一定的规则来确定数据传输的路径。所以在正常情况下,不会产生网络环路。但是如果当网络出现故障的时候,就可能产生问题。如因为某种原因,交换机B与C之间的链路可能发生单向失效。也就是说,交换机C无法交换机B那里接收数据(包括BPDU信息)。

  当没有采取任何环路保护机制的话,会出现什么情况呢?当交换机监测到错误的时候,交换机C会自动将自己的故障端口设置为STP阻塞状态。在交换机最大寿命计时器到期之后,交换机C上面的阻塞端口将会成阻塞状态转换为STP监听状态。。然后在两倍的延迟时间之后,将这个端口转换为转发状态。当交换机C的某个端口出现故障时,生成树协议会自动监测到这个错误,从而改变数据的传输路径,从交换机B流向交换机C。而当交换机C的端口重新设置为转发状态时,数据就再次从交换机C流向交换机B。此时数据的传递就会发生环路,从而导致环路黑洞的产生。

  二、利用环路保护来防止网络黑洞

  为了避免出现如上错误,笔者建议通过一些保护措施来防治网络环路。类似的保护措施有很多。笔者今天要介绍的是通过思科的环路防护机制来避免网络黑洞。

  简单的说,环路保护机制可以对第二层转发环路提供额外的保护,主要针对的是STP环路。从以上的分析中可以看出,如果网络中存在物理的冗余网络。则当冗余拓扑结构中的STP阻塞端口错误的过渡到监听状态、再错误的过渡到转发端口之后,如果没有采取一定的措施,就会发生桥接环路。这最本质的原因,主要是因为由于链路的故障,导致交换机无法连续的收到BPDU数据包。

  众所周知,当物理冗余网络拓扑中的某个故障端口停止接收STPBPDU的时候(如上图中的交换机C),STP则会认为这个网络拓扑没有存在物理环路。最后由于冗余端口的阻塞端口过渡到指定端口,并且将STP转换到转发状态,从而产生环路,导致网络黑洞。现在市面上的一些保护措施,基本上都是围绕着这个理念来设计的。

  通过使用环路保护机制可以有效的避免这种情况。如果启用了这个机制,则交换机在将某个端口转换到转发状态之前,会多做一步检查的工作。在检查中如果发现启用环路保护特性的非指定端口上停止接收BPDU,则交换机会将这个端口转换到“不一致环路”的阻塞状态。如果这个端口为设置为这个状态,其有一个特点,将破坏原有的转换规则,即当过了最大寿命时间之后,不会将这个端口设置为监听状态。当过了两倍的延迟时间之后,也不会将这个端口设置为转发状态。从而从根本上避免了网络环路的出现。


未经允许不得转载:金蝶精斗云 » 通过环路防护来避免网络黑洞