转载来源于http://blog.csdn.net/chenyong309/article/details/5304082
STP协议介绍
STP-Spanning Tree Protocol(生成树协议):逻辑上断开环路,防止广播风暴的产生;当线路出现故障,断开的接口被激活,恢复通信,起备份线路的作用
-STP的算法
STP将一个环形网络生成无拓扑的步骤:
l 选择根网桥(Root Bridge)
l 选择根端口(Root Ports)
l 选择指定端口(Designated Ports)
*网桥是交换机的前身,由于STP是在网桥基础上开发的,因此现在在交换机的网路中仍然沿用网桥这一术语
-选择根网桥的依据
网桥ID(BID):网桥ID是唯一的,交换机之间选择BID值最小的交换机作为网络中的根网桥。网桥ID组成:网桥优先级(2字节);网桥的MAC地址(6字节);取值范围:0~65535;缺省值:32768
-选择根端口的依据
在非根网桥上选择一个到根网桥最近的端口作为根端口
选择根端口的依据是:
l 根据路径成本最低
l 支连的网桥ID最小
l 端口ID最小
根路径成本:是网桥到根网桥的路径上所有链路的成本之和
端口ID:端口ID的组成:端口优先级(8位);端口编号(8位);取值范围:0~255;缺省值:128
-选择指定端口的依据:
在每个网段上,选择1个指定根端口
l 跟网桥的端口全是指定端口
l 非根网桥上的指定端口:根路径成本最低;端口所在的网桥的ID值较小;端口ID值较小
-STP计算结果
经过STP计算,最终的逻辑结构为无环拓扑
-BPDU(桥协议数据单元)
交换机之间使用BPDU来交换STP信息
BPDU(Bridge Protocol Data Unit):桥协议数据单元
使用组播发送BPDU,组播地址为:01-80-c2-00-00-00
BPDU分为2种类型:配置BPDU-用于生成树计算;拓扑变更通告(TCN)BPDU-用于通告网络拓扑的变化
-STP使用BPDU选择根网桥
交换机启动时,假定自己是根网桥,在向外发送的BPDU中,根网桥ID字段填写自己的网桥ID
-STP使用BPDU计算根路径成本
根网桥发送根路径成本为0的BPDU;其他交换机接收到根网桥的BPDU后,在根路径成本上添加接收接口的路径成本,然后转发
STP BPDU是一种二层报文,目的MAC是多播地址01-80-C2-00-00-00,所有支持STP协议的网桥都会接收并处理收到的BPDU报文。该报文的数据区里携带了用于生成树计算的所有有用信息。
-PVST(按VLAN生成树)
PVST是Cisco私有的,为每个VLAN构造一棵生成树
-PVST+
Cisco私有;可以与CST互操作;用来连接PVST与CST区域
-PVST在实际中的应用
配置网络中比较稳定的交换机为根网桥
利用PVST实现网络的负载分担
IEEE 802.1w标准里定义了快速生成树协议RSTP(Rapid Spanning Tree Protocol)。RSTP协议在STP协议基础上做了三点重要改进,使得收敛速度快得多(最快1秒以内)。
多实例化的第三代生成树协议:MISTP/MSTP
多实例生成树协议MISTP(Multi-Instance Spanning TreeProtocol)定义了“实例”(Instance)的概念。简单的说,STP/RSTP是基于端口的,PVST/PVST+是基于VLAN的,而MISTP就是基于实例的。所谓实例就是多个VLAN的一个集合,通过多个VLAN捆绑到一个实例中去的方法可以节省通信开销和资源占用率。
多生成树协议MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定义的一种新型多实例化生成树协议。这个协议目前仍然在不断优化过程中,现在只有草案(Draft)版本可以获得。不过Cisco已经在CatOS 7.1版本里增加了MSTP的支持,华为公司的三层交换机产品Quidway系列交换机也即将推出支持MSTP协议的新版本。
MSTP协议精妙的地方在于把支持MSTP的交换机和不支持MSTP交换机划分成不同的区域,分别称作MST域和SST域。在MST域内部运行多实例化的生成树,在MST域的边缘运行RSTP兼容的内部生成树IST(Internal Spanning Tree)。