找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

686

积分

0

好友

88

主题
发表于 7 小时前 | 查看: 0| 回复: 0

基于之前的笔记重构。

1. EP 基础概念

1.1 什么是 Endpoint

  • 定义:EP (Endpoint) = MAC 地址 + 0~n 个关联的 IP 地址
  • 范围:MAC、IPv4、IPv6 都被视为独立的 EP,各自占用表项资源

1.2 EP 存储架构

组件 存储内容 设计目的
Spine (COOP) Fabric 中所有 EP 信息 全局视图,集中式数据库
Leaf 仅存储有数据交互的 EP 节省硬件资源

设计优势:这种分层架构使 Fabric 整体的 EP 容量远超单台 Leaf 的限制。


2. EP 分类

2.1 按位置和类型分类

ACI Fabric中EP分类与VPC关系拓扑示意图

2.2 按 VPC 状态分类

类型 说明
Orphan 位于 non-VPC port/port-channel 的 EP
On-peer 位于 non-VPC port/port-channel 或 VPC peer 上的 EP

3. 不学习 EP 的场景(By Design)

以下场景 ACI 设计上不进行 EP 学习: 场景 原因
External BD 外部主机无需学习,IP learning disabled
Infra BD L3Out 路由通过 IS-IS 管理
Leaf SVI MAC / Pervasive SVI-IP 通过 Static EP 机制处理,避免动态学习

4. EP Move 机制

4.1 Move 作用域

  • EP Move 在 BD 级别 追踪
  • 同一 MAC 出现在不同 BD/VRF 时,视为新 EP 学习(非 Move)

4.2 Move 类型及处理

Move 类型 处理方式
同 Leaf 不同 Port Spine/COOP/Oracle 不发送 Move Notification
不同 Leaf 之间 Spine/COOP 检测后通知原 Leaf 执行 EP Bounce
不同 VLAN 触发 Move 处理
不同 BD(仅 IP) 对 MAC 而言等同于新 EP 学习
TEP 间移动 / VPC ↔ non-VPC Spine/COOP/Oracle 发送 Move Notification

4.3 EP Dampening(抑制机制)

当 EP Move 过于频繁时,触发 Learning Throttling

触发条件: BD moves/sec > moveFreq (默认 256)
    ↓
动作: Disable BD 关联的所有 FD VLAN/VXLAN 的 aging/learning
    ↓
恢复: holdTimeout (默认 300s) 后自动恢复

验证命令

show sys int epm vlan <PI-vlan-id> detail   # 确认 VLAN 是否 learn disabled

5. EP Aging 机制

5.1 默认 Retention Timer(可在 BD 级别修改)

参数 默认值 说明
Local EP 900s 本地端点老化时间
Remote EP 300s 远端端点老化时间
Debounce 630s 防抖时间
Move Frequency 256/sec 超限触发 Dampening
Hold Interval 300s Dampening 恢复等待时间

查询默认配置

moquery -c fvEpRetDef -d uni/ctx-[uni/tn-common/ctx-VRF_Prod_Shared]/epRPol

5.2 Aging 实现原理

                      EPMC (Software Aging)
                             ↓
                       查询 Hardware Hit-bit
                             ↓
             ┌─────────────────┴─────────────────┐
             ↓                                   ↓
        Hit-bit = 1                         Hit-bit = 0
        (有流量)                              (无流量)
             ↓                                   ↓
        重置 Timer                      整个 Aging 周期无流量 → Age Out

EPMC(Endpoint Manager Client)工作流程与EP老化判定机制

5.3 VPC 场景的特殊处理

EP 类型 Aging 规则
VPC 上的 Local/Remote EP 双 Peer 都无流量才 Age Out
Orphan EP 由 EP Owner 负责 Aging

5.4 Host Tracking

  • 触发时机:Aging Timer 达到 75%
  • 动作:发送 ARP Request 确认 EP 在线状态
  • 目的:检测 Silent EP(长期无主动流量的端点)

5.5 EP 删除传播

EP Locally Aged
      ↓
EPM 发送 EP Delete 通知
      ↓
   ┌──┴──┐
   ↓     ↓
Spine   远端 Leaf
(COOP)

5.6 STP TCN 处理

收到 STP TCN 时:

  • EPM Flush 该 VLAN 下所有 EP
  • Flood 范围控制在 EPG 内
  • 通过 FD VLAN/VXLAN 关联的 fabric_encap VNI 实现隔离

6. 故障排查:手动清除 EP

当 EP Move 后信息异常时,可手动清除(从 ObjectStore 移除对应 MO):

clear sys int epm end key vrf <tenant>:<vrf-name>
# 可选参数:
#   ip    - IPv4 地址
#   ipv6  - IPv6 地址
#   vlan  - FD/BD VLAN ID

示例

clear sys int epm end key vrf fushuang:VRF1

7. 要点总结

主题 关键点
存储架构 Spine 存全量,Leaf 存交互过的 EP
EP 类型 PL(物理本地)、VL(虚拟本地)、XR(远端)
不学习场景 External BD、Infra BD、SVI MAC/IP
Move 处理 BD 级别追踪,跨 Leaf 触发 COOP 通知
Dampening 超 256 moves/sec 暂停学习,300s 后恢复
Aging 基于 Hit-bit,75% 时 Host Tracking
VPC 特殊 双 Peer 无流量才 Age Out

透彻理解 ACI 的 Endpoint 管理机制,是进行高效运维和精准故障排查的基础。希望本文的梳理能帮助你更好地驾驭这套复杂的系统。更多网络与系统相关的深度技术讨论,欢迎访问 云栈社区




上一篇:Node.js之父Ryan Dahl发声:AI代码生成将终结传统“手写”编程时代
下一篇:Java枚举类实战:以汽车工厂为例消除if...else条件判断
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-24 17:28 , Processed in 0.234100 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表