竭诚为您提供优质文档/双击可除
stp协议,选举
篇一:stp到底是怎么选举端口角色的?
下面的拓扑怎么进行生成树呢?书上的说法有点模糊,而且对指定端口的选举更是说的不清不楚,描述为:同一网段的选举。网段这个概念众所周知实在是太模糊了,因此不好说是怎么选举出来的。下面通过pt的模拟实验仿真stp的选举过程。希望对有此迷惑的童鞋有所帮助。(图中desg=指定端口,Root=根端口,altn=非指定端口)
第一步:选举根桥:根据端口优先级和桥mac地址来判断。先取优先级低的为根桥。如果优先级都相同,则取mac地址最低者。如图,s2成为根桥
第二步:指定端口角色。指定s2上所有端口为desg,同时s1和s3连向s2的马上被选举为根端口,因为他们开销最小。
第三步(也就是最难理解的一步):这个时候s1,s3的根端口都被选出来了。一个非Root的switch上根端口只有一个,其他将会成为指定端口或者是非指定端口。在stp中,指定端口最终进入转发状态,而非指定端口最后将进入
第 1 页 共 14 页
disabled状态。
那么现在到底怎么确定哪个是非指定端口,哪个是指定端口呢?这要先经过比较这两台交换机通过根端口到根交换机开销比较,比较低者直接可以将待定的端口设置为指定端口;如果两个交换机根路径开销相等,这个过程就会通过两个交换机之间交换bpdu来实现的。s1与s3交换bpdu,较低bid者将会赢得竞争,该交换机上的对应端口成为指定端口。最重要的是:接下来,另外一个参与竞争的交换机的对应端口将直接被认为是非指定端口。为什么要经过这样的途径呢?既然stp叫生成树协议,有人说,生成树就是长得像树的样子了,到了树的末端就传不下去了。网上也有很多图用消减链路的模式图来表示生成树,但事实上这是不对的:这个树不是严格意义上的树——在这些链路上,链路只是被单向屏蔽,而不是双向屏蔽的。
为了理解上述所说的话,我们来模拟一个实验。新的一台计算机被连接上了一台交换机,我们来ping一下255.255.255.255来观察一下数据包的流向。
注意观察icmp包从s1又传回了s3!这是不是环路了呢?不对!因为s3这个端口现在处于block状态,也就是既不转发数据,也不接受数据,这些数据将被s3丢弃。其实,与其理解生成树的算法为一棵树,还不如认为生成树算法在必要的地方单向拦截,即尽量屏蔽少的端口来达到生成树的
第 2 页 共 14 页
目的。
现在就很容易解释我们前面提到的问题了:为什么要经过这样的途径呢?为什么要在一个链路上的两端确定指定与非指定端口?这就是因为生成树算法是一种单向屏蔽的算法,因此基于需要竞争角色的链路会发生竞争过程。 篇二:stp协议详解与实例 [*1*].冗余链路中存在的问题
这一部分使用下面这个拓扑来讲解一下链路冗余容易造成的三个问题:
如图所示sw1和sw2之间有两条线路相连,它们之间任何一条链路出现故障另外一条线路可以马上顶替出现故障的那条链路,这样可以很好的解决单链路故障引起的网络中断,但在此之前有下面三个问题需要考虑。 *广播风暴
以太网交换机传送的第二层数据帧不像路由器传送的第三层数据包有ttl(timetolive),如果有环路存在第二层帧不能被适当的终止,他们将在交换机之间永无止境的传递下去。结合交换机的工作原理,来看一下上面这张拓扑中广播风暴是如何形成的:
1,pc1发出一个广播帧(可能是一个aRp查询),sw1收到这个广播帧,sw1将这个广播帧从除接收端口的其他端口转发出去(即发往fa0/2、fa0/23、fa0/24)。2,sw2从自
第 3 页 共 14 页
己的fa0/23和fa0/24都会收到sw1发过来的相同的广播帧,sw2再将这个广播帧从除接收端口外的所有其他接口发送出去(sw2将从fa0/23接收的广播帧发往其他三个端口fa0/24、fa0/1、fa0/2,从fa0/24接收到的也会发往其他三个端口fa0/23、fa0/1、fa0/2)。
3,这样这个广播帧又从fa0/23以及fa0/24传回了sw1,sw1再用相同的方法传回sw2,除非物理线路被破坏,否则pc1-4将不停的接收到广播帧,最终造成网络的拥塞甚至瘫痪。
*mac地址表不稳定
广播风暴除了会产生大量的流量外,还会造成mac地址表的不稳定,在广播风暴形成过程中:
1,pc1发出的广播帧到达sw1,sw1将根据源mac进行学习,sw1将pc1的mac和对应端口fa0/1写入mac缓存表中。 2,sw1将这个广播帧从除接收端口之外的其他端口转发出去,sw2接收到两个来自sw1的广播(从fa0/23和fa0/24),假设fa0/23首先收到这个广播帧,sw2
根据源mac进行学习,将pc1的mac和接收端口fa0/23存入自己的mac缓存表,但是这时候又从fa0/24收到了这个广播帧,sw1将pc1的mac和对应的fa0/24接口存入自己的mac缓存表。
3,sw2分别从自己的这两个接口再将这个广播帧发回给
第 4 页 共 14 页
sw1,这样pc1的mac地址会不停的在两台交换机的fa0/23和fa0/24之间波动,mac地址缓存表也不断的被刷新,影响交换机的性能。 *重复帧拷贝
冗余拓扑除了会带来广播风暴以及mac地址的不稳定,还会造成重复的帧拷贝:1,假设pc1发送一个单播帧给pc3,这个单播帧到达sw1,假设sw1上海没有pc3的mac地址,根据交换机的原理,对未知单播帧进行泛洪转发,即发往除接收端口外的所有其他端口(fa0/2、fa0/23、fa0/24)。 2,sw2分从自己的fa0/23和fa0/24接收到这个单播帧,sw3知道pc3连接在自己的fa0/1接口上,所以sw1将这两个单播帧都转发给pc3。
3,pc1只发送了一个单播帧,pc3却收到了两个单播帧,这会给某些网络环境比如流量统计带来不精确计算等问题。 [*2*].stp介绍
基于冗余链路中存在的这些问题stp被设计出来用来解决这些问题,下面介绍stp的工作原理。 *stp算法
stp通过拥塞冗余路径上的一些端口,确保到达任何目标地址只有一条逻辑路径,stp借用交换bpdu
(bridgeprotocoldataunit,桥接数据单元)来阻止环路,bpdu中包含bid(bridgeid,桥id)用来识别是哪台计算机
第 5 页 共 14 页