2.4.3 网络环路

网络环路是指数据报文在闭环的网络中不断传输始终无法到达目的地,导致网络瘫痪,如图2-20所示。

环路又分为二层环路和三层环路。二层环路一般发生在一个交换机内部或多个交换机之间,彼此的端口互联形成一个二层路径,当收到广播报文(目标MAC为FF:FF:FF:FF:FF:FF)或未知单播时,会在交换机内部或多台交换机之间洪泛,形成广播风暴。因为以太网二层头部(EthernetII )不支持生存时间(Time To Live,TTL),所以数据报文会无休止地循环下去。

图2-20 网络环路

三层环路一般是由于错误的路由配置导致的,如互相指向下一跳地址为对方而导致路由转发环路。因为IP头中有TTL字段,所以不会无休止地循环下去,但是会消耗CPU资源。

二层环路的解决办法一般使用生成树协议(Spanning Tree Protocol,STP)来防止环路

三层环路的解决办法一般通过协议自身的防环机制来防止环路,例如RIP的触发更新、水平分割和OSPF协议的SPF算法等,转发层面IP头中还有TTL字段可以防环