本帖最后由 紫川凌 于 2012-5-8 18:43 编辑
生成树选举总结 很久没有写文档了,前几天刚好有人问到生成树选举的问题,所以现在回顾一下,写下这篇文档总结一下。 生成树的选举其实并不复杂,我们可以根据生成树的选举步骤一步一步的来分析: 一、 选举根桥 1. 在交换机初始化的时候,所有的交换机都会认为自己是根桥,所以会向其他交换机泛洪BPDU; 2. 交换机收到BPDU后,会比较BPDU中的BridgeID(Bridge ID由两部分构成:优先级和背板MAC地址); 3. 交换机比较BPDU后,会选举出Bridge ID最小的交换机作为根桥,由根桥来发送BPDU,其他交换机转发BPDU; 二、 选举根端口 选举完根桥之后,要在所有非根桥交换机上选举出一个根端口。根端口的选举规则如下: 1. 交换机首选会以端口和根桥为参考点,选择到达根桥COST值最小的端口作为根端口(PS:COST的计算是将BPDU传输方向的入接口的COST值累加,并且自身端口上COST值不计算在内),参考下图。 2. 如果到达根桥的COST值相同,那么接着比较交换机的Bridge ID(这里的Bridge ID是指转发BPDU交换机的Bridge ID); 还是以上图中的R4为例,R4的F0/0 、F0/1到达根桥的COST值都是20,那么只能接着比较Bridge ID。F0/0接收到的BPDU是由R2转发过来的,F0/1接收到的BPDU是由R3转发过来的,所以比较Bridge ID后,F0/0被选为Root port。 3. 如果COST值,Bridge ID都一样(这种情况就是两台交换机通过多条线缆连接),这个时候需要继续比较Port ID(Port ID 也是指发送方的Port ID); 三、 选举指定端口 选举完根端口,交换机继续在每一段链路上选举一个指定端口。指定端口的选举规则如下: 1. 根桥上的所有端口都是指定端口; 2. 比较COST值(参考根端口的COST值计算); 3. 比较Bridge ID(参考根端口的Bridge ID比较); 4. 比较Port ID(参考根端口的Port ID比较); 四、 剩下的端口就是非指定端口,也就是被Block的端口。
|