您的位置:首页 > 编程语言 > PHP开发

STP协议

2017-10-23 17:44 106 查看
STP
传统交换机存在的问题:单点故障
解决方案:增加冗余链路,增加冗余设备。
问题:数据转发环路:产生环路的数据,会不断地在网络中进行传输,
从而消耗网络中链路资源和设 备资源。
解决方案:在交换机上运行STP协议.

STP生成树协议(802.1D)
作用:
存在冗余链路的情况下,实现环路的防护。
实现:
BPDU--桥接协议数据单元。
分类:
PVST/RSTP/MSTP

工作过程:

1.确定交换机角色:
根交换机
非根交换机
原则:比较每个交换机的BID(桥ID),越小越好。
组成:优先级+MAC
优先级默认是32768
MAC--交换机的主板MAC(基MAC)
查看:R1# show version

2.确定端口角色
根端口--每个非根交换机只有一个距离“根交换机”最近的端口。
指定端口--一个“冲突域“中都存在一个距离“根交换机”最近的端口。
非指定端口--其他所有的端口,都叫做非指定端口。

如何表示距离:
在STP中,通过cost表示一个路径的距离。
对于某些链路,均有默认的cost值。
10M--COST 100
100M--COST 19
1000M--COST 4
10000M--COST 2
BPDU:
Root--ID 表示根交换机
cost 表示发送该BPDU的交换机到根交换机的距离。
BID 表示发送该BPDU的交换机名字。
port--ID 表示发送方交换机是在哪个端口发送出来的。
组成: 端口优先级、端口号。
优先级默认号是128
3.确定端口状态:
disable 相当于shutdown,此时端口不能用。
listening 侦听,该状态侦听的是BPDU,用于确定端口角色。
learning 学习,该状态学习的是MAC,形成MAC地址表。
forwarding 转发,即端口的最终转发状态。(根端口,指定根端口)
blok 阻塞,此时的端口是不可以发送数据的。(非指定端口)
修改STP的优先级:
SW2(config)# spanning-tree vlan 1 priority 0
将网络中的“根交换机”SW1,变成了SW2。
注意:交换机的STP优先级必须是4096的倍数。
交换机如何区分不同VLAN的BPDU:
我们是用BID的2个字节的优先级中的低12bit作为vlan号。
由此得出:前面的2个字节的优先级字段,真正用来表示优先级的,
仅仅有4bit所以优先级只有16个。(2的4次方)
但是在表示优先级数值的时候,最后的12bit都必须算上,同时必须是0。
即:每个交换机的STP的优先级,都是2的12次方的0-15倍,即4096的倍数。

STP优化
STP收敛时间为:30--50s
STP收敛速度优化方案:
port-fast特性:
可以确保将access的链路上连接的终端设备,直接从disable状态
变成转发状态,端口状态转换时间从原来的30s将为0s。
配置命令:SW1(config)# interface fastethernet 0/1 连接的PC机
SW1(config-if)# switchport mode access
SW1(config-if)# switchport acceess vlan 1
SW1(config-if)# spannig-tree portfast 开启portfast功能
验证命令:SW1# show spanning-tree interface fast 0/1 portfasr

Uplink fast特性:
针对的是交换机之间的trunk链路,当交换机发现自己本身的链路
出现故障以后,会快速的将备份链路转换为主链路进行使用,切换时间从原来的
30s,降低为0s,实现秒切。
配置命令: SW(config)# spanning-tree uplinkfast
验证命令: SW# show spanning-tree summary

注意:1.仅针对设备发现的直连故障的链路切换。
2.仅在本地设备开启即可,对端设备可以不开启。
3.STP的优先级,必须是默认的32768。

STP安全性优化方案: BPDU Guard (BPDU保护)
既开启了该特定的端口,不允许接受BPDU,
如果接收到BPDU端口会进入err-disable状态。
注意:该特性一般是用在access链路上。
配置命令:
SW(config)# interface fastethernet 0/23
SW(config-if)# spanning-tree BPDU Guard enable 开启BPDU保护

Root Guard : 根交换机保护
在端口上配置该命令,表示将该端口强制性的指定为“指定端口”。
如果经过正常的BPDU比较无法使得该端口成为指定端口,在将该端口设置为“非一致”
状态,此时的端口不能转发数据,从而实现对原根交换机的的保护。
注意:该特性,不一定非得配置在根交换机上。
配置命令; SW(config)# interface fastethernet 0/24
SW(config-if)# spanning-tree guard root
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CCIE