生成树协议

透明网桥转发数据帧时,不会对帧进行处理,也不会记录帧的任何传递信息。如果一个物理链路里有环,当有广播包发出时,将形成广播风暴。然而物理路径上的环路消除完是不可能的,这辈子都不可能了,但可以通过协议阻断网络中存在的冗余链路从而消除可能存在的环路。数据结构里面说了,树是没有环的,因此要把有环的物理链路转化成无环,可以通过生成树的方式,故尔生成树协议(STP)应运而生。

STP

STP拓扑结构

STP作为消除数据链路层物理环路的协议,被称为802.1D,它有两个升级版RSTP、MSTP,此处先聊聊STP。STP协议生成的拓扑结构如图:
生成树协议_第1张图片
一个STP网络物理链路上的结构可分为三部分:根桥、非根桥以及物理段。其中根桥与非根桥都是交换机,物理段则是终端设备。根据这张图,我们需要了解一些STP协议里的方言:

  1. 桥ID:桥ID由桥优先级和桥MAC地址组成,桥优先级默认情况下是相同的,但由于桥MAC地址是唯一的,所以桥ID也是唯一的。桥ID主要用于选出根桥,即生成树的根节点。

  2. 端口ID:端口ID由端口索引号和端口优先级组成。

  3. 根路径开销:生成树协议中用于判断到达根桥的距离的参数。一般而言,根路径开销与物理带宽成反比,带宽越大,链路通过开销越小。

:比较桥ID与端口ID时,先比较桥优先级或端口优先级,再比较桥MAC地址或端口号。

STP协议的收敛过程

STP采用的协议数据报文时BPDU(桥协议数据单元)。BPDU分为两类:配置BPDU(用于进行生成树计算和维护生成树拓扑的报文)、TCN BPDU(拓扑变化时用于通知相应设备拓扑变化)。BPUD报文中含有的信息有:根桥ID、根路径开销、指定桥ID、指定端口ID。

SPI收敛过程:

  1. 根桥选举:根桥选举将产生STP网络中的根桥,网络初始化时,所有的桥都认为自己是 “根桥”,设备之间发送BPUD报文比较桥ID。桥ID最小的桥将被选为根桥。
  2. 端口角色:STP将阻塞环路中的端口,从而消除环路。阻塞端口时,根桥上的所有端口为指定端口(DP),每个非根桥选择根路径开销最小的端口作为根端口(RP),每个物理段选出根路径开销最小的网桥作为指定桥(DB),该指定桥到物理段的端口作为指定端口。其余既不是指定端口也不是根端口的是Alternate端口,将被置为阻塞状态。

注: 网络中设备不是一成不变的,网络拓扑发生改变时端口的状态也会随之变化。当一个端口不再是根端口或者指定端口时,端口的状态就变为Blocking。当一个端口被选为根端口或者指定端口时,就会从Blocking状态迁移到一个中间状态Listening状态,经历Forward Delay时间后就会迁移到下一个Learning状态,再经历一个Forward Delay时间后,迁移到Forwarding状态。默认的Forward Delay时间是15s,一个端口被选为根端口或者指定端口,要经过30s的时间。

端口的状态:

状态 描述
Disabled 端口失效,不接收和发送任何报文
Blocking 端口不参与转发数据报文,但可以接收并交由CPU处理,不能发送配置信息,不能进行地址学习
Listening 端口不参与数据转发,不进行地址学习,但可以发送BPDU配置消息
Learning 端口不转发数据,开始地址学习,接收、处理、发送BPDU配置消息
Forwarding 可以转发数据,接收、处理、发送BPDU配置消息

RSTP

STP协议中,一个端口被选为根端口或者指定端口后,要经过两个Forward Delay的时间网络才会正常,若是网络中拓扑切换频繁,那么网络将一直处于不正常状态。使用RSTP协议,则能提供网络快速恢复的功能。

  1. 端口被选为根端口: 当交换机上原有两个端口可以达到根桥,则根端口转换时所需时间只是根端口切换的时间,无需传递BPDU。
  2. 指定端口是非边缘端口: 非边缘指的是这个端口连接到其他交换机,而不是只连接到终端设备。如果交换机之间是点对点电路,则交换机需要发送握手报文到其他交换机进行协商,只有对端返回一个赞同报文后,端口才进入转发状态。
  3. 指定端口是边缘端口:边缘端口是直接与终端设备相连,不再连接任何交换机的端口。这些端口无需参与生成树计算,端口可以无延时地进入转发状态

MSTP

MSTP协议可以在网络中定义多个生成树实例,每个实例对应多个vlan,每个实例维护自己的生成树。

生成树协议基本配置

STP基本配置

//开启生成树协议
stp enable
//关闭生成树协议(在端口视图下使用该命令将只关闭该端口的stp功能)
stp disable
//设置工作模式
stp mode {stp|rstp|mstp}

配置优化stp

//配置网桥优先级
stp [instance instance-id] priority priority
//端口视图下配置端口为边缘端口
stp edged-port enable

stp显示与维护

//显示stp信息
display stp
//查看stp各端口的角色与状态
display stp brief

你可能感兴趣的:(路由交换)