第177篇:EVPN IRB(Integrated Routing and Bridging)

关键词:IRB、集成路由桥接、Vlanif、BD-VRF绑定、Type5路由、三层网关

一、引言

EVPN IRB(Integrated Routing and Bridging)是 EVPN 网络中实现二层到三层路由集成的核心技术。IRB 在同一个设备上同时运行二层桥接和三层路由功能,使 VXLAN overlay 网络能够作为三层网络的网关,实现不同 VNI(二层广播域)之间的三层路由以及 VXLAN 网络与外部物理网络的互联互通。IRB 是数据中心网络中 VXLAN 网关的标准实现方式。

二、核心概念

2.1 IRB 架构组件

组件 说明
BD(Bridge Domain) 二层桥接域,对应一个 VNI
VRF(VPN Instance) 三层路由实例
IRB 接口(Vlanif) BD 与 VRF 之间的逻辑三层接口
VNI 24 位虚拟网络标识,标识二层广播域

2.2 IRB 数据流

IRB 数据流 - 图示

2.3 IRB 与 EVPN 路由类型

路由类型 用途 IRB 关联
Type 1(ES) 多归属 ES 通告 无直接关联
Type 2(MAC/IP) MAC 地址学习 网关 MAC 的 Type 2 通告
Type 3(IMULT) 泛洪域成员发现 BUM 泛洪范围
Type 5(IP Prefix) IP 前缀路由 IRB 接口的 IP 前缀

三、技术细节

3.1 IRB 跨 VNI 路由流程

IRB 跨 VNI 路由流程 - 图示

3.2 IRB 网关 MAC 通告

IRB 网关的 MAC 地址通过 Type 2 路由通告到所有 VTEP:

步骤 操作
1 VTEP 为 IRB 接口生成网关 MAC(或手动配置)
2 VTEP 通过 BGP 通告网关 MAC 的 Type 2 路由
3 所有 VTEP 学习网关 MAC → 本 VTEP
4 CE 的 ARP 请求由本地 VTEP 回复(无需泛洪)

3.3 Type 5 路由生成

触发条件 行为
IRB 接口 UP 生成 Type 5 路由并通告
IRB 接口 DOWN 撤销 Type 5 路由
VRF 路由变化 重新计算 Type 5 路由

四、实战配置/案例分析

4.1 华为 IRB 配置

# ========== IRB网关配置 ==========
[DGW-PE1] sysname IRB-GW

# 创建Bridge Domain
[IRB-GW] bridge-domain 100
[IRB-GW-bridge-domain-100] interface 100ge 1/0/1
  # CE接口加入BD

[IRB-GW] bridge-domain 200
[IRB-GW-bridge-domain-200] interface 100ge 1/0/2

# 创建VRF并关联BD
[IRB-GW] vpn-instance OVERLAY
[IRB-GW-vpn-instance-OVERLAY] rd 10.1.1.1:100
[IRB-GW-vpn-instance-OVERLAY] route-target both evpn 100:100
[IRB-GW-vpn-instance-OVERLAY] bridge-domain 100 interface Vlanif 100
[IRB-GW-vpn-instance-OVERLAY] bridge-domain 200 interface Vlanif 200

# 配置IRB接口
[IRB-GW] interface Vlanif 100
[IRB-GW-Vlanif100] ip address 192.168.1.1 24
[IRB-GW-Vlanif100] ip binding vpn-instance OVERLAY

[IRB-GW] interface Vlanif 200
[IRB-GW-Vlanif200] ip address 192.168.2.1 24
[IRB-GW-Vlanif200] ip binding vpn-instance OVERLAY

# VXLAN VNI
[IRB-GW] vxlan vni 100
[IRB-GW-vxlan-vni-100] route-distinguisher 10.1.1.1:100
[IRB-GW-vxlan-vni-100] route-target both evpn 100:100
[IRB-GW-vxlan-vni-100] vxlan-source-interface LoopBack 0

[IRB-GW] vxlan vni 200
[IRB-GW-vxlan-vni-200] route-distinguisher 10.1.1.1:200
[IRB-GW-vxlan-vni-200] route-target both evpn 200:200

# BGP EVPN: 导入VRF路由生成Type5
[IRB-GW] bgp 65001
[IRB-GW-bgp-65001] address-family evpn
[IRB-GW-bgp-65001-evpn] import-route direct vpn-instance OVERLAY
[IRB-GW-bgp-65001-evpn] import-route bridge-domain 100 vpn-instance OVERLAY
[IRB-GW-bgp-65001-evpn] import-route bridge-domain 200 vpn-instance OVERLAY

4.2 验证IRB状态

# 查看VRF路由
<IRB-GW> display ip routing-table vpn-instance OVERLAY
  192.168.1.0/24  Vlanif100  Direct
  192.168.2.0/24  Vlanif200  Direct

# 查看Type5路由
<IRB-GW> display bgp evpn routing-table type 5
  *> RD: 10.1.1.1:100
     Prefix: 192.168.1.0/24
     NextHop: 10.1.1.1

  *> RD: 10.1.1.1:200
     Prefix: 192.168.2.0/24
     NextHop: 10.1.1.1

# 查看网关MAC路由(Type2)
<IRB-GW> display bgp evpn routing-table type 2
  *> RD: 10.1.1.1:100
     MAC: 00:1E:67:XX:XX:01 (Gateway MAC for VNI 100)
  *> RD: 10.1.1.1:200
     MAC: 00:1E:67:XX:XX:02 (Gateway MAC for VNI 200)

4.3 故障排查:IRB跨VNI路由失败

