当前位置:首页 >> 信息与通信 >>

802.1d中间生成树协议分析


1 摘要:
本文以 IEEE Std 802.1D 1998 Edition [ISO/IEC 15802-3: 1998]为参考,从它里面提取 有关 STP 的描述,进行分析和总结。
注意:最新的版本是 IEEE Std 802.1D-2004,里面描述的是 RSTP,有关 RSTP 和 STP 区别在 RSTP 文 档里面进行描述。

网桥结构示意图 从上图中

从逻辑层次上讲,STP 协议处理处于网桥逻辑链路部分。也就是说没有 STP 协议支持, 网桥可以完成数据帧的转发过程(这个时候网桥等效于一个普通 hub) ,如果有过滤表的支 持,那么网桥提供过滤数据帧功能。 STP 作用: STP 会将任意拓扑结构的活动的网桥局域网, 逻辑上修剪成一棵简单的生成树。 阻 塞网络中的冗余路径.在任意的两个终端间至多有一条数据通道,避免数据环路.对于终 端来讲,生成树是透明的. 缺点: STP 减少了网桥局域网的带宽利用率, 网桥局域网拓扑配置改变以后, 生成树重新 稳定的时间比较长(最长约为 1 分钟左右) 。

2 名词解释: 名词解释:
STP :生成树算法和协议(Spanning Tree Algorithm and Protocol) 。 RSTP:快速生成树算法和协议(RapID Spanning Tree Algorithm and Protocol)。 BPDU:网桥协议数据单元(BrIDge Protocol Data Unit)。 TCN: 拓扑改变通知(Topology Change Notification). 根网桥:在网桥局域网内,具有最小网桥 ID 的网桥被选举为根网桥。前提:网桥 ID 应为 唯一的。 指定网桥: 一个单独的局域网内的设备, 通过指定网桥上的指定端口接收和发送应用数据帧。 如果局域网有且只有一个网桥和根网桥相连, 那么这个网桥必定是指定网桥, 如果 有多个网桥跟一个单独的局域网相连, 那么到根网桥路径花费最少的那个网桥为指 定网桥, 如果有几个网桥到到根网桥路径花费一样, 那么比较路径花费一样的网桥 之间的 ID, ID 最小的被选作为指定网桥。 指定端口: 指定网桥上面和一个单独的局域网相连的端口叫做指定端口, 如果指定网桥上面 有几个端口同时和局域网相连, 那么选择端口 ID 最小的端口为所在局域网的指定端 口。 根端口: 在网桥上面, 到根网桥路径花费最小的端口为根端口, 如果网桥上面有几个端口, 到根网桥路径花费一样少,那么选择端口 ID 最小的端口为根端口 根路径花费:当端口为根端口时候,通过这个端口的路径花费。 对于这个网桥来说,路径 费用是到根网桥的费用之和。 指定花费:当端口为所在局域网的指定端口时候,即为根路径费用, 当不为指定端口时候,是网桥端口所在局域网指定端口到根网桥的费用。 过滤表: 也可以称为转发表, 每一条表项对应了目的地址, 转发接口, 和表项生存时间 (默 : 认值是 300 秒) 。 邻居网桥:网桥局域网内既不是根网桥又不是指定网桥的网桥设备,统称为邻居网桥。

3 网桥局域网中间信息传播处理分析 网桥局域网中间信息传播处理分析 局域网中间信息传播处理

3.1 数据帧类型分析 网桥局域网中间传播有两大类信息: 1. 链路层应用数据帧(例如:IP 数据帧) 接收和转发条件:只有所在端口处于 forwarding 状态下,才能接收和转发。 2. BPDU 帧 如果端口处于 disable 状态,就不能收发 BPDU 帧。 如果端口状态处于 blocking 状态,可以接收 BPDU 帧,可以发送 TCN 帧。 端口处于 listening,learning,forwarding 之一可以接收发送 BPDU 帧。 BPDU 帧又分成两种类型: 配置 BPDU 帧(里面可能包含了拓扑改变应答信息,拓扑改变信息) 。

