MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1...

39

Transcript of MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1...

Page 1: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成
Page 2: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.1 案例研究:基本 MPLS/VPN 内部网络服务 143

第9章

MPLS/VPN 技术

架构的运作方式

前面章节中介绍了构成 MPLS/VPN 技术架构的关键机

制和特性。其中学习到 VPN 服务是通过使用虚拟路由和转

发实例(VRF)建立的,VRF 中定义了 VPN 客户的路由信

息,这些路由信息是通过使用路由目标 BGP 扩展团体属性

的输入机制获得的。通过使用路由区别符唯一地识别 VPN路由信息,并在服务提供商边缘路由器,也就是提供商边缘

(PE)路由器之间,使用多协议 BGP 扩展团体属性分发 VPN路由信息。

在读者清楚地理解 MPLS/VPN 技术架构的基本概念之

后,便能够理解如何提出设计方案,并通过配置服务提供

商主干网的基础设施来部署该架构。读者还会学到实现上

述目标所需机制的详细内容,以便能够完全理解这种技术

架构是如何实现的。本章着重于这些目标,并更加详细地

描述这些机制,其中一些机制已在第 8 章中介绍了其基本

格式。 本章还介绍了部署 MPLS/VPN 必需的基本配置步骤。为了

更好地解释这些配置步骤,利用案例研究来说明基本的内部网

拓扑。这个案例研究着重说明基本 VPN 服务,并不涉及高级特

性的部署。为了简明易懂,第 10 章覆盖了更多的高级配置步骤,

以及 VPN 客户到服务提供商的连通性选项(使用在某些

MPLS/VPN 架构环境中)。

Page 3: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

144 第 6 章 IP 记账

PE 路由器有两个路由通告方面的需求。 向直连的 CE 设备通告路由。 向 MPLS/VPN 主干网通告从 CE 设备学到的路由。 本章仅涉及第 2 个要求,说明在 MPLS/VPN 主干网中,PE 路由器之间如何传播

路由。第 10 章将涉及第 1 个要求。

注释:RFC 2547bis“BGP/MPLS/VPN”完整描述了 MPLS/VPN 技术架构的概念。

9.1 案例研究:基本 MPLS/VPN 内部网络服务 同一机构多个站点之间的内部网络是使用 MPLS/VPN 技术构架部署的最简单

VPN 拓扑之一。该拓扑是基本的 VPN 网络结构,它可以使用第 7 章中介绍的增强对

等模型,实现站点之间任意到任意的连通性。构建内部网络拓扑所使用的机制也可以

用来添加更多的高级服务和连通性要求。 图 9-1 显示了这类拓扑的案例,本章以此作为案例研究的环境。

图 9-1 基本 MPLS/VPN 内部网络拓扑结构

如图 9-1 所示,SuperCom MPLS/VPN 主干网有两个 VPN 客户:欧洲银行和快餐

公司。欧洲银行在旧金山、纽约和巴黎有站点。快餐公司在圣荷塞、纽约和里昂有站

点。SuperCom MPLS/VPN 主干网通过一条 CE 到 PE 的连接,为这两个客户的所有站

Page 4: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.2 VRF 配置 145

点提供任意到任意、非冗余的内部网络 VPN 服务。 SuperCom 服务提供商通过 RIP 版本 2 和静态路由,从 VPN 客户学习路由。欧洲

银行旧金山站点和快餐公司圣荷塞站点都使用RIP版本 2与MPLS/VPN主干网进行通

信,快餐公司里昂/纽约站点和欧洲银行巴黎/纽约站点使用静态路由。 表 9-1 列出两个 VPN 客户的地址空间,以及 SuperCom 主干网用于 BGP 会话的

环回接口地址。

表 9-1 VPN 客户和服务提供商环回地址的地址空间

公司 站点 子网

快餐公司 圣荷塞 195.12.2.0/24

纽约 10.2.2.0/24

里昂 10.2.1.0/24

欧洲银行 旧金山 10.2.1.0/24

纽约 10.1.2.0/24

巴黎 196.7.25.0/24

SuperCom 巴黎(环回接口 0) 194.22.15.1/32

圣荷塞(环回接口 0) 194.22.15.2/32

纽约(环回接口 0) 194.22.15.3/32 请按照以下步骤在 MPLS/VPN 主干网中部署该 VPN 服务。 1.定义并配置 VRF。 2.定义并配置路由区别符。 3.定义并配置输入和输出策略。 4.配置 PE 到 CE 链路。 5.将 CE 接口关联到预先定义的 VRF。 6.配置多协议 BGP。 本章后面的内容将详细介绍这些结构,读者可以遵循 SuperCom 圣荷塞 PE 路由器

的配置(见图 9-1)学习如何部署基本 MPLS/VPN 架构。

9.2 VRF 配置 基于 MPLS 架构部署 VPN 服务的第一步是定义并配置虚拟路由和转发实例

(VRF)。第 8 章详细介绍了 VRF。 在案例研究中,这一步意味着为 VPN 客户欧洲银行和快餐公司配置 VRF。将

MPLS/VPN 主干网中的每台 PE 路由器连接到相应站点,使 PE 路由器可以从特定的

Page 5: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

146 第 6 章 IP 记账

VPN 接收路由,因此 PE 路由器必须为该 VPN 配置相应的 VRF。因为 SuperCom 圣荷

塞、纽约和巴黎 PE 路由器都连接了欧洲银行和快餐公司的站点,因此所有 PE 路由器

都需要为具体的 VPN 客户配置相应 VRF。 可以使用命令 ip vrf vrf-name 完成该配置。例 9-1 显示了 SuperCom 圣荷塞 PE 路

由器中快餐 VRF 的配置。 例 9-1 VRF 配置

注释:命令 ip vrf vrf-name 中定义的 VRF 名称是大小写敏感的。

例 9-1 所示的命令创建了适当的 VRF 和唯一的 CEF 路由和转发表。然而,VRF

的配置还没有完成,它还未包含任何路由。必须继续配置 VRF,使其为路由和转发表

提供路由,并创建相关联的 MPLS 标签。 输入命令 ip vrf vrf-name 后,路由器进入 vrf 配置子模式。这时可以配置与该 VRF

相关的参数,比如路由区别符以及输入和输出策略。 例 9-2 显示了初始的配置,其中包括建立所有与 SuperCom 圣荷塞 PE 路由器相关

的 VRF。 例 9-2 SuperCom 圣荷塞 PE 路由器中初始的 VRF 配置

9.3 路由区别符和 VPN-IPv4 地址前缀 前一章明确了在 MPLS/VPN 主干网 PE 路由器之间通告客户 VPN 路由的需求,

以及向特定 VPN 路由表(称为 VRF)中输入路由的需求。还明确了外部网关协议(BGP)是实现这一目标的路由协议,原因是它处理大量路由信息的能力,并且无需对协议进

行大规模修改就可以携带可选参数(称为属性)的灵活性。这些方面使 BGP 的适应性

非常强,并非常适合与 MPLS/VPN 技术架构结合使用。 标准格式的 BGP 只能处理 IPv4 路由。在 MPLS/VPN 架构中,由于每个 VPN 都

必须能够使用(尽管也可以不这样使用)与其他 VPN 相同的 IP 前缀(如果它们之间

不需要通信的话),因此有必要在 IPv4 地址前添加一个路由区别符。这就需要使用 BGP协议的扩展,这样 BGP 路由器才能够识别这些带有非标准 IPv4 前缀信息的路由更新。

多协议(MP-BGP)和 VPN-IPv4 路由信息提供了这些扩展。

Page 6: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.3 路由区别符和 VPN-IPv4 地址前缀 147

注释:尽管可以将 MP-BGP 用于内部和外部对等体,但本章将该协议称为 MP-iBGP,因为 PE

路由器之间的会话是在同一 MPLS/VPN 域中通过内部 BGP(iBGP)建立的。

尽管 MP-iBGP 能够提供识别和传播非 IPv4 路由信息的能力,但在学习中首先需

