当前位置:文档之家› 生成树协议学习总结

生成树协议学习总结

1,交换机的好处,和交换机所带来的问题,就是产生环路。

交换机能够扩大网络直径,能让更多的网络直径参与到网络通信中来,但是交换机同时也带来了一个问题,就是会产生环路。

2,环路是如何产生的?

交换机基本工作原理是,通过学习维护一个mac和端口对应的表格,交换机只对报文进行透传,不会像路由器那样,对报文添加标记,根据局域网的工作原理,这样就必然会导致环路的产生。如下图例子:

如上图,我们假定终端A是第一次发消息,发出一个消息1发给B,根据局域网的工作原理,该消息会被交换机S1 S2 S3收到,S1透传出消息1,发给终端B,同时也会给该消息发给S2 S3,依次类推,在网络中形成的环路的信息会急剧的增加,迅速将网络堵死。

3,生成树协议概念的产生,生成树是如何避免环路的?

802标准委员会,为了解决这个问题,提出了STP协议生成树的概念。

生成树就是通过将一个物理上有环存在的网络中,通过逻辑上阻塞某些端口,将网络中存在的环拆解开,使整个网络在逻辑上是一种树状结构,并保证其数据传输的效率。

对上图的说明:图中的每个矩形代表一个网桥,深颜色矩形为跟桥,也就是一棵树的根。深

色端口为阻塞端口,也就是被生成树协议,根据一定的算法,所阻塞掉的端口。这样我们可以从这科树的根出发,走实线的路径,那么我们可以清晰的看到是一棵树的形状,这棵树没有环路。

4,介绍STP。bpdu包结构。其中各个字段的含义。

生成树的基本原理,

1,选择跟桥,在参与本局域网通信的所有网桥中,选择一个网桥作为根网桥,也就是树的根。

2,选择根端口,根端口就是某一网桥通过该端口到达根网桥,路径开销最小。

3,选择指定端口,端口优先级向量劣于根优先级向量的端口。

生成树实现这一机制是通过相互发送BPDU消息来实现的,BPDU中携带一些生成树计算所需要的必要信息。如下BPDU格式:

其中所包含的Root Identifier , Root Path Cost, Bridge Identifier, Port Identifier, 为生成树参与计算的重要元素。

Root Identifier 由桥的优先级加mac组成

Root Path Cost 根路径开销

Bridge Identifier 桥标识

Port Identifier 端口标识

5,优先级向量,共有几个优先级向量?优先级向量是如何比较的?

STP桥的优先级向量:

优先级向量的组成成分如下,

有如下几个优先级向量:

优先级向量的比较:

先比较RootBridgeID

如果RootBridgeID相等,比较RootPathCost,

如果RootPathCost相等,比较DesignatedBridgeID,

如果DesignatedBridgeID相等,比较DesignatedPortID,

如果DesignatedPortID相等,比较BridgePortID。

如果其中有一步不等,就选择较小的那个向量,小的为优。

阻塞指定桥ID较大的端口。把指定端口较大的端口阻塞。

把本地端口较大的端口,阻塞掉。

6,一个网桥是如何进行优先级向量选择的?

在网络刚刚启动的时候,每个网桥将自己作为根网桥,所以网桥ID92,从各个端口上发送优先级向量92 0 92。

同时网桥也会收到其它网桥发过来的优先级向量,对所收到的优先级向量进行优先级比较。

优先级最小的被选择作为根端口,消息优先级向量代替该端口的优先级向量,成为新的端口优先级向量,新获得的端口的优先级向量中,最小的那个做为根端口。从优先级向量中,根标识是41 而不是92 可以判断出本桥不是根桥,

根端口的优先级向量为:41 12 111

将根端口的优先级向量的路径开销12 加上本端口的路径开销1 为13,所以:

根路径优先级向量为:41 13 111

本网桥的根路径优先级向量桥ID为41,本网桥ID为92,很显然,本网桥不是根网桥,所以:

根优先级向量为:41 13 111

将根优先级向量的指定桥ID 111,用本网桥的ID 92来代替,这样得到:

指定优先级向量为:41 13 92

将指定优先级向量和根端口以外的其它端口进行比较,如果指定优先级向量优于该端口向量那么该端口为指定端口,如果指定优先级向量差与该端口优先级向量,那么该端口为替换端口,blocking掉。

7,故障处理。

链路故障怎么办

Hello Time

网桥从指定端口以Hello Time 为周期定时发送配置消息。

Message Age 和Max Age

端口保存的配置消息有一个生存期Message Age 字段,并按时间递增。每当收到一个生存期更小的配置消息,则更新自己的配置消息。当一段时间未收到任何配置消息,生存期达到Max Age 时,网桥则认为该端口连接的链路发生故障,进行故障的处理。

如果活动的链路发生故障怎么办呢?生成树算法提供了一种定时器策略,配置消息中携带了一个生存期的域值,根网桥从它的所有端口周期性的发送生存期为0的配置消息,收到配置消息的网桥也同样从自己的指定端口发送自己的生存期为0的配置消息。如果生成树的枝条出现故障,则这条链路下游的端口将不会收到新鲜的配置消息,自己的配置消息的生存期值不断增长,直至到达一个极限。该网桥将抛弃这个过时的配置消息,重新开始生成树计算。 其中,定时发送的周期为hello time ;配置消息的生存期为message age ;最大生存期为max age 。

一个接受并处理配置消息的例子

根据收到配置消息的优先级,选择Port4为根端口,选择Port1和Port2为指定端口,同时阻塞端口Port3和Port5。

从Port1和Port2发送新的配置消息:(23,15,81),其中,

→RootId = 23

→RootPathCost = 14+1 = 15→

RootPort = Port4

Port 1

Port 2Port 3Port 4

Port 5

blocking

blocking

32,0,32

23,18,12323,14,321

23,14,100

23,15,80

root

23,15,81B81

23,15,81

上图为选择根端口的过程,

相关主题