前缀限制的作用
max-prefix 限制单个 BGP 邻居最多能通告多少条前缀。它是一道保护:对端配置错误或路由泄漏时,一次可能涌来几十万条路由,把内存和转发表撑满,影响的不只是一个邻居。超限后的默认行为是记录告警并断开邻居,同时发送 Cease 通知,对端日志会看到邻居被重置。因此排查「邻居无故断连」时,先看本端是否触发了前缀限制,是常见的第一顺位检查项。这个限制按邻居方向单独设置,只约束接收数量,不影响本端对外通告。
基本信息
| Cisco 命令 | neighbor x maximum-prefix 数量 阈值百分比 restart 分钟 |
|---|---|
| 华为命令 | peer x route-limit 数量 阈值百分比 |
| 超限行为 | 默认告警并断连,可配置为只告警不断连 |
| 恢复方式 | 等待 restart 计时自动恢复,或手工清除邻居 |
| 作用方向 | 只限制从该邻居接收的路由数量 |
典型使用场景
- 对接客户或分支机构:防止对端误通告全表
- 保护低端设备:内存有限的路由器必须限制可接收路由规模
- 新邻居上线:先用只告警模式观察实际前缀量,再决定阈值
- 路由泄漏事故后加固:把已知泄漏源加上硬限制
- 多邻居环境:为不同邻居设置与外联规模匹配的差异化阈值
配置与查看
配置与查看
# Cisco:上限 8000 条,达到 80% 告警,超限后 30 分钟自动重试
neighbor 203.0.113.2 maximum-prefix 8000 80 restart 30
# 只告警不断连(观察期用)
neighbor 203.0.113.2 maximum-prefix 8000 80 warning-only
# 华为
# peer 203.0.113.2 route-limit 8000 80
show ip bgp neighbors 203.0.113.2 | include prefix
show ip bgp summary # 确认邻居状态与接收前缀数输出字段与判断
| 字段 | 含义 | 异常表现 |
|---|---|---|
| Prefix received | 当前从该邻居收到的前缀数 | 持续逼近上限说明阈值设置过紧 |
| Maximum prefixes | 配置的上限值 | 明显小于对端正常规模会导致误断 |
| Threshold | 告警阈值百分比 | 未设阈值就只能等超限才发现 |
| Neighbor state | 邻居当前状态 | 超限后进入 Idle,日志伴 Cease 通知 |
阈值不要贴着实测规模设置:合法业务增长一两条就会触发超限。建议留出三成以上余量,并把告警阈值设在八成左右。
启用断连式限制前,先确认对端是否有自动恢复能力;某些实现被断后不会主动重连,需要人工干预,可能造成长时间中断。