码迷,mamicode.com
首页 > 其他好文 > 详细

NA西游第二难:STP学习

时间:2019-11-01 09:41:41      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:修改   pass   glob   接口   play   active   sele   技术   bpdu   

STP

原理概述

STP是用来避免数据链路层出现逻辑环路的协议,运行STP协议的设备通过交互信息发现环路,并通过阻塞特定端口,最终将网络结构修剪成无环路的树形结构。在网络出现故障的时候,STP能快速发现链路故障,并尽快找出另外一条路径进行数据传输。
交换机上运行的STP通过BPDU信息的交互,选举根交换机,然后每台非根交换机选择用来与根交换机通信的根端口,之后每个网段选择用来转发数据至根交换机的指定端口,最后剩余端口则被阻塞。

拓扑:

技术图片

基本配置

S1到S4都将默认的MSTP更改为STP

stp enable
stp mode stp

30秒后查看s1的生成树状态
查看详细状态

display stp

查看摘要信息

[s1]display stp brief?
?MSTID? Port? ? ? ? ? ? ? ? ? ? ? ? Role? STP State ? ? Protection
?? 0? ? Ethernet0/0/1 ? ? ? ? ? ? ? ROOT? FORWARDING? ? ? NONE
?? 0? ? Ethernet0/0/2 ? ? ? ? ? ? ? ALTE? DISCARDING? ? ? NONE
[s2]display stp brief?
?MSTID? Port? ? ? ? ? ? ? ? ? ? ? ? Role? STP State ? ? Protection
?? 0? ? Ethernet0/0/1 ? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
?? 0? ? Ethernet0/0/2 ? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
?? 0? ? Ethernet0/0/3 ? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
[s3]display stp brief?
?MSTID? Port? ? ? ? ? ? ? ? ? ? ? ? Role? STP State ? ? Protection
?? 0? ? Ethernet0/0/1 ? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
?? 0? ? Ethernet0/0/2 ? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
?? 0? ? Ethernet0/0/3 ? ? ? ? ? ? ? ROOT? FORWARDING? ? ? NONE
?? 0? ? Ethernet0/0/10? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
?? 0? ? Ethernet0/0/11? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
[s4]display stp brief?
?MSTID? Port? ? ? ? ? ? ? ? ? ? ? ? Role? STP State ? ? Protection
?? 0? ? Ethernet0/0/1 ? ? ? ? ? ? ? ALTE? DISCARDING? ? ? NONE
?? 0? ? Ethernet0/0/2 ? ? ? ? ? ? ? ROOT? FORWARDING? ? ? NONE

由以上可知
S1的Ethernet0/0/1为根端口,转发状态;Ethernet0/0/2为替代端口,丢弃状态
S2的所有端口都是指定端口,转发状态;可以判断S2为根交换机
S3的Ethernet0/0/3为根端口,其余端口为指定端口;都是转发状态
S4的Ethernet0/0/2为根端口,转发状态;Ethernet0/0/1为替代端口,丢弃状态

查看s2根交换机的stp详细信息

[s2]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge ? ? ? ? :32768.4c1f-cc29-7f53
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-cc29-7f53 / 0
CIST RegRoot/IRPC ? :32768.4c1f-cc29-7f53 / 0
CIST RootPortId ? ? :0.0
BPDU-Protection ? ? :Disabled
TC or TCN received? :18
TC count per hello? :0
STP Converge Mode ? :Normal?
Time since last TC? :0 days 0h:4m:29s
Number of TC? ? ? ? :19
Last TC occurred? ? :Ethernet0/0/3

Ps:CIST Root/ERPC?与 CIST Bridge相同,说明s2为根交换机;32768.4c1f-cc29-7f53中32768为交换机默认的优先级,后面的为交换机MAC地址

STP运算过程

比较每台交换机的ID选举根交换机,交换机ID由交换机优先级和MAC地址组成
1、比较交换机优先级,数值最低的为根交换机
2、优先级一致,则比较MAC地址,数值最低的为根交换机。

