生成树实验

2022-10-13 05:13:08   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《生成树实验》,欢迎阅读!
成树,实验

生成树实验



一、为什么会产生生成树协议,他解决了什么问题

概念及背景知识:

1.1MAC地址介绍:

单播MAC地址:第一个字节最低位为0,如 3C-6A-A7-1A-2E-2B 多播MAC地址:第一个字节最低位为1,如 01-80-c2-00-00-00 广播MAC地址:48位全部为1,如 FF-FF-FF-FF-FF-FF 1.2 二层转发介绍

交换机二层的转发特性,符合802.1D网桥协议标准。交换机的二层转发涉及到两个关键的线程:地址学习线程和报文转发线程 地址学习线程如下:

A) 交换机接收网段上的所有数据帧,利用接收数据帧中的源MAC地址来建立MAC地址表; B) 端口移动机制:交换机如果发现一个包文的入端口和报文中源MAC地址的所在端口(在交换机的MAC地址表中对应的端口)不同,就产生端口移动,MAC地址重新学习到新的端口

C) 地址老化机制:如果交换机在很长一段时间之内没有收到某台主机发出的报文,在该主机对应的MAC地址就会被删除,等下次报文来的时候会重新学习。

转发线程如下:

A) 交换机在MAC地址表中查找数据帧中的MAC地址,如果找到,就将该数据帧发送到相应的端口,如果找不到就向所有的端口发送;

B) 如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文 C) 交换机向入端口以外的其它所有端口转发广播报文

1.3 VLAN二层转发介绍 报文转发线程:

A) 交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到(同时还要确保报文的入VLAN和出VLAN是一致的)就将该数据帧发送到相应的端口,如果找不到,就向VLAN内)所有的端口发送;

B) 如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文; C) 交换机(VLAN内)入端口以外的其它所有端口转发广播报文。

1.4加入VLAN的好处:

A) 限制了局部的网络流量,在一定程度上可以提高整个网络的处理能力 B) 虚拟的工作组,通过灵活的VLAN设置,把不同的用户划分到工作组内;

C) 安全性,一个VLAN内的用户和其它VLAN内的用户不能互访,提高了安全性。

1.5VLAN的透传和终结


A) VLAN透传 IEEE802.1Q协议 主要是修改了标准的帧头,添加了一个TAG字段,其中包含VLAN IDVLAN信息。

B) VLAN终结PVLAN技术能实现此功能,同时增加可活动的VLAN数目。

1.6 环路的起因

在二层网络中为了链路或者设备的冗余性而增加的链路,再有交换机的运行原理即从一个口学到的MAC地址会向除自己的其他所有其他的接口广播。两者同时作用产生了致命的环路问题,此问题的具体表现如下:

1. 形成广播风暴: 数据报在环路在不断的被广播转发形成广播风暴。

2. 多重复帧复制: 交换机在接受到不确定单播帧时,将执行泛洪操作,这意味着,在环路中一个单播帧在传输中被复制为多个复本。

3. MAC地址表不稳定: 如果交换机在不同的端口收到同一个帧,它的MAC数据库将会变得不稳定。

二、什么是生成树协议STP

概念:

1. MSTIMST的实例,每棵生成树的实例就是一个独立的生成树的拓扑;

2. IST 内部生成树的实例,MST交换机上默认存在的生成树实例,这是一个特殊的MST实例,实例ID0,所有的VLAN默认都映射到IST实例。

3. CST:公共生成树,MST实例仅出现在每个区域内,并不出现在区域间,如果把每个区域看作是一台大交换机,则连接这些交换机的生成树称为CST

4. CIST:区域内IST以及区域间CST连接在一起构成的生成树就是CISTcommon internal spanning tree)。

5. CIST根桥:在整个交换域中,每台交换机上都有实例0,其中网桥ID最小的那台交换机就是CIST树的根桥。全网就只有一个。

6. master bridge主桥:每个区域各有一个,主桥是每个区域中的IST的根桥

7. RegRoot:区域根,每个区域中的MST实例的根桥,是该实例中桥ID最小的那台交换机 8.区域根桥:每个区域中每个实例都有各自的区域内根桥。

桥接协议数据单元(BPDU):使用BPUD将拓扑信息传递给其他运行STP的交换机,并以固定的时间间隔(默认2s)进行更新。多播目标地址是01-80-c2-00-00-00



三、生成树协议如何工作:

STP端口拓扑变化:




1. 阻塞(Blocking):10s 端口不能参与帧的转发发

