德国hbm传感器:交换机STP的概念及配置(一)

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 20:00:56
交换机STP的概念及配置(一)

生成树协议(Spanning Tree Protocol,STP)是交换式以太网中的重要概念和技术,该协议的目的是在实现交换机之间的冗余连接的同时,避免网

络环路的出现,实现网络的高可靠性.它通过在交换机之间传递桥接协议数据单元(Bridge Protocol Tata Unit ,BPDU)来互相告知诸如交换机

的桥ID、链路性质、根桥(Root Bridge )ID等信息,以确定根桥,决定哪些端口处于转发状态,哪些端口处于阻断状态,以免引起网络环路

当交换机之间有多个VLAN时Trunk线路负载会过重,这时需要设置多个Trunk端口,但这样会形成网络环路。STP协议便可以解决这一问题。当同

一台交换机的两个端口形成环路时,STP端口全值用来决定哪个口是交换状态的,哪个口是阻断的。可以通过配置端口权值来决定两对Trunk个

走哪些VLAN,有较高权值的端口(优先级数字较小的)Vlan将处于转发状态,同一个VLAN在另一个Trunk有较低的权值(优先级数字较大),则

将处于阻断状态。即同一个VLAN在一个Trunk只在一个Trunk上发送接受

STP的基本思想是:在网桥之间传递一种特殊的协议报文-BPDU(Bridge Protocal Data Unit),IEEE802.1D协议中将这种特殊的协议报文称为

“桥协议数据单元”或“配置消息”

相关概念:


*根网桥(Root Bridge):从网络中所有的网桥中选择一个根网桥作为拓扑的树根。

*最短路径开销(Shortest Path Cost):本网桥到根网桥的最短距离。

*指定网桥(Designated Bridge):对于每个网段(不包括交换机,但可包括Hub或连接两台交换机的一段网线),需选出距离根网桥最近的

网桥作为指定网桥。指定网桥负责处理所有从所有网段到根网桥的数据转发。一个网段的指定网桥也就是该网段的指定端口所在的网桥。

*根端口(Root Port):对于每个非根网桥,选取唯一一个到达根网桥路径开销最小的端口作为根端口,PortID最小端口成为根端口,PortID

通常为端口的MAC地址,MAC地址最小的端口成为根端口。

*指定端口(Designated Port):在每网段选取唯一一个指定端口,距离根网桥最近的端口也就是端口代价最小,负责该网段上所有数据转

发到根网桥,通常只有根网桥端口成为指定端口。被选定为根端口和指定端口的进行转发状态,落选端口进入阻塞状态


生成树协议配置消息(BPDU):

BPDU配置消息是以以太网数据帧的格式进行传递的,DMA:它采用一个周知的多播MAC地址01-80-C2-00-00-00作为目的MAC地址,网络中所有的网

桥收到该地址后都能够判断出该报文是生成树协议报文。SMA:源MAC地址域中填的是本网桥的MAC。LLC Header:配置消息固定的链路头,SAP值

是01000010(0x42)

配置消息内容:

*树根ID(以以太网交换机的优先级表示),根路径开销,指定交换机ID(以以太网交换机的优先级表示),指定端口ID(以端口号表示)

(Root Bridge ID,Root Path Cost,Designated Bridge ID,Designated Port ID)


*RootID: 由根网桥的优先级和根网桥的48位MAC地址组成。优先级+MAC地址, 默认(32768),可由管理员手工修改。

树根注意由优先级决定,当优先级相同时,以MAC地址小的为根。

*Root Path Cost: 从发送网桥到根网桥最小路径开销。


*Designated BridgeID:主要以交换机的优先级和MAC地址表示。优先级+MAC地址

*Designated Port ID: 主要以交换机的端口优先级表示。可由管理员手工修改。


生成树协议有三种模式:

*STP(生成树协议): STP不能快速迁移。即使是在点对点链路或边缘端口,也必须等待2倍的Forward delay的时间延迟,端口才能迁移

到转发状态。

*RSTP(快速生成树协议): RSTP可以快速收敛,但是和STP一样存在以下缺陷:局域网内所有网桥共享一棵生成树,不能按VLAN阻塞冗余

链 路,所有VLAN的报文都沿着一棵生成树进行转发。

*MSTP(多生成树协议): MSTP可以弥补STP和RSTP的缺陷,它既可以快速收敛,也能使不同VLAN的流量沿各自的路径分发,从而为冗余链

路提供了更好的负载分担机制。MSTP设置VLAN映射表(即VLAN和生成树的对应关系表)把VLAN和生成树联系起来

同时它把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。MSTP将环路网络修剪成

为一个无环的树型网络,避免报文在环路网络中的增生和无限循环,同时还提供了数据转发的多个冗余路径,在

数据转发过程中实现VLAN数据的负载均衡。

生成树协议STP端口状态:

*Disabled:不收发任何报文

