二层环路产生的原因:

单路径的网络会产生单点故障的问题,假设主机X和主机Y之间只有一个交换机,那么一旦交换机坏了,X和Y的通信也就断了。于是就产生了冗余拓扑网络结构。但又产生了新的问题,就是二层环路。

这里简单介绍下二层环路产生的原因和危害。

看下图


网络安全中环路是什么 网络环路图解_二层环路

网络安全中环路是什么 网络环路图解_防环_02

假设现在网络还没收敛,主机X要去ping网段2。由于主机X不知道目标MAC,所以先是发送ARP请求。

先看交换机A收到了帧,查看了源MAC对应的是主机A,更新MAC地址表。查看目标MAC是FF,复制原数据帧N份,进行泛洪。从交换机A出来的帧其一到了网段2,这里都是正常的ARP请求。但是从交换机出来的帧其二到了交换机B,交换机B和交换机A一样做相同的操作,更新MAC地址表,记录的是主机X和对应的端口。交换机B一看帧的目的MAC是FF,又进行泛洪,传回主机X和交换机B·······

上面的数据帧的传输已经是有问题了,再看主机X假设ping报文数据帧到B,B这个时候已经有刚刚A传来的对于主机X的MAC信息,但是B收到了新的帧,马上就更新了。要知道,从主机B和交换机A,交换机B和主机X连的端口肯定不是同一个。这下就导致了主机B的MAC表不断更新,而且还不稳定。。。

上面说的都是ARP,是广播帧。要是单播帧呢?交换机A和交换机B假设都已经学到了MAC表,主机X发出来的一个数据帧会传到A和B,然后它们又会传递网段2,这样就有了两个数据包。

冗余网络拓扑结构的危害:1,广播导致带宽浪费,产生广播风暴2,MAC表频繁更新,网络不稳定3数据包会重复传递。
 

二层环路产生原因除了以上这个原因,当然还有些人为或者误操作导致的,比如交换机出来的一根网线在工位上,另一根网线在墙上,有人接了个交换机,把这两个网线都接入到这个交换机中,那就会产生二层环路,在没有开启STP的情况下造成广播风暴,网络瘫痪!!!

介于以上原因,生成树协议stp(spanning tree protocol)、快速生成树RSTP(rapid spanning tree protocol)应运而生

STP生成树协议,通过有选择性地阻塞网络冗余链路来达到消除二层环路的目的!!!

建立生产树:

STP建立生成树的过程如下:首先选举根桥。开始每个交换机都把自己当做根桥,并用自己的桥ID作为根ID发送配置BPDU消息。如果它检测到一个标识符更小的网桥时,则停止发送自己的帧,并基于接收到的ID更小的帧构造下一步发送的BPDU,发出根ID根小的BPDU的端口被标记为根端口。。。。当网络拓扑发生变化时,STP就需要重新建立生成树。在STP中,当一个端口进入阻塞或转发状态时,意味着发生了拓扑变化(十项一个生成树添加或减少了一个边),此时需要等待新的拓扑信息传播到整个网络中,即等待新的生成树形成。当网桥检测到一个连接变化时,它向根端口以外的端口发送拓扑变化通知(TCN BPDU),通知自己在原来生成树中的父网桥,这样层层向上传递直到根桥,同时网桥还发送一个拓扑变化确认信息(TCA BPDU)给TCN BPDU的发送方。根网桥接收到拓扑变化信息后,向所有端口发送TC BPDU,逐层传递下去。接收到TC BPDU的网桥会将其数据库的有效期(老化时间)从300s减少为15s。这样,网桥的数据库中已有错误的条目可被快速清除并重新学习。

 

三层数据环路:与二层不同的是,数据帧换成了ip包

通过TTL值来防止三层数据环路!!!