手动配置根交换机

修改交换机优先级
设置根交换机优先级为0,备份根交换机优先级为4096

[s1]stp priority 0
[s2]stp priority 4096

或者

[s1]undo stp priority
[s1]stp root primary?
[s2]undo stp priority
[s2]stp root secondary?

查看s1s2的状态信息

[s1]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge ? ? ? ? :0? ? .4c1f-cce4-0451
Config Times? ? ? ? :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times? ? ? ? :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC? ? ? :0? ? .4c1f-cce4-0451 / 0
CIST RegRoot/IRPC ? :0? ? .4c1f-cce4-0451 / 0
[s2]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge ? ? ? ? :4096 .4c1f-cc29-7f53
Config Times? ? ? ? :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times? ? ? ? :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC? ? ? :0? ? .4c1f-cce4-0451 / 200000
CIST RegRoot/IRPC ? :4096 .4c1f-cc29-7f53 / 0

由以上可知
CIST Root/ERPC:根交换机s1优先级为0,mac为4c1f-cce4-0451
CIST RegRoot/IRPC:备份根交换机s2优先级为4096,mac为4c1f-cc29-7f53

非根交换机上选举根端口

1、每个端口到达根交换机的根路径开销,路径开销最小的端口为根端口
2、如果根路径开销值相同,则比较每个端口所在链路上行交换机ID值
3、如果上行交换机ID相同,则比较每个端口所在链路上行端口ID值

手动配置端口开销值
查看s4交换机根端口以及开销值

[s4]dis stp brief?
?MSTID? Port? ? ? ? ? ? ? ? ? ? ? ? Role? STP State ? ? Protection
?? 0? ? Ethernet0/0/1 ? ? ? ? ? ? ? ALTE? DISCARDING? ? ? NONE
?? 0? ? Ethernet0/0/2 ? ? ? ? ? ? ? ROOT? FORWARDING? ? ? NONE
[s4]dis stp
----[Port1(Ethernet0/0/1)][DISCARDING]----
?Port Protocol ? ? ? :Enabled
?Port Role ? ? ? ? ? :Alternate Port
?Port Priority ? ? ? :128
?Port Cost(Dot1T ) ? :Config=auto / Active=200000
----[Port2(Ethernet0/0/2)][FORWARDING]----
?Port Protocol ? ? ? :Enabled
?Port Role ? ? ? ? ? :Root Port
?Port Priority ? ? ? :128
?Port Cost(Dot1T ) ? :Config=auto / Active=200000

两个端口的active(实际使用的开销值)都为200000,设置根端口的开销值小于200000,即可

配置s4上根端口开销值

[s4]interface Eth0/0/1
[s4-Ethernet0/0/1]stp cost 2000

再次查看s4交换机根端口

[s4]dis stp
----[Port1(Ethernet0/0/1)][FORWARDING]----
?Port Protocol ? ? ? :Enabled
?Port Role ? ? ? ? ? :Root Port
?Port Priority ? ? ? :128
?Port Cost(Dot1T ) ? :Config=2000 / Active=2000
----[Port2(Ethernet0/0/2)][DISCARDING]----
?Port Protocol ? ? ? :Enabled
?Port Role ? ? ? ? ? :Alternate Port
?Port Priority ? ? ? :128
?Port Cost(Dot1T ) ? :Config=auto / Active=200000

目前根端口为Ethernet0/0/1口,开销值为2000

每个网段选举指定端口
1、比较两个端口发送与接收BPDU中的根路径开销,小的成为指定端口
2、如果相同,比较端口发送与接收BPDU中的网桥ID,小的成为指定端口
3、如果相同,比较网桥MAC地址,小的成为指定端口

Ps:修改端口开销值来选举指定端口,修改方法同选举根端口

配置STP定时器