*Blocking: 阻断,不接收或转发数据,接收但不发送BPDUs,不进行地址学习

*Listening:倾听,不接收或转发数据,接收并发送BPDUs,不进行地址学习

*Learning:学习,不接收或转发数据,接收并发送BPDUs,开始地址学习

*Forwarding:转发,接收或转发数据,接收并发送BPDUs,进行地址学习

生成树协议运行生成树算法(STA):
  (1)选择根网桥
  (2)选项根端口
  (3)选择指定端口
  *选择根网桥的依据是交换机的网桥优先级,网桥优先级是用来衡量网桥在生成树算法中优先级的十进制数,取值范围是0~65535.默认值

是32768,网桥ID是由网桥优先级和网桥MAC地址组成的。共有8个字节。
  *选择根端口的依据是
  (1)到跟网桥的最低路径成本。
   根路径成本是两个网桥间的路径上所有链路的成本之和,也就是某个网桥到达根网桥的中间所有链路的路径成本之和,一条链路的带

宽越大,他的传输成本就越低。
  (2)直连的网桥ID最小
  (3)端口ID最小
  *选择指定端口的依据是:
  (1)根路径成本较低
  (2)所在的交换机网桥ID值最小
  (3)端口ID值最小

 

运行某个指定STP的STP协议后,可以根据具体的网络结构调整该STP的一些参数。交换机中可以调整以下的STP协议参数:
  * bridge priority:根网桥ID
  * hello time:根网桥生成BPDUs配置消息的周期,缺省时间是2秒钟
  * forward delay:配置消息传播到全网的最大时延,缺省为15秒钟
  * max age:BPDUs配置消息存活的最大时间
另外每个端口上可以调整以下参数:
  * path cost:路径开销
  * port priority:根端口ID

边缘端口:

对于直接与终端相连的端口,请将该端口设置为边缘端口,同时启动BPDU保护功能。这样既能够使该端口快速迁移到转发状态,

也可以保证网络的安全。

说明:用户如果将某个端口指定为边缘端口,那么当该端口由堵塞状态向转发状态迁移时,这个端口可以实现快速迁移,而无需等待

延迟时间。用户只能将与终端链接的端口设置为边缘端口。在交换机没有使能BPDU保护的情况下,如果被设置为边缘端口的端口上收到来自其

它端口的BPDU报文,则该端口会重新变为非边缘端口。如果交换机使能了BPDU保护,则该端口会被关闭。该参数对所有生成树实例有效,也就

是说,当端口被配置为边缘端口或非边缘端口时,该端口在所有生成树实例上都被设置为边缘端口或非边缘端口。在交换机没有使能BPDU保护

的情况下,当端口收到BPDU后,即使用户设置为边缘端口,实际运行值也会变为非边缘端口。缺省情况下,交换机所有以太网端口均被配置为

非边缘端口。

配置交换机的保护功能:
支持MSTP的交换机提供BPDU保护功能、Root保护功能和环路保护功能。
对于接入层设备,接入端口一般直接与用户终端(如PC机)或文件服务器相连,此时接入端口被设置为边缘端口以实现这些端口的快速迁

移;当这些端口接收到配置消息(BPDU报文)时系统会自动将这些端口设置为非边缘端口,重新计算生成树,引起网络拓扑的震荡。这些端口

正常情况下应该不会收到生成树协议的配置消息。如果有人伪造配置消息恶意攻击交换机,就会引起网络震荡。BPDU保护功能可以防止这种网

络攻击。
生成树的根交换机及备份交换机应该处于同一个域内,特别是对于CIST的根交换机和备份交换机,由于网络设计时一般会把CIST的根交换

机和备份交换机放在一个高带宽的核心域内。但是由于维护人员的错误配置或网络中的恶意攻击,网络中的合法根交换机有可能会收到优先级

更高的配置消息,这样当前根交换机会失去根交换机的地位,引起网络拓扑结构的错误变动。这种不合法的变动,会导致原来应该通过高速链

路的流量被牵引到低速链路上,导致网络拥塞。Root保护功能可以防止这种情况的发生。
依靠不断接收上游交换机发送的BPDU,交换机可以维持根端口和其他阻塞端口的状态。但是由于链路拥塞或者单向链路故障,这些端口会

收不到上游交换机的BPDU。此时交换机会重新选择根端口,根端口会转变为指定端口,而阻塞端口会迁移到转发状态,从而交换网络中会产生

环路。环路保护功能会抑制这种环路的产生。在启动了环路保护功能后,根端口的角色不会迁移,阻塞端口会一直保持在Discarding状态,不

转发报文,从而不会在网络中形成环路。
可以通过下面的命令来配置交换机的保护功能。
交换机上启动了BPDU保护功能以后,如果边缘端口收到了配置消息,系统就将这些端口关闭,同时通知网管这些端口被MSTP关闭。被关闭

