三层架构与STP生成树协议

企业三层架构:

在这里插入图片描述

最重要的思想:冗余(备份)思想。 一套设备中某一根线断掉了,不影响网络通信。
冗余包括:线路冗余—设备冗余—网关冗余—USP(电源冗余)

一、线路冗余:
一旦在交换机上使用冗余,将出现桥接环路。路由器靠路由表转发所以方便管理,而交换机的CAM表是流量自动生成的,无法管理。
二层桥接环路导致的问题:
1)广播风暴(一直转到设备崩溃)
2)CAM表记录翻滚(一直产生重复流量)
3)重复拷贝同一个数据帧

二、STP生成树协议:
由根设备到各个设备只有一条最佳路径,将其他端口逻辑上实施阻塞,当最佳路径故障时,打开阻塞端口恢复通信。

IEEE802.1D:
BPDU 桥协议数据单元:交换机间沟通时使用的数据帧,跨层到二层。默认不属于任何一个vlan,所以存在vlan的设备上,该数据帧基于native vlan发送,所有人都要接收。

3类BPDU:
1)配置BPDU — 拓扑收敛完成后,仅根网桥周期(2s)发送;在没有跟网桥的时候,所有设备仅发送BPDU;

2)TCN–拓扑变更消息(包中不包含任何具体信息,也不会导致网络重新收敛)
由不同的标记位分辨BPDU的包的类型。当一台交换机的阻塞端口链路被断开,那么将标记位中第7位写1,标识拓扑已经改变,该BPDU将发送到根网桥处,根网桥使用标记位第0位,来表示确认;若没有收到ack,那么2s周期发送TCN;根网桥在确认后,将使用BPDU告诉所有的非根网桥,刷新cam表;
默认cam的保存周期为300s。

3)次优BPDU
接收不到根网桥的BPDU,就将自己当做根网桥,发送BPDU,当相连的设备接收到次优BPDU,向其发送根网桥的最优BPDU。

802.1D:算法需要在整个拓扑中,选择4种角色:
1、根网桥(一台交换机) 2、根端口-RP 3、指定端口-DP
4、非指定端口(阻塞端口)-NDP

刚启动时各个设备分别把自己当做根网桥,向所有设备发送BPDU,直到收集到所有BPDU时,选出真正的根网桥并生成拓扑,由根网桥向所有设备发送配置BPDU。

1)根网桥—整个交换网路的中心;通过BPDU来控制整个网络收敛
选举条件—协议ID----BID(桥ID)=网桥优先级+mac地址
关于 MAC地址:正常的透明交换机不拥有mac地址,不能实现stp技术
非透明交换存在–SVI接口,出厂将被烧录mac地址;若有多个,将选择数字最小的来参选
选举规则:先比较优先级,数值小优; 若优先级一致,比较MAC地址,数值小优
网桥优先级:0-65535 默认32768

2)根端口:在每台非根网桥上,有且仅有一个;离根网桥最近的接口,接收来自根网桥的BPDU。
选举规则:
1、比较从该接口进入时的cost值,小优
2、若接口cost值相同,比较接口上级设备的BID,BID最小设备对应的接口为根端口,因为给设备为备份根网桥;
3、再比较上级设备的PID-端口ID—优先级+接口编号
优先级 0-255 默认为128; 先比较优先级,小优;再比较接口编号,小优;
4、若以上参数全部一致,比较本地的PID;小优

3)指定端口:每条链路上有且仅有一个,转发来自根网桥的BPDU;根网桥上全部为指定端口,根端口的对端一定是指定端口;
选举规则:
1、必须从根网桥发出的BPDU,通过该端口向外(出项)转发时消耗的cost值,小优
2、若出向cost值相同,比较本地的BID,小优
3、本地BID相同,比较本地的PID,小优
4、本地PID相同,直接阻塞该端口

4)非指定端口—NDP 阻塞端口

以上所有角色选举完成后,剩余的全部接口为非指定;其状态为阻塞;
注:阻塞端口并不是关闭接口,依然可以接收到数据帧,但不转发数据帧;可以正常识别BPDU;

Cost值:cost值是在进入交换机时,才叠加该段链路的开销;
10M = 100
100M =19
1000M=4
10000M=2

10000M=1

生成树协议一旦运行将自动选择出所有的角色,当默认可能不是最佳结构,需要管理员手工干预,尤其根网桥一定放置在汇聚层;

802.1D的端口状态
Down — 接口指示灯未亮(模拟器为红色) 接口未工作
侦听----(15s) 接口指示灯为橙色 各台交换机收发BPDU,选举出各种角色
学习----(15s) 接口指示灯为橙色 交换机上的各个未阻塞接口学习各个用户的MAC地址,
生成cam表
转发-----接口指示灯为绿色 指定端口和根端口在学习状态完成后进入–转发用户流量
阻塞-----接口指示灯为橙色 非指定端口在侦听完成后就进入
结论:802.1D必须在指示灯为绿色时,才开始转发用户流量;

