實驗拓撲
實驗需求
CE1模擬客戶A的站點1設備,CE2模擬客戶A的站點2設備,CE1及CE2上各有一個Loopback接口用來模擬站點內的客戶路由。
CE1與PE1之間,CE2與PE2之間運行的PE-CE路由協議是OSPF,使用進程號1。
Backbone內使用OSPF打通骨干內的路由,OSPF使用進程號100。
PE1及PE2建立基于Loopback的MP-iBGP鄰居關系。
完成相關配置,使得客戶A的兩個站點能夠互通。
實驗步驟
1.Backbone內運行OSPF,統一使用進程號100
在PE1、P1、P2、PE2上運行OSPF。運行該OSPF進程的目的是為了打通Backbone內的路由,四臺路由器都要通告自己的Loopback0網段路由。這個IGP打通的路由一方面是為了LDP能夠建立起鄰接關系,并且能夠正常的分發標簽,另一方面也是為了PE1及PE2之間能夠建立起基于Loopback的MP-iBGP鄰居關系。
2.Backbone內運行LDP
在PE1、P1、P2、PE2上運行MPLS及LDP。我的設備上,LDP開始工作后,缺省情況下即會為/32的主機路由捆綁并分發標簽。骨干網內四臺路由器的Loopback路由都會建立LSP。這為后續的客戶數據轉發做了鋪墊。
3.PE1及PE2創建VPN實例,并運行PE-CE路由協議
在PE1及PE2上創建一個VPN實例,命令為ABC,將連接到CE的接口添加到這個VPN實例中。同時PE1、PE2均與自己直連的CE路由器運行一個基于VPN實例的OSPF進程,統一使用進程號1。務必要注意的是這個OSPF進程是基于VPN實例ABC(也就是基于虛擬路由器)的,而不是基于全局路由器的。
4.PE1及PE2創建MP-BGP進程,并且建立MP-iBGP鄰居關系
PE1及PE2基于Loopback建立MP-iBGP鄰居關系,激活二者的VPNv4連接。
5.PE1及PE2上配置VPN路由與BGP路由的互重發布
由于PE-CE之間選用的路由協議是OSPF,因此為了將路由拉通,需要在兩臺PE上配置OSPF進程1,以及MP-BGP的路由雙向重發布。
6.查看及驗證
實驗配置
1.Backbone內運行OSPF
本實驗中所有設備的接口IP地址的配置這里不再羅列,請自行完成。
Backbone內的設備:PE1、PE2、P1、P2運行OSPF,統一使用進程號100。運行該OSPF進程的目的是為了打通骨干網內的路由,四臺設備在互聯接口上激活OSPF,并且通告自己的Loopback0接口路由。
PE1的配置如下:
[PE1]ospf100router-id2.2.2.2 [PE1-ospf-100]area0 [PE1-ospf-100-area-0.0.0.0]network2.2.2.20.0.0.0 [PE1-ospf-100-area-0.0.0.0]network10.1.23.20.0.0.0
P1的配置如下:
[P1]ospf100router-id3.3.3.3 [P1-ospf-100]area0 [P1-ospf-100-area-0.0.0.0]network3.3.3.30.0.0.0 [P1-ospf-100-area-0.0.0.0]network10.1.23.30.0.0.0 [P1-ospf-100-area-0.0.0.0]network10.1.34.30.0.0.0
P2的配置如下:
[P2]ospf100router-id4.4.4.4 [P2-ospf-100]area0 [P2-ospf-100-area-0.0.0.0]network4.4.4.40.0.0.0 [P2-ospf-100-area-0.0.0.0]network10.1.34.30.0.0.0 [P2-ospf-100-area-0.0.0.0]network10.1.45.40.0.0.0
PE2的配置如下:
[PE2]ospf100router-id5.5.5.5 [PE2-ospf-100]area0 [PE2-ospf-100-area-0.0.0.0]network5.5.5.50.0.0.0 [PE2-ospf-100-area-0.0.0.0]network10.1.45.50.0.0.0
完成配置后,在各設備上查看路由,確保路由表是正確的,例如R1的路由表:
displayiprouting-tableprotocolospf Destination/MaskProtoPreCostFlagsNextHopInterface 3.3.3.3/32OSPF101D10.1.23.3GigabitEthernet0/0/1 4.4.4.4/32OSPF102D10.1.23.3GigabitEthernet0/0/1 5.5.5.5/32OSPF103D10.1.23.3GigabitEthernet0/0/1 10.1.34.0/24OSPF102D10.1.23.3GigabitEthernet0/0/1 10.1.45.0/24OSPF103D10.1.23.3GigabitEthernet0/0/1
2.Backbone內運行MPLS及LDP
PE1的配置如下:
[PE1]mplslsr-id2.2.2.2#配置設備的LSRID [PE1]mpls#全局激活MPLS [PE1]mplsldp#全局激活LDP [PE1]interfaceGigabitEthernet0/0/1 [PE1-GigabitEthernet0/0/1]mpls#接口激活MPLS [PE1-GigabitEthernet0/0/1]mplsldp#接口激活LDP
P1的配置如下:
[P1]mplslsr-id3.3.3.3 [P1]mpls [P1]mplsldp [P1]interfaceGigabitEthernet0/0/0 [P1-GigabitEthernet0/0/0]mpls [P1-GigabitEthernet0/0/0]mplsldp [P1]interfaceGigabitEthernet0/0/1 [P1-GigabitEthernet0/0/1]mpls [P1-GigabitEthernet0/0/1]mplsldp
P2的配置如下:
[P2]mplslsr-id4.4.4.4 [P2]mpls [P2]mplsldp [P2]interfaceGigabitEthernet0/0/0 [P2-GigabitEthernet0/0/0]mpls [P2-GigabitEthernet0/0/0]mplsldp [P2]interfaceGigabitEthernet0/0/1 [P2-GigabitEthernet0/0/1]mpls [P2-GigabitEthernet0/0/1]mplsldp
PE2的配置如下:
[PE2]mplslsr-id5.5.5.5 [PE2]mpls [PE2]mplsldp [PE2]interfaceGigabitEthernet0/0/0 [PE2-GigabitEthernet0/0/0]mpls [PE2-GigabitEthernet0/0/0]mplsldp
完成配置后,確保所有的LDP鄰居關系都正確的建立:
displaymplsldpsession LDPSession(s)inPublicNetwork Codes:LAM(LabelAdvertisementMode),SsnAgeUnit(DDDDMM) A'*'beforeasessionmeansthesessionisbeingdeleted. ------------------------------------------------------------------------------ PeerIDStatusLAMSsnRoleSsnAgeKASent/Rcv ------------------------------------------------------------------------------ 3.3.3.3:0OperationalDUPassive00000420/20 ------------------------------------------------------------------------------ TOTAL:1session(s)Found.
其他設備的查看不再贅述。
displaymplslsp ------------------------------------------------------------------------------- LSPInformation:LDPLSP ------------------------------------------------------------------------------- FECIn/OutLabelIn/OutIFVrfName 2.2.2.2/323/NULL-/- 3.3.3.3/32NULL/3-/GE0/0/1 3.3.3.3/321024/3-/GE0/0/1 4.4.4.4/32NULL/1025-/GE0/0/1 4.4.4.4/321025/1025-/GE0/0/1 5.5.5.5/32NULL/1026-/GE0/0/1 5.5.5.5/321026/1026-/GE0/0/1
上面輸出的是PE1的標簽轉發表。我們看到關于網絡中的/32主機路由都已經收到了標簽。
3.PE1及PE2創建VPN實例,并運行PE-CE路由協議
PE1的配置如下:
[PE1]ipvpn-instanceABC#創建VPN實例 [PE1-vpn-instance-ABC]route-distinguisher2345:1#配置RD值 [PE1-vpn-instance-ABC-af-ipv4]vpn-target2345:11#配置RT值(導入及導出值均為 2345:11) [PE1]interfaceGigabitEthernet0/0/0 [PE1-GigabitEthernet0/0/0]ipbindingvpn-instanceABC#將該接口綁定到VPN實例ABC [PE1-GigabitEthernet0/0/0]ipaddress10.1.12.224 [PE1]ospf1vpn-instanceABC#運行基于VPN實例ABC的OSPF進程 [PE1-ospf-1]area0 [PE1-ospf-1-area-0.0.0.0]network10.1.12.20.0.0.0
CE1的配置如下:
[CE1]interfaceGigabitEthernet0/0/0 [CE1-GigabitEthernet0/0/0]ipaddress10.1.12.124 [CE1]interfaceLoopBack0 [CE1-LoopBack0]ipaddress1.1.1.132 [CE1]ospf1router-id1.1.1.1 [CE1-ospf-1]area0 [CE1-ospf-1-area-0.0.0.0]network10.1.12.10.0.0.0 [CE1-ospf-1-area-0.0.0.0]network1.1.1.10.0.0.0
PE2的配置如下:
[PE2]ipvpn-instanceABC [PE2-vpn-instance-ABC]route-distinguisher2345:1 [PE2-vpn-instance-ABC-af-ipv4]vpn-target2345:11 [PE2]interfaceGigabitEthernet0/0/1 [PE2-GigabitEthernet0/0/1]ipbindingvpn-instanceABC [PE2-GigabitEthernet0/0/1]ipaddress10.1.56.524 [PE2]ospf1vpn-instanceABC [PE2-ospf-1]area0 [PE2-ospf-1-area-0.0.0.0]network10.1.56.50.0.0.0
CE2的配置如下:
[CE2]interfaceGigabitEthernet0/0/0 [CE2-GigabitEthernet0/0/0]ipaddress10.1.56.624 [CE2]interfaceLoopBack0 [CE2-LoopBack0]ipaddress6.6.6.632 [CE2]ospf1router-id6.6.6.6 [CE2-ospf-1]area0 [CE2-ospf-1-area-0.0.0.0]network10.1.56.60.0.0.0 [CE2-ospf-1-area-0.0.0.0]network6.6.6.60.0.0.0
完成配置后,確保PE能夠學習到直連CE的客戶路由:
displayiprouting-tablevpn-instanceABC Destination/MaskProtoPreCostFlagsNextHopInterface 1.1.1.1/32OSPF101D10.1.12.1GigabitEthernet0/0/0 10.1.12.0/24Direct00D10.1.12.2GigabitEthernet0/0/0 10.1.12.2/32Direct00D127.0.0.1GigabitEthernet0/0/0 10.1.12.255/32Direct00D127.0.0.1GigabitEthernet0/0/0 255.255.255.255/32Direct00D127.0.0.1InLoopBack0
PE1上VPN實例ABC的路由表中已經通過OSPF學習到CE1的客戶路由1.1.1.1/32。
4.PE1及PE2創建MP-BGP進程,并建立MP-iBGP鄰居關系
PE1的配置如下:
[PE1]bgp2345 [PE1-bgp]router-id2.2.2.2 [PE1-bgp]undodefaultipv4-unicast#因為本實驗中PE1-PE2之間無需交互IPv4路 由,因此取消IPv4單播協議的鄰居關系自動建立 [PE1-bgp]peer5.5.5.5as-number2345 [PE1-bgp]peer5.5.5.5connect-interfaceLoopBack0 [PE1-bgp]ipv4-familyvpnv4unicast#進入IPv4的VPNv4地址族 [PE1-bgp-af-vpnv4]peer5.5.5.5enable#激活鄰居5.5.5.5
PE2的配置如下:
[PE2]bgp2345 [PE2-bgp]router-id5.5.5.5 [PE2-bgp]undodefaultipv4-unicast [PE2-bgp]peer2.2.2.2as-number2345 [PE2-bgp]peer2.2.2.2connect-interfaceLoopBack0 [PE2-bgp]ipv4-familyvpnv4unicast [PE2-bgp-af-vpnv4]peer2.2.2.2enable [PE2]displaybgpvpnv4allpeer BGPlocalrouterID:5.5.5.5 LocalASnumber:2345 Totalnumberofpeers:1Peersinestablishedstate:1 PeerVASMsgRcvdMsgSentOutQUp/DownStatePrefRcv 2.2.2.2423452200036Established0
PE1及PE2的MP-iBGP鄰居(VPNv4)關系已經建立成功。
5.PE1及PE2配置PE-CE路由協議與BGP的相互重發布
PE1的配置如下:
[PE1]bgp2345 [PE1-bgp]ipv4-familyvpn-instanceABC#將OSPF進程1的路由導入到BGP的VPN實例ABC對應的IPv4地址族中 [PE1-bgp-ABC]import-routeospf1 [PE1]ospf1vpn-instanceABC#將BGP路由導入到OSPF進程1 [PE1-ospf-1]import-routebgppermit-ibgp
PE2的配置如下:
[PE2]bgp2345 [PE2-bgp]ipv4-familyvpn-instanceABC [PE2-bgp-ABC]import-routeospf1 [PE2]ospf1vpn-instanceABC [PE2-ospf-1]import-routebgppermit-ibgpdisplayiprouting-tableprotocolospf Destination/MaskProtoPreCostFlagsNextHopInterface 6.6.6.6/32OSPF103D10.1.12.2GigabitEthernet0/0/0 10.1.56.0/24O_ASE1501D10.1.12.2GigabitEthernet0/0/0
CE1已經學習到了CE2所在站點的路由。
displayiprouting-tableprotocolospf Destination/MaskProtoPreCostFlagsNextHopInterface 1.1.1.1/32OSPF103D10.1.56.5GigabitEthernet0/0/0 10.1.12.0/24O_ASE1501D10.1.56.5GigabitEthernet0/0/0
CE2也已經學習到了CE1所在站點的路由。
6.查看及驗證
[PE1]displaybgpvpnv4allrouting-table6.6.6.6 BGPlocalrouterID:2.2.2.2 LocalASnumber:2345 TotalroutesofRouteDistinguisher(23451 BGProutingtableentryinformationof6.6.6.6/32: Labelinformation(Received/Applied):1027/NULL From:5.5.5.5(5.5.5.5) RouteDuration:00h11m23s RelayIPNexthop:10.1.23.3 RelayIPOut-Interface:GigabitEthernet0/0/1 RelayTunnelOut-Interface:GigabitEthernet0/0/1 Relaytoken:0x5 Originalnexthop:5.5.5.5 Qosinformation:0x0 Ext-Community:RT<2345?:?11>,OSPFDOMAINID<0.0.0.0?:?0>, OSPFRT<0.0.0.0?:?1?:?0>,OSPFROUTERID<10.1.56.5?:?0> AS-pathNil,originincomplete,MED2,localpref100,pref-val0,valid,interna l,best,select,pre255,IGPcost3 Notadvertisedtoanypeeryet VPN-InstanceABC,RouterID2.2.2.2: TotalNumberofRoutes:1 BGProutingtableentryinformationof6.6.6.6/32: Labelinformation(Received/Applied):1027/NULL From:5.5.5.5(5.5.5.5) RouteDuration:00h11m23s RelayTunnelOut-Interface:GigabitEthernet0/0/1 Relaytoken:0x5 Originalnexthop:5.5.5.5 Qosinformation:0x0 Ext-Community:RT<2345?:?11>,OSPFDOMAINID<0.0.0.0?:?0>, OSPFRT<0.0.0.0?:?1?:?0>,OSPFROUTERID<10.1.56.5?:?0> AS-pathNil,originincomplete,MED2,localpref100,pref-val0,valid,interna l,best,select,active,pre255,IGPcost3 Notadvertisedtoanypeeryet
在PE1上查看路由6.6.6.6/32的詳細信息。該條路由是通過MP-iBGP從PE2傳遞過來的。從詳細信息的輸出我們可以看到路由的下一跳是5.5.5.5。并且該路由捆綁的VPN標簽是1027。因此當PE1收到IP數據包要去往6.6.6.6時,會為數據包壓入VPN標簽1027,同時為了讓這個標簽包能夠正常的穿越骨干網并到達PE2上,還需為該標簽包再增加一層標簽。由于去往6.6.6.6的下一跳是5.5.5.5,因此在外層壓入5.5.5.5路由對應的標簽:
[PE1]displaymplslsp ------------------------------------------------------------------------------- LSPInformation:BGPLSP ------------------------------------------------------------------------------- FECIn/OutLabelIn/OutIFVrfName 1.1.1.1/321027/NULL-/-ABC 10.1.12.0/241028/NULL-/-ABC ------------------------------------------------------------------------------- LSPInformation:LDPLSP ------------------------------------------------------------------------------- FECIn/OutLabelIn/OutIFVrfName 2.2.2.2/323/NULL-/- 3.3.3.3/32NULL/3-/GE0/0/1 3.3.3.3/321024/3-/GE0/0/1 4.4.4.4/32NULL/1025-/GE0/0/1 4.4.4.4/321025/1025-/GE0/0/1 5.5.5.5/32NULL/1026-/GE0/0/1 5.5.5.5/321026/1026-/GE0/0/1
從上面的輸出我們可以看到PE1的標簽轉發表中,5.5.5.5的出站標簽是1026。所以最終去往6.6.6.6的IP包被壓入兩層標簽。內層VPN標簽值是1027,外層LDP標簽是1026。報文被處理后轉發給了P1。P1在收到這個標簽包后查看自己的標簽轉發表,注意,它只會查看外層標簽。
[P1]displaymplslsp ------------------------------------------------------------------------------- LSPInformation:LDPLSP ------------------------------------------------------------------------------- FECIn/OutLabelIn/OutIFVrfName 3.3.3.3/323/NULL-/- 2.2.2.2/32NULL/3-/GE0/0/0 2.2.2.2/321024/3-/GE0/0/0 4.4.4.4/32NULL/3-/GE0/0/1 4.4.4.4/321025/3-/GE0/0/1 5.5.5.5/32NULL/1026-/GE0/0/1 5.5.5.5/321026/1026-/GE0/0/1
從P1的轉發表我們可以看出,1026的入站標簽,對應的出站標簽是1026,并且出站接口是GE0/0/1。因此它將收到的標簽包的外層標簽從1026置換成1026(碰巧置換前后標簽值是一樣的),然后從GE0/0/1口發出去。P2將收到這個標簽包,也是查標簽轉發表:
displaymplslsp ------------------------------------------------------------------------------- LSPInformation:LDPLSP ------------------------------------------------------------------------------- FECIn/OutLabelIn/OutIFVrfName 2.2.2.2/32NULL/1024-/GE0/0/0 2.2.2.2/321024/1024-/GE0/0/0 4.4.4.4/323/NULL-/- 3.3.3.3/32NULL/3-/GE0/0/0 3.3.3.3/321025/3-/GE0/0/0 5.5.5.5/32NULL/3-/GE0/0/1 5.5.5.5/321026/3-/GE0/0/1
P2發現,1026的入站標簽,對應的出站標簽是3,而3是一個保留標簽,意味著要將該頂層標簽彈出。于是它將收到的標簽數據的頂層標簽彈出,然后剩余的數據從GE0/0/1口送出去。PE2將最終收到仍然攜帶者VPN標簽的數據。由于這個VPN標簽是它自己發給PE1的,因此它知道這個標簽值意味著什么、與哪一個VPN實例對應。因此最終它將VPN標簽剝去,然后將IP數據包轉發給CE2。
在PE1上Tracert 6.6.6.6,可以查看到整個數據層面的過程:
tracert-vpn-instanceABC-v-a10.1.12.26.6.6.6 traceroutetoABC6.6.6.6(6.6.6.6),maxhops:30,packetlength:40,pressCTRL_Cto break 110.1.23.3[MPLSLabel=1026/1027Exp=0/0S=0/1TTL=1/1]110ms60ms70ms 210.1.34.4[MPLSLabel=1026/1027Exp=0/0S=0/1TTL=1/2]110ms50ms80ms 310.1.56.580ms80ms60ms 410.1.56.6110ms80ms70ms
實際上是這樣的:
審核編輯:湯梓紅
-
華為
+關注
關注
216文章
34429瀏覽量
251664 -
VPN
+關注
關注
4文章
292瀏覽量
29709 -
路由協議
+關注
關注
1文章
126瀏覽量
29565 -
MPLS
+關注
關注
0文章
131瀏覽量
24142
原文標題:華為實驗 | MPLS VPN 基礎實驗
文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論