解决冗余,RSTP协议与STP协议
冗余链路:
广播风暴:
交换机从一端口收到广播帧后,将其向除过接收端口外其余1端口,2端口以及其他端口发送;
有交换机的两个端口都收到了广播帧,它的1端口向2号端口以及其余端口广播,2号端口向1号端口以及其余端口广播。这样一来先前交换机又从自己的1号端口和2号端口收到了广播帧,如此循环往复,直到耗尽资源停止;
多帧复制:
如果两台交换机又多条链路相连,则其中一台交换机会受到另一台交换机的多次广播帧
Mac地址抖动:
主机向一台交换机不同端口发送单播帧,造成交换机内关于主机的mac地址记录不断改变
生成树协议:
第一代:STP/RSTP
第二代:PVST/PVST+协议
第三代;MISTP/MSTP
stp保证网络中存在备份链路时候,只激活主链路,当网络结构发生变化,则重新调整端口劫色,实现防止环路;
交换机之间每隔2s发送BPDUbridge protocol data unit桥协议数据单元;
BPDU报文帧各个字段含义
protocol ID:协议ID,一直为0
version:版本号,一直为0
type;报文类型
flags;标志活动拓扑变化
rootBID根网桥ID:细分为2字节网桥优先级和6字节网桥MAC地址两个字段;
root path cost :根路径成本;
sender ID:发送网桥ID,发送BPDU路由器自身ID
PORT ID:端口ID,由1字节端口优先级和端口编号组成;
port ID:端口ID由1字节的端口优先级和端口编号构成
端口优先级默认128(0X80),为0-255之间;
max age :最大老化时间;保存BPDU最长时间,默认20s
FDforward delay:转发延迟;端口在learning和listening状态花费时间
在网络中,首先所有交换机通过发送自己BPDU与接收BPDU,选举出根桥,然后其余交换机计算自己到根桥的最短路径,选举出根端口root port即RP;每个LAN有指定交换机,位于该LAN与根交换机之间的最短路径之中;指定交换机与LAN相连的端口为指定端口designed port DP;每条链路两端有一个为DP口;根端口和指定端口进入forwarding状态;
选取根端口规则:
根路径成本最小
从不同根路径收到BPDU帧的发送网桥ID最小
接收BPDU帧的端口ID最小
指定端口
根路径成本最小
从不同根路径收到BPDU帧的发送网桥ID最小
接收BPDU帧的端口ID最小
其余端口为AP,即非根非指定端口,进入阻塞状态;
网桥ID默认32768;在0-65535之间;
端口状态
端口经过一段时间状态发生改变;
依次从1)-4)
1)
阻塞blocking:默认端口初始状态不能传输数据,只能接受bpdu帧
2)监听listening:可以接收和发送BPDU帧,不能接受和发送数据
阻塞和监听状态之间时间间隔20s
3)学习learning:不能传输数据,可以接收和发送BPDU,可以学习MAC地址,与监听状态间隔15s;
4)转发forwarding;以接收和发送数据,可以接收和发送BPDU,可以学习MAC地址
RSTP;快速生成树协议;与学习状态之间间隔15s
拓扑变更
变化的交换机根端口上,每隔一端时间,发送TOPOLOGY CHANGE NOTIFICATION 即tcnBPDU拓扑变化通知BPDU;直到直接相连的上游交换机收到并确认该TCN为止;
根桥收到后发送TC topology change拓扑变更BPDU帧,通知结构改变;
快速生成树协议
RSTP
端口状态:去除了堵塞端口,增加了替换端口AP(alternate port)和备份端口BP(backup port);
根端口和指定端口保留;根端口和指定端口生效时候,替换端口和备份端口无延迟进入转发状态,edge port EP边缘端口连接终端,一旦收到BPDU消息帧,立刻转为普通RSTP端口;
link type链路类型依据端口双攻模式确定;
全双工被称为点到点链路,半双工为共享链路;
取消了对帧的中继处理方式(非根桥收到来自根桥对1BPDU后。重新生产一份BPDU,发送):每台交换机在BPDU帧呼叫时间(默认2s)内,都可生成帧并转发,即使没有从根桥收到任何BPDU帧;
如果连续3个呼叫时间都没有收到BPDU消息帧,BPDU帧将超时而且不被信任;
当拓扑变化时,交换机生成TCN消息,
该TCN消息沿着桥传播,直到所有桥都收到此消息。
收到消息后,网桥保留接收TCN消息端口学习到的mac地址条目
RSTP定义端口状态:discarding丢弃,learning学习,forwarding转发
根端口和指定端口选举方法和stp一样;
RSTP与STP使用交融。一般双方中一方检测到另一方使用STP,则发出STP的BPDU帧;
RSTP提供协议迁移功能,强制发送RSTP的·BPDU帧;