要研究的是如何呈现 VPN 路由,并且如何在多组 VPN 客户之间唯一地表示每条路由。

只有这样,PE 路由器中的 BGP 决策进程才能够将不同的 VPN 信息相互分离;只有相

匹配路由才被放到相同的路由选择进程中。路由区别符和 VPN-IPv4 地址(详情请见

第 8 章)提供了这一功能。 前文中已经提到,MPLS/VPN 架构的要求之一就是在主干网中保持所有客户路由

的唯一性,但并不限制它们使用的私有 IP 地址范围。只有这些路由都是唯一的,

MP-iBGP 才能够将拥有相同前缀,却来自不同 VPN 的路由当作不相匹配的路由进行

处理。 MP-iBGP(与标准 BGP-4 相同)在所有可能的路径中选择单独的一条路径,这些

可能的路经分别描述了去往给定目的地(网络和掩码)的一条路径。因此,当多个客

户使用相同的地址空间时(这种情况会发生在使用私有地址的案例中),仅靠 MP-iBGP是无法正常工作的。

图 9-2 显示出 SuperCom 纽约 PE 路由器在收到两条相同 IPv4 更新时所面临的问

题。在这个案例中,PE 路由器根据标准的 BGP 决策进程,在这两条路由中选择出最

优路由。这意味着需要一个机制,即使路由携带相同的 IPv4 网络层可达信息(NLRI),也能够使 MP-iBGP 对属于不同 VPN 的相同(相互匹配)路由进行区分。

Page 7: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

148 第 6 章 IP 记账

图 9-2 PE 路由器中的 BGP 路由比较

这个机制在 MP-iBGP 更新中的 IPv4 地址前添加 64 比特序列,这个比特序列称为

路由区别符,它根据每个 VPN(或 VPN 中的子站点)有所区别,这就使所有 VPN 中

包含的地址在整个 MPLS/VPN 主干网中是唯一的。若两个 IPv4 地址拥有相同的网络

和掩码,但路由区别符不同,则 BGP 认为这两个 IPv4 地址不相匹配。 正如第 8 章中讨论的,VPN-IPv4(或 VPNv4 地址)由 IPv4 地址和路由区别符组

合而成。这种路由区别符和 IPv4 地址的组合,使 IPv4 路由在整个 MPLS/VPN 网络中

全局唯一。图 9-3 显示 PE 路由器如何区分两个相同的 IPv4 路由,并将它们看作是属

于不同 VPN 的路由条目。

Page 8: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.3 路由区别符和 VPN-IPv4 地址前缀 149

图 9-3 PE 路由器中的 VPN-IPv4 路由比较

如图 9-3 所示,当纽约 PE 路由器从圣荷塞 PE 路由器和巴黎 PE 路由器接收到关

于 10.2.1.0/24 的更新时,它会将这些更新看作不相匹配,因为在地址前添加了路由区

别符。从圣荷塞 PE 路由器接收到的更新前缀为 100:26:10.2.1.0/24,从巴黎 PE 路由器

接收到的更新前缀为 100:27:10.2.1.0/24。例 9-3 显示出这些路由在纽约路由器中的显

示方式。 例 9-3 PE 路由器中的 VPN-IPv4 路由比较

尽管路由区别符机制提供的解决方案允许不同的 VPN 客户使用相同的私有编址

Page 9: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

150 第 6 章 IP 记账

计划,但它并不能解决相同 VPN 中的多个用户为各自站点使用相同编址计划的问题。

图 9-4 说明了路由区别符对此问题无能为力的原因。

图 9-4 VPN 中使用相私有地址的问题

如图 9-4 所示,纽约 PE 路由器从两个不同的 VPN 接收到有关子网 10.2.1.0/24 的

MP-iBGP 更新,本例中的两个VPN 分别是欧洲银行VPN 和快餐公司VPN。欧洲银行VPN配置为输入包含路由目标 100:26 或 100:27 的所有路由。这意味着它将输入所有从欧洲银行

VPN或快餐公司VPN接收到的路由,因为这两个VPN使用这些路由目标输出各自的路由。 纽约 PE 路由器比较这两条路由,并决定将哪一条输入欧洲银行 VPN 中;根据被

选中的那条路由,会失去与另一 VPN 站点的连通性。比如,若纽约 PE 路由器认为对

于 10.2.1.0/24 来说,从巴黎 PE 路由器接收到的 MP-iBGP 更新是最优路径的话,则将

丢失从欧洲银行纽约站点到欧洲银行旧金山站点中子网 10.2.1.0/24 的连通性。出于这

个原因,若 VPN 站点中使用相同的地址集,MPLS/VPN 架构的设计将使用重复地址

范围的情景限定为不穿越 MPLS 网络相互通信的 VPN。

注释:不能使用重复的地址范围并不是 MPLS/VPN 技术架构的限制。若将相同的一组路由用于不

同的 VPN 站点,在标准 IP 路由情景中也会出现这个问题。若 VPN 之间需要完整的连通性,则地

址范围应该唯一,或者可以部署网络地址转换(NAT)。

Page 10: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.3 路由区别符和 VPN-IPv4 地址前缀 151

配置路由区别符 PE 路由器配置中的每个 VRF 都需要一个与之相关联的路由区别符,这个路由区别

符可能关联也可能不关联一个特定的站点或该站点特定的 VPN 成员。在最常见的情景

中(站点仅属于一个内部网 VPN),从技术层面上看,为该 VPN 使用唯一的路由区别

符是可能的,并且也是推荐的。然而,若这个站点将来有可能成为一个内部网 VPN 的

成员,请不要使用这个方法,因为在部署外部网 VPN 时,该方法可能会引起配置问题。 比如,假设为每个 VPN 使用了不同的路由区别符。若一个特定站点想要成为多个

VPN 的成员,将无法识别将哪个路由区别符用于该站点,因为该站点属于多个 VPN。 因此,对于除简单内部网模型以外的网络拓扑来说,使用基于VRF 的路由区别符,而

不是基于 VPN,可以避免上述配置冲突的发生,也可以降低 PE 路由器的内存需求。在外

部网VPN 的案例中,这意味着不管VRF 属于哪个VPN 站点,它都使用相同的路由区别符。 在部署某类拓扑时,也许需要将每 VRF 一个路由区别符模型扩展为另一种方案,

也就是为 VPN 中的每一个 VRF 使用唯一的路由区别符。星型拓扑或公共服务拓扑(详

情请见第 11 章)就是这种类型的拓扑。这类拓扑有时需要每个分支站点(或公共服务

的一个用户)使用不同的路由区别符,这取决于该拓扑对中心 PE 路由器而言是分布

的还是本地的。 必须为 PE 路由器中的每个 VRF 分配一个特定的值用于路由区别符。这个值的结

构既可以是 ASN:nn,又可以是 IP 地址:nn。建议使用 ASN:nn,其中 ASN 是自治系统

号,它是由 Internet 编号分配机构(IANA)分配的,因此在服务提供商之间是唯一的。

仅当 MPLS/VPN 网络使用私有 AS 号,但 VPN-IPv4 地址传播到私有 AS 外部时(比

如,不同的服务提供商之间交换 VPN 路由),才使用 IP 地址:nn 格式。 由于使用 VRF 中所含路由的客户也可以连接到其他 MPLS/VPN 服务提供商,将

服务提供商的 ASN 作为路由区别符格式中的前两字节是很重要的,需要避免在不同

MPLS/VPN 域中使用相同的 VPN-IPv4 地址。

注释:即使使用 ASN:nn 作为路由区别符的格式,也要注意路由区别符并没有语言上的意义,它

只是被 BGP 解释为一个比特序列(整个 VPN-IPv4 地址的一部分)。

路由区别符的第 2 部分由服务提供商指定。正如前面建议的,通常这些值应该对

于每个 VRF 都是唯一的,虽然在某些情况下,比如在本章的简单内部网案例中,这些

