当前位置:文档之家› stp协议,选举

stp协议,选举

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载stp协议,选举甲方:___________________乙方:___________________日期:___________________stp协议,选举篇一:stp到底是怎么选举端口角色的?下面的拓扑怎么进行生成树呢?书上的说法有点模糊,而且对指定端口的选举更是说的不清不楚,描述为:同一网段的选举。

网段这个概念众所周知实在是太模糊了,因此不好说是怎么选举出来的。

下面通过pt的模拟实验仿真stp的选举过程。

希望对有此迷惑的童鞋有所帮助。

(图中desg=指定端口,Root=根端口,altn= 非指定端口)第一步:选举根桥:根据端口优先级和桥mac地址来判断。

先取优先级低的为根桥。

如果优先级都相同,则取mac 地址最低者。

如图,s2成为根桥第二步:指定端口角色。

指定s2上所有端口为desg ,同时si和s3连向s2的马上被选举为根端口,因为他们开销最小。

第三步(也就是最难理解的一步):这个时候s1,s3的根端口都被选出来了。

一个非Root的switch上根端口只有一个,其他将会成为指定端口或者是非指定端口。

在stp中,指定端口最终进入转发状态,而非指定端口最后将进入disabled 状态。

那么现在到底怎么确定哪个是非指定端口,哪个是指定端口呢?这要先经过比较这两台交换机通过根端口到根交换机开销比较,比较低者直接可以将待定的端口设置为指定端口;如果两个交换机根路径开销相等,这个过程就会通过两个交换机之间交换bpdu来实现的。

si与s3交换bpdu, 较低bid者将会赢得竞争,该交换机上的对应端口成为指定端口。

最重要的是:接下来,另外一个参与竞争的交换机的对应端口将直接被认为是非指定端口。

为什么要经过这样的途径呢?既然stp叫生成树协议,有人说,生成树就是长得像树的样子了,到了树的末端就传不下去了。

网上也有很多图用消减链路的模式图来表示生成树,但事实上这是不对的:这个树不是严格意义上的树一一在这些链路上,链路只是被单向屏蔽,而不是双向屏蔽的。

为了理解上述所说的话,我们来模拟一个实验。

新的一台计算机被连接上了一台交换机,我们来ping 一下255.255.255.255 来观察一下数据包的流向。

注意观察icmp包从si 乂传回了s3!这是不是环路了呢? 不对!因为s3这个端口现在处于block状态,也就是既不转发数据,也不接受数据,这些数据将被s3丢弃。

其实,与其理解生成树的算法为一棵树,还不如认为生成树算法在必要的地方单向拦截,即尽虽屏蔽少的端口来达到生成树的目的现在就很容易解释我们前面提到的问题了:为什么要经过这样的途径呢?为什么要在一个链路上的两端确定指定与非指定端口?这就是因为生成树算法是一种单向屏蔽的算法,因此基于需要竞争角色的链路会发生竞争过程。

篇二:stp协议详解与实例[*1*].冗余链路中存在的问题这一部分使用下面这个拓扑来讲解一下链路冗余容易造成的三个问题:如图所示sw1和sw2之间有两条线路相连,它们之间任何一条链路出现故障另外一条线路可以马上顶替出现故障的那条链路,这样可以很好的解决单链路故障引起的网络中断,但在此之前有下面三个问题需要考虑。

*广播风暴以太网交换机传送的第二层数据帧不像路由器传送的第三层数据包有ttl (timetolive ),如果有环路存在第二层帧不能被适当的终止,他们将在交换机之间永无止境的传递下去。

结合交换机的工作原理,来看一下上面这张拓扑中广播风暴是如何形成的:1, pc1发出一个广播帧(可能是一个aRp查询),sw1收到这个广播帧,sw1将这个广播帧从除接收端口的其他端口转发出去(即发往fa0/2、fa0/23、fa0/24 )。

2, sw2从自己的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地址表不稳定广播风暴除了会产生大虽的流H外,还会造成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分别从自己的这两个接口再将这个广播帧发回给sw1,这样pci的mac地址会不停的在两台交换机的fa0/23和fa0/24之间波动,mac地址缓存表也不断的被刷新,影响交换机的性能。

*重复帧拷贝冗余拓扑除了会带来广播风暴以及mac地址的不稳定,还会造成重复的帧拷贝:1,假设pci发送一个单播帧给pc3,这个单播帧到达swi,假设swi上海没有pc3的mac地址,根据交换机的原理,对未知单播帧进行泛洪转发,即发往除接收端口外的所有其他端口(fa0/2、fa0/23、fa0/24)。

