Skip to content

2026-05-27 · 网络技术

为什么需要 BGP?

互联网并不是一张网,而是成千上万个自治系统(AS, Autonomous System)相互连接组成的。每个运营商、大型企业、云厂商都有自己的 AS 编号。问题来了——这么多 AS 之间,怎么知道去某个 IP 该走哪条路?

这就是 BGP(Border Gateway Protocol,边界网关协议)要做的事。

BGP 在骨干网里的角色

运营商的骨干网是国家乃至全球互联网的主干道。BGP 在骨干网里扮演三个核心角色:

1. 跨运营商互联:eBGP

中国电信(AS4134)、中国联通(AS4837)、中国移动(AS9808)三大运营商之间,通过 eBGP 交换路由信息。你访问另一个运营商的服务器时,数据包就靠这些 BGP 路由找到出口。

一个典型的 BGP 路由条目长这样:

Network          Next Hop       Path
1.1.1.0/24       202.97.x.x     4134 4837 13335 i

这里的 Path 就是 AS 路径——数据包要依次穿过电信(4134)、联通(4837),最后到达 Cloudflare(13335)。

2. 域内路由:iBGP

运营商内部的路由器之间用 iBGP 同步外部路由。通常配合 IGP(OSPF 或 IS-IS)使用——IGP 负责路由器之间的连通性,iBGP 负责传递路由条目。

一个重要原则:iBGP 邻居之间必须全互联(full mesh),或者使用路由反射器(Route Reflector)来打破全互联的限制。

3. 流量工程和策略控制

BGP 最强大的地方在于它不只是"选最短路径",而是可以基于各种策略做流量调度:

  • Local Preference — 控制出站流量走哪个出口
  • MED(Multi-Exit Discriminator) — 告诉对端运营商,从哪个入口进来
  • AS Path Prepending — 故意加长 AS 路径,让某些链路变成"备选"
  • Community — 给路由打标签,批量控制

BGP 宣告黑洞与互联网"断网"

你也许见过新闻:某国互联网突然断开。这类事件在技术层面通常是该国的 AS 停止向全球宣告其 IP 前缀——不宣告 BGP 路由,外面的世界就找不到进来的路。

同时,误宣告他人的 IP 前缀也可能造成流量劫持,这也是 BGP 安全(RPKI)一直在推进的方向。

小结

场景用什么
运营商之间交换路由eBGP
运营商内部传递外部路由iBGP + Route Reflector
流量调度、多出口选路BGP 策略(LP/MED/Community)
宣告 IP 地址给全球互联网BGP Announcement

BGP 协议本身快 30 年了,至今仍是互联网的基石协议之一。理解它是理解整个互联网路由体系的第一步。

由 VitePress 强力驱动