802.1D算法的收敛时间
1、初次收敛为30s
2、结构变化----1)存在直连检测—本地的根端口断开后,之后仅一条阻塞端口连接于其他交换机;本地不能发出tcn或也发不出次优BPDU;那么只能本地的阻塞端口
进行收敛–30s
2)没有直连检测—本地根端口断开后,可以向其他交换机的阻塞端口发送次优BPDU;对端交换机在收到次优BPDU后,将忽略该数据帧,而是进行20shold time;之后再收敛该接口----20s hold time+30s收敛=50s

802.1D算法的缺点:
1、收敛速度慢
2、链路利用率低—备份链路正常始终不工作

PVST (cisco私有—基于vlan的生成树,比802.1D功率高)
因为cisco有独立运行芯片,所以可以实现一个Vlan一个生成树。每棵独立的树,依然使用802.1d算法收敛。
不同vlan的网桥优先级不同:32768+vlan id;人为可修改32768的部分,且只能以4096的倍数来进行修改。
一台设备若希望加入某棵vlan的树,条件是该交换机存在该vlan;该交换机存在该vlan的活动接口或者存在trunk干道。

缺点:1、私有 2、树多较难管理 3、收敛慢 4、trunk干道仅支持ISL封装

PVST+(中低端cisco交换机默认运行的协议)
1、兼容802.1q trunk干道封装 2、可以做部分的加速优化

干涉选举的命令:
Switch(config)#spanning-tree vlan 2 priority 28672 修改设备的网桥优先级

本地成为vlan1 的主根,vlan2 备份根;建议在两台汇聚层设备上分流,互为备份;不一定生效—主根的意思是自动降低本地2个4096优先级,备份降1个;
sw1(config)#spanning-tree vlan 1 root primary
sw1(config)#spanning-tree vlan 2 root secondary

修改接口优先级或接口cost值
CORE(config)#interface f0/1
CORE(config-if)#spanning-tree vlan 1 ?
cost Change an interface’s per VLAN spanning tree path cost
port-priority Change an interface’s spanning tree port priority

部分加速
1、端口加速
sw1(config)#interface f0/7
sw1(config-if)#spanning-tree portfast 用于连接用户的接口;
跳过生成树选举,直接进入转发状态;切记不得配置于连接trunk干道接口
sw1(config-if-range)#switchport host 将接口定义为主机接口–连接PC的接口
修改模式为access,开启portfast

2、上行链路加速—仅用于接入层设备
在设备上运行上行链路加速后,若该设备满足直连检测条件;那么将阻塞端口直接变为根端口,进入转发状态;
CORE(config)#spanning-tree uplinkfast
注:开启后,该交换机的网桥优先级和cost值,将倍增;迫使该设备在默认情况下不会成为根网桥,且阻塞端口处于该设备;故该命令只敢在接入层设备配置

3、骨干加速–所有交换机
若一个阻塞端口收到次优BPDU时,将20s hold time+30s收敛,开启骨干加速后;省略20s的hold time;

优点:
1.一个vlan一棵树,提高链路的利用率;
2.部分加速
3.兼容802.1q
缺点:
1.树多,不好管理
2.加速不够彻底

RSTP-RPVST(快速的PVST协议)cisco私有
公有组织802.1w
两种协议的提速原理一样,但Cisco有独立运行芯片,可作用于对个VLan,802.1W只有一个生成树。

快速的原理:
1、取消了计时器,而是在一个状态工作完成后,直接进入下一状态;
2、分段式同步,两台设备间逐级收敛;使用请求和同一标记;依赖标记位的第1和第6位
3、BPDU的保活为6s;hello time 2s;
4、将端口加速(边缘接口)、上行链路加速、骨干加速集成了
5、兼容802.1d和PVST,但802.1d和PVST没有使用标记位中的第1-6位,故不能快速收敛;因此如果网络中有一台设备不支持快速收敛,那么其他开启快速收敛的设备也不能快速;
6、当tcn消息出现时,不需要等待根网桥的BPDU,就可以刷新本地的cam表;

状态变化:将阻塞状态和侦听状态 合为丢弃状态
角色变化:将非指定端口为AP-替代接口 BP-备份接口
无论AP还是BP其实就是802.1D中的阻塞端口,AP为对端设备,BP为本端设备;

启动快速生成树,所有交换机全部需启动;
sw1(config)#spanning-tree mode rapid-pvst
注:所有干涉选举的命令和pvst+一致;

默认接口为半双工(10M)时,接口类型为共享;全双工时为点到点;
共享型接口依然运行慢速生成;只有点到点接口可以快速;
故建议将共享型接口修改为点到点型
sw1(config)#interface range ethernet 0/0 -1
sw1(config-if-range)#spanning-tree link-type point-to-point

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章