普通的stp不能实现快速的拓扑收敛,但定时器通过配置合适的系统参数,可以使stp实现最快的拓扑收敛。
定时器有三种:
hello time定时器,BPDU多久发送一次hello,默认2秒
max age定时器,BPDU的最大老化时间,默认20秒
forword delay定时器,转发延迟时间;接口从Discarding状态,经过 过渡状态,最终到Forwording状态所用时间,默认15秒
交换机自动根据网络直径计算出hello time,max age和forword delay三个时间参数的最优值,默认网络直径为7

示例:
技术图片

配置STP定时器,并配置s1为根交换机,s2为备份根交换机

[s1]stp mode stp
[s1]stp root primary?
[s2]stp mode stp
[s2]stp root secondary?
[s3]stp mode stp
[s4]stp mode stp

查看各定时器默认值

[s1]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge ? ? ? ? :0? ? .4c1f-cc9a-76a3
Config Times? ? ? ? :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times? ? ? ? :Hello 2s MaxAge 20s FwDly 15s MaxHop 20

Config Times:标识当前设备配置的计时器
Active Times:标识正在生效的计时器

在根交换机设置FwDly时间为2000cs,默认是1500cs,cs是百分之一秒

stp timerforward-delay 2000

一般不建议直接修改这三个计时器的数值,而是配置网络直径让交换机自行计算
在根交换机配置网络直径为3

stp bridge-diameter 3

再次查看计时器信息

<s1>display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge ? ? ? ? :0? ? .4c1f-cc9a-76a3
Config Times? ? ? ? :Hello 2s MaxAge 12s FwDly 9s MaxHop 20
Active Times? ? ? ? :Hello 2s MaxAge 12s FwDly 9s MaxHop 20

RSTP

RSTP(快速生成树协议)基于STP协议,在STP协议的端口状态和端口角色进行了细致区分,使收敛速度有很大提升。

RSTP与STP的比较

技术图片

RSTP的快速收敛机制

? Proposal/Agreement机制
? 根端口快速切换机制
? 边缘端口的引入

示例:
技术图片

在s1到s4交换机配置RSTP

[s1]stp mode rstp

配置s1为根交换机,s2为备份根交换机

[s1]stp root primary
[s2]stp root secondary?

配置s3的Ethernet0/0/1,s4的Ethernet0/0/1为边缘端口

[s3-Ethernet0/0/1]stp edged-port enable?
[s4-Ethernet0/0/1]stp edged-port enable?

MSTP

RSTP实现了网络拓扑的快速收敛,但还是存在缺陷,即局域网内所有VLAN贡献一颗生成树,链路被阻塞后将不承载任何流量,造成带宽浪费,因此无法在VLAN间实现数据流量的负载均衡,还可能造成部分VLAN报文无法转发。
MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。每个域叫做一个MST域,每棵生成树叫做一个多生成树实例MSTI;实例内可以包含多个VLAN,通过VLAN映射表,把VLAN和MSTI联系起来;一个MSTI可以对应多个VLAN,一个VLAN只能对应一个MSTI。

示例:
技术图片

基础配置

以s1为例
配置vlan 10 20,配置连接pc的端口为access,配置连接交换机的端口为trunk

[s1]vlan batch 10 20
[s1-Ethernet0/0/1]port link-type trunk?
[s1-Ethernet0/0/1]port trunk allow-pass vlan 10 20
[s1-Ethernet0/0/2]port link-type trunk?
[s1-Ethernet0/0/2]port trunk allow-pass vlan 10 20
[s1-Ethernet0/0/3]port link-type access?
[s1-Ethernet0/0/3]port default vlan 10

在s1,s2,s3上配置MSTP多实例

进入MSTP域视图
[s1]stp region-configuration
配置MSTP域域名
[s1-mst-region]region-name huawei
配置MSTP的修订级别为1
[s1-mst-region]revision-level 1
指定vlan10映射到MSTI1,指定vlan20映射到MSTI2
[s1-mst-region]instance 1 vlan 10
[s1-mst-region]instance 2 vlan 20
激活MST域配置
[s1-mst-region]active region-configuration

