Switch详解
Trunk
补充:cdp(cisco发现协议):cisco的私有协议,用于邻居设备的的发现和获取邻居设备的协议地址,存在于所有的cisco设备中,运行在L2.
- 配置:
int e0/0
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan _
switchport trunk native _(设置原生的vlan号,默认为1,如果修改链路的两端需要修改一致)
- 创建vlan:
vlan 1,2,5-10
划分vlan时可自动创建vlanshow vlan br
vlan 信息存在于vlan.dat文件中
查看文件相关命令:
dir 查看当前目录
cd 切换文件夹
more 查看文件
delete 删除文件
rm 删除文件夹
VTP
vtp(用于学习vlan信息)
- server
- client
- transparent(透明)
这是一个L2的vlan学习协议,一般情况下,client向server学习vlan信息,但其实学习的依据根本并不是身份信息,而是一个flag——Confuguration Revision,只想Confuguration Revision的一方学习,当接入外来的switch时,如果他的修订号很高,使server端向client端学习完全可破环原有的网络,当然有相关的协议保障安全
show vtp status
vtp domain xxx
int e0/0
switchport trunk encapsullation dot1q
switchport mode trunk
exit
vtp password xxx?(这里的?不能直接打出,需要先按Ctrl+v)然后再输入?
vtp mode client{transparent|server}A(默认为server)
交换机退出才会生效
检查vtp是否同步,只需要查看主从状态中的md5值是否相同即可
因为修订号过高导致server向client学习解决方案:
先将client改为transparent再改回client,因此需要注意使用完vtp需要删除vtp信息
开启vtp修剪
vtp pruning
交换机原理
svi(交换机虚拟接口)
svi的up需要物理接口有一个双up,有trunk链路并且允许该vlan通过
- 基于进程的交换方式
通过CPU查询每个收到的数据包,效率极低 - 基于数据流的交换方式
具有相同源目的ip,源目的mac,源目的port的数据成为一个数据流,只查询第一个数据包,后该类型的数据包按照第一个的方式转发
不足:需要流量触发
- 基于缓存的交换方式
- cef(cisco)特快转发,提前根据mac地址表(路由表计算好转发信息,存入转发信息库中)收到数据包后,根据转发信息库进行转发
集中式缓存:转发信息库存在于路由表部分,方便管理更新,转发效率高
分布式缓存:存在于各自端口,转发效率高,不方便刷新
命令show ip cef
STP
stp协议原则
- 一个vlan中只有一个根网桥
- 非根网桥只有一个根端口(到达根网桥的开销最小)
- 每个网桥只有一个指定端口
- 非指定端口被BLK
stp生成树工作过程:
- 选取根网桥(RB)
Bridge ID最小的交换机为根桥(Bridge ID=prioriyt/sys-id-ext/mac)
小优,先看优先级(priority+sys-id-ext拓展系统ID
),再看mac地址 - 选取根端口
cost——>Bridege ID——>发送者的port ID(接口的mac) - 选取指定端口
在每条链路上蓄着一个离根桥最近的接口成为指定端口
cost——>Bridege ID——>自身的port ID(接口的mac) - 将所有的根端口和指定端口设置为转发状态
- 将其它端口设置为阻塞状态
STP协议端口的五种状态
- 阻塞(BLK):接收BPDU,不转发BPDU,不接收和转发数据,不学习mac,20s过渡到listening
- 监听(Listening):接收和转发BPDU,不接收和转发数据,不学习mac,15过渡到learning状态
- 学习(Learning):接收和转发BPDU,学习mac地址表,15s过渡到forwarding状态
- 转发(FWD forwarding):接收和转发BPDU,接收和转发数据,学习mac
- 禁用(Disable)
PC机接入到交换机不启用port-fast特性需要30s,经过listening和learing
快速生成树配置(rapid pvst)
spanning-tree mode rapid-pvst
spanning-tree vlan 6-10 priority 4096(需为4096的整数倍)
show spanning-tree vlan 6
debug spanning-tree
多实例生成树配置(mst)(对性能要求较低)
每个实例(包含多个vlan)一个生成树
spanning-tree mode mst
spanning-tree mst configuration
instance 1 vlan 1-5,10
instance 2 vlan 6-9
spanning-tree mst 1 priority 4096
spanning-tree mst 2 priority 0
pvst(cisco私有):每个vlan一个生成树
pvst+:兼容其它厂商的pvst
共有STP协议:RSTP(802.1W),MST
802.1S
加速方案
- port-fast(在终端设备接入时快速将接口过渡到forwarding状态)
- 接入处配置portfast
spanning-tree portfast
- uplink-fast
启用uplink-fast加快切换至备用电路的速度
对比:
15s(Listening——Learning)+15s(Learning——forwarding)=30s
BLK——forwarding<=5s
运用叶交换机,uplink-fast**一个快速重新配置的条件
- 在交换机上启用uplinkfast功能
- 至少有一个处于blockong状态的冗余链路
- 链路失效必必须发生在Root port上
- 启用uplinkfast后同时也提高了所有端口的路径开销,并不适用于根桥
配置:
spanning-tree uplinkfast
- Backbonefast (cisco私有)
用于主干网络(RB和BRB状态),当边缘交换机收到BRB的BPDU时说明RB和BRB之间的链路出现故障.,然后需要将边缘路由器上处于BLK上的端口置于forwarding状态,减少这段时间
配置spanning-tree backbonefast
-
Root guard(当交换机收到非当前根桥的BPDU报文时则将该端口置为err-disable状态)
配置spanning-tree guard root
-
loop guard(当由于软件配置造成带向链路时引起STP环路时将该故障接口关闭比)
spanning-tree guard loop(default)
-
UDLD(由于线路物理故障导致单向链路故障引起环路时,将故障接口关闭)
-
bpduguard(当从portfast接口中收到BPDU报文时将该接口置为err-disable)
spanning-tree portfast bpduguard default
- 端口配置
int e0/0
spanning-tree bpduguard enable
- 查看命令
show err-disable bpduguard
show spanning-tree summary totals
上一篇: springcloud动态路由(mysql数据库)
下一篇: Vue基础(day04)