网络基础之STP理论基础
一、STP的引入
拓扑冗余
在上面的拓扑图中,PC1的数据在经过接入层交换机,汇聚到汇聚交换机上后,到达核心交换机之后,最终,流量到达服务器。但是这样的网络是存在问题的。这个网络的冗余性不够强,不够健壮。因为这个网络都是单个链路连接起来的。比如说接入层的交换机与汇聚层的交换机之间的链路中断,PC1的流量就无法到达服务器,所以说这个网络是没有冗余性的,是不够健壮的。
此时我们可以通过在接入层交换机和汇聚层交换机之间再增加一条链路,以提高这段网络的健壮性,即冗余性。但是仅仅是这样就又会出现问题,因为当汇聚层的交换机损坏的话,PC1的流量也是不会到达服务器的。
针对这个问题,我们又可以在接入层交换机和核心层交换机之间在增加一个备份交换机,当汇聚层的交换机损坏时,或者接入层交换机和汇聚层交换机之间的链路中断,PC1的流量也可以通过备份的交换机到达服务器。这样就会增加网络的冗余度或者说健壮性。
总的来说,交换网络内的冗余拓扑的目的是减少单点故障,增加网络的可靠性
网络拓扑的问题
产生交换环路,即交换机环路,如下图中的交换机SW1、SW2、SW3的链路组成的一个环形链路就叫一个环路
产生交换环路,会导致以下三个问题:
①广播风暴:
正常情况下,主机A给主机B发送广播包,既然是广播包,所以可以同时从F0/1接口和F0/2接口同时转发出去,分析F0/1接口的广播包,转发广播包后,被SW2的F0/1接口收到,因为是广播包,交换机SW2会将这个广播包发送到SW2的F0/2接口和主机B,这个广播包通过SW2的F0/2接口被发送到SW1的F0/2接口,之后交换机SW1将这个广播包再次发送给F0/1接口,和PC1,广播包再次通过SW1的F0/1接口被发送出去,如此循环往复。最初从SW1的F0/2接口出去的广播包也是一样。这样,二层的广播报文,没有TTL的限制,广播报文 会一直存在,并且再二层环路,越来越多。
广播风暴带来的问题
耗尽交换机的带宽,导致正常的数据无法转发
工程现场:如果发现交换机的灯疯狂闪烁、肯定存在环路
实验验证:
实验拓扑图
首先关闭模拟器上环路交换机(SW1、SW2、SW3、SW5)的STP功能
接着用PC1去ping服务器
发现此时PC1已经ping不同服务器了,因为这个时候耗尽交换机的带宽,导致正常的数据无法转发。
在接入层交换机的E0/0/2接口的抓包情况
如何解决广播风暴:
无解,除非重启设备。
②多帧复制
单播的数据帧被多次复制传送到目的站点
当主机A给主机B发送单播的数据帧时,会同时从F0/1和F0/2接口转发,然后分别到达SW2的F0/1和F0/2接口。最终都到达主机B上。收到一个数据帧后,第二个数据帧就没有作用了,但是它依然会消耗链路上的带宽资源和主机的计算资源。
③MAC地址表抖动
由于相同帧的拷贝在交换机的不同端口上被接收而引起的 MAC地址表不稳定
交换机的一个接口能对应多个MAC地址,但是,一个MAC地址,只能对应一个接口。在上图中,主机A的MAC地址是A,交换机SW1上就会记录F0/1接口对应的MAC地址是A,然后通过SW2的环路到达SW1的F0/2接口。这时SW1交换机又会把主机A的MAC地址与F0/2接口绑定。然后,从SW1的F/02出来的数据帧经过环路到达SW的F0/1接口的时候,交换机SW1又会