TCN 帧(拓扑改变信息通知 BPDU)。 3.2 应用数据帧转发规则 应用数据帧转发规则 前提:本网桥从一个端口接收到数据帧,如果端口处于 forwarding 状态,并且数据帧不 是 BPDU 帧。 如果数据帧的目的地址为本网桥,那么本网桥转交给上层处理。 如果目的地址为广播地址,那么网桥向所有的其它可以转发的接口转发这个数据帧。 如果目的地址为单播地址,查找过滤表,如果存在对应的转发表项,那么网桥向这个接 口转发数据。 如果找不到这样的过滤表项的话, 那么网桥向所有的其它可以转发的接口转发这个数据 帧。 3.3 配置 BPDU 转发规则 值得注意的是,配置 BPDU 帧不能被网桥直接转发的。当一个网桥收到配置 BPDU 信 息以后,利用收到的配置 BPDU 帧信息用来计算本网桥的配置 BPDU 帧,然后发送包含本 网桥信息的配置 BPDU 到对应的端口。 传播配置 BPDU 规则: A.刚开始的时候,所有网桥起初认为它自己是根网桥,在它的指定端口上面周期性地 发起配置信息(通过发送配置BPDU) ,直到网桥发现有更高优先级网桥的时候,这个动 作才停止。 B.那些认为自己是指定网桥的网桥设备,它的根端口接收到BPDU配置信息以后,然 后通过指定端口,传输优先级更高的配置信息(也就是更高优先级的根ID,最少的根路径 费用,最高优先级别的传输网桥和端口)到所连的局域网上。 C.假如一个局域网的指定网桥的指定端口接收到比指定端口保存信息优先级还低的 BPDU 配置信息。那么指定端口发送端口保留的 BPDU 配置信息给与响应,给所有连 在那个局域网上面的其它网桥听。 通过这种方式,带着最高优先级的根 ID 信息很快会在网桥局域网上面传播。 需要值得注意的是: 如果网桥的指定端口或者是阻塞端口接收到比本端口优先级高的信息, 但是不足以 引起网桥根端口的重新选举,使得指定端口或者是阻塞端口成为根端口的话,那么接 收端口只是更新端口信息。不会发送本网桥的配置 BPDU 信息。 如果网桥的根端口或者是阻塞端口接收到比本端口保存信息优先级还低的 BPDU 配置信息,那么这个接收端口是不给予响应的。 在后续的 RSTP 相关文档里面,有这方面的对比描述。 3.4 发送 TCN 帧规则: 规则: 除了根网桥,网桥局域网内其它网桥都有可能发送 TCN 帧。 当非根网桥自己检测到或者收到其它非根网桥的拓扑改变通知时候,它会通过自身 的根端口发出 TCN 帧,同时启动拓扑改变通知定时器,监视非根网桥的指定网桥是

否收到 TCN,向非根网桥发送拓扑改变应答 BPDU。如果在规定时间内没有收到拓扑 改变应答 BPDU,那么它会重新发送拓扑改变通知 BPDU,直到非根网桥收到指定网 桥拓扑改变应答 BPDU 为止。当到它的指定网桥接收到拓扑改变通知时候,会向接收 到拓扑改变通知的端口发送拓扑改变应答 BPDU,同时自己生成一个拓扑改变通知 BPDU,通过根端口发送,同时启动拓扑改变通知定时器。 当根网桥接收到拓扑改变通知时, 向收到这个信息的端口发送拓扑改变应答确认信 息,并且在规定时间内(转发延时 + 消息最大生存时间)向每个指定端口发送包含 拓扑改变的配置 BPDU 信息。 其它网桥收到拓扑改变的配置信息, 会用转发延时值 (默 认值 15 秒)较快地老化过滤表。

4 网桥端口状态改变规则

端口之间转换关系以及转换条件如上图所示,这里不加累赘。 需要补充的是: 当网桥端口初始化以后,端口处于 blocking 状态,只能接收配置 BPDU 帧,发送 TCN 包,不能发送配置 BPDU 帧。不能通过这个端口转发数据帧,不具备地址学习的 功能。只有状态转换到 listening 状态以后,这个端口可以收发 BPDU 帧,不能通过这

个端口转发数据帧,不具备地址学习的功能。 到了 learning 状态可以收发 BPDU 帧, 具备地址学习功能, 但是不能从这个端口转 发数据帧。到了 forwarding 状态,可以收发 BPDU 帧,具备地址学习功能,可以从这 个端口转发数据帧。