2. 侦听(Listening):15s 这是端口自阻塞状态后的第一个过渡状态。STP认为这种状态的二层LAN端口应当参与帧的转发

3. 学习(Learning):15s 处于准备参与帧转发状态 4.转发(Forwarding):端口可以正式转发帧了 5. 禁止(Disabled):端口不参与STP,不转发帧。





生成树使用BPDU(桥协议数据单元)进行工作,BPDU有两种类型: A) 配置BPDU,周期性发出,包含STP参数。

B) TCNTopologyChange Notification)拓扑变更通告,当交换机检测到拓扑变更时产生。

BPDU的功能:1.选举根网桥。2.确定冗余路径的位置。3.通过阻塞特定端口来避免环路。4.通告网络的拓扑变更。5.监控生成树的状态。

1.选择根桥RB

在网路中需要选择一台根交换机RB,选择RB就需要交换机们自己选择,需要交换机们通信,这些信息被称为BPDU(桥协议数据单元),每2秒发送一次,BPDU中包含的信息较多,但是RB的选择只比较BID(桥ID),BID最小的就是根交换机。

BID=桥优先级+MAC地址。先比较桥优先级,然后再比较桥MAC地址的优先级,


一般来说,桥优先级都是一样的,都是32768,所以一般只比较桥MAC地址,MAC地址最小(也就是BID最小)的作为RB

例如:SW1Default优先级 32768 MAC 4c1f-cc6d-0491 SW2Default优先级 32768 MAC 4c1f-cca9-1641 SW2Default优先级 32768 MAC 4c1f-cc54-7204

很明显,在优先级相等的情况下,MAC地址SW3的小,所以SW3为根交换机。 2.选择根端口RP(要从离根桥最近的端口选)