值可以对于每个 VPN 客户是唯一的。对于这种简单的拓扑,没有必要使用不同的路由

区别符,因为没有潜在的路由问题(由于路由区别符的分配错误导致的)需要解决。

因此,在案例研究中,可以根据接口所连接的 VPN 客户,分配路由区别符。这意味着

所有属于特定内部网 VPN(或者更准确地说,包含其路由)的所有 VRF,都使用相同

Page 11: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

152 第 6 章 IP 记账

的路由区别符。表 9-2 列出了分配给 SuperCom 的每个 VPN 客户的值。

表 9-2 SuperCom 路由区别符定义

VPN 客户 服务提供商 ASN 唯一的值 路由区别符

快餐公司 100 26 100:26

欧洲银行 100 27 100:27

可以在 vrf 配置子模式下,使用命令 rd ASN:nn|IP-address:nn 为 VRF 配置路由区

别符,如例 9-4 所示。该案例还显示出为这个 VRF 所创建的唯一的路由表。

例 9-4 路由区别符配置案例

SuperCom 纽约 PE 路由器和巴黎 PE 路由器也需要同样的配置。例 9-5 显示了

SuperCom 圣荷塞 PE 路由器上的附加配置。

例 9-5 SuperCom 圣荷塞 PE 路由器配置—添加 RD

9.4 BGP 扩展团体属性 从前文中已经知道,每台 PE 路由器从 MPLS/VPN 主干网和与其相连的客户站点

学习路由。这些路由会分别被放入与 VPN 相关的路由表中。PE 路由器会将所有从客

户站点学来的路由通过 MP-iBGP,通告到 MPLS/VPN 主干网中,并将所有从 MP-iBGP学来的路由放到相应的 VRF 中。为此,每台 PE 路由器需要知道一些信息,以便处理

其接收到的每条路由。这些信息不仅告诉 PE 路由器,路由应被放入哪个 VRF;还告

Page 12: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.4 BGP 扩展团体属性 153

诉 PE 路由器,当向其他 PE 路由器通告这些路由时,应在路由上添加什么信息。 第 8 章介绍了路由目标的概念,并简要说明这个实体如何决定哪个 VRF(也就是

哪个站点)应该接收相应路由。尽管路由目标能够提供识别哪些 VRF 应接收哪些路由

的机制,但它并没有提供能够防止路由环路的功能。当从某站点学习到的路由被再次

通告给该站点时,就会出现路由环路。为了防止出现这种情况,MPLS/VPN 技术架构

中出现了另一个概念—源站点(SOO,Site of Origin),它标识了路由是由哪个站点

发起的,因此该站点不应该从其他任何 PE 路由器接收该路由。

注释:若MPLS/VPN 主干网实施了网络分区,则不需要SOO。因为在这种情况中,从站点的一个分

区接收到的路由,应该被通告到位于不同PE 位置的该站点的另一个分区中。

BGP 扩展团体属性将这两个概念都应用在 MPLS/VPN 架构中。该属性可以在 IETF

网站 http://www.ietf.org 找到介绍该属性的草案“draft-ramachandra-bgp-ext-communities”。 该草案定义了一个新的传输型可选 BGP 属性,其中包括一组扩展团体属性,该扩展

团体属性定义了 VPN-IPv4 地址是从哪个站点学到的(也就是路由源)以及该向哪些路由

器输出路由(也就是路由目标)。扩展团体属性实现了封闭用户组功能,PE 路由器可以通

过配置来设置扩展团体属性,基于每站点/VRF 来定义路由的输入和输出策略。在深入了

解该属性之前,应该先简要回顾一下它是如何在 MPLS/VPN 架构中运作的。

9.4.1 路由目标 BGP 扩展团体属性 如前所述,BGP 扩展团体属性草案指定了两个新的团体属性,分别定义为路由目

标和路由源。在有关该草案的 Cisco 实施方案中使用了这两个团体属性。在 Cisco 实

施方案中路由源也称为 SOO,它用于预防站点间的路由环路;路由目标扩展团体属性

则定义了特定 VRF 所使用的输入和输出策略。 在BGP 路由中附加扩展团体属性的方式,与在BGP 路由中附加标准BGP 团体属性或

任何其他BGP 属性的方式相同。MP-iBGP 更新在 PE 路由器之间,将扩展团体属性与其他

BGP 属性一起传播,并且具体的值定义了应输入该路由的那个 VRF 或一组 VRF。谨慎地

定义路由目标扩展团体属性的值,可为部署不同的VPN 拓扑带来灵活性。在这里利用案例

研究中使用MPLS/VPN 主干网的拓扑来说明路由目标的基本运作情况(见图 9-5)。

Page 13: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

154 第 6 章 IP 记账

图 9-5 路由目标 BGP 扩展团体属性的使用

如图 9-5 所示,SuperCom 圣荷塞 PE 路由器为快餐公司 VPN 输出路由目标为

100:26 的路由,为欧洲银行 VPN 输出路由目标为 100:27 的路由。SuperCom 纽约路由

器中的纽约银行 VRF 输入路由目标为 100:27 的路由。这意味着它只包含欧洲银行旧

金山站点的路由。SuperCom 巴黎路由器中的快餐公司 VRF 输入路由目标为 100:26 和

100:27 的路由。这意味着它包含快餐公司圣荷塞站点和欧洲银行旧金山站点的路由。

注释:图 9-5 中还显示出一个有趣的案例,说明了 VPN 中的一个站点如何能够包含相同 VPN 中

另一站点所没有的路由。巴黎 PE 路由器输入路由目标为 100:26 和 100:27 的路由。这说明快餐

公司里昂站点拥有属于欧洲银行旧金山站点和快餐公司圣荷塞站点的路由。然而,圣荷塞 PE 路

由器中的欧洲银行 VPN 和快餐公司 VPN 都不能同时输入两个路由目标值。它们只是分别包含属

于各自 VPN 的路由,因为巴黎 PE 路由器不会再次通告由 iBGP 学来的 VRF 路由(标准 iBGP 的

规则)。

Page 14: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.4 BGP 扩展团体属性 155

配置输入和输出策略 配置 VRF 的最后一步就是为 VRF 添加输入和输出策略。这些策略用于将路由放

入 VRF 中,以及将路由通告到 VRF 外。 路由目标 BGP 团体属性指明了 VRF 所使用的策略。必须配置路由目标,以明确输入

到 VRF 中的路由(包含特定的路由目标值),并且将路由目标添加到 VRF 输出的路由中。

例 9-6 显示了 route-target 命令的语法,该命令控制了 VRF 配置中的输入输出策略。 例 9-6 路由目标 VRF 配置命令

使用 route-target 命令中的关键字 export 和 import 来分别指定每个 VRF 的输出

和输入策略。通常默认输出和输入策略相同,因此可以使用一个命令来同时指定这两

个策略,使用命令 route-target ASN:nn 或命令 route-target both ASN:nn(这两个命

令所产生的结果相同)。在本例拓扑中,欧洲银行 VRF 和快餐公司 VRF 都需要使用路

由目标输出各自的路由,这个路由目标是由公司 VPN 的其他成员输入的。 例 9-7 显示出 SuperCom 圣荷塞 PE 路由器中的相关配置,分别用于欧洲银行和快

餐公司的 VPN 客户 VRF。

例 9-7 SuperCom 圣荷塞 PE 路由器配置—输入/输出

(待续)

若需要向 VRF 输出的路由添加更多的路由目标,请在 VRF 配置中多次使用

route-target export 命令。该命令定义了一组 VPN 路由目标扩展团体属性,该属性可

以附加在路由中,这些是通过 MP-BGP 更新,从 VRF 输出到 VPN-IPv4 NLRI 中的。

同样地,也可以使用 route-target import 命令指明输入到 VRF 中的路由。若接收到的

路由包含输入列表中的任意一个路由目标值,则该路由被放入 VRF 中。

Page 15: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

156 第 6 章 IP 记账

