版权声明:本篇转自:http://wzhj132.blog.51cto.com/884968/188703 |
STP 生成树原理【STP的介绍】STP的全称是spanning-tree protocol。STP协议是一个二层的链路管理协议,它在提供链路冗余的同时防止网络产生环路。STP协议(Spanning tree protocol)的本质就是实现在交换网络中链路的备份和负载的分担.STP是生成树协议,主要功能是从拓扑中清除第2层环路。
【BPUD与生成树原理分析】一。BPDU里有什么?
二。每个字段做什么用?协议ID和版本号:目前都是0,表示的是这是个STP协议。BPDU类型:表示的是配置BPDU还是TCN的BPDU。标志域:第一位和最后一位有用到,用来表示这是一个拓扑变更帧,还是拓扑变更确认帧。根网桥ID:路径成本:4个字节,计算到根桥的路径成本。桥ID:8个字节。由2个字节优先级和6个字节MAC地址构成。2个字节里前4bits表示优先级,后12bits表示扩展位(vlan数)。默认优先级是32768,最大是65535。端口ID:由优先级加端口出厂编号构成,优先级可以修改,但是一般不推荐修改。消息老化时间:消息寿命:消息最多存活时间。hello时间:默认是两秒,可以修改。转发延迟:默认是15秒,可以修改。 实例图分析:实验环境:在宿舍用wireshark抓的包。先看1的部分:看到目的MAC地址是01:80:c2:00:00:00,这是个组播地址。再看2的STP部分:协议标识和版本都是0.类型:是配置BPDU。根标识:这里优先级是0。(不是很清楚,或许是被改过了)路径开销是:220020 (这个是累加的)桥ID:优先级32768。端口标识:0x800e消息老化时间:3hello 时间是2s。转发延迟是15s。三。BPDU里的字段怎么用? (生成树的原理)浩哥说:“我们只看BPDU”。现在就看看怎么用BPDU来解释STP原理。首先看几个术语: 根桥:具有最小桥ID的交换机。根路径开销:一台交换机的根路径开销是根端口的路径开销与数据包经过的所有交换机的根路径开销之和。根桥的根路径开销是零。 根端口:每台交换机都有一个根端口,这个端口到根桥的路径开销最低。一旦多个端口具有相同的到根桥的路径开销时,那么具有最低的端口ID的才会成为根端口。 指定端口:为每个交换LAN网段选定的转发端口。 现在正式开始:用一个拓扑图来说明:(这是NA时聪哥引以为豪的拓扑)假设:他们的优先级默认都一样,都是32768.带宽都一样,是
1.根桥的选举: 在交换机开机后,每个接口都会发送出BPDU信息,将自己的桥ID填入根网桥ID字段,然后进行协商。发现别人的桥ID比自己大,就把根网桥换成别人的,如此迭代到根网桥选出为止。这里协商后根网桥为:sw1。因为他的mac地址最小。(二层取小,三层取大原则)。总结:一个VLAN里只有一个根网桥。 2.根端口的选举: 根网桥选举后,只有根网桥会发送BPDU信息,其它交换机不会发送,但是会转发BPDU信息。首先从接受到的BPDU中查看cost of path字段,将自己到链路的开销加上里面的BPDU的值,形成新的cost of path值传出去。例如:sw2和sw3,sw2从1口看到BPDU中cost ofpath的值是0,因为是根桥发来的,由于自己知道自己的接口是 【小小总结】STP防止环路的机制是将某些端口阻塞掉,。选根端口,就是选路径,选指定端口就是决定要在网段上要将两个口的哪个口给阻塞掉,从而达到目的。关于STP的目的是防环路还是为了冗余的理解: STP是为了更好地冗余。两个方面来理解:1)环路产生的原因的是冗余。2)后面发展RSTP,MSTP都不仅仅是为了防环路,如果是的话,802.1D就可以了。引用第一段的话,STP协议的本质就是实现在交换网络中链路的备份和负载的分担,也就是为了更好的冗余。 友情提示: 1.根据发送的BPDU来判断,只有根网桥才能发送BPDU。 2.理解根端口和指定端口的区别,根端口是用来接受BPDU信息,而指定端口是用来转发BPDU等信息的,一个是接受方,一个是发送方,所以当链路开销一样时,在选择指定端口和根端口时候是相反的。 最后��唆一下,“我们只看BPDU“。 浩哥这话真是经典。
|