对于每台非根桥,要选择一个端口用来连接到根桥,这就是根端口 注意:根端口只能在非根桥上选取的。 当非根桥有多个端口可以连接到根桥时,应该选择性能比较好的端口作为根端口,择的依据是: 首先比较开销Q,其次比较PID(端口ID 带宽 10Mb/s 100Mb/s 1000Mb/s

3.选择指定端口DP(Designated Port 在每一个交换机之间的链路上选择一个端口,作为指定端口。由于Q相同,需要比较BID(指定端口ID.

4.RP(Root Port)DP设置转发状态,其他端口设为阻塞状态

选出来的RPDP将设为转发状态,既不是根端口也不是指定端口的其他端口将被Block

通过上述四部走,就可以形成无环路的网络。



STP拓扑变更 TCN消息的三种情况:



IEEE802.1d(STP)

IEEE802.1w(RSTP) 2000000 200000 20000

100 19 4

对于处于转发和监听状态的接口,过渡到Block状态(链路故障的情况) 端口进入转发状态,并且网桥已经拥有指定端口 非根桥在它的指定端口收到TCN



四、在交换机上验证生成树协议

diS stp

-------[CIST Global Info][Mode MSTP]-------

CIST Bridge :32768.4c1f-cc54-7204 /common internal spanning tree Bridge本网桥ID Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20


Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20

CIST Root/ERPC :32768.4c1f-cc54-7204 / 0 根桥ID/External root path cost CIST RegRoot/IRPC :32768.4c1f-cc54-7204 / 0 regional id/

五、生成树的安全保护机制

1stp root-protection

为保护根网桥的稳定性,即便有优先级更低的LSW4加入进来,将LSW3G0/0/5设为DISCARDING状态,而不允许其成为加入网络。此时PC5是不能访问其他PC的。 要改变这一状态,必须将LSW4的优先级升高至8192 即解决问题。 2 bpdu protection

边缘端口直接和用户终端相连,正常情况下,边缘端口不会收到BPDU报文。

stp bpdu-protection //全局开启stp bpdu防护功能,边缘端口会自动使能BPDU防护功能

stp edged-port enable //开启边缘端口特性 交换机会提示如下:

Jul 22 2019 21:07:03-08:00 LSW3 %%01MSTP/4/BPDU_PROTECTION(l)[9]:This edged-port

GigabitEthernet0/0/5 that enabled BPDU-Protection will be shutdown, because it

received BPDU packet!

3 bpdu filter

stp bpdu-protection //全局开启stp bpdu防护功能,边缘端口会自动使能BPDU防护功能

在网络边缘设备上接口上配置stp bpdu-filter enable,使边缘端口不处理、不发送BPDU报文,该端口即为BPDU filter端口。该端口将无法成功与对端设备直连端口协商STP协议状态,请用户慎用,建议只在边缘端口上配置该命令。

等于拓扑中的LSW4只能自己选自己为根桥了。 CIST Bridge :8192 .4c1f-cc85-2a78

Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 CIST Root/ERPC :8192 .4c1f-cc85-2a78 / 0 CIST RegRoot/IRPC :8192 .4c1f-cc85-2a78 / 0

dis stp brief

MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 DESI FORWARDING NONE 0 GigabitEthernet0/0/2 DESI FORWARDING NONE




----[Port5(GigabitEthernet0/0/5)][FORWARDING]---- Port Protocol :Enabled

Port Role :Designated Port Port Priority :128

Port Cost(Dot1T ) :Config=auto / Active=20000

Designated Bridge/Port :32768.4c1f-cc54-7204 / 128.5 Port Edged :Config=disabled / Active=disabled Point-to-point :Config=auto / Active=true Transit Limit :147 packets/hello-time Protection Type :None Port STP Mode :MSTP

Port Protocol Type :Config=auto / Active=dot1s BPDU Encapsulation :Config=stp / Active=stp

PortTimes :Hello 2s MaxAge 20s FwDly 15s RemHop 20 TC or TCN send :0 TC or TCN received :0

BPDU Sent :0

TCN: 0, Config: 0, RST: 0, MST: 0 BPDU Received :0

TCN: 0, Config: 0, RST: 0, MST: 0

4 loop protection

在运行RSTP协议的网络中,根端口和其他阻塞端口状态是依靠不断接收来自上游交换设备的BPDU维持。当由于链路拥塞或者单向链路故障导致这些端口收不到来自上游交换设备的BPDU时,交换设备会重新 选择根端口。原先的根端口会转变为指定端口,而原先的阻塞端口会迁移到转发状态,从而造成交换网络中可能产生环路。为了防止以上情况发生,可部署环路保护功能

在启动了环路保护功能后,如果根端口或Alternate端口长时间收不到来自上游设备的BPDU报文时,则向网管发出通知信息(此时根端口会进入Discarding态,角色切换为指定端口),而Alternate端口则会一直保持在阻塞状态(角色也会切换为指定端口),不转发报文,从而不会在网络中形成环路。直到链路不再拥塞或单向链路故障恢复,端口重新收到BPDU报文进行协商,并恢复到链路拥塞或者单向链路故障前的角色和状态。



[LSW3-GigabitEthernet0/0/5]stp loop-protection

Error: Failed to enable the loop protection because the root protection is enabled on the port.

[LSW3-GigabitEthernet0/0/1]stp loop-protection


[LSW3-GigabitEthernet0/0/2]stp loop-protection

//配置交换设备根端口或Alternate端口的环路保护功能。

[LSW3-GigabitEthernet0/0/1]dis stp brief

MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 ROOT FORWARDING LOOP 0 GigabitEthernet0/0/2 ALTE DISCARDING NONE 0 GigabitEthernet0/0/3 DESI FORWARDING BPDU 0 GigabitEthernet0/0/5 DESI FORWARDING ROOT

5 TC protection

如果攻击者伪造拓扑变化BPDU报文恶意攻击交换设备,交换设备短时间内会收到很多拓扑变化BPDU报文,频繁的删除MAC或者ARP表项操作会给设备造成很大的负担,也给网络的稳定带来很大隐患。

启用TC保护功能后,在单位时间内,交换设备处理拓扑变化报文的次数可配置。如果在单位时间内,交换设备收到拓扑变化报文的数量大于配置的阈值,那么设备只会处理阈值指定的报文个数。对于其他超出阈值的拓扑变化报文,指定时间超时后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项和ARP表项,从而达到保护设备的目的。

stp tc-protection //开启使能MSTP防拓扑变化报文***的保护功能。

stp tc-protection threshold 5 //处理TC类型BPDU报文并立即刷新转发表项的阈值为5

[LSW3]dis stp tc-bpdu statistics -STP TC/TCN information -----------

MSTID Port TC(Send/Receive) TCN(Send/Receive) 0 GigabitEthernet0/0/1 41/25 0/0 0 GigabitEthernet0/0/2 17/45 0/0 0 GigabitEthernet0/0/5 4/2 0/0

六、生成树协议失效的原因

STP协议中定义了根桥(Root Bridge)、根端口(Root Port)、指定端口(Designated Port)、路径开销Path Cost等概念,目的就在于通过构造一棵树的方法达到裁剪冗余环路的目的,同时实现链路备份和路径最优化。用于构造这棵树的算法称为生成树算法STASpanning Tree Algorithm)。

1、在网络中是否有存在不支持STP协议的设备或端口

要实现上述功能,网桥之间通过BPDU报文进行信息的交互。BPDU报文是一种二层报文,


目的MAC是多播地址01-80-C2-00-00-00,所有支持STP协议的网桥都会接收并处理收到的BPDU报文。该报文的数据区里携带了用于生成树计算的所有有用信息。STP报文是逐跳传递的,因此不支持STP协议的网桥的端口,接收到STP报文会直接丢弃报文。

在某些情况下,比如网络设计不合理,会导致STP协议失效,STP协议失效一般会导致网络环路。下面介绍导致STP协议失效的原因。 2、检查是否有双工模式不匹配的情况 3、单向链路 是否有单通现象发生。 4、数据包损坏

电缆有缺陷或者电缆长度不正确可能会导致数据包损坏,数据包损坏也会导致STP协议失

display interface gigabitethernet 1/0/1

GigabitEthernet 1/0/1 current state : UP Line protocol current state : UP

Description: Switch Port, Link-type : access(negotiated),

PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216

IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 0025-9ef4-abcd Last physical up time : -

Last physical down time : 2016-01-15 15:58:32 UTC-01:00

Current system time: 2012-06-05 18:56:41

Port Mode: COMMON FIBER, Transceiver: 1000_BASE_SX_SFP Speed : 1000, Loopback: NONE Duplex: FULL, Negotiation: ENABLE

Mdi : -, Flow-control: DISABLE Last 300 seconds input rate 0 bits/sec, 0 packets/sec Last 300 seconds output rate 0 bits/sec, 0 packets/sec Input peak rate 0 bits/sec, Record time: - Output peak rate 0 bits/sec, Record time: -

Input: 0 packets, 0 bytes Unicast: 0, Multicast: 0 Broadcast: 0, Jumbo: 0 Discard: 0, Pause: 0 Frames: 0

Total Error: 0

CRC: 0, Giants: 0 Jabbers: 0, Fragments: 0 Runts: 0, DropEvents: 0 Alignments: 0, Symbols: 0 Ignoreds: 0

Output: 0 packets, 0 bytes


Unicast: 0, Multicast: 0 Broadcast: 0, Jumbo: 0 Discard: 0, Pause: 0

Total Error: 0 Collisions: 0, ExcessiveCollisions: 0 Late Collisions: 0, Deferreds: 0 Buffers Purged: 0

Input bandwidth utilization threshold : 80.00% Output bandwidth utilization threshold: 80.00% Input bandwidth utilization : 0% Output bandwidth utilization : 0%

5CPU占用率高

CPU占用率高会对STA的算法造成影响,从而影响生成树协议的计算。

display cpu-usage

CPU Usage Stat. Cycle: 10 (Second)CPU Usage : 88% Max: 92% CPU Usage Stat. Time : 2010-12-18 15:35:56 CPU utilization for five seconds: 68%: one minute: 60%: five minutes: 55%. Max CPU Usage Stat. Time : 2015-01-27 10:08:10.

TaskName CPU Runtime(CPU Tick High/Tick Low) Task Explanation VIDL 82% 8/ 4c8b1ff DOPRA IDLE OS 12% 1/2c684bff Operation System



6STP定时器和直径调整不合理

STP中有三种定时器:Hello TimeMax AgeForward Delay这三种定时器的缺省值分别为:2秒、20秒和15秒。通常情况下,不建议直接调整定时器,建议使用stp bridge-diameter命令配置网络直径,交换设备会自动根据网络直径计算出Hello TimeForward Delay以及Max Age三个时间参数的较优值。 STP BRIDGE-DIAMETER 6 stp timer forward-delay 1300 stp timer max-age 1800

7、检查接口利用率是否过高

接口带宽利用率过高可能导致接口无法传输BPDU执行命令display interface brief查看接口接收方向和发送方向最近一段时间的带宽利用率。下面回显中InUti字段表示入方向上的带宽利用率,OutUti字段表示出方向上的带宽利用率。接口入方向或出方向最近一段时间的带宽利用率接近100%的接口可能利用率过高。







本文来源:https://www.dywdw.cn/57d72b67e618964bcf84b9d528ea81c758f52e0e.html

相关推荐
推荐阅读