生成树协议 STP(spanning-tree protocol)
①STP的功能
>>>逻辑上堵塞某个接口来防止二层环路
>>>能够在二层交换网络中实现冗余备份
②STP选举机制
目的:
>>>找到阻塞的端口
STP交换机的角色
>>>根交换机
>>>非根交换机
STP的选票
>>>STP的选举是通过比较BPDU(Bridge Protocol Date Unit 桥协议数据单元)的字段
>>>BPDU主要比较以下字段:
Root ID 根ID:根ID=根优先级+MAC地址 (根优先级默认是32768,若根优先级一样则比较MAC地址)
Cost of path 路径开销:路径开销是在端口发送BPDU的时候加
带宽10M开销100,带宽100M开销19,带宽1G开销4,带宽10G开销2
Bridge ID 桥ID:桥ID=桥优先级+MAC地址(桥优先级默认是32768,若桥优先级一样则比较MAC地址)
Port ID 端口ID:端口ID=端口优先级(默认是128)+端口号 例如:f0/1的端口ID是128.1
STP的端口角色
>>>根端口:非根交换机上去往根交换机最好的端口(每一个非根交换机上有一个)
>>>指定端口:根交换机去往非根交换机最好的接口(每一个段有一个)
>>>阻塞端口:既不是根端口也不是指定端口 (在非根交换机上,整个环路只有一个)
③SPT选举过程
1.选举根交换机
2.选举根端口
3.选举指定端口
4.选举阻塞端口
1.选举根交换机 (先比较Root ID的优先级,若优先级一样再比较MAC地址)
>>>在选举出根交换机之前,所有的交换机都会认为自己是根交换机,每个都会发送BPDU,
>>>通过比较BPDU的Root ID字段,从图中可知Sw0的priority最小最优先,所有Sw0为根交换机
>>>根交换机选好后,只有根交换机会定期的发送BPDU(每2S一次),非根交换机只能转发BPDU
2.选举根端口 (主要看路径开销,若开销则看端口ID)
>>>非根交换机的所有端口接收到根发送的BPDU后,通过BPDU里面的字段进行比较
>>>看图,以Sw1为例,从f0/1和f0/2收到的BPDU可以看出,
Roud ID都是4096/0000.0000.aaaa,所以无法比较,
从f0/1收到的BPDU开销为19,从f0/2收到的BPDU开销为38,所以f0/1为根端口
3.选举指定端口(每一个段需要选举一个指定端口)
>>>首先,根交换机上所有的端口都是指定端口
通过所有交换机的端口转发或者发送的BPDU进行比较
>>>看图,如何选举出Sw1和Sw2之间的指定端口?
通过比较他们各自转发的BPDU
Root ID肯定都是一样的,无法判断
开销碰巧也一样(一般情况比较开销就可以选举出指定端口),也无法比较
最后看Bridge ID,从Sw1转发的BPDU的Bridge ID是32768/0000.0000.bbbb
从Sw2转发的BPDU的Bridge ID是32768/0000.0000.cccc
不难看出Sw1的Bridge ID的mac地址更小更优先,所以Sw1的f0/2接口为指定端口
4.选举出阻塞端口
最后,除了根端口,和指定端口,剩下的接口就是阻塞端口啦。从图中可以看出阻塞端口是Sw2的f0/2接口