环路解决方案

1 单点故障和方案

1.1 端口协商参数

双工模式,duplex

半双工模式,half-dulex:同一时刻,只能收或者发,信号的双向传输

全双工模式,full-duplex:同一时刻,可以同时收发,信号的单向传输

速率,speed

***默认是auto模式,建议不同类型的设备之间进行互联链路时,手动指定速率和双工

1.2 单点故障和环路问题

传统交换网络产生的问题:

单点故障

 

解决方案:

增加冗余链路

增加冗余设备

 

随之而来的问题:

数据转发环路

产生环路的数据,会不断的在网络中进行传输,从而消耗网络中的链路资源和设备资源

 

解决方案:

在交换机上运行STP协议

 

目标:

LAN中,保证任何两个通信终端之间永远只有一个

最短的、无环的转发路径

2 STP原理与实现

***STP:生成树协议(802.1d

2.1 STP的作用

STPSpanning TreeProtocol:生成树协议

***默认情况下,交换机为每个VLAN打开STP树协议

【命令】Switch(config)#no spanning-tree vlan ***    #关闭STP树协议

 

在网络中存在冗余链路的情况下,实现环路的防护

STP是防止交换机之间产生环路问题的树协议

***活动链路和备份链路在出现故障时,可以自动切换

2.2 STP的实现

2.2.1 BPDU介绍

BPDUBridge Protocol DataUnit    #桥接协议数据单元

1BPDU是运行STP的交换机之间交换的消息帧。

2、包含了STP所需的路径的优先级信息

按顺序进行比较:

1Root ID    #表示根交换机是谁

2Cost    #表示发送该BPDU的交换机到达根交换机的距离

3BID    #表示发送该BPDU的交换机的名字

组成:优先级(默认是32768+MAC

4Port ID    #表示发送方交换机是哪个端口发送出来的

组成:端口优先级(默认是128+端口号(接收的端口号)

***值越小越好

2.2.2 不同VLANBPDU

交换机如何区分不同VLANBPDU

BPDU中的BID:优先级+MAC地址

优先级为2字节(16bit):其中分为4bit+12bit

其中12bit代表交换机中的VLAN号,有2^12=4096

其中4bit真正表示了BID的优先级,即2^4,范围0~15

由此得出:前面的4bit才是真正表示了优先级

因此优先级061440,默认是32768,必须是4096的倍数,优先级只能有16

但是在表示优先级数值的时候,后面的12bit,都必须算上,同时必须是0


即,每个交换机的STP的优先级都是2^120-15的倍数,即4096的倍数

浅谈思科设备——环路解决方案_第1张图片

2.2.3 BPDU的分类

配置BPDU

拓扑变更通告(TCNBPDU

2.3 STP的分类

PVSTPer-vlan STP,在VLAN中存在的STP,收连速度比较慢

RSTP,快速生成树协议

MSTP,多生成树协议

STP—>PVST—>RSTP—>MSTP

2.4 STP工作过程

【命令】Switch#Show spanning-tree    #查看树协议表

浅谈思科设备——环路解决方案_第2张图片2.4.1 确定交换机的角色

根交换机

非根交换机

判断角色的原则:比较每个交换机的BIDBrigde ID(桥ID),越小越好

组成:优先级+MAC

优先级:默认是327682字节

MAC:交换机的主板MAC(基MAC地址),6字节

【命令】Switch#show version    #查看交换机的基MAC地址(BaseEthernet MAC Address)

2.4.2 确定端口角色

根端口(RP):每一个非根交换机,都有一个,且只有一个,距离根交换机最近(cost值)的端口

指定端口(DP):每一个冲突域中都存在一个距离根交换机最近(cost值)的口,根交换机上的口都是指定端口

阻塞端口(Altn):其他所有端口,备份链路

***冲突域:交换机上的每个端口都有一个冲突域

***在分析时,先确定根端口,在选指定端口

 

根端口(RP):子节点连接父节点的端口

指定端口(DP):父节点连接子节点的端口

阻塞端口:消除网络环路

2.4.3 确定端口状态

Disable(关闭)    #相当于shutdown,此时端口不能用

Listening(侦听)    #该极端侦听的是BPDU,用于确定端口角色

Learning(学习)    #该状态学习的是MAC地址,形成MAC地址表

Forwarding(转发)    #即端口的最终转发状态

根端口、指定端口

Block(阻塞)    #此时的端口是不可以发送数据的,只接收BPDU

非指定端口

2.5 Cost

如何表示距离

STP中,通过cost值表示一个路径的距离

对于某些链路,均有默认的cost

10M=cost 100

100M=cost 19

1G=cost 4

10G=cost 2

2.6 修改交换机的STP优先级

***通过修改交换机的STP优先级重新确定VLAN的根交换机

【命令】Switch(config)#spanning-tree vlan 1 priority 61440    #修改根交换机SW1BID优先级为61440

***导致的结果,此时的网络中的根交换机SW1变成了其他VLAN

2.7 STP3种计时器

Hello时间

转发延迟(Forward delay

最大老化时间

3 拓扑图解析

1、画图说明传统网络中的单点故障


2、画图说明解决方案(增加冗余链路和设备)

浅谈思科设备——环路解决方案_第3张图片

3、画图说明冗余链路和设备,带来的环路问题

详细说明,环路是如何形成的

4、画图说明“STP的工作过程

如何选举交换机角色

如何判定端口角色

如何判定端口最终状态

         1、确定交换机角色

根据四台交换机的BID(优先级+MAC)确定

优先级默认为32768MAC地址00D0.5841.6B61最小,故SW2为根交换机

         2、确定端口角色

                  根交换机下的端口都是DP

                  确定非根交换机的RP

         比较:Cost值—>trunk链路上交换机的BID>trunk链路上交换机端口的PortID

                  确定非根交换机的DP

         比较:Cost值—> trunk链路上交换机的BID>trunk链路上交换机端口的PortID

***通常,两台交换机之间有两条trunk链路时才需要比较PortID

浅谈思科设备——环路解决方案_第4张图片         ***DP的对端不是RP,就是阻塞端口

5、更改SW2VLAN1中的STP优先级为0

从而确保,根交换机由SW1转移到SW2

随后验证,确认每个交换机的角色、每个端口的角色和状态

4 配置命令总结

特权模式

Switch#Showspanning-tree    #查看树协议表

Switch#Showspanning-tree summary    #查看树协议表概要

 

Switch#showversion    #查看交换机的基MAC地址(BaseEthernet MAC Address)

 

全局配置模式

      Switch(config)#nospanning-tree vlan ***    #关闭STP树协议

 

      Switch(config)#spanning-treevlan 1 priority 61440    #修改根交换机SW1BID优先级为61440