9.4.2 源站点 BGP 扩展团体属性 路由源扩展团体属性也在 Cisco MPLS/VPN 架构实施环境中称为 SOO;因此在本

书中使用这一术语。 当一个站点与 MPLS/VPN 主干网中的多个 PE 路由器相连,另外站点使用 AS 覆

盖特性时,SOO 用来防止路由环路的出现。这是通过以下方式实现的:根据学到路由

的 SOO,识别出该路由的源站点,这样的话,MPLS/VPN 主干网中的 PE 路由器就不

会将该路由重新通告给源站点。

注释:第 10 章讨论了 AS 覆盖技术的更多细节。

注释:若与 MPLS/VPN 主干网多个 PE 路由器相连,并且使用 AS 覆盖特性的站点是经过网络分

区的,则没有必要使用 SOO。另外,仅当使用 BGP 作为 PE 到 CE 连通性实现方式时,才使用

SOO。

图 9-6 显示出这一概念,一个站点与两个独立的 PE 路由器相连,图中显示出 PE

路由器接收到一条路由时的行为,该路由包含 SOO 扩展团体属性,并且该属性与 VRF中配置的属性相匹配。

如图 9-6 所示,SuperCom 切姆斯福德 PE 路由器从纽约 PE 路由器,接收到关于

193.1.1.0/24 的 MP-iBGP 更新。这个更新包含的 SOO 为 100:28,这个 SOO 是在切姆

斯福德 PE 路由器中为纽约银行 VRF 配置的。因此该路由不会通告到纽约银行切姆斯

福德 CE 路由器。

配置 SOO SOO 扩展团体属性是通过 route-map 配置在每台 PE 路由器上的。只有站点与多

台 PE 路由器相连时才需要这一配置,因此本章中简单的内部网案例研究,以及使用

BGP 以外的协议实现 PE 到 CE 的连通性,则不需要配置 SOO。

Page 16: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.4 BGP 扩展团体属性 157

图 9-6 SOO BGP 扩展团体属性

例 9-8 给出图 9-6 中纽约 PE 路由器的配置。route-map 可以应用在通过特定VRF 学习

到的路由上,而无论该路由是否通过BGP 学来(可能通过其他协议重分布进BGP 学来)。 例 9-8 SOO 扩展团体属性配置

Page 17: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

158 第 6 章 IP 记账

例 9-9 说明子网 193.1.1.0/24 包含的 SOO 为 100:28,该子网是由 SuperCom 纽约

PE 路由器从纽约银行纽约 CE 路由器学来的。

例 9-9 SOO 扩展团体属性案例

9.4.3 BGP 扩展团体属性的格式 在了解了 BGP 扩展团体属性如何应用在 MPLS/VPN 架构中后,再来学习该属性

是怎样构成的。 每个扩展团体属性都有一个确定的团体属性类型编码 16,并都被编码为 8 个八位组。

前 2 个八位组定义了属性类型,后 6 个八位组包含了属性的值。类型 0 到 0x7FFF(包含)

由 Internet 编号分配机构(IANA)分配,类型 0x8000 到 0xFFFF(包含)由厂商指定。 路由目标扩展团体属性的类型编码为 0x0002 或 0x0102,SOO 扩展团体属性的类

型编码为 0x0003 或 0x0103。值字段的结构(以及值字段的显示方式)取决于类型字

段的高位字节,如图 9-7 所示。

图 9-7 BGP 扩展团体属性的格式

Page 18: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.5 基本的 PE到 CE链路配置 159

一条路由能够同时携带标准 BGP 团体属性(定义在 RFC 1997 中)和扩展 BGP团体属性(定义在 draft-ramachandra-bgp-ext-communities 草案中)。它还能够同时携带

多个团体属性,可以通过使用关键字 additive 携带多个标准团体属性,可以在输出 VRF路由时使用 route-map 携带多个扩展团体属性。Cisco IOS 12.1 允许使用关键字 additive携带扩展团体属性。

9.5 基本的 PE 到 CE 链路配置 为了提供 VPN 服务,需要配置 PE 路由器,这样的话它才能够将由 VPN 客户接

口学习来的路由信息与特定的 VRF 相关联。可以通过标准的路由协议进程完成该配

置,在这里路由协议进程称为路由环境(routing context)。每个 VRF 都是用一个相互

独立的路由环境。第 8 章全面阐述了这一概念。 通过一个接口学习到的所有路由,将根据该接口所关联的具体路由协议环境,被

放入相应的 VRF 中。若接口不属于任何 VRF 路由环境,则由该接口学习到的所有路

由被放入全局路由表中。这种方法能够将路由信息分别放入不同的路由环境中,即使

这些路由信息是通过相同的路由协议进程学习到的。它有效地创建了 VPN 感知

(VPN-aware)的路由协议。 VPN 客户可以通过若干种方法连接到 MPLS/VPN 主干网。案例研究中使用 RIP

版本 2 和静态路由,本节将回顾这些方法。

注释:其他连接方法(如 OSPF 和 BGP)的完整讨论请见第 10 章。

9.5.1 PE 到 CE 链路配置—静态路由 第 1 种方法是在 PE 和 CE 路由器之间使用静态路由。静态路由信息通过连接 PE

路由器的 MP-iBGP 会话,被重分发到 BGP 中。当站点为末节站点(stub site)时,这

种方式是一个很好的选择,因为这种站点只有一个进入服务提供商网络的入口点,没

有必要通过动态路由协议从 PE-CE 链路动态地学习客户路由信息。 对于与站点相连的 PE 路由器(假设 VPN 的其他成员能够访问网络),必须在相

应 VRF 中配置 CE 路由器之外的每个网络的静态路由(或聚合路由)。这与普通 IP 路

由的配置相同。

注释:一个例外的情况是,VPN 的其他成员使用该站点获得中心服务,比如 Internet 连通性。这

时可以通过使用指定的路由目标,将一条指向该站点的默认路由通告给 VPN 中的其他成员。更多

Page 19: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

160 第 6 章 IP 记账

细节请参考第 12 章中的 Internet 连通性。

要使静态路由信息能够在 PE 路由器之间通告,必须将其重分布到 BGP 中。可以

在 BGP 地址家族配置中,使用 redistribute 命令将静态路由重分布到 BGP 中,有关该

命令的更多细节将在本章稍后的 MP-BGP 部分进行讨论。也可以使用同样的命令将所

有连接的 VRF 接口地址重分布到 BGP 中。 在案例研究中,SuperCom 巴黎 PE 路由器需要为两个 VPN 客户配置静态路由。每个

客户 CE 路由器通过缺省路由指向 PE 路由器,因此无需考虑 CE 路由器上的配置。第一

步要配置所有与此相关的静态路由,接着将这些静态路由放入正确的 VRF 中,而不是放

入全局路由表。使用 ip route 命令完成该配置(针对 MPLS/VPN 的扩展)。例 9-10 显示

出 SuperCom 巴黎路由器的相关配置,以支持欧洲银行巴黎和快餐公司里昂客户站点。

例 9-10 ip route 命令在 MPLS/VPN 中的扩展

第二步要使用 MP-iBGP 将这些静态路由向其他 PE 路由器进行通告。如前所述,

可以在地址家族配置中使用 redistribute 命令完成该配置。例 9-11 显示出 SuperCom巴黎 PE 路由器的配置,它将前面定义的静态路由通告给 SuperCom MPLS/VPN 主干

网中的其他 PE 路由器。

例 9-11 将静态路由信息重分布到 MP-iBGP 中

如果为一个特定的 VPN 用户配置了多条静态路由,并且只有其中的一部分可以让

VPN 中的其他成员访问,这时可以使用 route-map 命令来控制哪些路由能够通过重分

布被放入 MP-iBGP 中。

9.5.2 PE 到 CE 链路配置—RIP 版本 2 PE 和 CE 路由器之间的连通性可以由 RIP 版本 2 来提供。通过 RIP,从 VPN 客

户 CE 路由器接收到的信息,将根据接收信息的接口被放入相应 VRF 中,并在

