码迷,mamicode.com
首页 > 其他好文 > 详细

生成树选举规则:

时间:2018-05-09 17:28:54      阅读:1331      评论:0      收藏:0      [点我收藏+]

标签:生成树

技术分享图片
先明确一点:网桥=交换机 这是以前人们对交换机的一个称呼,流传现在
明确第二点:Bridge ID=网桥ID
上边是两个术语,希望读者能够记住
在上图是一个二层的交换网络,可以看到这是一个全互联的拓扑,他们三台交换机目前处在一个广播域内的
生成树:
第一:在一个交换网络中选举出一个根交换机(Root)
第二:在每一个非根交换机上选举出一个根端口(RP)
第三:在每一个段中选举出一个指定端口(DP)

一、 **我们要在三台交换机上选举出一台交换机做为根交换机(Root)**
  因为生成树,顾名思义就是一棵树,树就要树根选举根交换机规则:
    根据网桥ID来选举
    网桥ID=2字节优先级+MAC地址
 大家都知道MAC地址是烧录在交换机背板,无法人为进行调整,所以我们在这个交换网络中可以调整他的优先级来控制三台交换机谁成为根交换机。
上图很明显,SW1会成为根交换机(Root),原因就是第一步会比较2字节优先级,因为默认32768,比较不出来,所以就去比较了MAC地址,SW1的MAC地址是这个交换网络中最小的,所以 SW1成为了根交换机
二、**在非根交换机上选举出一个根端口(RP)**

根端口可以这么理解,SW1每隔2秒钟会发BPDU报文,那非根交换机上肯定要有端口能够去接收BPDU的报文,所以会选举根端口。根端口一般都是朝向根交换机的,你看上图SW2和SW3两台交换 机就是非根桥交换机。
我们以SW2为例子,SW2上有2和4两个端口对吧?这2个端口哪个能够成为我的根端口,来去接收BPDU报文?下边是根端口的选举规则
根端口选举规则:

  1. 最低Bridge ID 2字节优先级+MA地址 调整优先级命令:spanning-tree vlan-id priority xxxx 每次调整4096倍数,默认32768
  2. 到根桥的最低路径成本 接口调整命令:Switch(config-if)#spanning-tree cost
  3. 最低的发送者Bridge ID 2字节优先级+MA地址
  4. 最低的发送者端口ID 2字节优先级+端口号 端口优先级调整命令:Switch(config-if)#spanning-tree port-priority xxxx 每次调整64倍数,默认128
    第1个规则我们先不看,先从第2个规则开始介绍:
    第2个规则意思是:2端口和4端口他俩谁到SW1的COST(成本)最近
    COST计算方法是,路由的入接口或者是数据的出接口沿途的累加,关于路由的入接口和数据的出接 口,读者不要乱想,它们两个都是一个意思。
    什么是路由的入接口?
    假设SW2的4端口为例,SW1的3端口的COST值加上SW3的3端口的COST值再加上SW2的4端口的 COST值就是路由的入接口
    什么是数据的出接口?
    假设SW2的4端口为例,SW2的4端口加上SW3的3端口的COST值再加上SW1的3端口的COST值就是 数据的出接口
    因为路由和数据是两个不同的方向来说的,有了上边讲解,大家应该明白COST是怎么计算的吧?
    那我们就分别计算下SW2的2和4端口到达根交换机的距离
    SW2的2端口=SW1的2端口+SW2的2端口=10(COST)
    为什么这里是等于2,而不是等于4呢?这是因为SW1它发出BPDU时候,累加自己的接口COST值为 0,其实就是:0+10=10(COST)了吗,就这么来的
    SW2的4端口=SW1的3端口+SW3的3端口+SW4的4端口=20(COST)

    很明显就是SW2的2端口10的COST要小于4端口的20的COST,所以再SW2交换机上根端口已经选举 出来了,SW2的2端口胜出。
    假设SW2的2端口和4端口的COST值都是一样的(因为COST值可以修改),这个时候我们比较第3个 规则

    第3个规则意思:最低发送者的Bridge ID,请看清楚是发送者的Bridge ID
    对于SW2的2端口来说,它的发送者就是SW1对吧?
    对于SW2的4端口来说,它的发送者就是SW3对吧?
    Bridge ID=网桥ID 我们再回复下Bridge ID=2字节的优先级+MAC地址
    首先比较SW1和SW3的优先级,默认都一样,然后我们去比较它们俩的MAC地址,很明显SW1作为根 交换机MAC地址最小,所以第3个规则也就比较出来了,SW2的2端口胜出

    第4个规则是再前边3个规则都一样的情况下才去比较,有的小伙伴就会问?每个交换机MAC地址不都 是独一无二的吗?第3步骤怎么会比较不出来呢?
    请大家仔细想下这种情况:假设SW2的2和4端口都连接到SW1交换机,明白了吧?是不是MAC地址都一样,哈哈。所以就会比较第4步骤
    技术分享图片
    第4个步骤意思:最低发送者的端口ID
    端口ID=端口优先级+端口号组成
    端口优先级范围:0 ~ 192 默认:128 每次调整都是64的倍数

    上图就是第4个步骤的情况,假设SW4是根交换机。现在SW5的e0/0和e0/1两个接口是不是前边3个规 则都一样? 第2个规则到达根交换机的COST值,以及第3个规则发送者的Bridge ID,因为都是SW4 所以优先级和MAC地址都一样,所以就有了第4步骤

    为什么要有端口优先级的概念?你想,我们再施工时候,网线已经插入到相应的接口,那假如我们遇 到上边的拓扑情况,我们总不能去把网线拔下来,换个接口吧?所以有了端口优先级的概念。
    请看清楚第4步规则:最低发送者的端口ID,因为SW4两个e0/0和e0/1端口优先级都是128,所以就比 较端口ID,端口ID就是端口号,比如e0/0就是端口ID,e0/1也是端口ID
    上图对于SW5来讲很明显e0/0端口会胜出,e0/1端口会被BLK(阻塞)掉
    因为SW4给e0/0发送过来的端口ID要小于SW4的e0/1端口ID

    其实有了上边对4个规则的详细介绍,大家能够看出来,最后肯定能够选出一个根端口,经过激烈的 选举SW2的2端口和SW3的3端口成为根端口(RP),用来接收BPDU报文

