网络工程师 · 高频练习

iBGP 学到前缀却无法转发时,为什么常配置 next-hop-self?

中级 单选题 第 907 题 中等 网络工程师BGPnext-hop-selfiBGP下一跳可达性
题目

边界路由器 R1 从 eBGP 邻居学到前缀后通告给内部 iBGP 邻居 R2。R2 能在 BGP 表中看到该前缀,但因无法到达路由属性中的外部下一跳而不能正常使用。R1 上较直接的处理是()。

A 关闭 R1 与 R2 之间的 IGP 路由
B 删除所有 AS_PATH 属性,让 R2 忽略环路检查
C 把 R2 的 BGP Router ID 改成外部邻居地址
D 对 R2 配置 next-hop-self,使 R1 把自己作为通告路由的下一跳
题目类型:原创高频练习题 用途:用于帮助理解网络工程师相关考点和答案解析,不等同于官方真题。
正确答案
D
答案解析

eBGP 路由传入 iBGP 时,下一跳属性在常见场景下可能仍指向外部邻居。若内部路由器没有到该地址的 IGP 路由,BGP 路径即使存在也不可用。next-hop-self 让 R1 把下一跳改为自身可达地址。

选项分析

A

错误。关闭 IGP 会让内部下一跳更难到达。

B

错误。AS_PATH 是重要防环和选路属性,问题也不在 AS_PATH。

C

错误。Router ID 用于标识 BGP 路由器,不承担数据转发下一跳功能。

D

正确。把下一跳改为 R1,可利用内部已有的到 R1 路由完成递归解析。

本题为什么容易错

配置题容易只盯 BGP 邻居状态。Established 只说明控制连接建立,不代表每条路由的下一跳都能被数据平面解析。

先看结论

简短答案

iBGP 学到前缀却无法转发时,为什么常配置 next-hop-self,正确答案是 D(对 R2 配置 next-hop-self,使 R1 把自己作为通告路由的下一跳)。eBGP 路由传入 iBGP 时,下一跳属性在常见场景下可能仍指向外部邻居。若内部路由器没有到该地址的 IGP 路由,BGP 路径即使存在也不可用。next-hop-self 让 R1 把下一跳改为自身可达地址。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
关闭 R1 与 R2 之间的 IGP 路由 本题干扰项 错误。关闭 IGP 会让内部下一跳更难到达。 看到该词不要急着选,先判断是否真正解决题干问题
删除所有 AS_PATH 属性,让 R2 忽略环路检查 本题干扰项 错误。AS_PATH 是重要防环和选路属性,问题也不在 AS_PATH。 看到该词不要急着选,先判断是否真正解决题干问题
把 R2 的 BGP Router ID 改成外部邻居地址 本题干扰项 错误。Router ID 用于标识 BGP 路由器,不承担数据转发下一跳功能。 看到该词不要急着选,先判断是否真正解决题干问题
对 R2 配置 next-hop-self,使 R1 把自己作为通告路由的下一跳 本题正确答案 正确。把下一跳改为 R1,可利用内部已有的到 R1 路由完成递归解析。 看到题干核心场景时优先联想到它
本题易混淆选项怎么区分
  • 关闭 R1 与 R2 之间的 IGP 路由:错误。关闭 IGP 会让内部下一跳更难到达。
  • 删除所有 AS_PATH 属性,让 R2 忽略环路检查:错误。AS_PATH 是重要防环和选路属性,问题也不在 AS_PATH。
  • 把 R2 的 BGP Router ID 改成外部邻居地址:错误。Router ID 用于标识 BGP 路由器,不承担数据转发下一跳功能。
复习

知识点详解

iBGP 的一个关键设计是自治系统内部路由器仍需通过 IGP 或静态路由到达 BGP 下一跳。边界设备使用 next-hop-self 可以简化外部下一跳在内部的可达性要求,但大规模网络仍要综合考虑路由反射器、IGP 设计、多出口策略和下一跳冗余。

备考速记

前缀学到了还不能走,先问下一跳能不能到。

BGP 在下一跳可达性场景中的作用

BGP在本题中的核心价值,是解决“边界路由器 R1 从 eBGP 邻居学到前缀后通告给内部 iBGP 邻居 R2。R2 能在 BGP 表中看到该前缀,但因无法到达路由属性中的外部下一跳而不能正常使用。R1 上较直接的处理是()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • iBGP 收到外部路由但下一跳不可达。
  • 区分 next-hop-self、route-reflector 和 AS_PATH 防环的用途。
BGP 在网络工程师软考中的考法

软考选择题通常不会只考概念定义,还会把BGP放到下一跳可达性场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

先判断这不是“没学到”,而是“学到了却用不了”。R2 看到前缀,说明邻居和路由通告基本正常;真正卡住的是下一跳。R1 对 iBGP 邻居使用 next-hop-self 后,R2 只要通过 IGP 能到达 R1,就能递归解析下一跳。这个命令改的是下一跳,不会替你删除 AS_PATH,也不会修复所有 BGP 问题。

考点定位

BGP 选路不仅看属性优劣,还要求下一跳可达。看到“BGP 表有路由但不装入路由表”,要检查 next hop 的递归可达性。

易错提醒

  • 看到 BGP 表有前缀就认定路由一定已进入主路由表。
  • 把 Router ID、邻居地址和路由下一跳当成同一概念。
  • 配置 next-hop-self 后没有确认内部网络能到达 R1 的更新源地址。

备考提示

  • 排查 BGP 路由依次看:是否接收、是否有效、是否最优、下一跳是否可达、是否安装。
  • 把 BGP 控制平面和 IGP 提供的底层可达性一起复习。

你可能还想了解

  • BGP 表有路由为什么路由表没有?
  • next-hop-self 会修改 AS_PATH 吗?
  • iBGP 为什么依赖 IGP 到达下一跳?

本文小结

R2已经收到BGP前缀却无法到达外部下一跳,因此路径不能正常使用。R1配置next-hop-self后把自身设为下一跳,R2便可借助内部IGP路由完成递归可达。