故障场景:VNI 100 的 CE 无法 ping 通 VNI 200 的 CE。

# Step 1: 检查VRF路由
<IRB-GW> display ip routing-table vpn-instance OVERLAY 192.168.2.20
  192.168.2.0/24  Vlanif200  Direct  # 路由存在

# Step 2: 检查Type5路由
<IRB-GW> display bgp evpn routing-table type 5
  # 有192.168.2.0/24的Type5路由

# Step 3: 检查对端VTEP是否学习到Type5
<REMOTE-VTEP> display bgp evpn routing-table type 5
  # 无192.168.1.0/24的Type5路由!

# Step 4: 检查BGP EVPN邻居
<REMOTE-VTEP> display bgp evpn peer 10.1.1.1
  # Route-policy过滤了Type5路由

# Step 5: 修正route-policy
[REMOTE-VTEP-bgp-65001-evpn] undo route-policy TYPE5-FILTER import

四(续)、高级主题

4.4 IRB 网关 ARP 代理机制

IRB 网关的一个重要功能是 ARP 代理(ARP Proxy),它避免了 ARP 请求在 VXLAN -overlay 中泛洪:

步骤 操作 说明
1 CE 发送 ARP Request 查询网关 MAC ARP 到达 VTEP
2 VTEP 识别目标 IP 为 IRB 网关 IP 匹配 IRB 接口地址
3 VTEP 直接回复 ARP Reply 携带网关 MAC
4 CE 学习到网关 MAC-IP 绑定 无需泛洪到远端 VTEP
# 配置IRB接口ARP代理
[IRB-GW] interface Vlanif 100
[IRB-GW-Vlanif100] arp proxy enable
  # 启用ARP代理

# 验证ARP代理
<IRB-GW> display arp interface Vlanif 100
  Internet Address    Physical Address    Type    Age
  192.168.1.10        00:11:22:33:44:55   ARS     00:05:23
  192.168.1.1         00:1E:67:XX:XX:01  Manual   -
  # 192.168.1.1为网关自身地址, 类型为Manual(静态)

4.5 IRB 多 VRF 隔离设计

当多个租户需要完全隔离的三层网络时,使用多 VRF 设计:

设计要素 租户 A 租户 B
VRF 名称 VRF-A VRF-B
RD 10.1.1.1:1000 10.1.1.1:2000
RT Export 1000:1000 2000:2000
RT Import 1000:1000 2000:2000
BD BD-100, BD-101 BD-200, BD-201
IRB Vlanif 100, 101 Vlanif 200, 201
# 多VRF配置
[IRB-GW] vpn-instance VRF-A
[IRB-GW-vpn-instance-VRF-A] rd 10.1.1.1:1000
[IRB-GW-vpn-instance-VRF-A] route-target both evpn 1000:1000
[IRB-GW-vpn-instance-VRF-A] bridge-domain 100 interface Vlanif 100
[IRB-GW-vpn-instance-VRF-A] bridge-domain 101 interface Vlanif 101

[IRB-GW] vpn-instance VRF-B
[IRB-GW-vpn-instance-VRF-B] rd 10.1.1.1:2000
[IRB-GW-vpn-instance-VRF-B] route-target both evpn 2000:2000
[IRB-GW-vpn-instance-VRF-B] bridge-domain 200 interface Vlanif 200

# VRF间路由(需要时)
[IRB-GW-vpn-instance-VRF-A] peer-vpn-instance VRF-B import-export POLICY-A-TO-B

4.6 IRB 与 DHCP 联动

组件 职责
IRB 接口 作为 DHCP Relay 的下一跳(giaddr)
DHCP Relay 转发 CE 的 DHCP Request 到 DHCP Server
DHCP Server 分配 IP 地址、网关、DNS 等
Option 82 插入子接口/BD 信息,实现精确地址分配
# 配置DHCP Relay联动
[IRB-GW] interface Vlanif 100
[IRB-GW-Vlanif100] dhcp select relay
[IRB-GW-Vlanif100] dhcp relay server-ip 10.100.1.100
  # DHCP Server地址

[IRB-GW] dhcp relay
[IRB-GW-dhcp-relay] information option82 insert
  # 在DHCP Request中插入Option82

4.7 IRB 性能调优

参数 默认值 推荐值(大规模) 说明
MAC 老化时间 300s 60-120s 缩短老化时间加速收敛
ARP 超时时间 1200s 300-600s 缩短ARP缓存时间
IRB 接口 MTU 1500 9000(Jumbo Frame) 支持大数据包
BGP Hold Timer 180s 6s 加速故障检测
Type 5 路由聚合 关闭 开启 减少 BGP 表项

五、总结

项目 要点
IRB 集成二层桥接和三层路由,是 VXLAN 网关核心
BD-VRF 绑定 Bridge Domain 通过 IRB 接口关联 VRF
Type 2 路由 通告网关 MAC,使所有 VTEP 知道网关位置
Type 5 路由 通告 IP 前缀,实现跨 VNI 三层路由
ARP 优化 网关 MAC 通过 BGP 通告,消除 ARP 泛洪

思考

  1. IRB 接口的 MAC 地址是自动生成的还是可以手动指定?如果手动指定,需要注意什么?
  2. Type 5 路由的 RD 是基于 VNI 还是基于 VRF?同一 VRF 关联多个 BD 时,Type 5 路由的 RD 如何区分?
  3. 如果 IRB 接口 DOWN,Type 5 路由和 Type 2 路由(网关 MAC)会同时撤销吗?

下篇预告:第178篇:VXLAN 报文封装与 UDP 端口