2, sw2分从自己的fa0/23和fa0/24接收到这个单播帧,sw3知道pc3连接在自己的fa0/1接口上,所以swi将这两个单播帧都转发给pc3。

3, pci只发送了一个单播帧,pc3却收到了两个单播帧,这会给某些网络环境比如流虽统计带来不精确计算等问题。

[*2*].stp 介绍基于冗余链路中存在的这些问题stp被设计出来用来解决这些问题,下面介绍stp的工作原理。

*stp算法stp通过拥塞冗余路径上的一些端口,确保到达任何目标地址只有一条逻辑路径,stp借用交换bpdu(bridgeprotocoldataunit ,桥接数据单元)来阻止环路,bpdu中包含bid (bridgeid ,桥id )用来识另U是哪台计算机发出的bpduo在stp运行的情况下,虽然逻辑上没有了环路,但是物理线上还是存在环路的,只是物理线路的一些端口被禁用以阻止环路的发生,如果正在使用的链路出现故障,stp重新计算,部分被禁用的端口重新启用来提供冗余。

stp 使用sta (spanningtreealgorithm ,生成树算法)来决定交换机上的哪些端口被堵塞用来阻止环路的发生,sta选择一台交换机作为根交换机,称作根桥(Rootbridge ),以该交换机作为参考点计算所有路径。

*根交换机选举首先要知道什么是bid (bridgeid ,桥id ),因为根交换机的选举是基于bid的,bid由三部分组成:优先级、发送交换机的mac地址、extendedsystemid (扩展系统id ,可选项)如下图所示:bid 一共8个字节,其中优先级2个字节,mac地址6个字节。

在不使用extendedsystemid 的情况下,bid由优先级域和交换机的mac地址组成,针对每个Vlan ,交换机的mac地址都不一样,交换机的优先级可以是0-65535。

在使用extendedsystemid 的情况下每个Vlan的mac地址可以相同(在gns3模拟器中不支持extendedsystemid , ciscopackettracer5.3 支持extendedsystemid )。

值得一提的是,现在的交换机普遍使用extendedsystemid 。

拥有最小bid的交换机被选举成为根交换机。

在同一个广播域中的所有交换机都参与选举根交换机,当一台交换机启动时,它假设自己是根交换机,并默认每隔2秒发送一次“次优bpdu”帧,bpdu 帧中的Rootid (根交换机的bid )和本机的bid相同。

在一个广播域中的交换机互相转发bpdu帧,并且从接收到的bpdu中读取Rootid ,如果读取到的Rootid比本交换机的bid小,交换机更新Rootid 为这个较小的Rootid,然后继续转发修改后的bpdu;如果接收的bpdu中的Rootid比本交换机的bid大,那么继续将自己的bid作为Rootid 向外发送bpdu,直到最后在同一个生成树实例中拥有一致的Rootid,这个Rootid 对应了这个广播域中某台交换机的bid (并且这个bid 一定是这个广播域最小的),这台交换机就被选作根交换机。

下面用一个实例来演示一下根交换机的选举,在ciscopackettracer5.3 中搭建下面这样的拓扑:线连接好后等待几十秒钟,它们会自动选举出根交换机,使用下面的命令验证:1/*2*在sw1上查看生成树信息,因为sw1、sw2、sw3上面都没有划分其他的Vlan , 3*所以默认只有Vlan0001的生成树信息。

4*5*"spanningtreeenabledprotocolieee”,6*表示交换机使用的生成树协议是"pVst+,这也是思科默认的生成树协议。

7*8*"Rootid"后面是Vlanl中根交换机的bid参数,9*priority32769 ,表示根交换机的优先级是32769, 10*address 是根交换机的mac地址,11*"thisbridgeistheroot” ,表示当前这台交换机就是根交换机。

12*13*"hellotime2secmaxage20secForwarddelay15sec”14*bpdu发送间隔默认2秒,最大存在时间是20秒,转发延时是15秒。

15*16*"bridgeid" 后面的参数是本交换机的bid参数,17*因为sw1就是根交换机,所以这个下面的参数和"Rootid"是一样的,18*其中"priority32768sys-id-ext1",表示sw1的优先级是32768,19*extendedsystemid 是1,所以优先级就是32768+1 o20*21*所以sw1的bid=sw1的优先级+sw1的mac地址=32769+0001.9681.2683*接下来查看sw2和sw3的生成树信息,就会知道为什么sw1可以被选举成22根交换机了。

相关主题