5 网桥局域网的生成树选举规则 网桥局域网 生成树选举规则 局域网的
网桥局域网的活动的拓扑网桥结构图决定于: 1.每一个网桥 ID(优先级和MAC地址) 2.每一个网桥端口的路径费用 3.每一个网桥端口的 ID(在每个网桥内,端口 ID 是唯一的) . 在网桥局域网内,mac 地址是唯一的,决定了每一个网桥 ID 是唯一的,ID 最小的网桥 作为根网桥。根网桥决定以后,通过比较网桥 ID, 路径费用, 端口 ID 决定一个网桥的哪个 端口可以成为根端口,哪些端口可以成为指定端口,哪些端口必须被阻塞。 根网桥上有指定端口,没有根端口。 指定网桥有且只有一个根端口,至少有一个指定端口。 邻居网桥,有且只有一个根端口,没有指定端口。 5.1 根网桥的选举 在网桥初始化以后,每个网桥默认自己是根网桥,在网桥的指定端口上,周期性地发出 配置BPDU.直到收到网桥 ID 更小的配置BPDU信息,才知道自己不是根网桥。或者一 直没有接收到更高优先级的配置BPDU信息,那么还是继续认为自己是根网桥。 或者由于配置管理 (端口使能, 端口禁止使能, 设置网桥优先级等等 ) 端口状态改变, , 也会引起根网桥的重新选举。 5.3 根端口的选择 当一个网桥接收的配置 bpudu 信息优先级信息要高于本网桥时候, 就意味着本网桥不可 能成为根网桥了,需要更新本网桥的根网桥信息,指定网桥信息以外,重新要进行根端口选 择。 选择策略如下: 指定路径花费加上所在端口花费之和最少的就是根端口。 如果一个网桥有两个或者多个端口提供到根网桥相同的最少花费, 那么拥有最高优先级 的端口,选择为根端口。 如果一个网桥有两个或者多个端口提供到根网桥相同的花费,并且有着相同的指定网 桥,那么拥有最高优先级的指定端口作为根端口。 最后,如果有两个或者是两个以上的端口有到根网桥相同的花费。相同的指定网桥,指 定端口参数值,那么拥有最高优先级的端口 ID 被选择为根端口。相同网桥的每个端口 ID 是不一样的。 规则总结: 优先比较顺序如下: 路径费用,指定网桥 ID, 指定端口 ID,端口 ID.

5.4 指定端口的选择 在一个单独局域网内, 决定哪个网桥端口可以成为局域网的指定端口。 局域网通过这个 指定端口和其它局域网通讯。 选择规则: 网桥在根端口选择完毕以后,根据协议,和一个局域网相连的所有网桥端口中,协议选 择到根网桥路径花费最少的端口作为指定端口, 如果一个局域网中间同时有几个网桥端口到 根路径花费最少,那么会选择所在端口网桥 ID 最小的端口为所在局域网的指定端口。如果 一个网桥上面同时有几个端口和一个局域网相连,并且这几个端口到根网桥路径花费最少, 那么会选择端口 ID 最小的端口作为局域网的指定端口。 5.5 阻塞端口的选择 如果一个网桥端口 enable,并且端口既不是根端口,也不是指定端口,那么这个端 口就是阻塞端口,它参与活动的拓扑计算。

6 网桥局域网稳定状态分析: 网桥局域网稳定状态分析: 局域网稳定状态分析

6.1 根网桥状态 网桥局域网的根网桥的每一个指定端口处于 forwarding 状态。 它向每一个指定端口所连 的局域网发送配置请求报文(默认值是 2 秒) 。 6.2 指定网桥状态 指定网桥周期性会从根端口接收到配置请求报文(默认值是 2 秒) ,更新根端口信息, 然后使得接收端口的消息最大生存时间定时器重新开始计数, 避免信息超时。 然后根据收到 的消息重新生成配置请求 BPDU 信息, 向指定网桥的每一个指定端口发送配置 BPDU 信息。 6.3 邻居网桥状态 邻居网桥周期性的从它的根端口和阻塞端口接收到配置 BPDU 信息,更新接收端口配 置信息,然后使得接收端口的消息最大生存时间定时器重新开始计数,确保信息不被超时。 但是不会转发这个配置 BPDU 信息。 6.4 根网桥和指定网桥过滤表状态 (说明:下面描述的过滤表项均指动态过滤表项,因为静态过滤表项不会被老化掉) 如果网桥新增加一个过滤表项, 那么会把过滤表项添加到过滤表中间, 并且设置相应的 寿命值(默认 300 秒) 。

如果网桥更新一个过滤表项,那么会重新设置过滤表项相应的寿命值(默认 300 秒) 。 随着时间的流逝,网桥中的过滤表项会慢慢老化,如果相应的寿命值为零,还没有收到 对应过滤表项的数据帧,那么网桥会把对应的过滤表项从过滤表中删除。 如果网桥接收到拓扑改变的配置 BPDU,会使用转发延时值老化过滤表项。 6.5 网桥相关定时器状态 跟端口有关定时器: 。 端口控制转发定时器: 这个定时器确保端口发送配置 BPDU 的发送频率不至于太快,在默认值 1 秒时间间隔 内,最多只能有一个配置 BPDU 被发送。 在拓扑稳定情况下面,它处于工作状态。 消息最大生存时间定时器: 这个定时器用于检测一个端口纪录的配置 budu 信息的生存时间,当超过端口保存的最 大生存时间时候,需要丢弃 BPDU 信息。默认值是 20 秒。 在拓扑稳定情况下面,它处于工作状态。 转发延时定时器: 这个定时器决定一个端口在 listing 和 learning 所花的时间, 定时器超时值是网桥转发延 时参数。 在拓扑稳定情况下面,它停止工作。

