2

我不确定我应该在这里还是在 ServerFault 中问这个问题。但是由于这个问题更多的是关于网络的概念而不是它在特定硬件中的实现,所以我决定在这里发布它。

据我了解,路由目标在 MPLS-VPN 中用于区分 PE 路由器中的不同 VRF。

假设任何两个 VPN 之间没有站点共享,则出口和进口路由目标相同,因此 PE 可以将传入 BGP 数据包中的路由目标与其自己的出口路由目标进行比较,并安装在适当的 VRF 中。

我的疑问是,当存在属于多个 VPN 的站点时,如何处理路由目标的分配?

是否在所有 PE 中手动安装了到各种 VRF 的路由目标?

如果是这样,它不会导致可扩展性问题吗?

如果不是,如何安装 VRF 的路由目标?

4

2 回答 2

2

据我了解,路由目标在 MPLS-VPN 中用于区分 PE 路由器中的不同 VRF。

换句话说,route-targets 用于在 PE 路由器上实现 VRF 的 VRF 路由导入和导出策略。

我的疑问是,当存在属于多个 VPN 的站点时,如何处理路由目标的分配?

如所写,当您说“属于多个 VPN”时,这个问题对于您的意思是模棱两可的,因为不清楚您是否只是想在单个站点内保留 VRF 的分离(参见下面示例 1 中的 Site_C),或者是否您希望单个站点的路由表接收来自两个不同 VRF 的路由(请参见下面示例 2 中的 Site_BB)。这个答案将使用下图作为参考...

MPLS VPN 示例拓扑

概念

请特别注意 PE 路由器附近的小方框。这些框代表接口本地的路由和转发表;思科称这些表格为 VRF。VRF_A 仅处理与连接到粉红云的 CE 路由器之间的数据包。VRF_B 仅处理与连接到蓝云的 CE 路由器之间的数据包。

多协议 BGP 用于通过服务提供商网络(白云)宣布来自每个 VRF 的路由。白云内的设备从不安装粉色和蓝色路由(即使那些其他 ISP 路由器正在运行 bgp);这是因为 PE 路由器接收到这些路由后,会将这些路由转换为一个特殊的 BGP 地址族,称为 VPNv4。VPNv4 地址族提供了一种区分来自不同客户的相似路由的方法;VPNv4 还带有附加到每个路由的特殊 BGP 属性,称为路由区分器和路由目标,它们是扩展的 BGP 社区。

路由目标通常以<asn>:<custom_numer>. 路由目标手动分配给每个 PE 路由器上的 VRF。PE路由器从VRF中的CE接收到路由后,给这些路由打上Route-Distinguisher标记,使其成为服务提供者唯一的VPNv4地址,并打上Route Target以实现路由的导入和导出策略。

示例 1

  • 假设 VPN_A 有 Site_AA、Site_AB 和 Site_C。CE_Site_AA、CE_Site_AB 和粉色接口 CE_Site_C 通过粉色链路与各自的 PE 路由器运行 OSPF。PE 路由器将通过 VRF_A 上的 OSPF 接收的路由导出rt 100:1并使用多协议 BGP 宣布这些路由。当 PE 路由器收到带有 标记的 MP-BGP 路由时rt 100:1,它们会将这些路由导入 VRF_A 并在粉色接口上使用 OSFP 携带它们。

  • 假设 VPN_B 有 Site_BA 和 Site_BB。CE_Site_BA、CE_Site_BB 和 CE_Site_C 上的蓝色接口通过蓝色链路与各自的 PE 路由器运行 OSPF。PE 路由器将通过 VRF_B 上的 OSPF 接收到的路由导出rt 100:2并使用多协议 BGP 宣布这些路由。当 PE 路由器接收到带有 标记的 MP-BGP 路由时rt 100:2,它们会将这些路由导入 VRF_B 并在蓝色接口上使用 OSFP 携带它们。

值得注意的是,CE_Site_C 必须在到 PE_3 的两个接口/子接口上使用 VRF,以保持来自 VRF_A 和 VRF_B 的流量分开。

示例 2

我们将扩展示例 1 以将 172.16.1.0/24 暴露给 Site_BB。

假设我们需要将 Site_AA 的 172.16.1.0/24 暴露给 Site_BB 的 VRF_B。此时 PE_1 需要导出 172.16.1.0/24rt 100:1rt 100:51。PE_2 现在将带标签的 VPNv4 路由rt 100:2导入 VRF_B 并将rt 100:51接收 172.16.1.0/24 导入 VRF_B。如果 Site_BB 需要以类似方式向 Site_AA 公开其路由,则 PE_2 需要用 标记一个或多个适当的 DMZ 子网rt 100:52,因此可以将其导入 PE_1 上的 VRF_A。

于 2012-06-01T09:57:44.910 回答
0

After doing some research on the topic and some fruitful discussion with Mike, I think I have a good idea on how the Route Targets are assigned. So I decided to answer my own question.

Quoting from Mike's answer

Route-targets are used to implement VRF route import and export policies for a VRF on a PE router.

The problem arises when we have a PE router sending control plane information received from a site belonging to multiple VPNs. There should be some way for the PE to decide which route target (thereby signalling to which VPN this control information belongs to) to assign to the BGP control packet it sends.

The important point to be noted is that VRFs are configured on particular interfaces and Route Targets are configured for interfaces.

So, if we have a site that belongs to, say, 3 VPNs, the site's CE and the corresponding PE should be connected via 3 different interfaces (or sub-interfaces) and a specific route Target assigned to each interface (or sub-interface).

Regarding my other question

Are the route targets to various VRFs manually installed in all the PEs?

From what I had gathered from searching online, Route targets are indeed configured manually on the routers.

于 2012-06-02T05:14:46.780 回答