路由协议可以防止网络层发生环路
但不可以防止数据链路层的环路

交换机作用如下:
基于硬件的桥接 (asic)
线速 (wire speed)
低延迟
低成本

桥接与lan交换的比较:
基于软件 基于硬件
交换机可以看成是多端口的网桥
网桥只有一个生成树实例,而交换机可以有多个
端口比网桥多
两个都转发第2层广播
都会检查桢的源地址,进而学习
两个都基于第2层地址做转发决定

第2层的3种交换功能
地址学习 转发/过滤决定 避免环路

生成树术语
根桥:桥id最低的网桥
bpdu(桥协议数单元):用这些信息来推选根桥
桥id:stp利用桥id来跟踪网络中的所有交换机
端口开销:根据端口开销来决定最佳路径
根端口:直连到根桥或到根桥最短路径的端口
指定端口:开销最低的为指定端口
非指定端口:开销较高,状态为阻塞,不能转发
阻塞端口:不能转发的端口,但能监听

生成树操作:
stp在网络找到所有链路,并关闭冗余链路
mac码小的则优先  stp默认优先级为32768
桥id包括mac和优先级 每2秒发送bpdu
阻塞端口仍能接收桢
开销较高的端口将为阻塞端口

修改优先级的配置如下:
spann vlan 1 priority 4096
所谓设置根桥,就是设置根vlan
注:因为优先级数值是会递增,所以数值会有所改变
从4096开始递增

生成树端口状态
阻塞:不能转发桢,但能监听bpdu
桢听:端口都桢听bpdu
学习:交换机端口桢听bpdu并学习网络中所有路径,即填入mac表
转发:能发送并接收桢
禁用:不工作,即不转发桢

网络拓扑改变时,交换机先让阻塞端口转为侦听状态,好让不会引起环路的发生。收敛时,交换机不能转发任何数据。
//端口转变为转发或阻塞时,就会收敛

生成树快速端口
在保证某端口不会产生环路时,可以使用,不用等待50秒收敛时间
 在端口下输入 spanning portfast

802.1w(rstp)
交换机连接时,链路灯从黄到绿,表示正常,这是stp收敛

端口下:description 这命令是标示作用
如果在portfast下的端口上出现环路,可以使用护卫命令

bpdu护卫(bpduguard)
在portfast端口下配置bpduguard可以将接收bpdu信息,此端口转为错误的禁用状态,可以防止交换机之类的设备接入
spanning  bpduguard  enable

分配静态mac地址
可以永久分配给某端口
mac-add static 地址  vlan 1 int fa0/5

根桥里不可能有阻塞端口

这个命令可以直接让交换机变根桥,但必须所有交换机优先级相同
spanning-tree vlan 1 root primary

显示转发过滤表
show mac add