首页 > 编程知识 正文

STP协议,stp配置思科

时间:2023-05-04 07:20:39 阅读:266465 作者:1286

生成树协议
通过阻断冗余链路来消除桥接网络中可能存在的路径环路的二层链路管理协议

生成树协议的基本原理
基本思想:在网桥之间传递特殊的消息(配置信息configuration BPDU和专注的绿茶变化
信息Topology Change Notification (TCN) BPDU),包含足够的信息做以下工作:
一.从网络中的所有网桥中,选出一个作为根网桥(Root Bridge)
二.计算本网桥到根网桥的最短路径(Cost)
三.对每个LAN,选出离根桥最近的那个网桥作为指定网桥(Designate
Bridge),负责所在LAN上的数据转发,选择出负责在该LAN上转发数据的
指定端口(Designate Port)
四.每个网桥选择一个根端口(Root Port),该端口给出的路径是此网桥到根
桥的最佳路径.负责接收最优的BPDU

BPDU

最初的网络,每个SWITCH都认为自己是根桥,都会发送BPDU,比较Lowest BID,选举出一个根桥,当根桥选出来以后。此时就只有根桥发送BPDU。非根桥只进行转发。
BPDU分两种类型:
1、配置BPDU–通常由根网桥以周期性间隔发出,包括了STP参数,用于进行各种选举。
2、TCN(topology change notification 专注的绿茶变更通告)BPDU–这种BPDU是当交换机检测到专注的绿茶发生变更时所产生

BPDU中的时间解析
• Hello interval(2S)每2秒钟发送一次Hello
• Message age(衡量当前网桥所收到的BPDU在网络内传播时间的一个参数,由于BPDU从根桥产生后,是经过下游的网桥一跳一跳地传播的,每经过一跳都会产生一定的时延,这样当BPDU从根桥传递到距离根桥较远的设备上时,这个时延就增大到不可忽略了。所以根桥在构造发送BPDU的时候,会将这个字段设置为0,当下游网桥在传递从根桥发来的BPDU时,会在BPDU报文的Message Age字段中把这一跳转发过程中可能引入的时延上限加到里面。这样一来远端的网桥就可以通过BPDU中的Message Age来计算当前专注的绿茶信息存在的时间了)
• Max age如果一直不能收到BPDU,每过1s定时器就自动加一,当这个定时器超过某一门限(Max Age)之后,网桥会认为原根端口通往根桥的路径已经出现了故障,专注的绿茶发生变化。
这是生成树协议中,除了端口down以外,网桥感知专注的绿茶变化的唯一方法
• 两个转发时延(forward delay):
• 以保证专注的绿茶变化的信息已经扩散到整个网络,所有的网桥都更新了专注的绿茶,才能放开端口,开始转发,否则可能造成环路
• Aging time(300-15秒):与MAC 地址表有关

生成树的选举
根桥(皇帝)的选举
• 桥ID由桥优先级(BridgePriority)和桥MAC地址BridgeMacAddress)组成
• 桥ID小的桥被选举为根桥
选举RP(接收BPDU的接口)
RPC
对端桥ID(对端的BID)
对端的PORT ID,端口优先级+端口序号
本设备的端口号码
选举DP(每个链路上的指定端口)
RPC
本端的桥ID
本端的端口ID

RPC
路径开销(Path Cost)是一个端口变量,是STP协议用
于选择链路的参考值。STP协议通过计算路径开销,选择
较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环
路的树形网络结构。
• 在一个STP网络中,某端口到根桥的路径开销就是所经过
的各个桥上的各端口的路径开销累加而成,这个值叫做根
路径开销(Root Path Cost)

端口角色
disabled 不工作
blocking 阻塞,阻塞状态的端口不能收发数据,但会监听BPDU;(面壁的土豪的橘子)
listening 侦听,不能收发数据,但是会收发BPDU; (老师走了)
learning 学习,不能收发数据,但是收发BPDU,开始学习MAC地址 (老师走远了)
forwarding 转发,可以收发数据,收发BPDU

Spanning专注的绿茶的收敛通知

正常情况下,交换机从根端口收到配置BPDU,而不会在根端口发出BPDU;
当专注的绿茶发生变化时开始从根端口发出TCN。上游的指定端口收到TCN,需要进行确认,
然后产生另一个TCN从其根端口发出,直到通知到根

根交换机意识到专注的绿茶发生变化,开始发送TC 比特置为的配置BPDU,网络中所有
的交换机会中继该BPDU。导致的结果是降低aging时间到15秒的转发时延。

根桥直连链路故障,网络恢复时间 30秒
UplinkFast解决自身根端口的收敛
作用:1)把备份链路迅速UP起来2)代表其连接的主机发送MAC更新,修改cam表,这是通过一个伪组播帧(-01-00-0C-CD-CD-CD)的发送实现的。配置在接入层交换机


SW2(config)#spanning-tree uplinkfast //交换机上全局配置成UplinkFast
验证
SW2#show spanning-tree uplinkfast //可以查看交换机上根端口和备份根端口

非直连链路发生故障,网络恢复时间 50秒
Backbone fast解决Root 非直连收敛把备份链路(P 端口)由block 转化为指定端口过程节省max-age 的20 秒,P 端口状态会迅速成为LIS
节省针对根交换机的非直连的链路的maxage 的20 秒所有设备 都要做此操作

SW2(config)#spanning-tree backbonefast //可以只在SW2上配,但万一其他链路也挂了呢?所以通常全都配

SW1#show spanning-tree backbonefast //查看BackboneFast的配置

非重要链路状态变化,会引起资源消耗,但不会影响数据转发
全局
SW1(config)#spanning-tree portfast edge default
接口
sw1(config)#int e0/1
sw1(config-if)#spanning-tree portfas

SW2(config)#spanning-tree mode pvst
配置SW2为VLAN 20的主根,SW3为VLAN20的备份根
SW2(config)#spanning-tree vlan 20 root primary
SW3(config)#spanning-tree vlan 20 root secondary
配置SW3为VLAN 30的主根,SW2为VLAN30的备份根
SW3(config)#spanning-tree vlan 30 priority 4096
SW2(config)#spanning-tree vlan 30 priority 8192
验证
SW2#show spanning-tree vlan 20

修改RP、DP的选举
修改RPC,(计算RT接口的cost)
SW5(config)#int e0/3
SW5(config-if)#spanning-tree vlan 1 cost 1

修改发送方BID(修改桥优先级 4096的整数倍)
SW4(config)#spanning-tree vlan 1 priority 28672

修改发送方PID(优先级加端口编号组成,64的整数倍)
SW2(config)#int e0/2
SW2(config-if)#spanning-tree vlan 1 port-priority 64

修改本地的PID(优先级加端口编号组成,64的整数倍)
SW5(config)#int e0/0
SW5(config-if)#spanning-tree vlan 1 port-priority 192
验证
SW5#show spanning-tree vlan 1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。