一、堆叠(IRF)
1. 作用
堆叠是将多台物理交换机虚拟成一台逻辑交换机。
-
统一管理,只需要登录一个管理地址。
-
统一配置,不必分别配置每台成员设备。
-
提高设备可靠性,一台成员故障后,其他成员可以继续工作。
-
支持跨设备链路聚合。
-
减少生成树阻塞,提高链路利用率。
例如,SW1 和 SW2 组成 IRF 后:
SW1 + SW2 = 一台逻辑核心交换机
接口通过成员编号区分:
GigabitEthernet1/0/1 成员1的接口
GigabitEthernet2/0/1 成员2的接口
2. 工作原理
IRF 成员设备通过 IRF 物理链路连接,并进行主设备选举:
-
Master:负责管理整个 IRF。 -
Standby:作为备用,同时可以参与数据转发。 -
IRF 链路:传递控制信息和跨成员的数据流量。
虽然管理层面只有一台 Master,但正常情况下所有成员设备都可以转发数据。
3. 堆叠分裂
堆叠分裂是指 IRF 链路中断后,原来的一个 IRF 分成两个独立运行的系统。分裂后,两边可能都认为自己是正常工作的 IRF,并同时使用原来的配置、网关地址和聚合接口。
网络环路
两套设备同时转发相同 VLAN 的流量,可能产生二层环路、广播风暴和 MAC 地址漂移。
业务损坏
可能出现网关 IP 冲突、管理 IP 冲突、MAC 地址漂移、跨成员聚合异常、网络时通时断甚至整体中断。
4. MAD BFD
MAD 是 Multi-Active Detection,即多 Active 检测。BFD 是 Bidirectional Forwarding Detection,即双向转发检测。
MAD BFD 用于快速检测 IRF 是否发生分裂:
-
IRF 正常时,两台成员属于同一个系统。
-
IRF 链路断开后,两个成员分别成为独立的 Active 系统。
-
MAD BFD 检测到网络中存在两个 Active 系统。
-
系统选出继续工作的部分,失败的一侧进入 Recovery 状态。
-
Recovery 侧关闭业务接口,防止环路和地址冲突。
-
IRF 链路恢复后,设备重新加入 IRF。
MAD BFD 解决的是堆叠分裂后的双 Active 问题,不能代替 IRF 链路。
实验配置示例:
interface GigabitEthernet1/0/48
port link-mode route
port link-aggregation group 100
quit
interface GigabitEthernet2/0/48
port link-mode route
port link-aggregation group 100
quit
interface Route-Aggregation 100
mad bfd enable
mad ip address 10.1.1.5 255.255.255.252 member 1
mad ip address 10.1.1.6 255.255.255.252 member 2
quit
检查命令:
display mad verbose
display bfd session
正常状态应显示 MAD status: Normal。
二、链路聚合
1. 作用
链路聚合是把多条物理链路组合成一条逻辑链路。
-
增加链路总带宽。
-
实现链路冗余。
-
分担不同业务流量。
-
某条成员链路故障后,流量切换到其他成员链路。
-
配合 IRF 实现跨设备链路冗余。
本实验可以规定每个聚合组最少使用 2 条、最多使用 4 条物理链路。需要注意,这是实验设计限制,不是所有 H3C 设备的固定上限,实际数量由设备型号决定。
2. 静态聚合
静态聚合不使用协议和对端协商,设备根据本地配置选择成员端口。
interface Bridge-Aggregation 1
link-aggregation mode static
port link-type trunk
port trunk permit vlan 10 20 100
quit
特点:配置简单,不依赖 LACP;但两端配置错误时,发现故障的能力较弱,两端参数必须保持一致。
3. 动态聚合
动态聚合使用 LACP 与对端协商。
interface Bridge-Aggregation 1
link-aggregation mode dynamic
port link-type trunk
port trunk permit vlan 10 20 100
quit
成员接口配置:
interface GigabitEthernet1/0/1
port link-aggregation group 1
quit
interface GigabitEthernet1/0/2
port link-aggregation group 1
quit
动态聚合能够检查两端配置和链路状态,动态选择可用成员,更容易发现错误接线和参数不一致。实际网络中通常优先使用动态聚合。
检查命令:
display link-aggregation verbose
-
S:Selected,已选中并参与转发。 -
U:Unselected,未选中。 -
DOWN:物理链路未建立。
4. 链路聚合负载分担
链路聚合不是把一个数据包拆开后从多条链路同时发送。设备会读取报文中的部分字段并计算哈希值,然后把一条数据流固定分配到某个成员接口。
报文字段 -> 哈希计算 -> 选择成员接口 -> 从该接口转发
常见哈希字段包括源 MAC、目的 MAC、源 IP、目的 IP、IP 协议号、源端口号和目的端口号。
五元组是:
源IP + 目的IP + 源端口 + 目的端口 + 协议类型
示例:
流量A -> 哈希结果0 -> GE1/0/1
流量B -> 哈希结果1 -> GE1/0/2
流量C -> 哈希结果0 -> GE1/0/1
同一条会话通常固定走同一条成员链路,以避免数据包乱序。因此,多条不同会话能够负载分担,但单条会话通常不能叠加全部成员链路的带宽。哈希分担也不保证每条链路的流量绝对平均。
三、DHCP
1. 作用
DHCP 用于自动向终端分配以下网络参数:
-
IP 地址
-
子网掩码
-
默认网关
-
DNS 服务器
-
地址租期
2. 工作原理
DHCP 获取地址通常分为四个阶段,简称 DORA:
Discover -> Offer -> Request -> ACK
-
Discover:客户端通过广播寻找 DHCP 服务器。 -
Offer:服务器提供一个可用地址和相关参数。 -
Request:客户端表示接受某个服务器提供的地址。 -
ACK:服务器确认租约,客户端正式使用该地址。
3. 不同 VLAN 的地址池
每个 VLAN 应使用对应网段的地址池:
| VLAN | 地址段 |
|---|---|
| VLAN 10 | 192.168.10.0/25 |
| VLAN 100 | 192.168.10.128/25 |
| VLAN 20 | 192.168.20.0/24 |
DHCP 服务器根据收到请求的三层接口,判断应该使用哪个地址池。
核心交换机配置示例:
dhcp enable
interface Vlan-interface20
ip address 192.168.20.254 255.255.255.0
dhcp select global
quit
dhcp server ip-pool VLAN20
network 192.168.20.0 mask 255.255.255.0
gateway-list 192.168.20.254
address range 192.168.20.1 192.168.20.250
dns-list 114.114.114.114
quit
终端获得 169.254.x.x 地址,表示没有成功获得 DHCP 地址。排查顺序为:
终端接入口VLAN
-> 接入交换机上联聚合
-> Trunk是否允许该VLAN
-> 核心是否创建该VLAN
-> Vlan-interface是否UP
-> DHCP地址池与网关是否匹配
四、三项技术之间的关系
| 技术 | 主要作用 |
|---|---|
| 堆叠 | 提供设备级冗余,将两台交换机虚拟成一台逻辑设备 |
| 链路聚合 | 提供链路级冗余、增加总带宽,并通过哈希分担不同数据流 |
| DHCP | 为不同 VLAN 的终端自动分配正确的网络参数 |
| MAD BFD | 发现堆叠分裂,并关闭失败侧业务接口,防止双 Active |
简单概括:
-
堆叠解决"设备坏了怎么办"。
-
链路聚合解决"线路坏了怎么办"和"多条线路如何利用"。
-
DHCP 解决"终端如何自动获得网络参数"。
-
MAD BFD 解决"堆叠分裂后两个系统同时工作怎么办"。