3、核心层冗余:设备虚拟化(堆叠/MLAG)、链路聚合(LACP)、VRRP/HSRP协议

各位好,咱们今天聊核心层冗余。说白了,就是让网络核心“打不垮”。

核心层是整个网络的“心脏”。一旦它出问题,全网都得瘫痪。我见过不少企业,核心层就一台交换机,结果设备老化宕机,整个公司断网半天。嗯,这种教训太深刻了。

所以,核心层必须冗余。怎么冗余?三个维度:设备虚拟化链路聚合网关冗余。咱们一个一个拆开讲。

3.1 设备虚拟化:堆叠与MLAG

设备虚拟化,就是把两台物理交换机“变成”一台逻辑交换机。这样做的好处很明显:管理简单、故障切换快、带宽翻倍。

主流方案有两种:堆叠MLAG

3.1.1 堆叠(Stacking)

堆叠是厂商私有技术。比如华为的CSS、思科的VSS、H3C的IRF。它通过专用堆叠线缆,把多台交换机连成一个整体。

优点:

  • 控制平面统一,管理简单
  • 跨设备链路聚合,带宽利用率高
  • 故障切换快(毫秒级)

缺点:

  • 厂商锁定,不能混用不同品牌
  • 升级风险大(我曾经遇到过堆叠分裂,导致全网广播风暴,那叫一个惨)
  • 距离受限,通常只能在同一机柜内
我的经验:堆叠适合中小规模网络。如果你只有两台核心交换机,放在同一个机房,堆叠是性价比最高的方案。但记得配置堆叠分裂检测(比如MAD检测),防止脑裂。

3.1.2 MLAG(多链路聚合组)

MLAG是另一种思路。它不要求控制平面统一,只是让两台独立的交换机“配合”工作,对外表现为一台逻辑设备。

MLAG的好处是:

  • 两台设备可以独立升级(我做过,一台升级,另一台扛流量,业务不中断)
  • 支持跨厂商(比如Cisco vPC、华为M-LAG、H3C DRNI)
  • 距离限制小,可以跨机房部署

MLAG的典型配置(华为M-LAG):

# 配置DFS组
dfs-group 1
 priority 150
 source ip 10.0.0.1
 peer-link interface 10GE1/0/1

# 配置M-LAG成员口
interface Eth-Trunk1
 mode lacp-static
 m-lag id 1
 trunkport 10GE1/0/2
 trunkport 10GE1/0/3
注意:MLAG的peer-link链路一定要用独立端口,别跟业务流量混在一起。我曾经见过有人用万兆口做peer-link,结果业务流量一高,peer-link丢包,M-LAG直接脑裂。

3.2 链路聚合:LACP

链路聚合,就是把多条物理链路“捆绑”成一条逻辑链路。它解决两个问题:带宽叠加和链路冗余。

LACP(Link Aggregation Control Protocol)是标准协议,IEEE 802.3ad定义。它自动协商聚合参数,比手工配置省心多了。

LACP的工作模式:

  • Active(主动):主动发送LACPDU,协商聚合
  • Passive(被动):被动响应,不主动发起
  • On(静态):不协商,强制聚合(不推荐,容易出问题)

LACP配置示例(华为交换机):

interface Eth-Trunk1
 mode lacp-static
 load-balance src-dst-ip

interface GigabitEthernet0/0/1
 eth-trunk 1

interface GigabitEthernet0/0/2
 eth-trunk 1

这里有个关键点:负载均衡算法。LACP默认基于源MAC+目的MAC做哈希。如果你的流量模式是“很多客户端访问一台服务器”,那哈希结果可能都落在同一条链路上,其他链路闲置。我建议改成src-dst-ip,这样更均衡。

避坑指南:我曾经遇到一个案例,客户说链路聚合后带宽没提升。查了半天,发现是两端交换机哈希算法不一致。一端用src-dst-ip,另一端用src-dst-mac,结果流量全走一条链路。所以,两端算法必须一致。

3.3 网关冗余:VRRP/HSRP

设备虚拟化解决了交换机层面的冗余,但终端设备(比如服务器、PC)怎么知道该用哪个网关?

这时候就需要网关冗余协议。主流的是VRRP(标准协议)和HSRP(思科私有)。

3.3.1 VRRP(虚拟路由冗余协议)

VRRP让多台路由器共享一个虚拟IP地址。终端设备把网关指向这个虚拟IP,实际流量由主路由器处理。一旦主路由器挂了,备用路由器自动接管。

VRRP的关键参数:

参数 说明 建议值
优先级 决定谁当主设备(越大越优先) 主设备150,备设备100
抢占模式 主设备恢复后是否重新抢占 建议开启,但要加延迟(30秒)
通告间隔 主设备发送VRRP报文的时间间隔 默认1秒,建议改为0.5秒

VRRP配置示例(华为):

interface GigabitEthernet0/0/1
 ip address 192.168.1.2 255.255.255.0
 vrrp vrid 1 virtual-ip 192.168.1.1
 vrrp vrid 1 priority 150
 vrrp vrid 1 preempt-mode timer delay 30

3.3.2 HSRP(热备份路由协议)

HSRP是思科私有协议,功能跟VRRP类似。区别在于:

  • HSRP使用UDP 1985端口,VRRP使用IP协议112
  • HSRP的虚拟MAC地址是0000.0c07.acxx,VRRP是0000.5e00.01xx
  • HSRP支持多个组(最多16个),VRRP支持255个

HSRP配置示例(思科):

interface GigabitEthernet0/1
 ip address 192.168.1.2 255.255.255.0
 standby 1 ip 192.168.1.1
 standby 1 priority 150
 standby 1 preempt delay 30
我的建议:如果你用思科设备,HSRP更稳定(毕竟自家协议)。如果是混合厂商,用VRRP更通用。另外,VRRP的抢占延迟一定要配,否则主设备恢复时频繁切换,业务会抖动。

3.4 知识体系总览

为了让你更直观地理解这三个维度的关系,我画了一张图:

核心层冗余三大维度 设备虚拟化 堆叠(Stacking) · 控制平面统一 · 故障切换快 · 厂商锁定 MLAG · 独立升级 · 跨厂商支持 · 距离限制小 链路聚合 LACP(标准) · 带宽叠加 · 链路冗余 · 自动协商 负载均衡算法 · src-dst-ip · src-dst-mac · 两端必须一致 网关冗余 VRRP(标准) · 虚拟IP · 优先级抢占 · 跨厂商 HSRP(思科) · 多组支持 · 私有协议 · 更稳定 三者配合使用:设备虚拟化 + 链路聚合 + 网关冗余 = 高可靠核心层

你看,这三个维度是层层递进的。设备虚拟化解决“设备挂了怎么办”,链路聚合解决“链路断了怎么办”,网关冗余解决“网关不可达怎么办”。三者配合,才能构建真正高可靠的核心层。

总结一下:核心层冗余不是选一个方案就行,而是三个维度都要考虑。我个人习惯是:小规模用堆叠+LACP+VRRP,大规模用MLAG+LACP+VRRP。记住,冗余不是目的,高可用才是。

好了,这一章就到这里。下一章咱们聊聊汇聚层的冗余设计,那又是另一番天地。


公众号:蓝海资料掘金营,微信deep3321