10. 多自治系统骨干网
10. 多自治系统骨干网 (Multi-AS Backbones)
如果一个 VPN 的两个站点连接到不同的自治系统(Autonomous System,简称 AS)(例如,因为这两个站点连接到不同的 SP),会怎样?附着于该 VPN 的 PE 路由器将无法彼此维护 IBGP 连接,也无法与某个公共的路由反射器维护 IBGP 连接。相反,需要某种方式来使用 EBGP 分发 VPN-IPv4 地址。
处理这种情形有若干种不同方式,我们按可扩展性递增的顺序逐一介绍。
a) AS(自治系统)边界路由器处 VRF 到 VRF 的连接。
在这一过程中,一个 AS 中的一台 PE 路由器直接连接到另一个 AS 中的一台 PE 路由器。这两台 PE 路由器将经由多条子接口(sub-interface)相连,对于其路由需要从一个 AS 传递到另一个 AS 的每个 VPN,至少有一条子接口。每台 PE 都会把对端当作一台 CE 路由器来对待。也就是说,这些 PE 将每条这样的子接口与一个 VRF 相关联,并使用 EBGP 相互分发未加标签的 IPv4 地址。
这是一个"直接可用"的过程,且不需要在 AS 边界处使用 MPLS。不过,它的可扩展性不如下文讨论的其他过程。
b) 从一个 AS 到相邻 AS 的带标签 VPN-IPv4 路由的 EBGP 重新分发。
在这一过程中,PE 路由器使用 IBGP 将带标签的 VPN-IPv4 路由重新分发到一台自治系统边界路由器(ASBR),或者分发到一台以 ASBR 为客户端的路由反射器。该 ASBR 随后使用 EBGP 将这些带标签的 VPN-IPv4 路由重新分发给另一个 AS 中的 ASBR,后者再将它们分发到该 AS 中的 PE 路由器,或者可能再分发到另一台 ASBR,由其继续分发,依此类推。
使用这一过程时,VPN-IPv4 路由只应作为 SP 之间一种可信(trusted)安排的一部分,在私有对等点(private peering point)处的 EBGP 连接上被接受。VPN-IPv4 路由既不应被分发到公共互联网,也不应从公共互联网、或从任何不可信的 BGP 对等体处被接受。除非一台 ASBR 确实已将栈顶标签分发给某个 EBGP 对等体,否则它绝不应该从一个 EBGP 对等体处接受一个带标签的报文。
如果存在许多拥有连接到不同自治系统的站点的 VPN,那么在这两个站点之间并不需要有一台持有所有这些 VPN 全部路由的单一 ASBR;可以有多个 ASBR,其中每一个只持有 VPN 的某个特定子集的路由。
这一过程要求存在一条从报文的入向 PE 通往其出向 PE 的标签交换路径。因此,沿途这组 AS 之间必须存在恰当的信任关系。此外,这组 SP 之间必须就哪些边界路由器需要接收带有哪些路由目标属性的路由达成一致。
c) 源 AS 与目标 AS 之间带标签 VPN-IPv4 路由的多跳 EBGP 重新分发,同时伴随从 AS 到相邻 AS 的带标签 IPv4 路由的 EBGP 重新分发。
在这一过程中,ASBR 既不维护也不分发 VPN-IPv4 路由。一台 ASBR 必须维护通往其 AS 内各 PE 路由器的带标签的 IPv4 /32 路由。它使用 EBGP 将这些路由分发到其他 AS。任何中转 AS 中的 ASBR 也必须使用 EBGP 来传递这些带标签的 /32 路由。这就创建出一条从入向 PE 路由器到出向 PE 路由器的标签交换路径。现在,不同 AS 中的 PE 路由器可以相互建立多跳 EBGP 连接,并可以在这些连接上交换 VPN-IPv4 路由。
如果 PE 路由器的 /32 路由对各个 AS 的 P 路由器是可知的,那么一切正常。如果 PE 路由器的 /32 路由对 P 路由器(ASBR 除外)是未知的,那么这一过程要求报文的入向 PE 在其上压入一个三层标签栈(three-label stack)。最底层的标签由出向 PE 分配,对应于某个特定 VRF 中报文的目的地址。中间的标签由 ASBR 分配,对应于通往出向 PE 的 /32 路由。栈顶标签由入向 PE 的 IGP 下一跳分配,对应于通往 ASBR 的 /32 路由。
为改善可扩展性,可以让多跳 EBGP 连接只存在于一个 AS 中的路由反射器与另一个 AS 中的路由反射器之间。(不过,当路由反射器经此连接分发路由时,它们不会修改这些路由的 BGP 下一跳属性。)实际的 PE 路由器则只需与它们自己 AS 内的路由反射器建立 IBGP 连接。
这一过程与第 9 节描述的"运营商的运营商"过程非常相似。与前一过程一样,它要求存在一条从报文的入向 PE 通往其出向 PE 的标签交换路径。