1
、冗余网络的问题
1
)广播风暴
2
)
MAC
表震荡
3
)多帧复制
2
、
STP 802.1d
通过
BPDU
协议帧发现物理上有环路的拓扑,能够生成一个逻辑上没有环路的拓扑
(
1
)接口选好端口类型(
DP
、
RP
)
(
2
)只有发生变化的链路和
block
口,状态才变化
(
3
)
F
口变化的交换发出
TCN
3
、
STP
操作流程
---->
破环
1
)
STP
破环顺序
(
1
)选举根网桥
(
2
)选举
RP
(
3
)选举
DP
(
4
)其它的就
blcok
2
)
STP
破环依据
(
1
)
lowest BID
=Priority*mac
(
2
)
lowest
root path
cost
(
当前
SW
到
root
的
cost
累加,
cost
是在接收到
BPDU
帧时累加)
root--------sw:f0/0 (f0/0
处累加
)
(
3
)
lowest sender bid
(
4
)
lowest sender portid
(port priority*port
编号
)
(
5
)
lowest portid
(
自己
)
3
)
STP
破环结果
(
1
)每个交换网络有一个
ROOT
(
2
)每个非
ROOT
选举一个
RP
(离根最近)
(
3
)每个网段(
segment
)选举一个
DP
(这个网段离根最近
port
)
(
4
)根网桥上的所有端口为
dp
4
)实验
sw8#sh cdp nei
sw8(config)#spanning-tree vlan 1
启用
STP
sw8(config)#spanning-tree vlan 1 priority 0
设置根网桥
sw8(config)#spanning-tree vlan 1 root primary
设置根网桥
-8k
SW14(config)#spanning-tree vlan 1 root secondary
设置根网桥
-4k
SW14(config-if)#spanning-tree vlan 1 cost 39
在入口方向修改
SW14(config-if)#spanning-tree vlan 1 port-priority ?
<0-240> port priority in increments of 16
表示必须是
16
的倍数
4
、
BPDU
1
)有二种:配置
BPDU
、
TCN
2
)结构
Protocol Identifier: Spanning Tree Protocol (0x0000)
Protocol Version Identifier: Spanning Tree (0)
BPDU Type: Configuration (0x00)
还有一种
TCN
BPDU flags: 0x00
有二种:
TC
和
TCA
(第一位和最后一位)
Root Identifier: 32768 / 00:04:c1:6c:e4:80
根
Root Path Cost: 19
Bridge Identifier: 32769 / 00:0f:24:b5:a1:00
发送者
Port identifier: 0x800b
Message Age: 1
每经过一个交换机
age+1
Max Age: 20
接收
BPDU
帧的老化时间
Hello Time: 2
Forward Delay: 15
有二个
listen learning
3)
收敛时间
(1) link up--
-----
-->blcok---->listening--15sec->learning--15-->forwarding
收发
BPDU
收
/
不发
能
能
能
学习
MAC
不
不能
能
能
收发数据
不
不能
不能
能
listening:
构建一个没有环路的拓扑
learning :
学习
MAC
(2)
稳定后变化收敛
发送
TCN
(
F->
变化)
--->
上游回
TCA--->root
发
TC
置位配置
BPDU---->
通告其它
SW
尽快
刷新
MAC
(
300->15
)
5
)注意
Forwarding
接口有变化的链路才开始发
TCN
包给
root
5
、
Cisco
一些快速收敛机制
1)portfast
作用:连接终端
PC
可以从
up
马上跳到
forwarding
节省:
30sec
配置:
连接终端
PC
的交换机上
sw8#debug spanning-tree events
00:55:23: STP: VLAN0001 Fa0/24 -> listening
00:55:38: STP: VLAN0001 Fa0/24 -> learning
00:55:53: STP: VLAN0001 Fa0/24 -> forwarding
sw8(config-if)#int f0/24
sw8(config-if)#spanning-tree portfast
00:57:31: STP: VLAN0001 Fa0/24 ->
jump to
forwarding from blocking
sw8(config)#spanning-tree portfast default
sw8(config-if-range)#spanning-tree portfast
disable
2)uplinkfast
作用:直接链路失效,马上会切到备份链路上
优先级
+16k cost+3000
节省:
30sec
配置:
接入层交换机
sw15(config)#spanning-tree uplinkfast
01:03:21: setting bridge id (which=1) prio 49153 prio cfg 49152 sysid 1 (on) id
C001.0012.5552.9b40
sw15#sh spanning-tree uplinkfast
sw15(config)#spanning-tree uplinkfast max-update-rate
刷新新链路对面交换机的
MAC
表
ping
测试
...
没有配置
uplinkfast
...............
3)backbonefast
作用:间接链路失效检测
从
block
口收到
root bpdu
,往
rp
发
rlq--->root
响应
--->
收到响应就把
blcok
转到
listen
节省:
20sec
配置:
(所有都需要)
sw8(config)#spanning-tree backbonefast
sw15(config)#spanning-tree backbonefast
sw15(config)#spanning-tree backbonefast
................
6
、
RSTP 802.1W
1)
端口状态及角色
discarding(block+listening)---->
learning---->forwarding
RP
、
DP
、
alternative port
、
backup port
、
edge port=portfast
2)
数据结构变化
flag
位全用上
proposal agreement
收敛快的原因
状态:
learning forwarding
角色:
4
种
3)RSTP
收敛快的原因
(
1
)主动
P/A
协商
:先发
proposal---->
同步其它
port--->agreemnet
逐层同步
(
2
)网络发生变化
,TCN
会往
RP/DP
发
(
3
)
CAM
刷新
收到
TCN
刷新
MAC
表
(
4
)每个
SW
都可以发送
BPDU keepalive
4)
配置
RSTP
sw8(config)#spanning-tree mode rapid-pvst
7
、
mstp
多实例生成树
pvst
:每个
vlan
一个生成树实例
可以做
load-balance
但是协议数据太多
cst
:所有
vlan
一个生成树实例
不可以做
load-balance
mst
:
x
个
vlan
一个生成树实例
后台收敛是采用
rstp
可以
load-balance
,又尽可能减少协议数据
stp
:传统的收敛
RSTP
:快速收敛
2
)
MST
实现
名字
修订号
vlan
绑定表
--------->
三个参数完全相同才是同一个区域
SW4(config)#spanning-tree mst configuration
SW4(config-mst)#name chuyue100
SW4(config-mst)#revision 1
SW4(config-mst)#instance 1 vlan 1-2
SW4(config-mst)#instance 2 vlan 3-4
SW4(config)#spanning-tree mode mst
//
启用
MST
SW4(config-if)#spanning-tree mst 2 ?
cost
修改开销(入口)
port-priority
发送方修改
SW4(config)#spanning-tree mst 1 root primary
3
)
MST
和其它
STP
的兼容性
mst0=IST
MST
域与
PVST
交互时是使用
MST0
,可以把整个
MST
域看作一台交换机
8
、以太通道
1
)优点
load-balance
redundency
2
)形成
channel
的方法
手工设置:
动态协商
SW3(config-if-range)#channel-group 1 mode ?
active LACP
主动发包
auto PAgP
被动响应
//cisco
私有
desirable PAgP
主动发包
on
手工设置
passive lacp
被动响应
SW4#sh etherchannel summary
SW3(config-if-range)#channel-group 1 mode active
SW4(config-if-range)#channel-group 3 mode passive
3)etherchanmel
类型
二层
channel
三层
channel
SW3(config)#int range f0/46 ,f0/48
(华为的需要连续接口)
SW3(config-if-range)#no sw
(要先先变成三层口,捆绑口变的话会无效)
SW4(config-if-range)#channel-group 1 mode auto
SW3(config)#int port-channel 1
SW3(config-if)#ip add 1.1.1.3 255.255.255.0
4)
注意点
(
1
)双工速率
(
2
)不可以是
span
目标端口
5)load-balance
方法
SW3#sh etherchannel load-balance
Source MAC address
SW3(config)#port-channel load-balance ?3550
dst-mac Dst Mac Addr
src-mac Src Mac Addr
SW4(config)#port-channel load-balance ? 3560
dst-ip Dst IP Addr
dst-mac Dst Mac Addr
src-dst-ip Src XOR Dst IP Addr
src-dst-mac Src XOR Dst Mac Addr
src-ip Src IP Addr
src-mac Src Mac Addr
9
、
STP
安全相关
1)bpduguard
作用
:
防止接收到
BPDU
,
如果收到马上将端口置于
err-disable=down
,
应用于连接
PC
的端口
配置
:
SW4(config-if)#spanning-tree bpduguard enable
sw4#sh int f0/22
FastEthernet0/22 is down, line protocol is down (err-disabled)
恢复
:
shut-no sh
sw4(config)#errdisable recovery cause bpduguard
sw4(config)#errdisable recovery interval 30
sw4#sh errdisable
sw4(config)#spanning-tree portfast bpduguard default
全局启用
2)bpdufilter
(
优先于
bpduguard
)
作用
:
防止接收到
BPDU
,
如果收到就
drop
配置
:
sw4(config-if)#spanning-tree bpdufilter enable
3)rootguard
作用
:
防止别的
SW
成为根
,
如果收到更优的
BPDU
,
就会将端口置为
broken
但是如果又没收到更优的
BPDU
,又会恢复
配置
:
sw4(config-if)#spanning-tree guard root
4)loopguard
作用:防止单向通
配置:所有链路配置
,RP
和
AP
端口
sw4(config-if)#spanning-tree guard loop
5)udld
//
光纤
作用:防止单向通
配置:
SW3(config)#udld enable
udld enable
应用:
loopguard
针对的是软件问题,
udld
一般针对的是硬件问题