三层架构(STP)
针对冗余: 线路冗余 、 设备冗余 、 网关冗余 、 电源冗余(UPS)
其中前三个冗余主要变现在技术方面,而电源冗余主要是物品上。冗余主要是备份,但是冗余后也会出现其它问题,例如环路。
线路冗余 —— 存在问题:二层网络桥接环路
一、原因:
因为路由器的路由表是有相对完善的计算所得,且存在防环规则;故路由器在物理链路上实施备份时,一般不会出现环路;
但交换转发数据依赖MAC表(CAM表),该表的生成规则非常简单(记录产生),没有防环设计,故只要交换机使用链路备份,就将出现二层环路;
CAM:将MAC地址+接口编号+VLAN ID进行哈希运算后,存储的哈希值,是二进制;简单说MAC是给人看的,而CAM是给设别看的,是加了接口编号的二进制表。设备基于CAM表转发流量。
二、二层环路导致的问题:
1、广播风暴:交换机出现环路后逆时针和顺时针都转发数据包
2、MAC地址表翻滚 :出环后一个交换机到另一个交换机有多个接口,数据不断地从不同接口交换进入,导致地址表不断刷新— MAC地址在交换机中的刷新时间为5min,一个接口可以对应多个MAC;但一台交换机上同一MAC地址只能对应一个接口;
3、同一数据帧的重复拷贝
三、解决方案:
1、生成树协议原理:在一个二层交换网络,逻辑的阻塞部分接口;当最佳路径故障时,自动疏通部分接口来实现链路备份;
2、生成树概念:在一个二层交换网络中,逻辑的阻塞部分接口,生成一棵树型结构,使得从根到所有的节点仅存在唯一的路径;当最佳路径故障时,自动打开部分阻塞端口,来实现线路备份的作用;
四、生成树类型:
802.1D(原型) PVST/PVST+(CISCO) RSTP(CISCO的) / 802.1W(改进后的;公有) MST=802.1S
1)802.1D
一个交换网络内无论有多少VLAN,仅存在一棵生成树实例;
原理:交换机间使用BPDU—桥协议数据单元 在交换机间沟通互动收发的数据
桥协议数据单元包
BPDU选举规则:
配置BPDU—只有根网桥可以发送BPDU,在交换网络初始状态时,所有交换机均定义本地为根网桥,进行BPDU的发送;使得网络中所有交换机均收到其他设备的BPDU,之后基于数据中的参数进行比对,选举出根网桥;之后所有非根网桥不再发送BPDU,而是仅接收和转发根网桥的BPDU;周期2s发送,hold time 20s;
TCN—拓扑变更消息(也是BPDU发布): 本地交换机链路故障后,STP重新收敛,为了快速刷新全网所有交换机的MAC表,将向本地所有STP(运行了生成树协议)接口发送TCN(标记位中的TCN位置为1),邻居交换机收到TCN后,先标记为ACK位为回复,用于可靠传输消息;之后将TCN逐级转发到根网桥处,由根网桥回复TC消息来逐级回复到所有交换机;使所有交换机临时将MAC表的老换时间修改为15s(默认的,转发延时)
选举对象: 根网桥 根端口 指定端口 非指定端口(阻塞端口)
根网桥作用:在每一棵生成树实例中,有且仅有一台交换机作为根桥;负责发送BPDU,计算和指挥整个树的收敛;作为树形结构的根部,交换网络部分的中心节点;
2、根端口选举规则:在每一台非根网桥上有且仅有一个接口;本地离根网桥最近的接口,用于接收来自根网桥的BPDU,同时转发终端的数据帧;
1)比较是从根网桥发出,之后通过该接口进入时最小的cost值;
2)若入向的cost相同,比较接口对端的设备的BID,小优
3)若对端设备的BID相同,那么比较对端接口的PID;小优
4)若对端设备的PID相同,那么比较本地的PID,小优
PID=端口ID = 接口优先级(0-240,默认128 小优)+ 接口编号 先比较优先级,小优;若优先级相同比较接口编号,数值小优
3、指定端口选举规则:在每一段运行了STP的物理链路上有且仅有一个接口;转发来自根网桥的BPDU,同时转发终端的数据帧;根网桥上所有接口均为指定端口;根端口的对端一定为指定端口;
1)比较转发来自根网桥的BPDU是,出项的最小cost值
2)若出向cost值相同,比较本地的BID,小优
3)若本地的BID相同,比较本地的PID,小优
4)若本地PID相同,将直接阻塞该端口
4、非指定端口:以上所有角色选举完成后,剩余各个接口的角色;该接口处于阻塞状态;
接口阻塞是逻辑上的,并不是接口被关闭;该接口处于可以接收到数据,但不进行转发的状态;
802.1D算法的缺点:
1、收敛速度慢
2、链路利用率低 – 备份链路正常不转发数据
2)、PVST (Cisco私有)
基于VLAN的生成树协议 依然沿用了802.1D的运算规则;
区别在于一个VLAN中就存在一棵生成树协议;
PVST 是 cisco私有 , 基于vlan的生成树协议
在每个vlan内,存在一棵树,每棵树的工作原理同802.1d一致,可以在不同VLAN的根网桥放置于不同的汇聚层设备位置,实现流量分担,所有的链路均会被使用,且存在备份路径;不同vlan的BPDU区别在于网桥优先级;
3)、PVST + (Cisco私有)
在PVST的基础,兼容802.1q的trunk封装;且设计了部分的加速:
1、端口加速(接入层连接用户的接口)
2、上行链路加速-针对直连检测(接入层设备方可配置)
3、骨干加速—针对次优BPDU 剩去20s的hold time 所有交换机均可配置
缺点:1、收敛慢(加速不彻底)
2、树多(仅cisco存在单独的芯片,友商无法负荷)
4)、快速生成树 (Cisco的RSTP和公有地RSTP)
cisco的RSTP — 基于vlan的快速生成树 - 一个vlan一棵树 pvst+的升级
公有RSTP(802.1w) — 整个交换网络一棵树
快速的原理:
1、取消了计时器,而是在一个状态工作完成后,直接进入下一状态;
2、分段式同步,两台设备间逐级收敛;使用请求和同意标记;依赖标记位的第1和第6位
3、BPDU的保活为6s;hello time 2s;
4、将端口加速(边缘接口)、上行链路加速、骨干加速集成了
5、兼容802.1d和PVST,但802.1d和PVST没有使用标记位中的第1-6位,故不能快速收敛;因此如果网络中有一台设备不支持快速收敛,那么其他开启快速收敛的设备也不能快速;
当tcn消息出现时,不需要等待根网桥的BPDU,就可以刷新本地的cam表;
4)、MSTP/MST/802.1S (目前广泛应用的)
华为设备默认使用该协议
继承了快速生成树的基础; 将多个vlan放置于一个组内,基于每个组一棵生成树;
不同组间的BPDU中优先级= 4096倍数+组号
默认存在组0,且所有vlan默认处于该组;优先级= 32768+0
分组