生成树
STP(Spanning Tree Protocol 生成树协议):所有生成树协议都在通过发送信息比较信息进行选举,找到环路中应该被关闭的接口(接口阻塞);发送的比较信息称为BPDU,网桥协议数据单元。
泛洪:当交换机收到某一个数据帧时,交换机会从该VLAN本交换机除进入接口外所有的接口转发该数据帧的过程。
为了保证交换网络高可用性,在交换机之间使用冗余链路,由于网络中的泛洪机制可能造成二层的桥接环路,会导致:
1、广播风暴;
2、Mac地址表的不稳定;
3、数据帧的重复拷贝;
二层广播风暴:主机A给主机C发送了一个ARP广播帧,1交换机广播给2交换机,2交换机又会广播发送给交换机1,如此循环;重复循环发送同一个数据帧会在不同的接口处刷新同一条Mac地址映射,会导致Mac地址表不稳定;每当1发出的数据帧被循环一次,主机C都需要回复一个数据,数据帧重复拷贝;
- 解决思路:让某个接口暂时不转发数据,打破交换网络中的环路;(针对交换网络的所有环路中,关闭某个接口)
1、生成树协议的类型
- STP(标准生成树协议,又称802.1D);
- RSTP(快速生成树协议,又称802.1W);
- MSTP(多生成树协议,又称802.1S);
思科:802.1D:PVST(per-VLAN spanning tree:基于VLAN的生成树协议);802.1W:PVRST+(基于VLAN的快速生成树协议)。基于VLAN是一个VLAN生成一棵树;
cisco:
如图:
PVSTP,PC0传输数据时,走Switch0–Switch1之间链路;PC1传输数据时,走Switch2–Switch1之间的链路;每一个VLAN建立一棵树;缺点:当一个交换网络中存在的VLAN较多时,就会有过多的树,占用过多资源;
2、802.1D ;标准生成树
BPDU :网桥协议数据单元,分为配置BPDU–config-BPDU和拓扑变更BPDU–TC-BPDU;
-
配置BPDU —— config-BPDU:用于生成树的选举以及重收敛
-
拓扑变更BPDU —— TC-BPDU:通知交换机网络结构发生变化,交换网络出现了拓扑变更
网络初步搭建的时候,交换机之间使用config-BPDU来生成树;构建完成后如果网络结构发生变换,则使用TC-BPDU来重新修改生成树。
BPDU(Bridge Protocol Data Unit)的数据结构:
华为:
思科:
-
Protocol ID:2字节,标识数据帧是一个BPDU的数据帧;
-
Version:1字节,BPDU版本;STP为0,RSTP为2,MSTP为3;
-
Message type: 2字节,信息类型,代表着BPDU 的类型 (0X00 配置 0X80 拓扑TC);
- 0x00:STP的Configuration BPDU
- 0x80:STP的TCN BPDU(Topology Change Notification BPDU)
- 0x02:RST BPDU(Rapid Spanning-Tree BPDU)或者MST BPDU(Multiple Span