跳转到正文

驱动整个全球互联网运转的“终极外交官”:BGP 到底有多强大? ​

在前两课中我们学习的 OSPF 和 IS-IS,都是在一个组织或运营商内网中运转的“内部网关协议(IGP)”。它们的使命很纯粹:用最快的时间算出几何拓扑上的“最短路径”。

但设想一下,如果跨越国界与企业边界:

  • 中国电信想要把数据交给中国移动;
  • 某跨国银行需要把核心数据从香港分行传回伦敦总部;
  • 欧洲某国由于地缘政治原因,绝对禁止其本国流量经过特定第三国的路由器。

在这些错综复杂的跨国、跨大洲、跨商业利益的边界上,“谁的物理距离最短”根本不重要,“政策(Policy)、商业合同、政治边界与安全性”才是绝对的主宰!

能够驾驭这种全球万国互联、容纳全网 100 万条公网路由的唯一王者协议,就是——边界网关协议(BGP)(Border Gateway Protocol,边界网关协议)!


学完本课后,你将能够:

  1. 辨析 自治系统(AS)的概念,并识记 BGP 承载在可靠的 传输控制协议(TCP) 179 端口 之上的连接特性。
  2. 深刻理解 EBGP 与 IBGP 的差异,以及 IBGP 水平分割 为何必须依靠**路由反射器(RR)**来化解全互联危机。
  3. 分类掌握 BGP 丰富的路径属性:公认必遵(Origin、AS_Path 路径属性、Next_Hop)、公认自决(Local_Pref)与可选属性(MED)。
  4. 背诵 华为 ICT 大赛最顶级的考点口诀:华为 BGP 13 条黄金选路规则的前序关键顺序。

1. 互联网的积木:自治系统(AS)与 TCP 179 ​

1. 什么是自治系统(AS, Autonomous System)? ​

自治系统是指由同一个技术管理机构(如一个国家级运营商、一所顶级高校、一家跨国科技集团)统一管理的一组路由器的集合。

  • 每一个 AS 都有一个全球唯一的编号(AS 号,早期为 2 字节 1 ~ 65535,现代支持 4 字节)。
  • 私有 AS 号:64512 ~ 65534(类似于私网 IP,仅在内网使用,不可在公网路由)。

2. BGP 的底层:基于 TCP 179 端口 ​

与 OSPF 直接在 IP 上裸奔不同,BGP 是一个极其成熟稳重的“应用级”路由协议:

  • BGP 两端路由器在交换路由之前,必须首先经历 TCP 三次握手,在 TCP 179 端口上建立可靠连接!
  • 收益:BGP 本身无需再费心设计重传、分片与滑动窗口机制,全部交给强大可靠的 TCP 底层代劳。因此,BGP 邻居甚至不需要物理直连,哪怕中间隔了 10 台路由器,只要 IP 互相可达,就能跨越千山万水建立 BGP 对等体!

2. EBGP vs IBGP 与路由反射器(RR) ​

根据建立连接的两台路由器所处的 AS 归属,BGP 划分为两大家族:

BGP 架构与路由反射器图

1. EBGP(External BGP,外部 BGP) ​

  • 运行在不同自治系统之间的 BGP 对等体(例如 AS 100 的路由器与 AS 200 的路由器)。
  • 缺省要求物理直连(报文 TTL 默认强制定格为 1,防止外部恶意长程探测)。

2. IBGP(Internal BGP,内部 BGP) ​

  • 运行在同一个自治系统内部的 BGP 对等体。报文 TTL 默认为 255。

3. 核心机制:IBGP 水平分割与路由反射器(RR) ​

在 BGP 协议中,防环的核心依靠的是在公网上记录的 AS_Path 路径属性(经过的 AS 号列表)。如果收到一条路由发现里面赫然写着自己的 AS 号,路由器直接丢弃,天然杜绝了环路。

但是在 AS 内部传递时,AS_Path 是不会增加的!那 AS 内部怎么防环?

  • 协议规定了绝对铁律——IBGP 水平分割:

    “从一个 IBGP 邻居学到的路由,绝对不会再转发给其他任何 IBGP 邻居!”

  • 引发的灾难:如果 AS 内部有 100 台路由器,为了让所有人都学到路由,两两之间必须全部拉 TCP 连接,形成极其恐怖的全互联(Full-Mesh,需要建立 100×992=4950 条会话!),路由器内存瞬间被撑爆!

