广播路由算法的实现与避免

广播的风暴的形成:

 r1向r2发送广播

r2向r3与r4发送广播

但是r3与r4也互相发送广播。这就形成广播风暴。

如何避免:

1。控制广播

一一种很简单的方法,就是给这一一份广播分组做一一个标记。例如,源节点(发起广广播的节点)可以将其地址以及广播序号放入这个广播分组中,然后发送给他的所有邻居节点,每个节点会维护它已经收到的、转发的源地址和广播分组的序号列列表。当节点收到一一个广播分组时,会检查这个广播分组是否之前接收过(可以通过源地址、报文文序号来检查),如果接收过,那么就把该广播分组丢弃,否则,把该广播分组接收,且向所有邻居节点转发。
如下图:

 检测到发送的节点已经被广播过了,马上断开广播。

2。生成树协议解决广播

开启了生成树协议后,路由器会发送高优先级的BPDU报文,这是一种二层数据链路报文。被选为根桥的节点会从每个端口发送。收到BPDU报文的节点会转发给其他节点,跳数加1,而如果一个节点发现自己从两个或以上的端口收到BPDU报文,那就证明自己有两条或更多条通路连接到根桥,即产生了环路,那么它就会保留一个端口,关闭其他所有收到BPDU报文的端口,所有路由器逐级做同样的操作,整个网络的风暴环路就被关闭了

猜你喜欢

转载自www.cnblogs.com/topass123/p/12641482.html