我正在自己学习 L3VPN,路由目标确实让我很困惑。我有一个找不到答案的问题。问题是:L3VPN 是否可以在没有路由目标的情况下工作?我有这个问题是因为我看到这发生在现实生活中。
提前致谢!
没有路由目标的 L3VPN?
L3VPN 必须为其 PE(标签边缘路由)配置 RD、路由目标导入/导出,特别是 VRF。这仅用于控制平面。
为了清楚起见,让我简要解释一下 RD 和 route-target。
路由区分符 (RD)用于识别哪个前缀属于哪个客户。您可能从自己的研究中知道,多个客户可以使用相同的前缀。例如,192.168.0.0/24 可以在其 LAN 内使用客户 A 和客户 B。
您必须知道 VPNV4 系列本身并不在 VRF 中运行。因此,RD 的目的只是使 IPv4 前缀全局唯一,当 BGP 相互通告 NLRI 时。
它是 8 字节长的字段。在下面的蓝色框中看到它。
路由器目标导入/导出是确定哪个前缀属于哪个 VRF(客户)所必需的。所以当 BGP 发送更新时,还包括扩展社区依赖于 route-target 导出。
当特定的 PE 路由器收到该 BGP 更新时。他可以很容易地识别出属于哪个 VRF 前缀,这取决于 route-target 导入。
对于上面来自 Wireshark 的图像,PE 路由器 (10.0.0.3) 已包含扩展社区,这取决于路由目标导出(红色框)。并且由于路由目标导入,一旦他收到该更新,另一台 PE 路由器 (10.0.0.4) 会将其包含到适当的 VRF 中。
当您对上述内容足够熟悉时。您可以研究更多高级功能,例如路由表之间的路由泄漏等...
我创建了简单的 MPLS 网络,所以我们可以做一些实际的例子。
当两个 PE 路由器上为 CUST_A 配置 VRF 时:
PE_1#sh run | s ip vrf CUST_A
ip vrf CUST_A
rd 10:10
route-target export 10:10
route-target import 10:10
PE_1#
PE_2#sh run | s ip vrf CUST_A
ip vrf CUST_A
rd 10:10
route-target export 10:10
route-target import 10:10
CE_2 路由器在其路由表中具有从 CE_1 已知的网络 192.168.0.0/24。
CE_2#sh ip ro | b Gateway
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 2 subnets
C 10.4.6.0 is directly connected, FastEthernet0/0
B 10.3.5.0 [20/0] via 10.4.6.1, 00:48:52
B 192.168.0.0/24 [20/0] via 10.4.6.1, 00:48:52
C 192.168.1.0/24 is directly connected, Loopback0
CE_2#
在下一个示例中,我将从 PE_2(拓扑中的 R4)路由器上的 CUST_A 的特定 VRF 配置中删除路由目标导入。
PE_2(config)#ip vrf CUST_A
PE_2(config-vrf)#no route-target import 10:10
PE_2(config-vrf)#
我在 PE_2 的 BGP VPNV4 表和 CE_2 路由器的路由表中也看不到前缀 192.168.0.0/24。
PE_2#sh bgp vpnv4 unicast all
BGP table version is 23, local router ID is 10.0.0.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10:10 (default for vrf CUST_A)
r> 10.4.6.0/30 10.4.6.2 0 0 200 ?
*> 192.168.1.0 10.4.6.2 0 0 200 ?
PE_2#
CE_2#sh ip ro | b Gateway
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 1 subnets
C 10.4.6.0 is directly connected, FastEthernet0/0
C 192.168.1.0/24 is directly connected, Loopback0
CE_2#
即使它是从 PE_1(拓扑中的路由 R3)路由器正确发布的(在 NLRI 中具有正确的 RD 和 RT):
PE_1#sh bgp vpnv4 unicast all neighbors 10.0.0.4 advertised-routes | b Network
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10:10 (default for vrf CUST_A)
r> 10.3.5.0/30 10.3.5.2 0 0 100 ?
*> 192.168.0.0 10.3.5.2 0 0 100 ?
Total number of prefixes 2
PE_1#
我可以做更多的例子,但我希望现在已经足够清楚了。希望能帮助到你。
如有任何误解,请随时发表评论。