MPLS/VPN 主干网中的 PE 路由器之间传播。 当选择 RIP 版本 2 为路由协议时,RIP 进程需要知道从哪个接口通告哪些 RIP 路

Page 20: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.5 基本的 PE到 CE链路配置 161

由。可以使用 network 命令完成该配置。network 命令告诉 RIP 进程哪个接口启用了

RIP,以及应由哪个接口发出 RIP 更新信息。在普通的 RIP 版本 2 部署中,RIP 更新包

含路由表中所有的 RIP 路由,以及启用 RIP 的所有直连接口。 在 MPLS/VPN 路由环境中,很明显不能让 RIP 进程将所有路由通告到所有接口,

这些接口都在 network 命令指定的地址范围内。可以在 RIP 进程主配置中使用

address-family 子模式完成该配置。路由器认为在这个子模式中配置的所有命令都属

于这个特定的 VRF。正因如此,在子模式中输入的所有 network 命令都将与管理员为

该地址家族配置的 VRF 相关联。接着通过 RIP 通告属于该 VRF 的路由,并且仅向与

该地址家族相关联的接口进行通告。任何属于全局路由表或其他 VRF 的 RIP 路由不会

被通告出去,哪怕路由器启用了 RIP 进程。 案例研究中,SuperCom 圣荷塞 PE 路由器与欧洲银行旧金山站点和快餐公司圣荷

塞站点之间运行 RIP 版本 2。例 9-12 显示出相关的 RIP 配置。 例 9-12 PE 到 CE RIP 版本 2 配置案例

例 9-13 显示了为每个VRF 定义的路由环境,这些VRF 从RIP 进程接收路由信息。通

过与VRF相关联的接口接收到的路由信息被放入该VRF中,而不是全局路由表中。然而,

这个配置仅将RIP 学来的信息放入相关VRF 中;并不将路由通过MP-iBGP 通告给其他 PE路由器。如果需要这样做的话,就像前文中静态路由的案例那样,必须接着在BGP 进程中,

为指定 VRF 配置地址家族,并且必须将 RIP 路由重分布到 BGP 中。这样就可以将路由通

Page 21: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

162 第 6 章 IP 记账

过MP-iBGP 会话进行通告,MP-iBGP 会话能够用来承载VPN-IPv4 地址前缀。

注释:在例 9-12 中,请注意 RIP 地址家族配置中的 redistribute bgp 1 metric 1 命令。这个命

令能够将 MP-iBGP 会话学来的 VPN 路由,通过 RIP 进程向 CE 路由器进行通告。还需要注意这

些路由是 iBGP 路由,运行标准 BGP-4 的情况下是不将 iBGP 路由进行重分布的,但如果接口关

联了 VRF,就需要对这些路由进行重分布。

注释:尽管在这个场景中也可以使用 RIP 版本 1,但并不推荐这样做,因为 RIP 版本 1 并不支持

VLSM,并且 Cisco 不支持在这种环境中使用 RIP 版本 1。

注释:当使用RIP 作为 PE-CE 之间的路由协议时,很有必要(正如在通常的重分布中那样)将 BGP

度量值(metric)指定为默认度量值,也就是 unreachable。然而在较新的 IOS 版本中,可以使用

命令 redistribute bgp metric transparent,在 MPLS/VPN 主干网中透明地传输 RIP 度量值。这

个命令使RIP将路由表中的度量值作为RIP度量值使用到重分布的路由上,也就是穿越MPLS/VPN,

携带在 BGP MED 之中的原始度量值。

9.6 接口与 VRF 的关联 在 PE 路由器定义好所有相关的 VRF 后,必须告诉 PE 路由器哪个接口属于哪个

VRF,并且将相连站点的路由放入 VRF 中。多个接口可以属于相同的 VRF。 可以在接口模式中使用命令 ip vrf forwarding,将接口与命名的 VRF 相关联。可以

在 VRF 中定义主接口和子接口。例 9-13 显示出 SuperCom 圣荷塞 PE 路由器的相关配置。 例 9-13 将接口关联到 VRF

Page 22: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.7 多协议 BGP的使用与部署 163

将接口关联到一个特定的 VRF 后,它的 IP 地址将从全局路由表和接口中删除。

这是因为基于这样的假设:地址不能跨越多个路由表,并且应该在将接口分配为 VRF的成员之后,再对其进行配置。

注释:只有运行 CEF 交换的接口才能够与 VRF 相关联,CEF 交换机制是 MPLS/VPN 数据成功

转发的首要条件,因为标签压入是通过 CEF 交换路径完成的。

9.7 多协议 BGP 的使用与部署 前文中已经介绍过使用 MP-BGP(现有 BGP-4 协议的扩展)在 PE 路由器之间通

告客户 VPN 路由,这些路由是从 PE 路由器连接的 CE 路由器学习来的。这些客户路

由可以通过标准 BGP-4、RIP 版本 2、静态路由或 OSPF 学来。以后的 Cisco IOS 版本

可能会支持更多的 CE-PE 路由协议。 仅在服务提供商主干网中需要 MP-BGP。因此所有 MP-BGP 会话都是内部 BGP

(internal BGP)会话,“内部”是指发起该会话的两台路由器属于同一个自治系统之中。 MPLS/VPN 架构中需要 MP-iBGP,因为 BGP 的更新不仅仅要携带 IPv4 地址。

MP-iBGP 的更新中包含一个 VPN-IPv4 地址、MPLS 标签信息、扩展 BGP 团体属性以

及标准 BGP 团体属性。

注释:多协议 BGP 是现有 BGP-4 协议(RFC 1771)的扩展,定义在 RFC 2283 中。更多关于

MPLS环境中MP-BGP的使用请见 draft-ietf-bgp4-mpls草案,其中讨论了使用BGP-4携带MPLS

标签信息。

BGP 协议的扩展能够提供其他的必要功能,使 BGP 携带的信息中能够不仅仅包

括 IPv4 地址(和标准 BGP 属性)。当两个对等体之间建立了 BGP 会话,将会通过 OPEN

Page 23: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

164 第 6 章 IP 记账

消息来交换初始的 BGP 参数,比如 BGP 邻居所使用的自治系统号。这个 OPEN 消息

能够包含可选参数,其中有一个 Capabilities(能力)参数,这个参数说明了对等体能

够理解并执行的可选功能有哪些。其中的一项能力就是多协议扩展。多协议扩展使

BGP 能够不仅仅携带标准 IPv4 地址。 当使用多协议扩展功能时,BGP 中引入了两个新的非传输性可选属性。这两个属

性之一(多协议可达 NLRI 或 MP_REACH_NLRI)用来通告新的多协议路由。另一个

属性(多协议不可达 NLRI 或 MP_UNREACH_NLRI)用来撤销 MP_REACH_NLRI通告过的路由。

第一个属性(MP_REACH_NLRI)携带一组可达的目的地,以及能够将数据包转

发到这些目的地的下一跳信息。第二个属性(MP_UNREACH_NLRI)携带一组不可

达的目的地。这两个属性都是可选并且都是非传递性的。两个 BGP 对等体若想交换多

协议数据,就必须在能力交换阶段协商好这一能力。 PE 路由器向其他 PE 路由器发送 MP-iBGP 更新时,这个更新中包含前面提到的

MPLS/VPN 信息,MP_REACH_NLRI 属性中包含一组或多组信息,每组信息由以下

三项内容组成。 地址家族信息。 下一跳信息。 NLRI(网络层可达性信息)。 地址家族信息表明了更新中所携带的网络层协议。在 MPLS/VPN 环境中,地址家

族信息被设置为 AFI=1 和 sub-AFI=128。当前使用的值可在 RFC 1700“分配的号码”

中查到。 下一跳信息是在去往目的地路径上的下一台路由器的下一跳地址信息。下一跳地

址必须和 NLRI 属于相同的地址家族。为满足这一需求,下一跳的路由区别符字段被

