MPLS VPN的实现.docx
《MPLS VPN的实现.docx》由会员分享,可在线阅读,更多相关《MPLS VPN的实现.docx(21页珍藏版)》请在冰点文库上搜索。
MPLSVPN的实现
南京邮电大学
实验报告
实验名称______MPLSVPN的实现_
_________________________
_________________________
_________________________
课程名称_______通信网技术基础______
班级学号________________
姓名____________________
开课时间2014/2015学年,第二学期
实验名称MPLSVPN的实现
一、实验目的
该实验通过MPLSVPN的数据配置,使学生掌握路由器相关接口的IP地址设置、路由协议的配置以及MPLSVPN的完整的创建过程,从而加深对IP网络的IP编址、路由协议以及MPLS的相关理论的理解。
二、实验内容
利用网络模拟器GNS3模拟Cisco的实验环境,搭建IP网络,完成CE、PE和P路由器上的数据配置,使属于同一VPN的两个路由器能够互通。
三、实验设备
1.硬件:
PC机。
2.软件:
①网络模拟器GNS3-0.8.6-all-in-one
②终端仿真程序SecureCRT6.7
③CiscoIOS文件C3640-JK9O3S-M-12.4(7a).BIN
四、实验步骤及要求
1.按图1创建网络拓扑结构并把该拓扑结构记录在实验报告中。
图1MPLSVPN实验的拓扑结构
2.配置各个路由器相关接口的IP地址并记录在实验报告中。
3.配置骨干网络内路由协议。
4.配置骨干网络内MPLS协议。
1)全局开启CEF(必须配置):
R1(config)#ipcef
R2(config)#ipcef
R3(config)#ipcef
2)配置LDP(必须配置):
配置R1、R2和R3在骨干网内的接口开通LDP。
3)检查配置
配置完毕后测试R1~R3的loopback0口是否实现标签交换,命令如下:
R1#traceroute3.3.3.3source1.1.1.1
出现下列提示:
从结果可以看出,R2到R3以及R3到R2的loopback0已经实现标签交换。
我们还可以使用以下命令查看LDP邻居、查看LFIB表和FIB表。
R1#shmplsldpneighbor查看LDP邻居
R1#showmplsforwarding-table查看LFIB表
R1#showmplsipbinding查看FIB表
4)保存
检查无误后保存路由器配置和工程。
5.配置普通BGP。
1)在R1上配置普通BGP:
R1(config)#routerbgp100
R1(config-router)#bgprouter-id1.1.1.1
R1(config-router)#noauto-summary
R1(config-router)#nosynchronization
R1(config-router)#neighbor3.3.3.3remote-as100
R1(config-router)#neighbor3.3.3.3update-sourceloopback0
2)在R3上配置普通BGP:
R3(config)#routerbgp100
R3(config-router)#bgprouter-id3.3.3.3
R3(config-router)#noauto-summary
R3(config-router)#nosynchronization
R3(config-router)#neighbor1.1.1.1remote-as100
R3(config-router)#neighbor1.1.1.1update-sourceloopback0
2)查看普通BGP邻居关系:
R1(config-router)#end
R1#showipbgpsummary
此时出现下列提示:
R3(config-router)#end
R3#showipbgpsummary
此时出现下列提示:
由此可以看到R1与R3已相互建立正常BGP邻居关系。
4)保存
检查无误后保存路由器配置和工程。
6.在PE上创建VRF。
1)在R1上创建VRF,并指定RD值:
R1(config)#ipvrfvpn1
R1(config-vrf)#rd100:
1
2)在R3上创建VRF,并指定RD值:
R3(config)#ipvrfvpn1
R3(config-vrf)#rd100:
1
3)在PE上将连CE的接口划入VRF
在PE上将相应的CE接口划入相应的VRF,以后从该接口进入的用户数据包,则属于相应的VRF,该用户的数据只能根据该VRF路由表作出转发决策。
①在R1上将连CER4的接口f1/0划入VRF:
R1(config-vrf)#intf1/0
R1(config-if)#ipvrfforwardingvpn1将接口划入名称为vpn1的VRF
R1(config-if)#ipadd14.1.1.1255.255.255.0
②在R3上将连CER5的接口f0/0划入VRF:
R3(config-vrf)#intf0/0
R3(config-if)#ipvrfforwardingvpn1
R3(config-if)#ipadd35.1.1.3255.255.255.0
当一个正常的接口被划入VRF之后,接口上的地址会消失,所以需要重新配置一次该接口的IP地址。
4)在PE上查看VRF的路由表情况
从用户发到PE的数据包,PE只能根据该用户的VRF路由表作出转发决策,也就是说,如果两个要通信的用户网络,如果各自的内网路由没有出现在PE的VRF路由表里,那么他们将不能通信。
①在PER1上查看VRFvpn1的路由表:
R1#showiproutevrfvpn1
出现下列提示:
RoutingTable:
vpn1
Codes:
C-connected,S-static,R-RIP,M-mobile,B-BGP
D-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterarea
N1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2
E1-OSPFexternaltype1,E2-OSPFexternaltype2
i-IS-IS,su-IS-ISsummary,L1-IS-ISlevel-1,L2-IS-ISlevel-2
ia-IS-ISinterarea,*-candidatedefault,U-per-userstaticroute
o-ODR,P-periodicdownloadedstaticroute
Gatewayoflastresortisnotset
14.0.0.0/24issubnetted,1subnets
C14.1.1.0isdirectlyconnected,FastEthernet1/0
②查看PER1的全局路由表,已经不会再有连CE接口f1/0的路由了:
R1#showiproute
出现下列提示
Codes:
C-connected,S-static,R-RIP,M-mobile,B-BGP
D-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterarea
N1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2
E1-OSPFexternaltype1,E2-OSPFexternaltype2
i-IS-IS,su-IS-ISsummary,L1-IS-ISlevel-1,L2-IS-ISlevel-2
ia-IS-ISinterarea,*-candidatedefault,U-per-userstaticroute
o-ODR,P-periodicdownloadedstaticroute
Gatewayoflastresortisnotset
1.0.0.0/32issubnetted,1subnets
C1.1.1.1isdirectlyconnected,Loopback0
2.0.0.0/32issubnetted,1subnets
O2.2.2.2[110/2]via12.1.1.2,00:
48:
20,FastEthernet0/0
3.0.0.0/32issubnetted,1subnets
O3.3.3.3[110/3]via12.1.1.2,00:
48:
20,FastEthernet0/0
23.0.0.0/24issubnetted,1subnets
O23.1.1.0[110/2]via12.1.1.2,00:
48:
20,FastEthernet0/0
12.0.0.0/24issubnetted,1subnets
C12.1.1.0isdirectlyconnected,FastEthernet0/0
可以看见,PER1在将连CER4的接口f1/0划入VRFvpn1之后,该接口就进入VRFvpn1的路由表。
并且要说明的是,该接口就不会再出现在全局路由表里。
5)保存
检查无误后保存路由器配置和工程。
7.创建MP-BGP。
通过上面在PE上查看VRF路由表发现,VRF路由表中并没有双方用户的路由,所以必须创建MP-BGP,来为双方用户网络传递路由信息。
1)在PER1及R3上创建MP-BGP:
因为要传递vpnv4的路由,所以创建的address-family为vpnv4,并且将正常的BGP邻居在vpnv4里面激活,而且还需要将这些BGP的扩展属性手工强行发给对端,否则对方收到的路由信息不会携带扩展属性,也就无法正常区分用户的路由信息。
配置好后,还需查看MP-BGP邻居:
R1#showipbgpallsummary
可以得到如下提示信息
可以看到,R1上已经和R3建立普通BGP邻居关系,同时也建立MP-BGP邻居关系。
2)为MP-BGP创建VRF
MP-BGP在收到用户的路由信息后,必须将其放入相应的VRF路由表,但是这个VRF表是要手工创建的,并且和该用户相关联的VRF名字保持一致:
R1(config)#routerbgp100
R1(config-router)#address-familyipv4vrfvpn1
R1(config-router-af)#nosynchronization
R3(config)#routerbgp100
R3(config-router)#address-familyipv4vrfvpn1
R3(config-router-af)#nosynchronization
3)配置RT控制VRF路由信息
MP-BGP的VRF路由表能让什么样的路由进入,是靠RT来控制的,要想让用户的路由被MP-BGP传递,就必须为VRF配置相应的RT,只有RT允许的RD路由,才能进入和出去VRF表。
R1(config)#ipvrfvpn1
R1(config-vrf)#route-targetboth100:
1
R3(config)#ipvrfvpn1
R3(config-vrf)#route-targetboth100:
1
由以上设置可实现VRFvpn1允许RD为100:
1的路由进入和出去。
(也可以在R1和R3上分别设置exportRT和importRT
R1(config)#ipvrfvpn1
R1(config-vrf)#route-targetexport100:
1本地的RTexport
R1(config-vrf)#route-targetimport100:
2匹配PE2所配置的RTexport,用于将PE2传递过来的路由导入VRF
R3(config)#ipvrfvpn1
R3(config-vrf)#route-targetexport100:
2本地的RTexport
R3(config-vrf)#route-targetimport100:
1匹配PE2所配置的RTexport)
配置好可以用showipvrfdetail查看VRF的详细参数,如RD、RT、接口等。
R1#showipvrfdetail
4)配置PE-CE的路由协议,并将MP-BGP的路由重分布进该路由协议
虽然MP-BGP的VRF已经允许相应的用户路由进入,但是在PE上,此时并不能获知用户的路由信息,所以MP-BGP的VRF路由表中,依然为空,要想让MP-BGP的VRF路由表能够导入相应的用户路由,那就必须和用户CE之前启用路由协议,以获得对方的路由信息,从而导入MP-BGP的VRF表。
①在PER1一端启用RIP路由协议:
a.在PER1上配置RIP:
R1(config)#routerrip
R1(config-router)#version2
R1(config-router)#noauto-summary
R1(config-router)#address-familyipv4vrfvpn1
R1(config-router-af)#noauto-summary
R1(config-router-af)#network14.0.0.0
R1(config-router-af)#redistributebgp100metric1
发布路由都是在address-family中进行的,并且请关闭自动汇总功能,且将MP-BGP的路由重分布进RIP,否则对方CE将无法得知远程用户的路由信息。
b.在CER4上配置RIP:
R4(config)#routerrip
R4(config-router)#version2
R4(config-router)#noauto-summary
R4(config-router)#network14.0.0.0
R4(config-router)#network46.0.0.0
②在PER3一端启用OSPF路由协议:
a.在PER3上配置OSPF:
R3(config)#routerospf100vrfvpn1
R3(config-router)#router-id35.1.1.3
R3(config-router)#network35.1.1.30.0.0.0a0
R3(config-router)#redistributebgp100subnets
同样也要将MP-BGP的路由重分布进OSPF,以便传递给CE端。
b.在CER5上配置OSPF:
R5(config)#routerospf100
R5(config-router)#router-id5.5.5.5
R5(config-router)#network35.1.1.50.0.0.0a0
R5(config-router)#network57.1.1.50.0.0.0a0
R5(config-router)#exit
5)将PE-CE间的路由重分布进MP-BGP
PE-CE之间在运行IGP时,无法自动导入MP-BGP,所以手工重分布。
①在R1上将RIP路由导入MP-BGP:
R1(config)#routerbgp100
R1(config-router)#address-familyipv4vrfvpn1
R1(config-router-af)#redistributerip
②在R3上将OSPP路由导入MP-BGP:
R3(config)#routerbgp100
R3(config-router)#address-familyipv4vrfvpn1
R3(config-router-af)#redistributeospf100
6)保存
检查无误后保存路由器配置和工程。
8.配置用户端路由协议。
用户端(通常称为C路由器)R6及R7加入各自CE的路由协议进程:
R6(config)#routerrip
R6(config-router)#version2
R6(config-router)#noauto-summary
R6(config-router)#network46.0.0.0
R6(config-router)#network6.6.6.6
R7(config)#routerospf100
R7(config-router)#router-id7.7.7.7
R7(config-router)#network7.7.7.70.0.0.0a0
R7(config-router)#network57.1.1.00.0.0.255a0
保存路由器配置和工程。
至此,设置已完全结束。
9.查看VRF路由、CE路由和客户端路由,并将R1、R4和R6的路由显示结果及分析记录在实验报告中。
1)查看MP-BGP路由
2)查看PE上VRF路由
3)查看CE路由
4)查看客户端路由
10.测试用户间通信并跟踪路由,将结果记录在实验报告中。
由上可以看出,R6和R7之间已经成功穿越MPLS网络将数据包发送给对方远程用户网络,MPLS_VPN配置成功,工作正常。
五、心得体会
通过本次实验对MPLSVPN的数据配置,我们掌握了路由器相关接口的IP地址设置、路由协议的配置以及MPLSVPN的完整的创建过程,从而加深了对IP网络的IP编址、路由协议以及MPLS的相关理论的理解。
六、实验思考题
1.简述三层MPLSVPN的基本原理。
答:
整个MPLSVPN体系结构可以分成控制面和数据面,控制面定义了LSP的建立和VPN路由信息的分发过程,数据面则定义了VPN数据的转发过程。
在控制层面,客户路由器是通过CE和PE路由器之间、PE路由器之间的路由交互知道属于某个VPN的网络拓扑信息。
除了路由协议之外,在控制层面工作的还有LDP,它在整个MPLS网络中进行标签的分发,形成数据转发的逻辑通道LSP。
在数据转发层面,MPLSVPN网络中传输的VPN业务数据采用外标签(隧道标签)和内标签(VPN标签)两层标签栈结构。
当VPN分组被打上两层标签后,就通过PE输出接口转发出去,然后在MPLS骨干网中沿着LSP被逐级转发。
在出口PE之前的最后一个P路由器上,外层标签被弹出,P路由器将只含有VPN标签的分组转发给出口PE路由器。
出口PE路由器根据内层标签查找对应的输出接口,在弹出VPN标签后通过该接口将VPN分组发送给正确的CE路由器,从而实现了整个数据转发过程。
2.简述三层MPLSVPN中PE路由器的配置步骤。
答:
①配置PE路由器相关接口的IP地址;
②配置路由协议;
③在PE上创建VRF;
④创建MP-BGP;
3.MPLSVPN中P路由器转发的数据包有两层标签,说明这两层标签分别是由什么协议分配的。
答:
外层标签一般由LDP来分配,如果做流量工程的话也可以用RSVP-TE分配;
内层标签由MP-BGP来分配,如果L2VPN的话也可用RemoteLDP分配。
4.简述MPLSVPN中RT和RD的作用。
答:
RD称作路由标识符,这个标识符在服务提供商的网络中是独一无二的。
VRF中包括一个独一无二的地址,叫做VPN-IP地址,是由RD和用户的IP地址连接形成的。
RD能为相同的IPV4的地址前缀产生不同的路由。
RT使用了BGP的扩展团体属性,其本质是每个VRF表达自己的路由取舍及喜好的方式。
RT可以分为两部分:
ExportTarget与ImportTarget。
当PE从VRF表中导出VPN路由时,要用ExportRT对VPN路由进行标记。
当PE收到VPNv4路由信息时,只有带RT标记与VRF表中任意一个ImportRT相符的路由才会被导入到VRF表中,从而形成不同的VPN,实现VPN的互访与隔离。
通过对ExportRT与ImportRT合理配置,运营商可以构建不同拓扑类型的VPN。