Notes:在同一MST域中,必须具有相同域名,修订级别以及VLAN到MSTI的映射关系

查看当前生效的MST域配置

<s1>dis stp region-configuration?
?Oper configuration
?? Format selector? ? :0? ? ? ? ? ? ?
?? Region name? ? ? ? :huawei? ? ? ? ? ? ?
?? Revision level ? ? :1

?? Instance ? VLANs Mapped
? ? ? 0 ? ? ? 1 to 9, 11 to 19, 21 to 4094
? ? ? 1 ? ? ? 10
? ? ? 2 ? ? ? 20

在s1,s2,s3查看三个实例中的生成树状态和统计的摘要信息

[s1]dis stp instance 0 brief
?MSTID? Port? ? ? ? ? ? ? ? ? ? ? ? Role? STP State ? ? Protection
?? 0? ? Ethernet0/0/1 ? ? ? ? ? ? ? ROOT? FORWARDING? ? ? NONE
?? 0? ? Ethernet0/0/2 ? ? ? ? ? ? ? ALTE? DISCARDING? ? ? NONE
?? 0? ? Ethernet0/0/3 ? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
[s1]dis stp instance 1 brief
?MSTID? Port? ? ? ? ? ? ? ? ? ? ? ? Role? STP State ? ? Protection
?? 1? ? Ethernet0/0/1 ? ? ? ? ? ? ? ROOT? FORWARDING? ? ? NONE
?? 1? ? Ethernet0/0/2 ? ? ? ? ? ? ? ALTE? DISCARDING? ? ? NONE
?? 1? ? Ethernet0/0/3 ? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
[s1]dis stp instance 2 brief
?MSTID? Port? ? ? ? ? ? ? ? ? ? ? ? Role? STP State ? ? Protection
?? 2? ? Ethernet0/0/1 ? ? ? ? ? ? ? ROOT? FORWARDING? ? ? NONE
?? 2? ? Ethernet0/0/2 ? ? ? ? ? ? ? ALTE? DISCARDING? ? ? NONE

可以看到s1交换机的Ethernet0/0/2端口在实例1和实例2中都是处于DISCARDING状态,要实现这条链路被利用,配置s1交换机在实例2中为根交换机

[s1]stp instance 2 priority 0

再次查看生成树状态和统计的摘要信息

[s1]dis stp brief?
?MSTID? Port? ? ? ? ? ? ? ? ? ? ? ? Role? STP State ? ? Protection
?? 0? ? Ethernet0/0/1 ? ? ? ? ? ? ? ROOT? FORWARDING? ? ? NONE
?? 0? ? Ethernet0/0/2 ? ? ? ? ? ? ? ALTE? DISCARDING? ? ? NONE
?? 0? ? Ethernet0/0/3 ? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
?? 1? ? Ethernet0/0/1 ? ? ? ? ? ? ? ROOT? FORWARDING? ? ? NONE
?? 1? ? Ethernet0/0/2 ? ? ? ? ? ? ? ALTE? DISCARDING? ? ? NONE
?? 1? ? Ethernet0/0/3 ? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
?? 2? ? Ethernet0/0/1 ? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE
?? 2? ? Ethernet0/0/2 ? ? ? ? ? ? ? DESI? FORWARDING? ? ? NONE

可以看到,Ethernet0/0/2在实例2中为指定端口,状态为FORWARDING了,达到了流量分担的目的,有效的利用了网络资源,使s1的两条上行链路可以互相备份

学习自华为技术认证 HCNA网络技术实验指南

NA西游第二难:STP学习

标签:修改   pass   glob   接口   play   active   sele   技术   bpdu   

原文地址:https://blog.51cto.com/jiayimeng/2446953

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!