3.2.3 MPLS/VPN中标签分组的转发
同过MP-BGP协议各个VPN用户路由器学习到正确的路由,现在看看如何转发用户数据的。
1.CE1接收到发往10.1.1.1的IP数据包,查询路由表,把该IP数据包发送到PE1。
2.PE1从S1口上收到IP数据包后,根据S1所在的VRF,查询对应的CEF表,数据包打上标签8,注重该标签就是通过MP-BGP协议传来的。PE1继续查询全局CEF表,获知要把数据发往10.1.1.1,必须先发送到PE2,而要发送到PE2,则必须打上由P1告知的标签2。所以该IP包被打上了两个标签。
3.P1接收到标签包后,分析顶层的标签,把顶层标签换成4,继续发送的P2。
4.P2和P1一样做同样的操作,由于次末中继弹出机制,P2去掉标签4,直接把只带有一个标签的标签包发送的PE2。
5.PE2收到标签包后,分析标签头,由于该标签8是它本地产生的,而且是本地唯一的,所以PE2很轻易查出带有标签8的标签包应该去掉标签,恢复IP包原貌,从S1端口发出。
6.CE2获得IP数据包后,进行路由查找,把数据发送到10.1.1.0/8网段上。
4 MPLS/VPN配置实例
要提供VPN服务的前提是:服务提供商的网络必须启用标签交换功能,即把以前的数据网络升级为MPLS网络。然后具体配置PE,PE上的配置按六步走:
1.定义并且配置VRF
2.定义并且配置RD
3.定义RT,并且配置导入导出策略
4.配置MP-BGP协议
5.配置PE到CE的路由协议
6.配置连接CE的接口,将该接口和前面定义的VRF联系起来。
上图中CE1、CE2、CE3组成一个VPN,其中PE3和CE3之间走RIP2协议,PE2和CE2之间走BGP协议。整个As 6500中走OSPF协议。
PE3的部分配置如下:
ip cef ──启用CEF转发功能
ip vrf Red ──定义一个 VRF ,名字为Red
description For Red User Vpn
rd 6500:1 ──定义RD值为6500:1
route-target eXPort 6500:1 ──定义导出策略
route-target import 6500:1 ──定义导入策略
router rip ──配置PE3到CE3的路由协议RIP2
version 2 !
address-family ipv4 vrf Red version 2 redistribute bgp 6500 metric 1──-将BGP学到的路由从新发布的RIP2中,network 192.168.1.0 使CE3能学到同一VPN中的其他路由
no auto-summary
exit-address-family
router bgp 6500 ──-配置BGP协议
no synchronization
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 192.168.168.2 remote-as 6500 ──-和PE2建立邻居关系
neighbor 192.168.168.2 update-source Loopback0
no auto-summary !
address-family ipv4 vrf Red ────为VPN用户配置IPv4地址家族,使
redistribute rip metric 1 VRF Red 所管辖的路由表中的路由从新发布到BGP协议中去。
no auto-summary
no synchronization
exit-address-family !
address-family vpnv4 ────具体配置和PE2的关系,使PE3和PE2之间能交换VPNv4路由
neighbor 192.168.168.2 activate
neighbor 192.168.168.2 send-community both
no auto-summary
exit-address-family
interface Ethernet0/1 ────-配置连接CE3的接口
ip vrf forwarding Red ────-使该接口和前面定义的VRF Red联系起来
ip address 192.168.1.17 255.255.255.252
interface Ethernet0/0 ──-配置联系到7206上接口
ip address 192.168.1.10 255.255.255.252
half-duplex
tag-switching ip ──-在该接口上启用标签交换 !
PE2上的部分配置如下:
ip cef ──启用CEF转发功能
ip vrf Red ──定义一个 VRF ,名字为Red description For Red User Vpn
rd 6500:1 ──定义RD值为6500:1
route-target export 6500:1 ──定义导出策略
route-target import 6500:1 ─-定义导入策略
!
同时上传附件router bgp 6500 ─-配制BGP协议
no synchronization
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 192.168.168.4 remote-as 6500
neighbor 192.168.168.4 update-source Loopback0
neighbor 192.168.168.4 next-hop-self
──这点在PE-CE之间路由协议为BGP时,一定要配置。
no auto-summary !
address-family ipv4 vrf Red
neighbor 10.10.40.1 remote-as 6504 ──配置和CE2之间的路由协议BGP
neighbor 10.10.40.1 activate
no auto-summary
no synchronization
exit-address-family !
address-family vpnv4
neighbor 192.168.168.4 activate ──激活和PE3的MP-IBGP邻居关系
neighbor 192.168.168.4 send-community both
no auto-summary
exit-address-family !
interface Serial1/0 ──-配置连接到CE2的接口
ip vrf forwarding Red ──把该接口和VRF Red联系起来
ip address 10.10.40.2 255.255.255.252
interface Ethernet0/1 ──配置连接到7206的接口
ip address 192.168.1.13 255.255.255.252
half-duplex
tag-switching ip ──在此接口上启用标签交换
interface Serial1/1 ──-配置连接到PE1的接口
bandwidth 1544
ip address 10.10.30.2 255.255.255.252
encapsulation ppp
tag-switching ip ──在此接口上启用MPLS交换
5 总结
上面的配置展现了在单个AS内部实现VPN的配置,当然VPN用户的各个接入点往往是地域跨度很大的,所以经常要涉及到跨AS提供VPN业务的需求。这样的配置会更加复杂,而且需要各个电信运营商配合行动才行,这里就不在具体展开叙述了。
MPLS是一种结合了链路层和IP层优势的新技术。在MPLS网络上不仅仅能提供VPN业务,也能够开展QOS、TE、组播等等的业务。
目前中国网通已经在大规模地在提供基于MPLS技术的VPN业务,其他运营商,如中国电信等也在迎头赶上。很快地,就象WWW技术一样,MPLS技术将会影响我们生活的方方面面!