跟网桥协议有关定时器: 呼唤定时器: 当网桥准备成为根网桥或者是根网桥时候, 这个定时器用来确保周期性发送配置 BPDU 帧.默认值是 2 秒。 如果是非根网桥,它停止工作。] 拓扑改变定时器: 当根网桥检测到拓扑改变以后,这个定时器确保在规定的时间间隔内周期性发出携带拓 扑改变标志的配置 BPDU. 在稳定情况下面,它停止工作 拓扑改变通知定时器: 这个定时器确保把拓扑改变信息通知给根端口连着的局域网上面的指定网桥。 值是消息最大生存时间和转发延时时间之和。 在稳定情况下面,它停止工作。 过滤表定时器: 老化过滤表中间的表项。 默认值 300 秒 在稳定情况下面,它处于工作状态。

6.7 小结 在拓扑稳定的情况下面,根网桥周期性发出维护信息(配置 BPDU),确保当前的活动拓 扑结构有效。指定网桥不会主动发出 BPDU。指定网桥只不过会根据接收到的配置 BPDU 信息进行重组,然后转发重组后的配置 BPDU 信息。邻居网桥只接收配置 BPDU 信息,更 新有关状态信息,不会对它进行转发。

7 网桥局域网动态分析 网桥局域网 局域网动态分析
有两种因素影响网桥局域网拓扑改变。 1.改变了网桥配置参数(配置管理) 2.网桥和端口的定时器事件 7.1 生成树实例分析

图 1 网桥示意图列 BBB:代表网桥 ID, RRR.C:代表根网桥 ID,和根路径费用 P:代表端口 ID c:代表端口花费。 一般情况下,端口花费值可以省略说明,表示每个端口花费值都是一样的,根路径费 用也可以省略说明。

生成树建立过程

图 2 物理拓扑结构示例 上图表示起初的物理拓扑结构,每个端口的花费都是一样。111,222,333,444, 555,666,777 ,888 表示网桥的 ID。每一个方框设备代表一个网桥设备。1,2,3,4 等 等代表端口的 ID 号。 在每一个网桥初始化时候,都认为自己是根网桥。根据根网桥的选举规则,明显这里 111 标识的网桥为根网桥,同时根网桥也是它的每一个端口所连局域网的指定网桥。 当 222 选择它的根端口时候,根据根端口选择规则,它的端口 1,2 到 111 的路径花费 距离最小。2 端口,1 端口的指定网桥都是 111,但是 1 端口的指定端口 ID 比 2 端口的指定 端口小,所以 1 端口被选择为根端口,2 端口所连的局域网上面已经有指定网桥存在,所以 被 block 掉。并且端口 3,4 和设备 333,444 端口竞争指定端口时候,它们的路径花费是一 样的,但是设备 222 上面的 3,4 端口所在的网桥 ID 为最小,所以 3, 4 被指定为指定端口。 当 333 选择它的根端口时候, 根据根端口选择规则, 它的端口 1 到 111 的路径花费距离 为最小,所以 1 端口被选择为根端口。当 2 准备选择为指定端口时候,发现和同一局域网的 222 设备的根路径花费一样,但是 333 网桥 ID 比 222 大。所以 2 端口成为 block 端口。 3,4,5,6 在指定端口选择的时候,根据规则,设置成指定端口。 当 444 选择它的根端口时候, 根据根端口选择规则, 它的端口 1 到 111 的路径花费最小

距离,所以 1 端口被选择为根端口。当 2 准备选择为指定端口时候,发现和同一局域网的 222 设备的根路径花费一样,但是 444 设备 ID 比 222 大。所以 2 端口成为 block 端口。 3,4,5,6 在指定端口选择的时候,根据规则,设置成指定端口。 当 555 选择它的根端口时候,根据根端口选择规则,它的端口 1,2 到 111 的路径花费 最小距离,但是 1 端口的指定网桥 333,比 2 端口指定网桥 444 的 ID 要小,所以 1 端口被 选择为根端口,2 端口被 block 掉。 设备 666,777,888 依此类推,作出相应的判断。

生成树稳定过程
在生成树稳定状态下,活动的拓扑结构如下图所示。