终极解法:路由反射器(RR, Route Reflector)

  • 将某台高性能核心路由器指定为“反射器(RR)”,其他路由器作为“客户机(Client)”。
  • 打破水平分割限制:客户机发给 RR 的路由,RR 可以名正言顺地“反射”给其他所有客户机!
  • 防环新机制:RR 在反射路由时,贴上两个新的属性标签——Originator_ID(始发者 Router-ID)与 Cluster_List(反射簇列表),只要发现自己的 ID 在上面就直接丢弃,兼具防环与轻量!

3. 丰富的兵器谱:BGP 核心路径属性 ​

BGP 之所以能实现极其复杂的商业策略,是因为每一条 BGP 路由条目后面都可以挂载十几个甚至几十个属性(Attributes):

属性大类属性名称传播范围与典型规则
公认必遵
(所有 BGP 节点必须识别且必须包含在 Update 中)
Origin(起源)路由生成来源:IGP > EGP > Incomplete (?)(如重分布引入为 Incomplete)。
AS_Path 路径属性记录所经 AS 序列。经过的 AS 数量越少越优! 同时充当 AS 间防环利剑。
Next_Hop(下一跳)到达目的网络的下一个 IP。EBGP 传给 IBGP 时,缺省不改 Next_Hop,需配 next-hop-local。
公认自决
(所有节点必须识别,但报文中可选携带)
Local_Pref(本地优先级)用于在 AS 内部指导出国流量。数值越大越优(缺省 100)。仅在 AS 内传播!
可选非过渡
(不强求识别,跨 AS 传递时不可转发)
MED(多出口度量值)用于告诉相邻的外部 AS “进入我本 AS 哪个入口最好”。数值越小越优(缺省 0)。
华为私有属性Preferred-Value(协议首选值)华为设备本地私有!只在本地路由器有效,绝不传给任何邻居。数值越大越优!

4. 华为 ICT 大赛真题王牌:BGP 黄金选路 13 条法则 ​

当 BGP 路由器为同一个网段收到了多条来自不同方向的有效路由时,它绝不随波逐流,而是像严苛的裁判一样,按照以下顺序逐项硬碰硬比对,直到分出胜负(前八项为历年省赛初复赛绝杀考点!):

  1. 第一条:比 Preferred-Value:优先比较华为私有的协议首选值,数值最大者胜出!
  2. 第二条:比 Local_Pref:优先选择本地优先级最高的路由,数值最大者胜出!
  3. 第三条:比路由始发者:本地手工生成的路由(如 network 或汇总)优于从邻居学来的路由。
  4. 第四条:比 AS_Path:优先选择 AS_Path 长度最短 的路由!
  5. 第五条:比 Origin 属性:起源类型越优质越好,规则为 IGP > EGP > Incomplete (?)。
  6. 第六条:比 MED:对于来自同一相邻 AS 的路由,优先选择 MED 最小 的路由!
  7. 第七条:EBGP 优于 IBGP:外部学来的路由(EBGP)优先于从自家兄弟学来的(IBGP)。
  8. 第八条:比到 Next_Hop 的内部 IGP 开销:在本地路由表中,查找到达该下一跳 IP 的 IGP(OSPF/IS-IS)Cost,Cost 最小者胜出!
  9. 依次比对 Cluster_List 长度、Router-ID 最小、对等体 IP 地址最小...

华为大赛 10 秒选路口诀

“首选(Pref-Val)本(Local_Pref)地始(始发),AS(AS_Path)起(Origin)点 MED;外(EBGP)部优于内部走,下(Next_Hop)跳近者 Router-ID 评。”


5. 课后核心测验 ​

华为 ICT 大赛 2024–2025 省初赛 · 真题 · 单选

在华为网络设备运行 BGP 协议进行最佳路径优选时,当遇到同一目的地的多条有效路由,以下五项属性的比较先后顺序应该是?

真题衍生 · 判断题 · 单选

为了防止 AS 内部发生路由环路,BGP 规定了“IBGP 水平分割”规则:从一个 IBGP 邻居学到的路由,绝对不会再通告给其他任何 IBGP 邻居。这直接导致大型网络内部如果不用路由反射器(RR),就必须建立全互联(Full-Mesh)。

6. 下一步学习 ​

从 RSTP、MSTP、OSPF、IS-IS 到 BGP,大型网络的骨干路由体系已经全面成型。

但在现实的生产网中,光纤随时可能被挖断、主路由器的电源模块可能会老化短路。如何确保当主网关在 10 毫秒内突然暴毙时,用户的网络连接丝毫不受影响?

下一课,让我们学习网络工程中最高境界的高可靠性设计——第 37 课 · 网络高可用:VRRP、BFD 与链路热备!