!abstract 本节概览
从 OSPF Underlay 过渡到 BGP Underlay,学习 AS、eBGP/iBGP、BGP 邻居状态、TCP 179、BGP
network、Next-Hop、AS Path、Local Preference、MED、Origin、BGP ECMP 和路由策略控制。
上一课:\[AIDC学习日志-第03天-OSPF Underlay实验与故障排查]
学习路线:\[AIDC网络工程师学习路线图]
一、今日学习目标
- 理解 OSPF Underlay 与 BGP Underlay 的区别
- 理解 AS、eBGP 和 iBGP
- 理解 BGP 邻居建立过程和状态
- 理解 BGP 使用 TCP 179
- 理解 BGP
network与 OSPFnetwork的区别 - 理解 BGP Next-Hop 和路由安装
- 理解 Local Preference、AS Path、MED、Origin
- 理解 BGP Best Path 和 BGP ECMP
- 理解路由策略和前缀过滤的必要性
- 完成真实设备或模拟器 BGP 配置实验
二、为什么 AIDC 使用 BGP Underlay
OSPF Underlay:
text
Leaf-Spine 建立 OSPF 邻居
Loopback 通过 OSPF 发布
OSPF 主要根据 Cost 计算路径
BGP Underlay:
text
Leaf-Spine 建立 eBGP 邻居
Loopback 通过 BGP 发布
BGP 根据多个路径属性选择路径
OSPF 更关注全网拓扑和最短路径;BGP 更关注路径属性、传播边界和策略控制。
BGP 适合大规模 AIDC 的原因:
- AS 边界清晰;
- 路径策略控制能力强;
- 扩展性好;
- 适合模板化和自动化;
- 可通过 AS Path 防止路由环路;
- 与 BGP EVPN Overlay 使用同一协议体系。
三、AS、eBGP 与 iBGP
AS 是 Autonomous System,自治系统。
判断规则:
text
本地 AS ≠ 对端 AS → eBGP
本地 AS = 对端 AS → iBGP
示例规划:
| 设备 | AS | Loopback |
|---|---|---|
| Spine1 | 65001 | 1.1.1.1/32 |
| Spine2 | 65002 | 2.2.2.2/32 |
| Leaf1 | 65101 | 3.3.3.3/32 |
| Leaf2 | 65102 | 4.4.4.4/32 |
Leaf1 与 Spine1:
text
65101 ≠ 65001 → eBGP
我的回答
Spine1 使用 AS 65001,Leaf1 使用 AS 65101,它们建立的是 iBGP。
批改
应为 eBGP。不同 AS 建立 eBGP;相同 AS 才是 iBGP。
四、BGP 邻居与 OSPF 邻居的区别
OSPF 通常通过 Hello 自动发现直连邻居;BGP 通常需要手工指定:
text
bgp 65101
peer 10.0.0.0 as-number 65001
含义:
text
本地 AS:65101
邻居地址:10.0.0.0
邻居 AS:65001
BGP 手工指定邻居的原因:
- BGP 使用 TCP 179 建立会话;
- 需要明确邻居地址和邻居 AS;
- 强调路径控制和管理边界;
- 不像 OSPF 一样通过 Hello 自动发现。
我的回答
BGP 需要手动指定邻居。
回答正确。
五、BGP 传输协议与邻居状态
OSPF:
text
IP 协议号 89
最终邻居状态:Full
BGP:
text
TCP 179
最终邻居状态:Established
BGP 状态:
text
Idle → Connect → Active → OpenSent → OpenConfirm → Established
Idle:会话尚未正常启动或正在重新开始;Connect:尝试建立 TCP 连接;Active:TCP 连接失败或正在重试;OpenSent:已发送 BGP Open,等待参数协商;OpenConfirm:等待 Keepalive 确认;Established:BGP 会话建立并可以交换路由。
我的回答
BGP 的 Active 不是邻居正常活跃,通常反而表示会话没有建立成功。
回答正确。Active 通常是需要排查的状态,而不是"正常活跃"。
六、BGP 建邻排障
标准顺序:
text
1. 接口是否 up/up
2. 邻居 IP 是否能够 Ping
3. 路由表是否有到邻居地址的路由
4. TCP 179 是否被阻止
5. 本地 AS 和对端 AS 是否正确
6. 双方是否互相配置邻居
7. 地址族是否启用邻居
8. 源地址和 eBGP 多跳配置是否正确
9. 查看 BGP 状态和错误信息
直连 Ping 通不代表 BGP 一定能建立。eBGP 本来就要求两端 AS 不同;如果 AS 写错、TCP 179 被 ACL 阻止、地址族未启用或邻居配置不对,会话仍会失败。
常用命令:
text
display bgp peer
display bgp peer 10.0.0.0 verbose
display current-configuration configuration bgp
七、BGP network 与 OSPF network
这是今天最重要的区别之一。
OSPF
text
network 10.0.0.0 0.0.0.1
含义:
text
通配符匹配本机接口
→ 让接口运行 OSPF
→ 发送 Hello
→ 建立邻居
→ 将接口网络纳入 OSPF
BGP
text
network 3.3.3.3 255.255.255.255
含义:
text
精确检查本地路由表
→ 必须存在 3.3.3.3/32
→ 将该路由发布到 BGP
BGP network 不会:
- 给接口配置 IP;
- 让接口运行 BGP;
- 自动创建邻居;
- 自动创建不存在的路由。
我的回答
BGP
network不会给接口配置 IP、让接口运行 BGP、自动创建邻居、自动创建不存在的路由。
回答正确。
精确匹配原则
如果配置:
text
network 3.3.3.3 255.255.255.255
本地必须存在完全匹配的:
text
3.3.3.3/32
只有 3.3.3.0/24 而没有 /32 时,通常不能匹配发布。
八、BGP Next-Hop
BGP 路由中需要区分:
text
BGP 路径来源
BGP Next-Hop
IP 路由表下一跳
例如 Leaf2 从 Spine1 学到:
text
4.4.4.4/32
Next-Hop:10.0.0.4
表示 Leaf2 应先把数据交给 Spine1。
BGP 路由要进入 IP 路由表,Next-Hop 必须可达:
text
BGP 路由已收到
但 Next-Hop 不可达
→ 路由可能无法安装到 IP 路由表
基础链路、BGP 邻居和 Next-Hop 的关系是:
text
底层链路可达
→ BGP Established
→ 收到 BGP 路由
→ Next-Hop 可达
→ 路由进入 IP 路由表
九、BGP 路由选择属性
当前掌握的主要属性:
| 属性 | 常见作用 |
|---|---|
| Local Preference | 控制本 AS 出方向,通常越大越优 |
| Local Origin | 判断是否本地生成或引入 |
| AS Path | 路径选择和环路防止,通常越短越优 |
| Origin | 路由来源类型,通常 IGP 优于 EGP,EGP 优于 Incomplete |
| MED | 影响进入对端 AS 的路径,通常越小越优 |
| Next-Hop | 指示下一跳,必须可达 |
简化选择顺序:
text
丢弃不可用路径
→ 更高 Local Preference
→ 本地生成路由
→ 更短 AS Path
→ 更优 Origin
→ 更低 MED
→ eBGP 路径
→ 更近的 Next-Hop
→ Router ID 等最终条件
不同厂商和版本的完整细节可能不同,生产排障需要结合设备输出。
Local Preference
用于控制本 AS 内部的出口:
text
经 Spine1:200
经 Spine2:100
通常优先 Spine1。
记忆:
text
Local Preference 越大越优
AS Path
例如:
text
路径 A:65001 65010
路径 B:65002 65003 65010
通常路径 A 更优,因为 AS Path 更短。
AS Path 的两个核心作用:
- 参与路径选择;
- 防止路由环路。
如果设备收到的 AS Path 已经包含自己的 AS,通常会拒绝该路由。
MED
用于影响进入某个 AS 的路径,通常数值越小越优:
text
入口 1:MED 10
入口 2:MED 50
对端通常更偏向入口 1。
十、BGP ECMP
BGP ECMP 不能简单等同于 OSPF Cost 相等。通常需要:
- 多条路径到达同一前缀;
- 路径属性满足等价条件;
- Next-Hop 可达;
- 设备启用 BGP 多路径;
- 设备允许安装多条路径。
因此:
text
物理链路带宽相同 ≠ BGP ECMP 一定成立
BGP 路由表可能同时记录多条有效路径,但只有 Best 路径进入 IP 路由表;如果启用多路径并满足条件,才可能同时安装多个下一跳。
十一、路由策略与传播边界
BGP 的价值不仅是传递路由,还在于控制:
- 哪些路由允许发布;
- 哪些路由允许接收;
- 哪条出口优先;
- 哪些前缀禁止传播;
- 哪些属性需要修改。
常用工具:
text
Prefix-List
Route-Policy
AS-Path Filter
Community
Local Preference
MED
典型 AIDC 设计不会让所有设备无条件传播所有路由,因为可能造成:
- 路由数量膨胀;
- 路由环路风险;
- 错误路由扩散;
- 业务隔离失效;
- 故障影响范围扩大。
我的回答
限制某些前缀不能发布,应使用 BGP 路由策略;不能无条件传播所有路由,因为会造成路由数量膨胀、环路风险、错误扩散、业务隔离失效和故障影响范围扩大。
回答正确。
十二、课堂问答完整记录
1. eBGP 还是 iBGP?
我的回答:
Spine1 AS 65001、Leaf1 AS 65101,是 iBGP。
纠正:AS 不同,因此是 eBGP。
2. BGP 是否需要手动指定邻居?
我的回答:
BGP 需要手动指定。
回答正确。
3. 本地没有 Loopback 路由,BGP network 能否发布?
我的回答:
不能,没有 Loopback,没有目标地址。
回答正确。更准确是本地路由表没有与 network 完全匹配的前缀。
4. OSPF 和 BGP 的最终邻居状态?
我的回答:
BGP 是 Established。
补充完整:
text
OSPF:Full
BGP:Established
5. BGP 为什么适合大规模 AIDC?
我的回答:
BGP 会考虑多个路径属性。
回答方向正确。完整原因还包括策略能力、扩展性、自动化、AS 边界和 EVPN 衔接。
6. Local Preference 和 AS Path 哪个优先?
我的回答:
Local Preference 200 的路径优先,因为 Local Preference 优先。
回答正确。通常先比较更高 Local Preference,再比较 AS Path。
7. AS Path 相同后比较什么?
我的回答:
优先 Origin。
回答方向正确。不同实现的完整顺序可能略有差异,工程上还要关注 MED 等属性。
8. BGP 表有路由但 IP 路由表没有怎么办?
我的回答:
检查是不是最佳路径、Next-Hop 是否可达、是否安装到 IP 路由表。
回答正确。还需排查策略、其他协议优先级和路由实例。
9. BGP Established 是否代表 Loopback 已发布?
我的回答:
不一定,只说明邻居关系建立。
回答正确。
10. 物理链路带宽相同是否一定形成 BGP ECMP?
我的回答:
不一定,BGP 的 ECMP 不比较 Cost。
回答正确。还需满足路径属性等价、Next-Hop 可达、设备多路径能力等条件。
十三、今日仍需巩固的疑问
!question 后续实验重点
- BGP
Established但 Loopback 不通时,如何通过 Next-Hop 快速定位; - BGP Best Path 的完整厂商实现顺序;
- Local Preference、MED 和 AS Path 的实际策略配置;
- BGP 多路径在华为 VRP 上的具体配置;
- Prefix-List 与 Route-Policy 的具体语法;
- eBGP 使用 Loopback 建邻居时的多跳和源接口配置;
- BGP Underlay 如何衔接 VXLAN EVPN 地址族。
十四、今日核心记忆卡
text
AS 不同:eBGP
AS 相同:iBGP
OSPF 邻居最终状态:Full
BGP 邻居最终状态:Established
BGP 使用 TCP 179
Active 通常表示会话未建立成功
OSPF network:匹配接口
BGP network:匹配本地已有路由
Local Preference 越大通常越优
AS Path 越短通常越优
MED 越小通常越优
AS Path 含本地 AS:通常拒绝
BGP 路由进入 IP 表前 Next-Hop 必须可达
物理带宽相同不代表 BGP ECMP 一定成立
十五、下一课
第 5 天:BGP 路由策略与 EVPN 前置。
- Prefix-List 基础
- Route-Policy 基础
- Local Preference 策略
- AS Path Filter
- BGP 路由发布与过滤实验
- EVPN 地址族为什么使用 BGP
后续笔记:\[AIDC学习日志-第05天-BGP路由策略与EVPN前置]