对生成树的理解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生成树教程stp mstp
MSTP协议简介
概述
协议背景
在二层交换网络中,一旦网络中存在有环路,就会造成报文在环路中不断的增生循环,产生广播风暴占用所有的有效带宽,造成网络的瘫痪。STP协议根据网络中的拓扑结构,将网络中的节点按照一定的算法生成一个树形的拓扑结构,从而避免网络中环路的存在。当网络中拓扑结构发生变化时,STP算法会根据新的网络拓扑重新计算树,生成新的树形结构,这样既提供了环路保护的功能,同时可以提供链路冗余的功能。这是STP协议最初产生时提供的功能。
STP协议的发展
STP协议和其他网络协议一样,是随着网络的不断发展而不断更新换代的。最初被广泛应用的是IEEE802.1D 1998版本,随后又出现了IEEE802.1W RSTP协议、IEEE802.1s MSTP协议。RSTP协议提供了端口状态的快速转换功能,使网络拓扑的收敛时间大为减少。MSTP协议在RSTP协议的基础上引入了域和实例的概念,首先将网络中不同的桥设备及其LAN划分为不同的域内,在域内设定各个VLAN 到生成树实例的映射关系,这样既提供了快速收敛的能力,同时也在域内对网络冗余的网络带宽进行了有效应用。
相关文档
IEEE802.1D 1998版本STP协议
IEEE802.1W 2001版本RSTP协议
IEEE802.1s 2002版本MSTP协议
IEEE802.1D 2004版本STP+RSTP协议
IEEE协议于2004年将IEEE802.1D1998版本和IEEE802.1W2001版本合并为一个文档,是为IEEE802.1D2004版本。
缩写词汇
STP
协议介绍
STP协议是一个单生成树协议,所谓单生成树协议,就是在网络中将所有的桥设备放到单个生成树拓扑中,保证网络连接的全联通性和无循环链路。
STP协议首先会为生成树选定一个跟,然后根据每个桥设备到根的距离来确定该桥到根的路径,这样由根、桥设备以及各个桥到根的路径组成了一个全联通且无循环的生成树。
STP协议通过BPDU(桥协议数据单元)进行协议数据的交互。STP BPDU是一种二层报文,目的MAC是多播地址01-80-C2-00-00-00,所有支持STP协议的网桥都会接收并处理收到的BPDU报文,BPDU报文不会被转发。
STP协议中的基本概念
Bridge identifier(BID):每个桥有1个identifier,该BID由两部分组成。前两个字节表示优先级,默认为32768可取值范围在0-65535。后6个字节由bridge的MAC地址组成。确保网络中每个bridge的BID具有唯一性。
Root Bridge(跟桥):网络中作为生成树树根的bridge,该bridge具有最小的BID。Root identifier(RID):跟桥具有的identifier。
Path cost:数据包在网络中传输所需的路径开销。该开销根据局域网类型(带宽+双工模式)来确定数据包在网络中的路径开销。该开销是用来确定最优生成树的关键参数。
Port identifier(PID):每个桥的每个端口具有一个PID,该PID由两部分组成,共16个bits。(前6个bits表示优先级,后10个bit表示端口名称,没看到官方文件说明)。
Root path cost:数据包到达跟桥的路径开销。
Root port(根端口):非跟桥上到达跟桥路径开销最小的端口。
Designated port(指定端口):连接到某局域网中的所有端口中具有最小根路径开销的端口。该端口被称为该局域网的指定端口。
Designated bridge:局域网的指定端口所在的bridge被称为该局域网的指定端口。Alternate port:备份端口。
STP协议中的端口状态
Blocking(阻塞状态):该端口处于使能状态,但根据STP算法的计算结果,该端口不属于生成树的有效组成端口。(既有其他路径可以生成生成树结构,同时
比该端口所在的路径具有更优的结构)。处于阻塞状态的端口只接受STP BPDU 报文,不转发STP BPDU报文;不接收和转发其他业务报文。
Listening(监听状态):该端口处于使能状态,同时该端口已经被选为生成树的有效组成端口,但为了防止网络拓扑结构的动荡变化造成生成树的不稳当,在blocking和forwarding状态之间添加了listening状态,该状态监听网络中的BPDU 报文判断是否有更优的路径,同时该端口开始将FDB表中的相关表项进行清除,该状态接受转发STP BPDU报文,不接受和转发普通业务报文。
Learning(学习状态):该端口处于使能状态,同时该端口已经被选为生成树的有效组成端口。但为了防止网络拓扑结构的动荡变化造成生成树的不稳当,在blocking和forwarding状态之间添加了learning状态,在端口保持在listening状态一定时间(forward timer)之后,若没有发现其他更优路径,则该端口有listening 状态转换到learning状态。该状态监听网络中的BPDU报文判断是否有更优的路径,同时端口接受和转发STP BPDU报文,接收普通业务报文,并学习报文MAC 地址,不转发普通业务报文。
Forwarding(转发状态):该端口处于使能状态,同时该端口已经被选为生成树的有效组成端口。在端口处于listening状态一定时间之后(forward timer),若没有发现其他更优路径,该端口有learning状态转换到forwarding状态。该状态接受和转发STP BPDU报文,同时接受和转发普通业务报文。
Disable(禁用状态):该状态可以认为是物理上没有联通的端口。
端口状态地址学习能
力转发/接收报文能
力
接收BPDU报
文
发送BPDU报文
Disabled NO NO NO NO
Blocking NO NO YES NO
Listening NO NO YES YES
Learning YES NO YES YES Forwarding YES YES YES YES
STP报文格式
STP协议使用BPDU报文承载协议所需的交互信息。STP协议报文共有两种,配置报文(configuration BPDU)和拓扑结构更改报文(topology change notification BPDU)。
BPDU报文格式如下图。