三、 在每一个段上选择一个指定接口(DP)
什么是每一个段?比如SW2到SW1这就是一个段,SW2到SW3这就是一个段,SW3到SW1又是一个 段。
经过上边选举SW2的2端口和SW3的3端口已经成为了根端口(RP)
我们一个一个段分析:
第一个段:SW2到SW1段,这个段选举指定接口怎么选?因为SW1是根交换机,所以它每一个端口都 不能被BLK(阻塞)掉,所以SW1的2端口是指定端口(DP),刚好SW2的2端口也有一个角色是根 端口(RP)。
第二个段:SW3到SW1段,这个段选举指定接口怎么选?因为SW1是根交换机,所以它每一个端口 都不能被BLK(阻塞)掉,所以SW1的3端口是指定端口(DP),刚好SW3的3端口也有一个角色是 根端口(RP)。
第三个段:SW2到SW3这个段要选举一个指定端口(DP)出来,怎么选?
选举规则:

  1. 最低Bridge ID 2字节优先级+MA地址
  2. 到根桥的最低路径成本
  3. 最低的发送者Bridge ID 2字节优先级+MA地址
  4. 最低的发送者端口ID 2字节优先级+端口号

第1个步骤:最低Bridge ID
对于SW2的4端口来讲,我的最低Bridge ID=优先级+MAC地址
SW2呢把自己的信息发送给SW3,SW3收到SW2的BPDU信息,会比较第一个规则
首先它查看Bridge ID中优先级字段,发现和我的一样(默认32768),查看MAC字段,发现SW2的 MAC地址比我的 小,也就是比我的更优,所以SW3就把自己的4端口给BLK(阻塞)掉。
SW3呢把自己的信息发送给SW2,SW2收到SW3的BPDU信息,会比较第一个规则
首先它查看Bridge ID中优先级字段,发现和我的一样(默认32768),查看MAC字段,发现SW3的 MAC地址比我的 大,然后丢弃掉这个信息

因为交换机只有在收到比我更优的BPDU报文才会去接收,经过比较发现接收到的BPDU当中的信息还 没有自己本身的优,就会丢弃掉
经过这个选举SW2的4端口成为DP,最终SW3因为MAC地址原因4端口被BLK(阻塞)掉。

我是第一次写文章,写的有可能啰嗦了,然后如果哪里错了或者我本身理解错了,请大家指出,感谢支持!

生成树选举规则:

标签:生成树

原文地址:http://blog.51cto.com/13595867/2114508

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!