浅谈 BGP 中的 Transit(中转)与 Peering(对等互联)

在学习 BGP 的过程中,经常会看到 Transit(中转)Peering(对等互联)Upstream(上游) 等术语。

很多资料都会解释它们的定义,但对于刚接触 BGP 的人来说,仍然容易混淆。

本文结合实际例子,介绍它们之间的区别,以及互联网为什么需要这两种互联方式。


什么是 Transit?

Transit 可以理解为:

花钱购买互联网接入服务。

例如,我们申请了自己的自治系统:

1
AS402309

如果想让自己的网络能够访问整个互联网,就必须找一家运营商作为自己的 Transit Provider(中转提供商)

例如:

1
2
3
4
5
6
 Internet

Transit Provider
AS17476

AS402309

这里:

  • AS17476 就是 AS402309 的上游(Upstream)
  • AS402309 每月支付 Transit 费用
  • AS17476 负责把整个互联网的路由提供给 AS402309

也就是说:

Transit Provider 会告诉你:”整个互联网我都能带你去。”

因此:

  • 可以访问 Google
  • 可以访问 Cloudflare
  • 可以访问 AWS
  • 可以访问世界上几乎所有网络

这就是 Transit。


什么是 Peering?

Peering 中文通常翻译为:

对等互联

假设:

1
AS402309  <------->  AS216458

双方建立了 BGP Peering。

它们约定:

  • 我告诉你我的网络
  • 你告诉我你的网络

双方互相访问彼此的网络。

但是:

不会帮对方访问整个互联网。

例如:

AS216458 可以访问:

1
AS402309

AS402309 也可以访问:

1
AS216458

但是:

1
2
3
4
5
AS216458

AS402309

Google

这种情况通常是不允许的。

因为:

AS402309 并不会把自己购买的 Transit 服务免费分享给 Peer。


为什么 Peer 不提供互联网中转?

原因其实很简单。

假设:

1
2
3
4
5
6
7
Google

AS17476

AS402309

AS216458

如果允许:

1
2
3
4
5
6
7
AS216458

AS402309

AS17476

Internet

那么:

AS216458 就不用购买 Transit 了。

所有互联网流量都走 AS402309。

最终:

  • AS402309 支付 Transit 费用
  • AS216458 免费使用

显然,这种商业模式无法成立。

因此互联网形成了一条经典规则:

Peer 不会免费提供 Transit。


Transit 与 Peering 的关系

很多人认为:

Peering 就是不转发流量。

其实这种说法并不准确。

更准确的说法应该是:

Peering 会转发流量,但只转发属于自己网络及客户网络的流量,而不会提供整个互联网的中转服务。

因此:

Peer 可以访问:

  • 对方自己的网络
  • 对方客户(Customer)的网络

但是:

不会访问:

  • 对方 Transit 学到的互联网路由

一个生活中的例子

其实 Transit 和 Peering 很像家庭宽带。

假设:

  • 我家 = AS402309
  • 邻居 = AS216458
  • 中国电信 = AS17476

那么:

1
2
3
4
5
6
7
8
9
  中国电信

(Transit)

我家

(Peering)

邻居家

Transit

我向中国电信办理宽带。

每个月交宽带费。

电信承诺:

全世界的网站都可以访问。

这就是 Transit。


Peering

后来:

我和邻居之间拉了一根网线。

双方约定:

  • 可以互相访问 NAS
  • 可以互相访问局域网资源

但是:

我不会说:

“以后你上互联网都走我家的宽带。”

邻居也不会说:

“以后你走我家的宽带。”

这就是 Peering。

也就是说:

Peering 是资源共享,而不是互联网共享。


为什么互联网需要 Peering?

如果没有 Peering:

访问邻居:

1
2
3
4
5
6
7
8
9
我家

电信

互联网

联通

邻居

可能需要绕很远。

如果双方直接建立 Peering:

1
2
3
4
5
我家

────────────

邻居

访问速度明显更快。

现实中:

Cloudflare、Google、Meta、Netflix 等大型网络都会在全球 Internet Exchange(IX)建立大量 Peering,就是为了降低延迟、减少 Transit 成本。


Transit 与 Peering 的区别

项目 Transit Peering
中文 中转、上游 对等互联
双方关系 Provider ↔ Customer Peer ↔ Peer
是否收费 通常收费 通常免费(也存在付费 Peering)
可访问范围 整个互联网 对方及其客户网络
是否提供互联网中转
主要目的 接入互联网 降低延迟、降低成本

为什么说所有 ISP 都离不开 Transit?

理论上:

如果一个新的 ASN:

1
AS65000

没有任何 Transit:

那么它只能访问:

1
自己

即使建立很多 Peer:

1
2
3
4
5
AS65000

Peer

很多网络

仍然无法访问整个互联网。

因此:

几乎所有小型 ISP 都至少拥有一个 Transit Provider。

而大型运营商则通常拥有:

  • 多个 Transit
  • 大量 Peering
  • 多个 Internet Exchange

共同组成自己的全球网络。


总结

可以把互联网理解成这样:

1
2
3
4
5
6
7
8
         整个互联网

Transit(上游)

你的 ASN
/ \
Peering Peering
Cloudflare Google

其中:

  • Transit 保证”哪里都能去”;
  • Peering 保证”常去的地方走最近的路”。

两者缺一不可。

也正是 Transit 与 Peering 的共同作用,构成了今天全球互联网复杂而高效的互联体系。