前面一个章节学习MPLS技术的目的就是为今天学习实现MPLS VPN打基础,因为笔者面临的场景是将不同位置、不同类型的政企客户内网网络通过运营商的城域网实现互通。
比如某品牌连锁药店,在城市里开了50个分店和1个总部,这些分店网络要求可以访问总部并能实现分店间网络的互访,这种组网要求传统的组网方案是通过50条专线将50个分店直接连接至总部,或将50个分店拉专线汇聚至运营商内部机房后,再从运营商汇聚点机房拉专线连接至总部,这种方案的缺点是增加了一个或多个汇聚点,组网方案没有充分利用运营商现网资源,而是非常愚蠢的占用了宝贵的大量过桥或中继光缆资源,增加了成本增多了故障点。
如果通过MPLS-VPN技术充分利用运营商部署在城域网的BRAS设备就可以不需要新建汇聚点,50个分店与总部均就近接入城域网的BRAS设备,通过在城域网BRAS上部署的MPLS-VPN网络实现将50个分店与总部的互联互通,由于每台BRAS都双挂了CR设备,从L3层实现了路由保护比传统组网方案既减少了建设投资,又增加了方案的安全性和稳定性。这个方案针对大型的政企客户专网非常有效率,比如有两个政企客户A、B,在一个城市里都有2个专网,且位置相距很远,需要运营商帮忙把其专网连接起来,如果采用传统组网方案,碰巧连接这两个专网都需要过江光缆,而过江光缆的纤芯早就用完了,所以只能采用MPLS-VPN方案实现将这两个用户的两个专网连接起来。
客户网络拓扑如上图
一、客户网络情况分析
1、客户A网络情况分析
客户A站点1 | 客户A站点2 | |
LOOPBACK地址 | 5.5.5.5/32 | 6.6.6.6/32 |
互联接口 | GE0/0/0 | GE0/0/0 |
互联IP | 172.16.0.2/30 | 172.16.0.6/30 |
路由协议 | BGP | OSPF |
AS域 | 64538 | 64539 |
客户网络 | 172.16.1.0/24 | 172.16.2.0/24 |
测试IP | 172.16.1.2 | 172.16.2.2 |
客户A站点1网络有两个子网,一个子网172.16.0.2/30与运营商的BRAS设备互联,一个子网172.16.1.0/24用于将内部办公网络设备地址,用户路由器分配的AS域为64538,运行了BGP动态路由协议,loopback0的地址为5.5.5.5/32,子网172.16.0.2/30使用路由器ge0/0/0口,子网172.16.1.0/24使用路由器ge0/0/1口,为了方便测试,我们为用户办公子网设置了一台办公电脑172.16.1.2
客户A站点2网络有两个子网,一个子网172.16.0.6/30与运营商的BRAS设备互联,一个子网172.16.2.0/24用于将内部办公网络设备地址,用户路由器分配的AS域为64539,运行了OSPF动态路由协议,loopback0的地址为6.6.6.6/32,子网172.16.0.6/30使用路由器ge0/0/0口,子网172.16.2.0/24使用路由器ge0/0/1口,为了方便测试,我们为用户办公子网设置了一台办公电脑172.16.2.2
2、客户B网络情况分析二、运营商网络分析
客户B站点1 | 客户B站点2 | |
LOOPBACK地址 | 7.7.7.7/32 | 8.8.8.8/32 |
互联接口 | GE0/0/0 | GE0/0/0 |
互联IP | 192.168.0.2/30 | 192.168.0.6/30 |
路由协议 | OSPF | BGP |
AS域 | 64536 | 64537 |
客户网络 | 192.168.1.0/24 | 192.168.2.0/24 |
测试IP | 192.168.1.2 | 192.168.2.2 |
客户B站点1网络有两个子网,一个子网192168.0.2/30与运营商的BRAS设备互联,一个子网192.168.1.0/24用于将内部办公网络设备地址,用户路由器分配的AS域为64536,运行了OSPF动态路由协议,loopback0的地址为7.7.7.7/32,子网192.168.0.2/30使用路由器ge0/0/0口,子网192.168.1.0/24使用路由器ge0/0/1口,为了方便测试,我们为用户办公子网设置了一台模拟HTTP方式访问的客户端192.168.1.2
客户B站点2网络有两个子网,一个子网192.168.0.6/30与运营商的BRAS设备互联,一个子网192.168.2.0/24用于将内部办公网络设备地址,用户路由器分配的AS域为64537,运行了BGP动态路由协议,loopback0的地址为8.8.8.8/32,子网192.168.0.6/30使用路由器ge0/0/0口,子网192.168.2.0/24使用路由器ge0/0/1口,为了方便测试,我们模拟了一台WEB服务器,地址为192.168.2.2,这台服务器需要客户B站点1网络访问
3、客户A、B的组网需求
实现客户A站点1-172.16.1.0/24与客户A站点2-172.16.2.0/24两个网段网络的互联互通。
实现客户B站点1-192.168.1.0/24与客户B站点2-192.168.2.0/24两个网段网络的互联互通。
从上面的网络拓扑图中可以看出,客户A、客户B的站点1与站点2要实现互通,需要路由信息透明穿过运营商的城域网,也就是BGP AS2345区域。
二、运营商侧核心网络分析
1、PE路由器侧分析
由于PE路由器是MPLS-VPN组网中非常关键的一环,包括VRF、IGP路由协议(OSPF、ISIS、IBGP)、MPLS、LDP、MP-BGP等技术都有应用,有必要对PE路由器的配置重点分析。
本案例中PE1、PE2分别连接着客户A、B的CE设备,在PE1、PE2上分别创建了2个VRF A与VRF B,VRF A为客户A提供服务,VRF B为客户B提供服务。
VRF被用于数据或业务的隔离,利用其虚拟化实例的特征,在网络设备上实现业务或数据的隔离,将特定的与CE互联的接口创建一个独立的VRF,使之与设备的根实例隔离,该与CE互联的接口从PE路由器根设备脱离并专门服务与客户A,每个VRF使用独立于根设备的路由表和FIB表,使得PE在某个VRF的接口上的流量不会被转发至VRF B或根实例中。本例中为了方便大家理解特地将客户A与客户B的内网做的不一样,实际上因为有了不同的VRF区隔,客户A与客户B的内网IP地址可以完全一样且不会相互冲突。
PE1路由器 | PE2路由器 | |
BGP骨干网AS号 | 2345 | |
与客户A站点1互联端口 | GE0/0/0 | |
与客户A站点1互联IP | 172.16.0.1/30 | |
与客户A站点1互联路由协议 | BGP AS64538 | |
VRF名称 | A | |
与客户B站点1互联端口 | GE0/0/1 | |
与客户B站点1互联IP | 192.168.0.2/30 | |
与客户B站点1互联路由协议 | OSPF | |
VRF名称 | B | |
与客户A站点2互联端口 | GE0/0/0 | |
与客户A站点2互联IP | 172.16.0.5/30 | |
与客户A站点2互联路由协议 | OSPF | |
VRF名称 | A | |
与客户B站点2互联端口 | GE0/0/1 | |
与客户B站点2互联IP | 192.168.0.5/30 | |
与客户B站点2互联路由协议 | BGP AS64537 | |
VRF名称 | B |
2、P路由器分析
P1路由器 | P2路由器 | |
loopback地址 | 2.2.2.2/32 | 3.3.3.3/32 |
与PE1互联端口 | GE0/0/2 | |
与PE1互联IP | 10.0.23.2/24 | |
与P2互联端口 | GE0/0/0 | |
与P2互联IP | 10.0.33.1/24 | |
与P1互联端口 | GE0/0/0 | |
与P1互联IP | 10.0.33.2 | |
与PE2互联端口 | GE0/0/2 | |
与PE2互联IP | 10.0.44.1 |
在MPLS-VPN配置中P路由器主要使用MPLS的LDP进行标签数据的自动转发,用户网络传输的数据不会被拆包分析,直接根据LDP自动生成的LSP信息进行自动转发,所以在实际MPLS-VPN业务配置中,P路由器角色并没有配置工作量。
三、配置流程说明
流程图简要说明客户A的站点1、站点2互通配置流程,因为本案例是通过华为模拟器创建,所以核心网的网络连接与互通需要配置,真正的生产环境中,P路由器无需配置,只需要根据实际客户侧所用路由协议(一般都用静态路由)在PE侧完成VRF配置绑定与用户CE互联的接口并将用户侧的路由信息导入至BGP中的vpnv4路由中即可。
我这里的过程是模拟一个从用户侧到运营商侧全部新建的空白场景,运营商侧需要从接口、IGP、MPLS-LDP、VRF等方面进行全方位配置。
四、重点说明
本案例抛开具体配置项,其实就是将用户CE的数据通过EBGP方式接入PE,PE之间通过BGP-MP方式建立对等体连接,然后采用地址族(Address Family)来区分不同的网络层协议,既可以支持传统的IPv4地址族,又可以支持其它地址族(比如VPN-IPv4地址族等
1、首先将PE1\P1\P2\PE2路由器的接口、loopback及IGP路由配通,确认这四台路由器可以相互ping通loopback地址;
2、将PE1\P1\P2\PE2的MPLS及MPLS LDP功能全局打开,并在这四台设备互联的端口分别引用MPLS与MPLS LDP,实现LDP对等体连接并自动生成LSP,测试ping lsp ip x.x.x.x ,查看是否可以任意通过LSP通达这四台路由器的LOOPBACK地址;
3、在PE1与PE2上创建VRF,将连接CE设备的接口分配给相应的VRF,然后再配置PE-CE之间的路由协议,其中PE1与CE1之间跑BGP协议,PE2与CE2之间跑OSPF协议;
4、在PE1与PE2上配置MP-BGP,在PE1-PE2上建立MP-BGP对等体关系,使两个PE设备直接交换VPN路由信息,这个信息通过BGP-MP的update消息传递;
5、在PE1上将CE1的路由通过BGP协议引入,在PE2上将CE2的路由通过OSPF引入并在BGP中导入OSPF的路由,实现IPV4客户路由与VPNv4路由的转换过程;
五、实现效果展示
1、客户A站点1下的客户172.16.1.2成功访问客户A站点2下的客户172.16.2.2
2、客户A站点2下的用户172.16.2.2成功访问站点1 172.16.1.2
3、客户B站点1用户192.168.1.2通过ftp成功访问客户B站点2用户192.168.2.2(ftp-server)
上一张是通过客户端ping测试,下一张是展示通过ftp客户端成功访问服务器端。
六、详细配置及配置调试信息见下一篇文章
《手把手教你玩转MPLS-VPN组网二---(实操篇)》