一、链路聚合!链路备份技术之一
-----链路聚合(Link Aggregation)被视为链路备份技术,核心原因在于它能通过多条物理链路的捆绑,实现 “一条链路故障时,其他链路自动接管流量” 的冗余备份效果,同时还能叠加带宽。
1.概念
2.作用
3.链路聚合模式
3.1静态链路聚合模式
3.2动态链路聚合模式
3.3静态聚合 vs 动态聚合(核心差异)
对比项 | 静态聚合 | 动态聚合 |
---|---|---|
依赖协议 | 不依赖 LACP,纯手动配置 | 依赖 LACP 协议自动协商 |
配置难度 | 高(两端参数必须严格一致,手动匹配) | 低(LACP 自动协商,参数兼容即可 ) |
故障检测 | 仅检测物理端口状态(Down/Up) | 基于 LACP 报文,检测更智能(如链路质量、对端状态 ) |
适用场景 | 两端设备固定、参数明确(如数据中心内网 ) | 需动态适配、故障自愈(如广域网接入、多厂商设备互联 ) |
4.链路聚合的工作原理
1. 链路聚合组(LAG)的创建
- 首先在网络设备(如交换机、路由器、服务器)上配置链路聚合组(LAG,Link Aggregation Group),将需要捆绑的物理端口加入同一 LAG。
- 例如,交换机 A 的端口 1-4 与交换机 B 的端口 1-4 加入同一 LAG,形成一个逻辑链路。
2. 协商与协议适配
链路聚合需要遵循标准化协议,确保两端设备(如交换机 A 和 B)对 LAG 的配置一致,常用协议包括:
- LACP(Link Aggregation Control Protocol,链路聚合控制协议):IEEE 802.3ad 标准,是最常用的协议。通过交换 LACP 报文,自动协商哪些物理链路可以加入 LAG,并动态维护链路状态(如检测链路故障)。
- 静态聚合:无需协议协商,由管理员手动指定加入 LAG 的物理链路。但灵活性低,无法自动检测链路故障或动态调整。
LACP 的协商过程:
- 两端设备通过专用的 LACP 报文(包含设备 ID、端口优先级、LAG 编号等信息)交换配置。
- 协商成功后,两端确认哪些物理链路可用,并将其激活为 LAG 的成员链路;未通过协商的链路则处于备用状态。
3. 数据帧的分发与负载均衡
- 当数据通过逻辑链路传输时,设备需要通过负载均衡算法决定将数据帧(数据包)发送到哪条物理链路。
- 常用的负载均衡算法(根据数据帧的特征分类):
- 基于源 / 目的 MAC 地址:根据数据帧的源 MAC 或目的 MAC 地址哈希计算,相同地址的帧固定走某条链路(适合二层网络)。
- 基于源 / 目的 IP 地址:根据源 IP 或目的 IP 地址哈希计算(适合三层网络,如跨子网通信)。
- 基于端口号:对于 TCP/UDP 流量,根据源端口或目的端口哈希(适合区分不同应用的流量)。
- 示例:若采用 “源 IP + 目的 IP” 算法,同一对 IP 地址的通信会固定使用某条物理链路,不同 IP 对的通信则可能分配到其他链路,实现负载分散。
4. 故障检测与链路切换
- 链路聚合技术会实时监控各物理链路的状态(通过 LACP 报文或链路层检测机制,如链路脉冲信号)。
- 若某条物理链路故障(如网线断裂、端口损坏):
- LACP 会立即检测到故障,并将该链路从 LAG 中移除。
- 原本通过该链路传输的流量,会根据负载均衡算法自动切换到其他正常链路,整个过程通常在毫秒级完成,对上层应用无感知。
二、 RSTP技术-链路备份技术
回顾STP技术
1.端口角色确定
2.临时环路怎么产生的?
3.通过定义端口规则避免环路
STP 为了避免网络环路,给交换机端口定义了 5 种状态,不同状态下端口的行为(收发 BPDU、学习 MAC、转发数据)不同,目的是有序控制端口角色,逐步放开数据转发,防止环路:
状态 | 是否发送配置 BPDU | 是否学习 MAC 地址 | 是否收发数据帧 | 作用 / 说明 |
---|---|---|---|---|
Disabled | 否 | 否 | 否 | 端口被管理员手动关闭 / 禁用,不参与 STP 计算,相当于 “物理断开” |
Blocking | 否 | 否 | 否 | 端口处于阻塞状态,只接收 BPDU 但不处理,用于防止环路(初始选举或拓扑变化时临时阻塞) |
Listening | 是 | 否 | 否 | 端口参与 STP 选举,发送 / 接收 BPDU 来确定角色(根端口、指定端口等),但还没开始转发数据 |
Learning | 是 | 是 | 否 | 端口确定角色后,开始学习 MAC 地址(构建 MAC 地址表),但仍不转发数据,进一步避免环路 |
Forwarding | 是 | 是 | 是 | 端口正常工作,转发数据帧、收发 BPDU、学习 MAC,是最终 “活跃” 转发状态 |
4.STP 的传统缺陷—— 拓扑变化时收敛慢
5.TCN BPDU
前提:拓扑变化触发
情况 1:网络里新接了一台交换机,或者原本阻塞的端口(Blocking)被激活,变成 Forwarding 状态(能转发流量了 )。
- 条件细化:
不仅要 “有端口进入 Forwarding”,还得满足 “该交换机至少有一个指定端口(Designated Port)” 。- 解释:“指定端口” 是 STP 里每个网段(链路)中负责转发 BPDU 的端口,有指定端口说明交换机在网络里 “有正式角色”,不是孤立的。如果新激活的端口所在交换机是 “孤网”(没指定端口),就算端口状态变,也不用发 TCN(发了也没人处理 )。
情况 2:有端口 “丢失活跃链路”(从 Forwarding/Learning 转 Blocking)
- 场景:常见的如链路中断(网线被拔、设备断电 )、端口被手动关闭,或者 STP 重新计算后,端口从 Forwarding(转发流量 )或 Learning(学习 MAC 地址 )状态,被迫变成 Blocking(阻塞,不转发流量,防止环路 )。
- 本质:原本能转发 / 学习的路径失效了,网络拓扑实际 “断了一块”,需要通知全网更新。
6.总结
1.流程分步解析
1. (绿虚线,TCN 消息)SWD → SWC:上报拓扑变化
SWD 发现链路中断,符合 TCN拓扑变化通知,于是向自己的指定上游交换机(SWC ) 发 TCN BPDU ,说 “拓扑变啦,快处理” 。
2. (红虚线,TCA 消息)SWC → SWD:确认收到 TCN
SWC 收到 SWD 的 TCN 后,需要回复 TCA拓扑变化确认,告诉 SWD“我收到消息了,你别一直发” 。这一步是 “确认机制”,避免 TCN 消息一直刷屏 。
3. (绿虚线,TCN 消息)SWC → SWA:继续上报给根桥
SWC 除了回 TCA 给 SWD ,还要把 TCN 消息继续往根桥(SWA ) 转发(因为拓扑变化必须让根桥知道,根桥才能发全网更新指令 ),同样走 “逐级上报” 逻辑 。
4. (紫实线,TCA 消息)SWA → SWB、SWA → SWC:根桥回 TCA
根桥 SWA 收到 SWC 转发的 TCN 后,会向所有非根桥交换机(这里是 SWB、SWC ) 发 带 TCA 置位的配置 BPDU ,确认 “我收到拓扑变化消息了” 。这一步是根桥对全网的 “确认反馈” 。
5. (紫实线,TC 置位 BPDU )SWA → SWB、SWA → SWC:根桥发全网更新指令
根桥 SWA 确认拓扑变化后,开始发 带 TC(Topology Change,拓扑变化执行)置位的 BPDU ,告诉所有交换机:“拓扑变了,赶紧把 MAC 地址表老化时间从默认 300 秒改成 15 秒” 。这样交换机能快速老化旧表项,重新学习新拓扑下的 MAC 映射,保证流量转发正确 。
6. (隐含逻辑)全网更新 MAC 表
所有收到 TC 置位 BPDU 的交换机(SWB、SWC、SWD 等 ),会加速老化自己的 MAC 地址表。比如原本主机 A 走 SWB→SWD 的路径,链路断了后,新路径可能变 SWB→SWC→SWD ,加速老化能让交换机更快 “忘掉” 旧路径,学习新路径的 MAC 映射,网络重新收敛 。
7.STP 的缺点
2.RSTP技术
1.概念
2. RST BPDU端口
2.1 端口状态
2.2 端口角色
边缘端口:不影响结果的都可以设置边缘端口,他还可以接路由器、服务器、终端。
3.RST BPDU格式
第二位第七位指定收敛,快速机制
56表示状态
必须在点对点链路进行,不能接集线器和傻瓜交换机这种。
4.RSTP快速收敛原理
要是边缘端口收到了 BPDU,说明这端口实际连的可能不是终端,而是其他交换机(或者能发 BPDU 的设备 ),原本 “接终端” 的假设不成立了。
边缘端口和根端口都不会产生环路,唯一会产生的是指定端口。
三、MSTP技术--链路备份技术
1.回顾STP和SRSTP的局限性
总结(STP/RSTP 两大核心局限)
- 负载分担难:所有 VLAN 绑定同一棵生成树,多条 Trunk 链路无法按 VLAN 分流,链路带宽浪费。
- 路径不最优:为了破除环路,STP 会阻塞端口,导致部分 VLAN 流量绕远路,产生 “次优路径”,影响传输效率。
2.MSTP的基本概念及优势
2.1定义
2.2MST域
2.3 CST、IST、CIST、总根和域根
注意:MST 域是 “设备 + 链路 + 统一配置” 的整体环境;
IST 是这个环境 内部 设备和链路共同跑出来的 “生成树逻辑” ,不是单纯的链路!!,而是域内所有元素参与的拓扑结果 。
MSTP 里生成树是分层嵌套的,理解这几个 “树” 的关系,就懂 MSTP 整网逻辑:
IST(内部生成树 ):
- 每个 MST 域内默认存在的生成树,承载 “未映射到其他实例的 VLAN” + 域内控制信息(比如 BPDU 交互 )。实例0就是IST。
CST(公共生成树 ):
- 跨 MST 域的生成树,把每个 MST 域当 “单一网桥” 看待,计算域间的生成树。
CIST(Common and Internal Spanning Tree,公共和内部生成树 ):
- 整网唯一的 “超级树” ,= IST(域内 ) + CST(域间 ),把所有域和设备纳入统一逻辑。
- 关键角色:
- CIST 总根:整网生成树的根桥(优先级最高的设备 );
- CIST 域根:每个 MST 域在 CIST 里的根(域内 IST 根桥,同时参与 CIST 计算
2.4. MSTP 端口角色
MSTP 端口角色继承 RSTP 大部分逻辑(比如 DP 是指定端口、RP 是根端口、AP 是替代端口 ),但新增 Master 端口:
Master 端口:
- 作用:连接 MST 域与外部(其他域或 STP/RSTP 设备) ,是 IST 根桥在 CIST 里的 “根端口”,负责域间生成树信息交互。
- 位置:MST 域的边界端口(图中 SWA 连接域外的端口,既是 “域边界端口” 也是 “Master 端口” )。
其他角色(和 RSTP 兼容):
- DP(Designated Port,指定端口 ):负责向网段发流量(每个网段选一个 );
- RP(Root Port,根端口 ):交换机到根桥的最优端口;
- AP(Alternate Port,替代端口 ):备份根端口,阻塞状态,根端口故障时启用。
3. MSTP的工作原理
3.1MSTP的BPDU格式
BPDU 交互逻辑:MSTP 交换机之间,同一域内会交互完整的 MSTP BPDU(含多实例信息 );跨域或和 RSTP 交换机交互时,会 “裁剪” MST 专有字段,只发 RST BPDU 部分 → 保证整网兼容。
3.1.1 CIST的优先级向量
3.1.2 MSTI的优先级向量80
3.2 MSTP的计算方法
3.3 MSTP的PA机制
4.保护机制
1.BPDU的保护
1.1 为什么会有BPDU的保护?又或者说为什么会和边缘端口产生关系?
因为边缘端口是交换机连 终端设备(电脑 / 服务器) 的端口,默认是不会收到 BPDU。但是
有人 误接交换机 / 恶意注入 BPDU,边缘端口就会收到 BPDU,此时,边缘端口会转化成非边缘端口,就会发收BPUD报文,可能会导致整个网络发生变化,甚至可能因为错误的拓扑计算产生网络环路,影响网络的正常运行。
1.2 BPDU保护机制的作用
一旦边缘端口收到 BPDU,交换机就会将该端口关闭,避免因端口角色的改变而引发网络拓扑的不必要变动。
2.根桥保护
2.1为什么要有根桥保护
存在一些恶意攻击者,会发送优先级更高的 BPDU(桥协议数据单元),宣称自己是根桥,从而使合法根桥失去根桥地位,造成网络瘫痪。
也可能存在因误配设备、私接高优交换机等操作,引发根桥异常变更。
2.2 根桥保护的作用
专注于 “防御更优根桥 BPDU”,保护当前根桥不被替换。
3.环路保护
针对根端口或 Alternate 端口,防止因链路单向故障导致端口误判为 “转发” 而形成环路(通过监控 BPDU 接收,若超时则进入 Discarding 状态)。
4.tc保护
4.1为什么会有TC保护?
在生成树协议中,当网络拓扑发生变化时,交换机会发送 TC - BPDU(拓扑变化桥协议数据单元) 报文,通知其他设备删除过时的 MAC 地址表项,重新学习拓扑,确保流量正常转发。
而 TC 攻击,是攻击者 伪造大量 TC - BPDU 报文 注入网络。交换机收到这些虚假报文后,会频繁执行 “删除 MAC 地址表项 → 重新学习” 操作,导致:
- 设备资源耗尽:CPU 忙于处理删除 / 学习任务,无法响应正常业务,甚至设备死机。
- 网络震荡:MAC 地址表频繁清空,流量转发混乱(如用户断网、业务中断 )。
4.2 TC 保护机制的作用
TC 保护机制通过 “限制 TC - BPDU 处理频率” 抵御攻击,主要在以下两个方面:
1. 时间阈值控制
- 配置 TC 保护阈值,限定单位时间(默认 1 秒 )内可处理的 TC - BPDU 数量。
- 例如:设置阈值为 5,若 1 秒内收到超过 5 个 TC - BPDU,交换机只处理前 5 个,丢弃剩余虚假报文,避免资源过载。
2. 抑制不必要的 MAC 删除
- 当 TC - BPDU 数量超过阈值时,交换机进入 “抑制状态”,不再盲目删除所有 MAC 地址表项。
- 仅删除 与拓扑变化相关端口 的 MAC 表项(而非全局清空 ),减少无效操作对设备的冲击。
总结来说:通过限制单位时间内处理 TC-BPDU 报文的数量,抵御恶意攻击导致的设备资源过度占用,同时避免频繁删除 MAC 地址表项引发的网络转发混乱。