首页/计算机网络/04-network/BGP协议 🔗 在 Obsidian 中打开
计算机网络 · 04-network

BGP协议

难度 ★★★重要度 ★★★★★ 考查频率 低题型 选择 / 简答 BGP边界网关协议AS路径向量eBGPiBGP
速查
BGP(边界网关协议)是唯一的外部网关协议(EGP),用于 AS 之间的路由,基于策略而非最短路径。它使用路径向量记录经过的 AS 序列,既能选路又能检测环路;BGP 路由器间通过 TCP 端口 179 交换路由。

核心概念

BGP 概述

  • 边界网关协议(Border Gateway Protocol):唯一的外部网关协议(EGP)
  • 用于AS 之间的路由(与 OSPF/RIP 等 IGP 不同)。
  • 基于策略而非最短路径选择路由;当前版本 BGP-4

为什么 AS 间不用 OSPF / RIP

1. 策略需求:AS间路由需要考虑商业策略(如:不经过竞争对手的AS)
2. 可扩展性:OSPF需要完整拓扑,AS间无法共享
3. 信任问题:不同AS之间不完全信任
4. 度量差异:不同AS可能使用不同的IGP
考点记住 BGP 是 EGP、工作在 AS 之间、策略路由而非最短路径,是常考区分点。

BGP 工作原理

BGP 会话

BGP路由器之间建立TCP连接(端口179)
通过TCP可靠地交换路由信息

两种会话类型:
- eBGP(外部BGP):不同AS之间的BGP会话
- iBGP(内部BGP):同一AS内部的BGP会话

路径向量(Path Vector)

BGP 不使用距离向量或链路状态,而是记录到达目的网络所经过的 AS 序列

路由表项示例:
目的网络: 10.0.0.0/8
AS路径:   AS2 → AS3 → AS4
下一跳:   R3的IP
环路检测当收到的路径向量中已含自己的 AS 号 → 判定为环路,丢弃该路由。

路由属性

必遵属性:
- AS-PATH:经过的AS序列
- NEXT-HOP:下一跳路由器IP
- ORIGIN:路由信息来源

可选属性:
- LOCAL_PREF:本地优先级(iBGP使用)
- MED:多出口鉴别器(eBGP使用)
- COMMUNITY:团体属性

BGP 路由选择

选择过程(依次比较)

1. 选择 LOCAL_PREF 最高的路由
2. 选择 AS-PATH 最短的路由
3. 选择 ORIGIN 类型最低的路由
4. 选择 MED 最低的路由
5. 选择 eBGP 路由(优先于 iBGP)
6. 选择到 BGP 下一跳最近的路由
7. 选择 Router ID 最小的路由

注:不同厂商的实现可能略有差异
特点不是最短路径而是策略路由;只传播可达性信息(不传完整拓扑);增量更新只发变化的路由。

eBGP vs iBGP

特性eBGPiBGP
会话对象不同 AS同一 AS
TTL1(直连)255(可跨多跳)
路由传播传播到所有 BGP 邻居只传播给 iBGP 邻居(不反射)
属性修改可修改 AS-PATH 等通常不修改

常见考法

题型分布BGP 的作用、BGP vs IGP、AS-PATH 作用、eBGP vs iBGP 是高频选择/简答点。
考点说明
BGP 的作用AS 间的路由协议(唯一 EGP)
BGP vs IGP策略路由 vs 最短路径
AS-PATH 的作用路由选择和环路检测
eBGP vs iBGP会话对象和路由传播

易错点

必记
  • BGP 不是找最短路径,而是基于策略选择。
  • BGP 使用 TCP 连接(端口 179),不是 UDP。
  • AS-PATH 最短指经过的 AS 数最少,不等于跳数最少。
  • BGP 的"路径向量"不同于 RIP 的"距离向量"。

核心结论

  1. BGP 是唯一的 EGP,用于 AS 之间的路由。
  2. BGP 使用 TCP 连接,基于策略而非最短路径。
  3. AS-PATH 用于路由选择和环路检测
  4. eBGP 用于 AS 间,iBGP 用于 AS 内传播 BGP 路由。

记忆卡片

BGP 的作用?
AS 之间的路由协议(唯一的 EGP)。
BGP 使用什么传输协议?
TCP(端口 179)。
AS-PATH 的作用?
路由选择(选最短 AS 路径)+ 环路检测(出现自己 AS 号→环路)。
BGP 与 OSPF 的核心区别?
BGP 基于策略路由,OSPF 基于最短路径。

交互动画 · 路径向量传播

AS4 AS3转发 AS2转发 AS1接收 路径向量:—
点击「播放传播」观察路径向量如何在 AS 间逐跳追加
提示:若收到的路径向量中已含自身 AS 号,则判定为环路并丢弃

相关知识点

hierarchical-routing link-state-ospf distance-vector-rip

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。