设置为全零。 MPLS 中的 NLRI 由一组或多组信息编码而成,每组信息包含以下三项内容。 长度:标签的总长度加上前缀长度(包括 RD)。 标签:(24 比特)尽管一个 BGP 更新中只携带一个标签,但一个标签栈中携

带一个或多个标签。这个字段携带下列 MPLS 填充头部(shim header)信息(详见

第 2 章)。 标签值—20 比特 实验位—3 比特 栈底位—1 比特 前缀:路由区别符(64 比特)加上 IPv4 前缀(32 比特)。 使用例 9-14 中的命令可以查看哪些标签被分配到特定的 VPN 路由,使用例 9-15

中的命令可以查看 PE 路由器是否与邻居交换 VPN-IPv4 地址信息。

Page 24: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.7 多协议 BGP的使用与部署 165

例 9-14 命令 show ip bgp vpnv4 all tags 的用法

例 9-15 命令 show ip bgp neighbor 的用法

Page 25: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

166 第 6 章 IP 记账

9.7.1 多协议 BGP 的配置 配置 BGP 需要若干步骤以及各种配置命令。必须配置跨越 MPLS/VPN 主干网的

所有 PE 到 PE MP-iBGP 会话,以及为希望与服务提供商交互 BGP 信息的客户配置 PE到 CE eBGP 会话。第 10 章将讲解 PE 到 CE eBGP 会话的配置。

正如本章前面所讲,作为 MP-BGP 规范(RFC 2283)的一部分,地址家族允许

BGP 携带 IPv4 以外的协议。在 MPLS/VPN 技术架构中,地址家族是 VPN-IPv4,并且

必须告诉 BGP 它的其中一个会话将携带这种类型的地址家族。 在 Cisco 路由器上配置 BGP 会话时,默认行为是激活会话,以携带 IPv4 单播前

缀。在纯 MPLS/VPN环境中,这有可能出现问题,因为在这里BGP 只会携带VPN-IPv4。因此引入了一个新的命令来改变这一行为,在默认情况下不激活任何 BGP 会话,无论

是 IPv4 还是 VPN-IPv4。例 9-16 显示出该命令的语法。

例 9-16 命令 bgp default ipv4-unicast 的用法

MP-iBGP 的下一步配置工作是定义和激活 PE 路由器之间的 BGP 会话。其中一些

会话携带 VPN-IPv4 路由,一些会话只携带 IPv4 路由,其他会话携带 VPN-IPv4 和 IPv4路由。BGP 会话的类型及其携带的路由类型(VPN-IPv4 或 IPv4)是这样控制的:对

于 BGP 输入或输出的路由,以及 VRF 输入和输出的路由,由 BGP 配置中使用的地址

家族进行控制;对于属于全局路由表的路由,由普通 BGP 配置进程进行控制。地址家

族与路由环境的概念相同。 必须为配置在 PE 路由器中的每个 VRF 配置一个 BGP 地址家族,并配置一个单

独的地址家族在 PE 路由器之间承载 VPN-IPv4。必须在 router bgp 配置模式下,配置

所有非 VPN 的 BGP 邻居(其他 PE 路由器和其他全局 BGP 对等体)。所有 VPN 的 BGP邻居(比如 CE 路由器通过 BGP 与 PE 路由器交换路由信息)在与之相关联的地址家

族配置模式下进行配置。BGP 进程(没有指定的地址家族)是默认的地址家族,这些

会话没有与任何 VRF 相关联,也没有使用全局路由表中的 IPv4 路由。 承载全局路由表中 IPv4 路由的 BGP 会话配置与标准 BGP 配置相同,唯一不同之

处是需要激活会话。neighbor 命令用来激活会话,如例 9-17 所示。这个例子还显示出

所有相关的命令,以便完成 SuperCom 圣荷塞 PE 路由器和纽约 PE 路由器之间 IPv4 BGP 会话的配置(这个例子假设纽约路由器已经配置完成)。

例 9-17 激活标准的 IPv4 BGP 会话

Page 26: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.7 多协议 BGP的使用与部署 167

BGP 进程通过使用 BGP 自身的地址家族,来激活携带 VPN-IPv4 前缀的 MP-iBGP会话。这个配置创建了一个路由环境,用于交换 VPN-IPv4 前缀。例 9-18 显示出这个

命令的语法,以及案例研究中 SuperCom 圣荷塞和纽约路由器之间 MP-iBGP 会话的相

关配置。 例 9-18 用于 VPN-IPv4 路由交换的地址家族配置

注释:在例 9-18 中,VPNv4 的 address-family 配置只需要一条命令,这是因为必须在全局 BGP

进程下配置 BGP 邻居,在这里只需将其激活,并使其只携带 VPN-IPv4 前缀。

vpnv4 地址家族的配置也在 BGP 配置中添加了更进一步的命令,也就是命令

neighbor x.x.x.x send-community extended。这个命令是默认添加的,并且很有必要,

因为它将指示 BGP 通告扩展团体属性,本章前半部分提到过扩展团体属性。例 9-19显示出这个命令的语法。

例 9-19 通告扩展团体属性

注释:默认行为是只发送扩展团体属性。若网络的设计需要在 VPN 路由中附加标准团体属性,

则需要使用命令 neighbor 194.22.15.3 send-community both 来改变默认的配置。

从前文中已经知道,将客户路由添加到 VRF 中后,需要跨越 MPLS/VPN 主干网

通告这些路由。MP-iBGP 将这些路由作为 VPN-IPv4 前缀,在 PE 路由器之间的

MP-iBGP 会话中携带这些前缀。为此,需要配置 BGP 进程中的路由环境,用来告诉

BGP 需要通告的 VRF 路由。 可以通过使用 BGP 进程下的地址家族配置来完成,使用例 9-18 中 address-family 命

令的 ipv4 可选项。每个向 BGP 注入路由的 VRF,都需要使用各自的地址家族,在 BGP进程下进行配置。同样地,如果要将属于 VRF(与这些地址家族相关联)的路由,通过

Page 27: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

168 第 6 章 IP 记账

PE 路由器的 MP-iBGP 会话通告给其他 PE 路由器,则必须将这些路由重分布到 BGP 中。 将这些总结到一起,例 9-20 显示了 SuperCom 圣荷塞 PE 路由器的最终配置。

例 9-20 SuperCom 圣荷塞 PE 路由器的最终配置

(待续)

Page 28: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.7 多协议 BGP的使用与部署 169

9.7.2 VPN-IPv4 前缀的增强型 BGP 决策过程 路由目标 BGP 扩展团体属性和路由区别符控制了 VPN-IPv4 的路由选择。这一过

程发生在通过 MP-iBGP,由其他 PE 路由器那里学习到路由之后;并且将这些路由注

入任何 VRF 之前。 BGP 决策过程的第一步是将所有相关的路由进行分组,以便对它们进行比较。在

PE 路由器能够选择路由之前,它必须知道存在哪些 VPN 路由,以及应使用 BGP 选择

过程对其中哪些路由进行比较。当在 PE 路由器中部署 VPN 服务时,需配置 VRF 来

告诉 PE 路由器,应该将哪些路由输入到该 VRF 中。已经知道路由目标 BGP 扩展团

体属性控制了这一输入过程。有了这些信息,PE 路由器将执行以下操作。 接受拥有相同路由目标的所有路由,这个路由目标定义在 VRF 中的输入规

则中。 将拥有相同路由区别符的所有路由,当作分配到将要被处理的 VRF 中的

路由。 使用路由区别符创建新的 BGP 路径,这个路由区别符与将要被处理的 VRF

的路由区别符相同。 现在所有路由都可以进行比较了,这时会执行 BGP 选择过程。 了解这一过程会影响一部分内存是很重要的,内存需要用来维护 PE 路由器上的

VPN 路由。若每台 PE 路由器为不同 VPN 中的每个 VRF 使用一个不同的路由区别符,

则需要一部分内存来储存所有增加的 VPN 路由。图 9-8 所示案例说明了路由区别符如

