MPLSVPN运作流程详解闫辉老师课堂笔记Word文档格式.docx
《MPLSVPN运作流程详解闫辉老师课堂笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《MPLSVPN运作流程详解闫辉老师课堂笔记Word文档格式.docx(6页珍藏版)》请在冰点文库上搜索。
一台PE路由器形成VRF路由表,在该VRF路由表再通告给其他的PE路由器之前,先给VRF通告一个标签,这个标签就是该PE关于VRF路由表本地分发的标签。
假设R2给VRF路由表本地分发的标签是20,R3给VRF路由表本地分发的标签是21。
因此,当这个去往5.5.5.0/24网段的报文到达R2之后,会首先R3本地分发的关于VRF路由表的标签21,在标签21的基础之上再添加该BGP路由所对应的下一跳的出站标签16。
此时,R1会收到打有两层标签的报文,只会处理外层标签(路由器收到的报文不管有几层标签,路由器永远处理外层的标签,不管对标签做的是压入、弹出还是交换,所谓的标签交换就是把外层的标签从一个值换为另一个值;
标签压入:
在所有标签的前端添加一个标签;
标签弹出:
把最外层的标签去掉。
POP:
只弹出最外层标签;
Untaged:
不管几层标签,全部都剥除。
),R1要执行倒数第二跳标签弹出,该报文到达R3的只剩下一层标签21,R3收到带有标签21的报文,即便R3的fa0/0没有跟任何VRF关联,也会直接查看VRF子路由表,R3查到了表项发现要把报文给R5,要通过s0/1口发出,在发出之前会把标签21去掉。
具体配置过程:
R2(config)#ipcef
R2(config)#ints1/1
R2(config-if)#mplsip
R2(config)#mplsldprouter-idloopback0force
R2(config)#ipvrfA
R2(config-vrf)#rd10:
10
R2(config-vrf)#route-target?
ASN:
nnorIP-address:
nnTargetVPNExtendedCommunity
bothBothimportandexportTarget-VPNcommunity
exportExportTarget-VPNcommunity
importImportTarget-VPNcommunity
R2(config-vrf)#route-target10:
10(默认export和import都为10:
10)
R2(config)#end
R2#showrun
Buildingconfiguration...
!
ipvrfA
rd10:
10
route-targetexport10:
route-targetimport10:
10
在接口上关联VRF:
R2(config)#ints1/0
R2(config-if)#ipvrfforwardingA
%InterfaceSerial1/0IPv4disabledandaddress(es)removedduetodisablingVRFA
R2(config-if)#ipadd24.1.1.2255.255.255.0
(注意:
在接口上关联VRF以后,配置的IP地址会被移除,应该先配置VRF再配置IP地址)
此时,24.1.1.1.0网段的路由在主路由表中无法查看,只能使用showiproutevrfA查看VRFA的子路由表看到。
R2#pingvrfA24.1.1.4(直接ping24.1.1.4将无法ping通,因为使用的是主路由表)
Typeescapesequencetoabort.
Sending5,100-byteICMPEchosto24.1.1.4,timeoutis2seconds:
Successrateis100percent(5/5),round-tripmin/avg/max=12/20/24ms
在R2做一条静态路由
R2(config)#iproutevrfA4.4.4.0255.255.255.024.1.1.4
R2#showiproutevrfA
RoutingTable:
A
4.0.0.0/24issubnetted,1subnets
S4.4.4.0[1/0]via24.1.1.4
R2(config)#routerbgp1
R2(config-router)#noauto-summary
R2(config-router)#nosynchronization
R2(config-router)#nobgpdefaultipv4-unicast(默认会把全局BGP邻居关系继承到Ipv4的地址族中,在该拓扑配置中不需要BGP传递IPv4路由,因此需要关闭。
)
R2(config-router)#neighbor3.3.3.3remote-as1
R2(config-router)#neighbor3.3.3.3update-sourceloopback0
基于VPNv4激活邻接关系
R2(config-router)#address-familyvpnv4
R2(config-router-af)#neighbor3.3.3.3activate
在BGP中宣告VRFA中的4.4.4.0网段的路由
R2(config-router)#address-familyipv4vrfA
R2(config-router-af)#network4.4.4.0mask255.255.255.0
此时,R3上会收到该网段的VPNv4路由:
R3#showipbgpall
Foraddressfamily:
IPv4Unicast
VPNv4Unicast
NetworkNextHopMetricLocPrfWeightPath
RouteDistinguisher:
10:
10(defaultforvrfA)
*>
i4.4.4.0/242.2.2.201000i
在R3上查看4.4.4.0网段的VPNv4路由的详情:
R3#showipbgpvpnv4all4.4.4.0255.255.255.0
BGProutingtableentryfor10:
10:
4.4.4.0/24,version3
Paths:
(1available,best#1,tableA)
Notadvertisedtoanypeer
Local
2.2.2.2(metric2)from2.2.2.2(2.2.2.2)
OriginIGP,metric0,localpref100,valid,internal,best
ExtendedCommunity:
RT:
mplslabelsin/outnolabel/19
此时,R2给R3传递的VPNv4路由携带RT属性,而默认情况下思科路由器发送BGP路由不携带community属性,要手工开启:
R2(config-router-af)#neighbor3.3.3.3send-communityboth
在R3上启用RIP协议:
R3(config)#routerrip
R3(config-router)#version2
R3(config-router)#noauto-summary
R3(config-router)#address-familyipv4vrfA
R3(config-router-af)#network35.0.0.0
在R5上启用RIP协议:
R5(config)#routerrip
R5(config-router)#version2
R5(config-router)#noauto-summary
R5(config-router)#address-familyipv4vrfA
R5(config-router-af)#network0.0.0.0
此时,在R5上并不会收到R3传来的4.4.4.0网段的路由,原因是该网段路由R3是通过BGP学来的,R3根本就没有发送给R5,下面在R3上把BGP路由重分发进RIP。
R3(config-router-af)#redistributebgp1metrictransparent(保证重分发后的路由条目度量值不变)
到此为止,R5已经成功收到了4.4.4.0网段的路由,下面让R4收到R5的5.5.5.0网段的路由:
首先让R3能够把5.5.5.0网段的路由能够通过BGP传递给R2,需要在R3上把RIP路由重分发进BGP:
R3(config)#routerbgp1
R3(config-router-af)#redistributeripmetric10
此时,R2已经能够收到5.5.5.0网段的路由:
B5.5.5.0[200/10]via3.3.3.3,00:
00:
41
B35.1.1.0[200/0]via3.3.3.3,00:
R2#showipbgpall
4.4.4.0/2424.1.1.4032768i
i5.5.5.0/243.3.3.3101000?
i35.1.1.0/243.3.3.301000?
下面让R2把5.5.5.0网段的路由传递给R4,同样在R4上做一个静态路由:
R4(config)#iproute5.5.5.0255.255.255.0s1/124.1.1.2
R4#showiproute
S5.5.5.0[1/0]via24.1.1.2,Serial1/1
此时,R4和R5可以互通了:
R4#ping5.5.5.5source4.4.4.4
Successrateis100percent(5/5),round-tripmin/avg/max=48/63/92ms
R5#ping4.4.4.4source5.5.5.5
Successrateis100percent(5/5),round-tripmin/avg/max=44/71/100ms
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
下面继续进行,让R6和R7也能够互访:
R2(config)#ipvrfB
R2(config-vrf)#rd20:
20
R2(config-vrf)#route-target20:
R2(config-vrf)#exit
R2(config)#ints1/2
R2(config-if)#ipvrfforwardingB
R2(config-if)#ipaddress26.1.1.2255.255.255.0
R2(config-if)#noshut
R2(config-if)#exit
R2(config)#routereigrp90
R2(config-router)#noauto-summary
R2(config-router)#address-familyipv4vrfB
R2(config-router-af)#network26.1.1.20.0.0.0
R2(config-router-af)#autonomous-system90(注意要配置上eigrpVRF的AS号,否则邻居无法建立)
R2(config-router-af)#exit
R2(config-router)#exit
R2(config-router)#address-familyipv4vrfB
R2(config-router-af)#redistributeeigrp90metric10(把eigrp重分发进BGP协议进程)
R2(config-router-af)#redistributebgp1metric1000010025511500(把BGP重分发进eigrp协议进程)
¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
R3(config)#ipvrfB
R3(config-vrf)#rd20:
R3(config-vrf)#route-target20:
R3(config-vrf)#ints1/2
R3(config-if)#ipvrfforwardingB
R3(config-if)#ipadd37.1.1.3255.255.255.0
R3(config-if)#exit
R3(config)#routerospf110vrfB
R3(config-router)#router-id3.3.3.3
R3(config-router)#network37.1.1.30.0.0.0area0
R3(config-router)#address-familyipv4vrfB
R3(config-router-af)#redistributeospf110vrfBmatchinternalexternal1external2(把OSPF重分发进BGP协议进程)
R3(config-router)#redistributebgp1subnets(把BGP重分发进OSPF协议进程)
拓展①:
在此拓扑中,如果公司A收购了公司B,可以利用MPLS-VPN实现让一个公司可以接收其他公司的私网路由,原来的两个公司互联互通,只需要修改RT值即可。
这样VRF的两个实例A和B,都会有原本属于对方的路由条目,可以实现互联互通。
TIP:
RT可以有多个值。
拓展②:
假设CE和PE之间运行OSPF在area1,园区网为area0,而运营商可以认为也是area0,这就容易出现不规则区域,需要在CE和PE之间使用virtuallink。