华为认证技术合集http://www.thinkmo.cn/Home/Course/nradio/course_id/267.html?etoken=e6fec722
STP详解
01
冗余链路中存在的问题
如图所示LSW1和LSW2之间有两条线路相连,它们之间任何一条链路出现故障另外一条线路可以马上顶替出现故障的那条链路,这样可以很好的解决单链路故障引起的网络中断,但在此之前有下面三个问题需要考虑。
-
广播风暴
以太网交换机传送的第二层数据帧不像路由器传送的第三层数据包有TTL(Time To Live),如果有环路存在第二层帧不能被适当的终止,他们将在交换机之间永无止境的传递下去。结合交换机的工作原理,来看一下上面这张拓扑中广播风暴是如何形成的:
1. PC1发出一个广播帧(可能是一个ARP查询),LSW1收到这个广播帧,LSW1将这个广播帧从除接收端口的其他端口转发出去(即发往G0/0/2、G0/0/3、G0/0/4)。
2. LSW2从自己的G0/0/1和G0/0/2都会收到SW1发过来的相同的广播帧,LSW2再将这个广播帧从除接收端口外的所有其他接口发送出去(LSW2将从G0/0/2接收的广播帧发往其他三个端口G0/0/1、G0/0/3、G0/0/4,从fa0/24接收到的也会发往其他三个端口G0/0/1、G0/0/3、G0/0/4)。
3. 这样这个广播帧又从G0/0/1以及G0/0/2传回了LSW1,LSW1再用相同的方法传回LSW2,除非物理线路被破坏,否则PC1-4将不停的接收到广播帧,最终造成网络的拥塞甚至瘫痪。
MAC地址表不稳定
广播风暴除了会产生大量的流量外,还会造成MAC地址表的不稳定,在广播风暴形成过程中:
1. PC1发出的广播帧到达LSW1,LSW1将根据源MAC进行学习,LSW1将PC1的MAC和对应端口G0/0/1写入MAC缓存表中。
2. LSW1将这个广播帧从除接收端口之外的其他端口转发出去,LSW2接收到两个来自LSW1的广播(从G0/0/1和G0/0/2),假设G0/0/2首先收到这个广播帧,LSW2根据源MAC进行学习,将PC1的MAC和接收端口G0/0/2存入自己的MAC缓存表,但是这时候又从G0/0/1收到了这个广播帧,LSW1将PC1的MAC和对应的G0/0/1接口存入自己的MAC缓存表。
3. LSW2分别从自己的这两个接口再将这个广播帧发回给LSW1,这样PC1的MAC地址会不停的在两台交换机的G0/0/1和G0/0/2(G0/0/3、G0/0/4)之间波动,MAC地址缓存表也不断的被刷新,影响交换机的性能。
重复帧拷贝
冗余拓扑除了会带来广播风暴以及MAC地址的不稳定,还会造成重复的帧拷贝:
1. 假设PC1发送一个单播帧给PC3,这个单播帧到达LSW1,假设LSW1上还没有PC3的MAC地址,根据交换机的原理,对未知单播帧进行泛洪转发,即发往除接收端口外的所有其他端口(fa0/2、fa0/23、fa0/24)。
2. LSW2分从自己的G0/0/1和G0/0/2接收到这个单播帧,LSW2知道PC3连接在自己的G0/0/4接口上,所以LSW1将这两个单播帧都转发给PC3。
3. PC1只发送了一个单播帧,PC3却收到了两个单播帧,这会给某些网络环境比如流量统计带来不精确计算等问题。
STP介绍
基于冗余链路中存在的这些问题STP被设计出来用来解决这些问题,下面介绍STP的工作原理。
交换机上有默认的stp版本为mstp(多实例生成树)、stp(生成树)、rstp (快速生成树)。
01
工作原理
STP通过拥塞冗余路径上的一些端口,确保到达任何目标地址只有一条逻辑路径,STP借用交换BPDU(Bridge Protocol Data Unit,桥接数据单元)来阻止环路,BPDU中包含BID(Bridge ID,桥ID)用来识别是哪台计算机发出的BPDU。
在STP运行的情况下,虽然逻辑上没有了环路,但是物理线上还是存在环路的,只是物理线路的一些端口被禁用以阻止环路的发生,如果正在使用的链路出现故障,STP重新计算,部分被禁用的端口重新启用来提供冗余
STP使用STA(Spanning Tree Algorithm,生成树算法)来决定交换机