图 3 活动的拓扑结构 相应的工作过程如第 6 节的稳定状态分析所示。 下面是相应的端口状态。

端口状态

生成树变化过程
如果网桥 888 的 3, 端口在一个局域网中间相连以后, 端口会收到本网桥的配置 BPDU 4 3 信息,它检查接收的信息,发现接收信息优先级比它端口保存的配置信息要低,就发送自己 端口配置信息给予回应。 端口 4 接收到这样的信息以后,更新相关的状态信息。发送拓扑改变通知请求给 333 设备, 并且设置拓扑改变通知定时器,等待 333 网桥发送拓扑改变确认配置 BPDU 以后,才会停 止拓扑改变通知定时器运行。333 网桥接收到拓扑改变通知以后,给 888 网桥发送拓扑改变 确认配置 BPDU。并且向 111 发送拓扑改变通知请求,等待 111 的应答信息。111 收到拓扑 改变通知以后,向 333 发送拓扑改变确认配置 BPDU。并且在一定的时间间隔内,向 111 的 每个指定端口发送携带拓扑改变的配置 BPDU 信息。其它网桥接收到这样的信息以后,使 用转发延时值快速的老化过滤表中间的动态表项。 到了稳定状态以后,假如 111 网桥在最大生存时间内停止发送配置 BPDU 信息,那么 其它网桥的根端口的消息最大生存时间定时器会超时,会引起根网桥的重新选举。


相关文章:
802.1D生成树协议STP(详细)
802.1D生成树协议STP(详细)_IT/计算机_专业资料。今日推荐 81份文档 笑话大...2014教师资格材料分析辅... 2014小学教师资格考试《... 2014年幼儿园教师资格考...
在生成树协议(STP)IEEE 802.1d中,根据 (59) 来选择根交换机。
生成树协议(STP)IEEE 802.1d中,根据 (59) 来选择根交换机。 A.最小的MAC地址B.最大的MAC地址C.最小的交换机IDD.最大的交换机ID_答案解析_2016年_一模...
下列关于IEEE 802.1D生成树协议(STP)的描述中,错误的是()。
下列关于IEEE 802.1D生成树协议(STP)的描述中,错误的是()。 A.STP是一个数据链路层的管理协议 B.STP运行在网桥和交换机上,通过计算建立一个稳定、无回路的...
按照802.1d生成树协议(STP),在交换机互联的局域网中,()...
按照802.1d生成树协议(STP),在交换机互联的局域网中,()的交换机被选为根交换机。 A.MAC地址最小的 B.MAC地址最大的 C.ID最小的 D.ID最大的_答案解析_...
下列关于IEEE 802.1D生成树协议(STP)的描述中,错误的是_
包括函数,三角函数,数列、立体几何、概率统计、解析几何、导数等几大版块问题。 ...第14章 STP生成树协议 19页 1下载券 802.1d中间生成树协议分... 12页 1...
下列关于IEEE802.1D 生成树协议(STP)的描述中,错误的是()
下列关于IEEE802.1D 生成树协议(STP)的描述中,错误的是() A.STP 是一个数据链路层的管理协议 B.STP 运行在网桥和交换机上,通过计算建立一个稳定、无回路的...
按照802.1d生成树协议(STP),在交换机互联的局域网中,__...
按照802.1d生成树协议(STP),在交换机互联的局域网中,___的交换机被选为根...[分析] 生成树协议的工作过程简单表述如下。 (1)唯一根劂桥的推选:各个网桥...
在生成树协议(STP)IEEE802.1d中,根据()来选择根交换机。
生成树协议(STP)IEEE802.1d中,根据()来选择根交换机。 A.最小的MAC地址 B.最大的MAC地址 C.最小的交换机ID D.最大的交换机ID_答案解析_2016年_一模/...
...生成树协议标准是() A.IEEE802.1B B.IEEE802.1D _答...
B.IEEE802.1D C.IEEE802.1Q D.IEEE802.1X正确答案及相关解析 正确答案 B 解析 IEEE 802.1D是当前流行的STP(生成树协议)标准。最新...
下列关于IEEE 802.1d生成树协议(STP)的描述中,错误的是___。
下列关于IEEE 802.1d生成树协议(STP)的描述中,错误的是___。 A.STP是一个数据链路层的管理协议B.STP运行在网桥和交换机上,通过计算建立一个稳定、无回路...
更多相关标签:
802.1d生成树协议 | 802.1d | ieee 802.1d | 802.1d 802.1w | 802.1d 优先级 | stp 802.1d | 802.1d 802.1q | 802.1d和802.1q |