的端口只能由网络管理人员恢复。
对于设置了Root保护功能的端口,其在所有实例上的端口角色只能保持为指定端口。一旦这种端口上收到了优先级高的配置消息,即其将

被选择为非指定端口时,这些端口的状态将被设置为侦听状态,不再转发报文(相当于将此端口相连的链路断开)。当在足够长的时间内没有

收到更优的配置消息时,端口会恢复原来的正常状态。
*在对一个端口进行配置的时候,在Loop保护功能,Root保护功能或者边缘端口设置三个配置中,同一时刻只能有一个配置生效。
*缺省情况下,交换机不启动BPDU保护功能、Root保护功能和环路保护功能。
*总之,直接与终端相连的端口设为边缘端口,根交换机设为Root保护功能,次汇聚交换机设为环路保护功能。

下面是两套华为交换机STP配置,大家参考一下


交换机STP配置1

『配置环境参数』

1. 交换机SwitchA、SwitchB和SwitchC都通过GE接口互连

2. SwitchB和SwitchC交换机是核心交换机,要求主备。

『组网需求』

要求整个网络运行STP协议。

数据配置步骤

【SwitchA交换机配置】

1. 启动生成树协议

[SwitchA]stp enable

【SwitchB交换机配置】

1. 启动生成树协议

[SwitchB]stp enable

2. 配置本桥为根桥

[SwitchB]stp root primary


【SwitchC交换机配置】

1. 启动生成树协议

[SwitchC]stp enable

2. 配置本桥为备份根桥

[SwitchC]stp root secondary

【SwitchD交换机配置】

1. 启动生成树协议

[SwitchD]stp enable

【补充说明】

1. 缺省情况下交换机的优先级都是32768,如果想人为指定某一台交换机为根交换机,也可以通过修改优先级来实现;

2. 缺省情况下打开生成树后,所有端口都会开启生成树协议,请把接PC的端口改为边缘端口模式;

3. 如果要控制某条链路的状态可以通过设置端口的cost值来实现

测试验证

1. 使用display stp查看交换机STP运行状态

2. 查看端口STP状态display stp interface Ethernet XX是否正确

交换机STP配置2


『配置环境参数』

1. SwitchA选用华为-3com公司的高中端交换机,如S8500或者S6500系列交换机

2. SwitchB和SwitchC选用华为-3com公司的低端交换机,如S3500或者S3550系列交换机

3. SwitchD、SwitchE和SwitchF选用华为 -3com公司的低端交换机,如S3000或者S2000系列交换机


『组网需求』

1. 所有设备运行STP(Spanning Tree Protocol)生成树协议

2. 以SwitchB为根网桥,阻断网络中的环路,并能达到链路冗余备份的效果

2数据配置步骤

『交换机STP配置流程』

通过改变交换机或者端口的STP优先级,从而达到手工指定网络中的根网桥,以及端口的STP角色,完成阻断环路及链路的冗余备份。

【SwitchB相关配置】

1. 全局使能STP功能(缺省情况下,DHCP功能处于使能状态)
[SwitchB]stp enable

2. 将SwtichB配置为树根(两种方法:将SwitchB的Bridge优先级设置为0,或者直接将SwitchB指定为树根,两种方法一个效果)
[SwitchB]stp priotity 0
[SwitchB]stp root primary

3. 在各个指定端口上启动根保护功能(在此例中,SwtichB的所有端口都是制定端口)
[SwitchB]interface Ethernet 0/1
[SwitchB-Ethernet-0/1]stp root-protection

【SwitchC相关配置】

1. 全局使能STP功能(缺省情况下,DHCP功能处于使能状态)
[SwitchB]stp enable

2. 将SwtichC配置为备份树根(两种方法:将SwitcCB的Bridge优先级设置为4096,或者直接将SwitchC指定为备份树根,两种方法一个

效果)
[SwitchB]stp priotity 4096
[SwitchB]stp root secondary

3. 在指定端口上启动根保护功能(在此例中,SwtichC的端口0/1、0/2和0/3是指定端口)
[SwitchB]interface Ethernet 0/1
[SwitchB-Ethernet-0/1]stp root-protection

【其他Switch的相关配置】

将接PC机的端口stp功能关闭,或者配置为边缘端口,并使能BPDU保护功能
[SwitchD -Ethernet0/4]stp disable
[SwitchD -Ethernet0/5]stp edged-port enable
[SwitchD ]stp bpdu-protection

【补充说明】

配置了”bpdu-protection”以后,如果某个边缘端口收到BPDU报文,则该边缘端口将会被关闭,必须由手工进行恢复。

当端口上配置了”stp root-protection”以后,该端口的角色只能是指定端口,且一旦该端口上收到了优先级高的配置消息,则该端口的状态

将被配置为侦听状态,不再转发报文,当在足够长的时间内没有收到更优的配置消息时,端口会恢复原来的正常状态。