何影响 PE 路由器的内存需求。 图 9-8 显示出 SuperCom 圣荷塞路由器从巴黎 PE 路由器接收到一条 MP-iBGP 更

新,这条更新包含的路由目标为 100:27,路由区别符为 1:28。圣荷塞路由器的配置是

Page 29: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

170 第 6 章 IP 记账

为欧洲银行 VRF 输入路由目标为 100:27 的路由,并且这就是它所做的。然而,BGP表中包含两条路径,一条的路由区别符为 1:28(原始接收到的),另一条的路由区别

符为 1:27,它是这台 PE 路由器为欧洲银行 VRF 分配的路由区别符,如例 9-21 所示。

图 9-8 不同路由区别符带来 PE 内存需求的增加

例 9-21 不同路由区别符带来 PE 内存的增加

选出最优路由后,便开始输入过程。这涉及将路由输入到所有 VRF 中,以及从特

Page 30: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.7 多协议 BGP的使用与部署 171

定 VRF 过滤不需要的路由信息。

Page 31: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

172 第 6 章 IP 记账

9.8 出向路由过滤(ORF)和路由刷新特性 有助于扩展 MPLS/VPN 技术架构的特性之一是只在 PE 路由器中维护相关路由的

能力—每台路由器只维护直连 VPN 的路由。这个扩展性特性是通过只输入特定

VPN-IPv4 路由实现的,这些特定的路由与 VRF 相关,并被配置在 PE 路由器中。 然而,这种模型的问题在于 BGP 表会维护所有 BGP 路由,即使有些路由未被用

于任何 VRF 或全局路由表。无论是在 PE 路由器内存的方面,还是在将这些信息跨越

主干网通告给不使用它的 PE 路由器方面,这都是很明显的资源浪费。 有了这方面的认识,显然需要拒收或过滤 PE 路由器 BGP 表中不需要的路由。可以通

过多种方法实现此目的,本章中将讨论其中的一些方法。也可以使用其他的高级选项,比

如PE路由器之间的MP-iBGP会话分区以及部署路由反射器,这些将在第12章中进行讨论。

9.8.1 PE 路由器上的自动路由过滤 由于一些 PE 路由器有可能接收到它们并不需要的路由信息,因此最基本的要求

是能够在入口,为 PE 路由器过滤 MP-iBGP 更新,从而使路由器无需将这些信息保存

在内存之中。尽管也存在一些其他的机制(比如在第 12 章中涉及的几种方法),但如

果网络的规模不大并且复杂性不高的话,没有必要将网络分段,这种自动路由过滤的

方法就很适用。这种方法还适用于拓扑中的 VPN 信息很分散并且难以分段的情况。 自动路由过滤(Automatic Route Filtering)特性满足了过滤的需求。所有 PE 路由

器默认启用该特性,无需使用任何额外的配置来启用它。它的功能是自动过滤

VPN-IPv4 路由,这些路由所包含的路由目标扩展团体属性并不匹配在任何 PE 中配置

的 VRF。它会有效地丢弃所有不需要的 VPN-IPv4 路由,减少了 PE 需要储存在内存

中的信息量。图 9-9 显示出这一特性的实施。 图 9-9 显示出纽约 PE 路由器接收到两条 MP-iBGP 更新。它只配置了一个 VRF,

并且属于纽约银行 VRF,因此它会输入包含路由目标为 100:26 或 100:28 的路由。 由圣荷塞 PE 路由器发送的第一个更新,包含的路由目标为 100:26。路由器接收

这条路由并将其放入纽约银行 VRF 中。由巴黎 PE 路由器发送的第二个更新,包含的

路由目标为 100:27。因为纽约银行 VRF 不会输入包含这个路由目标的路由,并且因为

纽约 PE 路由器没有其他的 VRF 在使用这个路由目标,因此更新被丢弃。例 9-22 所示

的案例显示出,由于纽约 PE 路由器中没有关联相应的路由目标,因此更新被拒绝。

例 9-22 自动路由过滤特性调试信息

Page 32: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.8 出向路由过滤(ORF)和路由刷新特性 173

图 9-9 自动路由过滤特性

但是当 PE 路由器为其他 PE 路由器充当路由反射器会怎么样呢?在这种情况中,

如果它自动地过滤路由,则路由信息将会丢失。因此自动路由过滤特性只能使用在普通

PE 路由器上,如果这个 PE 路由器充当 VPN-IPv4 前缀的路由反射器,则禁用该特性。 对于所有服务提供商网络来说,最好假设 VPN 策略和 VRF 配置经常改变。策略的

改变也许意味着在 VPN 服务中添加(或删除)一个新客户,或者意味着现有的 VPN 客

户有一个新站点需要连接到主干网中。在这两种情况中,传播的路由信息发生了变化,

网络中特定 PE 路由器需要输入这些新的信息。假设图 9-9 是这样一个案例,则可能是欧

洲银行 VPN 客户需要在纽约设置一个新站点。因为对于该位置来说,SuperCom 纽约 PE路由器是进入 MPLS/VPN 主干网的最佳入口点,在纽约 PE 路由器上添加这个新的站点。

在实施中,纽约 PE 路由器需要属于欧洲银行 VPN 的所有相关路由。然而,由于

纽约 PE 路由器事先没有配置输入欧洲银行 VPN 使用的路由目标,因此它会丢弃与欧

洲银行 VPN 相关的所有路由信息。从而需要更进一步的机制与自动路由过滤特性结合

使用,那就是路由刷新和 ORF 特性。

9.8.2 刷新 PE 路由器之间的路由信息 当 PE 路由器的策略改变时,比如添加新的 VRF 或删除已有的 VRF,PE 路由器

需要得到它之前丢弃的路由信息。PE 路由器使用称为路由刷新(Route Refresh)的 BGP

Page 33: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

174 第 6 章 IP 记账

功能来实现这一目标。 当使用这个特性时,在更改配置后的一段短时间以后,PE 路由器就会要求它的

MP-iBGP 邻居重传路由更新,以获得丢失的 VPN-IPv4 信息。这个延迟是必要的,因

为有些入向策略的更改是即时生效的,而一次最好只发送一条路由刷新。 响应路由刷新而接收到的路由信息,仍需遵守前文提到的过滤机制。然而,若将

PE 路由器配置为输入一个新的路由目标,则所有包含这个新路由目标的 VPN-IPv4 地

址将不再被 PE 过滤。

注释:路由刷新特性实际上是一个新的 BGP 能力,被完整记录在 IETF 草案 draft-chen-

bgp-route-refresh 中。在建立 iBGP 会话的过程中,每台 PE 路由器都在其 OPEN 消息中通告这

个能力,以便之后可以执行这个功能。

图 9-10 显示了这个特性的案例,例 9-23 显示了必要的调试输出。

例 9-23 路由刷新能力调试信息

Page 34: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.8 出向路由过滤(ORF)和路由刷新特性 175

图 9-10 路由刷新能力

这幅图显示出在纽约 PE 路由器上为欧洲银行 VPN 配置一个新的 VRF(步骤 1)。这台路由器向它的 MP-iBGP 邻居发送一条路由刷新(步骤 2),在本例中,圣荷塞和

巴黎路由器重新发送各自所有的 VPN-IPv4 路由(步骤 3)。 路由刷新特性与Cisco 重配置(soft reconfiguration)特性相似,唯一的不同是该特性无

需在 PE 路由器中储存不必要的路由信息。与自动路由过滤特性一样,路由刷新特性也是默

认开启的,无须额外的配置。例 9-24 使用命令 show ip bgp neighbor 显示了这一能力。 例 9-24 路由刷新能力—PE 标识

可以使用命令 clear ip bgp 来手工刷新 VPN 路由信息。这个命令已为 VPN 环境

Page 35: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

176 第 6 章 IP 记账

做了增强,因此它能够基于每个邻居清除 BGP 会话,也能够基于每个地址家族清除

BGP 会话。当使用这个命令时,所有相关邻居都会接收到路由刷新消息,并且刷新

MP-iBGP 或 BGP 信息。图 9-11 显示了一个案例拓扑。

图 9-11 clear ip bgp 命令的增强

图 9-11 显示在圣荷塞 PE 路由器上输入命令 clear ip bgp * vrf EuroBank in(步骤

1)。这会使路由器向旧金山 CE 路由器发送一条路由刷新消息,因为旧金山 CE 是唯

一一个通过 BGP 向其发布欧洲银行 VRF 的外部邻居。 在圣荷塞 PE 路由器输入命令 clear ip bgp * vpnv4 unicast in(步骤 2)。这会使路

由器向所有 PE 邻居发送一条路由刷新,也就是本例中的纽约和巴黎路由器。为这个

命令添加指定的邻居地址,能够使路由器仅向那个邻居发送路由刷新,比如命令 clear ip bgp 2.2.2.2 vpn4 unicast in 使路由器向地址为 2.2.2.2 的 PE 路由器发送路由刷新。

而其他 PR 路由器则不会接收到这个路由刷新消息。

9.8.3 PE 路由器的 ORF 路由刷新和自动路由过滤特性提供的机制,有助于减少 PE 路由器需要维护的路

由信息数量。然而,它们并不能防止这些路由信息真正到达 PE 路由器。这意味着无

用的路由信息在网络中传播,而只会被特定的 PE 路由器丢弃。 ORF 特性提供了这一功能,并能够与之前介绍的路由刷新特性协同工作。这个特

性实际上是一项新的 BGP 能力,并在两 PE 路由器之间建立会话的阶段,通过 BGP OPEN 消息进行交换。

这个特性允许启用 BGP 的路由器向其下游邻居通告出向路由过滤器。这些过滤器

由 ORF 条目描述,ORF 条目是路由刷新消息的一部分。图 9-12 显示了这个消息的格式。

Page 36: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.8 出向路由过滤(ORF)和路由刷新特性 177

图 9-12 ORF 消息格式

每个 ORF 条目携带一个 ORF 类型,它描述了消息中 ORF 条目的格式。表 9-3 显

示了当前定义的 ORF 类型。

表 9-3 ORF—ORF 类型定义

ORF 类型 ORF 类型值 描述

NLRI 1 ORF 类型 NLRI 根据路由过滤提供地址前缀

团体属性 2 ORF 类型团体属性提供基于团体属性的路由过滤

扩展团体属性 3 ORF 类型扩展团体属性提供基于扩展团体属性的路由过滤

前缀列表 129 ORF 类型前缀列表提供了前缀列表路由过滤

BGP 路由器发布前缀列表 ORF 能力后,它的邻居能够向它推送各自的入向前缀

列表。这在 PE 路由器之间非常有用,因为除了使用本地配置的出向过滤器(如果有

的话)以外,它们还会使用这个接收到的前缀列表过滤器,来限制/过滤它们之间发送

的出向路由更新。这个机制可以用来避免无用的路由更新,从而有助于降低路由更新

产生和处理所需的资源。 扩展团体属性 ORF 类型能力在 MPLS/VPN 架构中也非常有用。因为在接收方 PE

路由器不接收一个路由目标时,它能够过滤所有包含这个路由目标属性的路由。这样

做的好处是,在将路由通告到接收方 PE 路由器之前将其过滤,而不是像自动路由过

滤特性那样,由 PE 路由器悄悄地将其丢弃。 在 MPLS/VPN 拓扑中部署 BGP 路由反射器时,基于路由目标过滤路由的能力变

得格外有用。可以事先为每个路由反射器配置一个路由目标列表,列表中的路由目标

与路由反射器在 PE 路由器之间反射的路由相关联。路由反射器将它的所有客户(本

Page 37: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

178 第 6 章 IP 记账

例中为 PE 路由器)当作一个单独的 BGP 对等体组(BGP peer-group),将它连接的所

有其他路由反射器当作独立的对等体,而不是这个对等体组中的成员。 因为事先在路由反射器中配置了需要向特定对等体组进行反射的一组路由目标,

因而可以在所有邻居会话中,设置包含这些路由目标的出向路由过滤器。可以使用

rr-group 命令进行配置,第 12 章将详细讨论该配置。

9.9 MPLS/VPN 数据层——数据包转发 现在完成了最终的配置,VPN 路由在 SuperCom 主干网中传播,在这里可以学习

到如何查看 MPLS 标签的分配,以及标签栈中会出现哪些标签。 图 9-13 显示了案例拓扑的一部分,从这部分中可以看出标签分配的过程。欧洲银行巴

黎站点将子网 196.7.25.0/24 注入到MPLS/VPN 主干网中,接着将这个子网通告到欧洲银行

旧金山站点。图中显示了与此相关的标签分配,可以使用以下 IOS 命令查看标签分配。

图 9-13 MPLS/VPN 标签分配—数据层面转发

从SuperCom圣荷塞PE路由器的角度看来,可以使用例 9-25中的命令 show ip bgp vpnv4 vrf-name tags 来查看(由源端 PE 路由器)分配给路由器的 VPN 标记。本例为

子网 196.7.25.0/24 分配的标记为 38。这可以在命令输出的 Out tag 字段查到。

例 9-25 命令 show ip bgp vpnv4 vrf-name

子网 196.7.25.0/24 的 BGP 下一跳是 194.22.15.1,它是 SuperCom 巴黎 PE 路由器

Page 38: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

9.10 总结 179

的环回接口地址。这个下一跳地址是通过 SuperCom 的 IGP 学来的,并且必须使用命

令 show tag-switching forwarding-table 查看用于向 196.7.25.0/24 子网转发数据包的

IGP 标签。例 9-26 显示出 SuperCom 圣荷塞路由器和华盛顿 P 路由器上命令的输出,

这是去往巴黎 PE 路由器的路径。案例中还显示出巴黎 PE 路由器的转发表,并用[v]强调子网 196.7.25.0/24 是一条 VPN 路由。

例 9-26 命令 show tag-switching forwarding-table

9.10 总结 本章讨论了第 8 章提出的基本 MPLS/VPN 技术架构,详细说明了协议信息以及实

施 MPLS/VPN 主干网需要完成的配置任务。以下为一些必要的 IOS 配置任务。 为每组不同的站点创建一个 VRF(每组站点属于相同的一组 VPN,因而共享

完全相同的路由信息,也可以共享 VPN 路由和转发表)。 为每个 VRF 分配一个唯一的路由区别符。 为每个 VRF 指定输入和输出策略。输入策略根据附加在路由上的扩展团体属

性(路由目标),控制进入到每个 VRF 路由表中的路由。输出策略指定一组

扩展团体属性(路由目标),用来附加在每条从 VRF 输出(进入 MP-BGP 数

据库)的路由上。 在提供商边缘路由器之间建立 BGP 连通性。这个任务通常是一个较大设计中

的一部分,这种设计也会考虑网络的扩展性,从而建立一个合理的 iBGP 拓

扑(第 12 章详细介绍了构建可扩展的 MPLS/VPN 网络)。 在 PE 路由器之间建立 MP-iBGP,并且允许它们之间交换 VPN-IPv4 路由。 为每个 VRF 建立基于 VRF 的路由进程(或实例),或为每个客户站点指定基

于 VRF 的静态路由。

Page 39: MPLS/VPNicon.clnchina.com.cn/pdf/study-material-3.pdf · 2015-01-16 · 9.1 案例研究:基本mpls/vpn 内部网络服务 143 第9章. mpls/vpn 技术 架构的运作方式. 前面章节中介绍了构成

180 第 6 章 IP 记账

配置基于 VRF 的 BGP 路由进程实例,并将 VRF 路由重分布到 BGP 路由进

程中去。在一些网络设计中,还需要将 BGP 路由重分布到基于 VRF 的路由

进程中去。 在一些冗余场景中,还需要配置 SOO 设置和过滤器,来防止路由环路。第 10 章

详细介绍了这些任务的配置步骤。