又一部前期JUSTECH(南京捷式泰)工程師職業發展系列叢書完整拷貝。
MPLS(Multi-Protocol Label Switching)
目錄
<a href="#_Toc331261645">1:MPLS 基礎實驗.... 3</a>
<a href="#_Toc331261646">1.1實驗拓撲... 3</a>
<a href="#_Toc331261647">1.2實驗需求:... 3</a>
<a href="#_Toc331261648">1.3實驗步驟... 3</a>
<a href="#_Toc331261649">1.4校驗... 5</a>
<a href="#_Toc331261650">2:MPLS 轉發位址實驗.... 9</a>
<a href="#_Toc331261651">2.1 實驗拓撲... 9</a>
<a href="#_Toc331261652">2.2 實驗需求... 9</a>
<a href="#_Toc331261653">2.3 實驗步驟... 9</a>
<a href="#_Toc331261654">2.4 校驗... 12</a>
<a href="#_Toc331261655">2.5 思考題... 12</a>
<a href="#_Toc331261656">3:MPLS MTU 實驗.... 13</a>
<a href="#_Toc331261657">3.1 配置方法:... 13</a>
<a href="#_Toc331261658">4:MPLS TTL 實驗.... 13</a>
<a href="#_Toc331261659">4.1 實驗拓撲... 13</a>
<a href="#_Toc331261660">4.2 實驗需求... 13</a>
<a href="#_Toc331261661">4.3 配置步驟... 13</a>
<a href="#_Toc331261662">5:MPLS 出方向标簽通告過濾實驗.... 16</a>
<a href="#_Toc331261663">5.1 實驗拓撲... 16</a>
<a href="#_Toc331261664">5.2 實驗需求... 16</a>
<a href="#_Toc331261665">5.3 實驗步驟... 16</a>
<a href="#_Toc331261666">6:MPLS 入方向标簽通告過濾.... 20</a>
<a href="#_Toc331261667">6.1 實驗拓撲... 21</a>
<a href="#_Toc331261668">6.2 實驗需求... 21</a>
<a href="#_Toc331261669">6.4 校驗... 22</a>
<a href="#_Toc331261670">7:MPLS 的LDP 認證明驗.... 22</a>
<a href="#_Toc331261671">7.1 實驗拓撲... 23</a>
<a href="#_Toc331261672">7.2 實驗需求... 23</a>
<a href="#_Toc331261673">7.3 實驗步驟... 23</a>
<a href="#_Toc331261674">7.4 校驗... 23</a>

a.要求取消PC1
PC2
裝置路由功能,并且在PC1 PC2
按如下需求完成網關設定:
PC1
網關:172.16.1.1
網關:192.168.1.1
b.要求R2
R3 R4
啟用EIGRP,AS
為1,R2
R4
将除172.16.1.0/24
及192.168.1.0/24網絡都宣告進EIGRP
c.要求R2
利用loopback 0
接口建立位于BGP 24
中的IBGP PEER
關系
d.要求R2
将172.16.1.0/24
及192.168.1.0/24網絡宣告進BGP程序
e.要求适當的裝置參與MPLS
使得PC1
與PC2
能夠互相通訊
步驟1:完成基礎配置
例如:接口的IP
位址,底層協定
此時管理者應該注意R2
與R4
是否通過BGP
學習到對方172及192路由,利用如下指令行檢視:
R2#show ip bgp
BGP table version is 3, local
router ID is 2.2.2.2
Status codes: s suppressed, d
damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP,
? - incomplete
Network
Next Hop
Metric LocPrf Weight Path
*> 172.16.1.0/24
0.0.0.0
32768 i
<b>*>i192.168.1.0</b> <b>4.4.4</b><b>.4</b>
100
0 i
R2#show ip route bgp
<b>B </b>
192.168.1.0/24 [200/0] via 4.4.4.4, 00:00:55
R4#show ip bgp
router ID is 4.4.4.4
<b>*>i172.16.1.0/24 </b>
2.2.2.2
*> 192.168.1.0
R4#show ip route bgp
172.16.0.0/24 is subnetted, 1 subnets
<b>B </b>
172.16.1.0 [200/0] via 2.2.2.2,
00:01:35
此時管理者是無法使得PC1
和PC2
通訊的,理由上R3
沒有參與BGP
程序,是以當資料包丢給R3
時會出現丢包。
步驟2:配置MPLS
<b></b>
R2
Ip cef
Mpls label protocol ldp
//設定标簽配置設定分發協定為LDP
Mpls ldp router-id loopback 0
//設定目前LDP
ROUTE-ID
為loopback 0
接口IP
Mpls label range 200 299
标簽配置設定時的取值範圍
Interface e0/1
Mpls ip
R3
Mpls label range 300 399
Interface range e0/0 -
1
Mpls label range 400 499
Interface range e0/0
假設管理者做完如上配置,應該看到控制台由如下資訊提示管理者LDP
鄰接關系建立完畢:
R3#
<b>*Mar 1 00:23:46.699:</b>
%LDP-5-NBRCHG: LDP Neighbor 2.2.2.2:0 (1) is UP
<b>*Mar 1 00:24:10.779:</b>
%LDP-5-NBRCHG: LDP Neighbor 4.4.4.4:0 (2) is UP
(1)
檢視LDP
鄰接關系發現
R3#show mpls ldp discovery <b>//</b><b>該指令行用于檢視目前LSR</b><b>是否通過LDP</b>
hello <b></b>
消息發現LDP PEER
Local LDP
Identifier:
//本地LDP
的标示
3.3.3.3:0
Discovery Sources: <b>//</b><b>發現源:含義為什麼接口接收了來自LDP</b>
PEER <b></b>
的HELLO <b></b>
消息,發現了PEER
Interfaces:
Ethernet0/0 <b>(ldp)</b>: xmit/recv
LDP Id: 4.4.4.4:0; <b>no host</b>
route //LDP peer
的标示,及标示的可達性資訊
Ethernet0/1 (ldp): xmit/recv
LDP Id: 2.2.2.2:0; no host route
注意:
鄰居發現時,LDP PEER ID
後面如果跟着上no host route
,是說目前LDP
裝置沒有抵達對端LDP ID
的主機路由。此時PEER
的ID
還是可達的。但是如果看到是no route
,那麼基本意味着目前LDP
裝置既沒有抵達PEER ID
的網絡路由也沒有主機路由。
(2)
的鄰接關系是否建立
R3#show mpls ldp neighbor <b>//</b><b>檢視目前裝置與LDP</b>
是否形成了LDP <b></b>
鄰接關系
Peer LDP Ident: 2.2.2.2<b>:0</b>; Local LDP Ident 3.3.3.3:0
<b>TCP</b>
connection: 2.2.2.2.646 - 3.3.3.3.18578
//<b>證明LDP</b>
的TCP <b></b>
連接配接已經建立
<b>State: Oper</b>; Msgs sent/rcvd: 19/20;
<b>Downstream //</b><b>代表标簽分發是基于下遊主動(UD</b><b>)</b>
<b>//state</b><b>輸出字段如果上oper</b><b>那麼是意味着鄰接關系确認建立</b>
Up time: 00:10:16
LDP discovery sources:
Ethernet0/1, Src IP
addr: 31.31.23.2
<b>Addresses bound to peer LDP</b>
Ident: <b>//</b><b>被限制位址</b>
<b> 172.16.1.1 </b>
31.31.23.2
2.2.2.2
Peer LDP Ident: 4.4.4.4:0; Local LDP Ident 3.3.3.3:0
TCP connection: 4.4.4.4.12790 - 3.3.3.3.646
State: Oper; Msgs sent/rcvd: 19/20; Downstream
Up time: 00:09:52
Ethernet0/0, Src IP addr: 31.31.34.4
<b> Addresses</b>
bound to peer LDP Ident:
<b> 31.31.34.4 </b>
192.168.1.1
4.4.4.4
(3)
檢視MPLS
标簽資訊庫(LIB)
<b>R2#show mpls ldp</b>
binding
tib entry: 2.2.2.0/24, rev 2
local binding<b>(</b><b>本地标簽):</b>
tag: imp-null<b>(就是POP</b><b>)</b>
remote binding: tsr: 3.3.3.3:0, tag: 300
tib entry: 3.3.3.0/24, rev 4
local binding: tag: 200
remote binding: tsr: 3.3.3.3:0, tag: imp-null
tib entry: 4.4.4.0/24, rev 6
local binding: tag: 201
remote binding: tsr: 3.3.3.3:0, tag: 301
tib entry: 31.31.23.0/24, rev 10
local binding: tag:
imp-null
tib entry: 31.31.34.0/24, rev 12
local binding: tag: 202
tib entry: 172.16.1.0/24, rev 8
<b>R3#show mpls ldp</b>
bindings
local binding: tag: 300
remote binding<b>(LDP PEER</b> <b></b>
所分發過來的遠端标簽): tsr: 2.2.2.2:0<b>(</b><b>分發該标簽的LDP</b>
PEER id), tag: imp-null<b>(</b><b>遠端标簽)</b>
remote binding: tsr: 4.4.4.4:0, tag: 400
local binding: tag:
remote binding: tsr: 2.2.2.2:0, tag: 200
remote binding: tsr: 4.4.4.4:0, tag: 401
local binding: tag: 301
remote binding: tsr: 2.2.2.2:0, tag: 201
remote binding: tsr: 4.4.4.4:0,
tag: imp-null
tib
entry: 31.31.23.0/24, rev 8
remote binding: tsr: 2.2.2.2:0,
remote binding: tsr: 4.4.4.4:0, tag: 402
tib entry: 31.31.34.0/24, rev 10
remote binding: tsr: 2.2.2.2:0, tag: 202
remote binding: tsr: 4.4.4.4:0, tag: imp-null
tib entry: 172.16.1.0/24, rev 11
remote binding: tsr: 2.2.2.2:0, tag: imp-null
tib entry: 192.168.1.0/24, rev 12
<b>R4#show mpls ldp</b>
local binding: tag: 400
local binding: tag: 401
local binding: tag: 402
tib entry: 192.168.1.0/24, rev 8
(4)檢視MPLS的标簽轉發資訊庫(lfib)
<b>R4#show mpls</b>
forwarding-table
Local Outgoing
Prefix
Bytes tag
Outgoing Next
Hop
tag
tag or VC or
Tunnel Id
switched
interface
<b>400</b>
<b> 300 </b>
<b> 2.2.2.0/24</b>
<b> Et0/0</b>
31.31.34.3
401
Pop tag
3.3.3.0/24
Et0/0
31.31.34.3
402
31.31.23.0/24
local
字段:該字段表明特定網絡的本地标簽資訊
Outgoing字段:該字段表明特定網絡的關聯的出站标簽資訊
prefix
字段:該字段表明目标網絡
Bytes tagged switched
字段:表明有多少流量利用目前條目被轉發
Outgoing interface
字段:表明本地出口
Next-hop
字段:表明下一跳
<b>R3#show mpls</b>
<b>300</b>
Pop
tag
2.2.2.0/24
3502
Et0/1
31.31.23.2
301
4.4.4.0/24
2422
31.31.34.4
<b>R2#show mpls</b>
200
31.31.23.3
201
301
202
31.31.34.0/24
31.31.23.3
(2) PC2
為源PING 172.16.1.2
PC2#ping 172.16.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.2, timeout is 2
seconds:
!!!!!
1.5
思考題
(1)MPLS LDP
鄰接關系發現利用的是什麼消息,什麼方法?
(2)mpls ldp
鄰接關系的建立用的是TCP
還是UDP,如何建立?
(3)請描述标簽配置設定、分發、關聯過程?
(4)請描述POP
tag untag的作用?
(5)請描述被限制位址的作用?
(6)請描述在該拓撲中資料傳遞的整個過程?

a.要求管理者根據拓撲圖需求完成R1
R2的接口配置,這裡不允許啟用任何動态路由協定或靜态路由。
b.要求R1
與 R2
将本地的loopback 0配置為ldp
的ROUTER-ID,最終形成R1
與R2
間的LDP鄰接關系。
例如:接口IP位址
步驟2:完成R1
與R2上的MPLS
配置
R1 R2
Mpls label protocol
ldp
Mpls label range x y
Mpls ldp router-id loopback
Int e0/0
此時管理者可以再R1
或R2
上利用如下指令來觀察MPLS LDP
的鄰接發現資訊,現象如下:
<b>R1#show mpls ldp discovery</b>
detail
Identifier:
1.1.1.1:0
Discovery Sources:
Ethernet0/0 (ldp): xmit/recv
Enabled: Interface config
Hello interval: 5000 ms; <b>Transport IP</b>
addr: 1.1.1.1
<b>//</b><b>這裡的transport</b>
ip address <b></b>
可以說明确實預設情況下LDP <b></b>
的傳輸位址就是LDP <b></b>
的ROUTER-ID
LDP Id: 2.2.2.2:0; <b>no route to</b>
transport addr
<b>//</b><b>該部分顯示目前裝置根本沒有抵達對等體傳輸位址的路由路徑資訊</b>
Src IP addr: 31.31.12.2; Transport IP addr: 2.2.2.2
Hold time: 15 sec; Proposed local/peer: 15/15 sec
<b>R2#show mpls ldp discovery</b>
2.2.2.2:0
Hello interval: 5000 ms; Transport IP addr: 2.2.2.2
LDP Id: 1.1.1.1:0; no route to transport addr
Src IP addr: 31.31.12.1; Transport IP addr: 1.1.1.1
步驟3:在接口下修改目前LDP
程序的傳輸位址資訊
R1
Interface e0/0
mpls ldp discovery
transport-address 31.31.12.1
//該指令行用于修改目前LDP
程序所發送的消息的源位址,當然也是修改傳輸位址
transport-address 31.31.12.2
此時管理者應該再次通過 “show mpls ldp discovery
detail”來檢視傳輸位址是否變化,現象如下:
R1#show mpls ldp discovery
addr: 31.31.12.1
LDP Id: 2.2.2.2:0; no host route to transport addr
Src IP addr: 31.31.12.2; <b>Transport IP</b>
addr: 31.31.12.2
Hold time: 15 sec; <b>Proposed</b>
local/peer: 15/15 sec
Reachable via 31.31.12.0/24
R2#show mpls ldp discovery
Hello interval: 5000 ms; Transport IP addr: 31.31.12.2
LDP Id: 1.1.1.1:0; no host route to transport addr
Src IP addr: 31.31.12.1; Transport IP addr: 31.31.12.1
(1)确認R1
建立了LDP
(1)請解釋傳輸位址的意義?
Interface
Mpls mtu
<1504/1508/1512>
實驗1要求将R2
的FA 0/0
及FA 0/1
接口MPLS MTU
改為100,并觀察現象。

a.
按拓撲要求完成基礎配置
b.
在開啟和關閉TTL
傳播功能的環境下檢視traceroute
指令的輸出畫面
例如:接口IP
R2 R1
間OSPF
,R5 R6
底層協定EIGRP
和BGP的配置
router bgp 25
bgp redistribute-internal //
允許IBGP PEER
路由重分發進IGPS
協定
MPLS
步驟2:在路由器運作MPLS
預設開啟TTL
傳播功能的情況下,在R1上利用如下指令探測路徑:
R1#traceroute
Protocol [ip]:
Target IP address:
31.31.56.6
<b> //</b><b>指定被探測路徑的目标IP</b>
Source address:
31.31.12.1
<b> //</b><b>指定被探測路徑的源IP</b>
Numeric display [n]:
Timeout in seconds
[3]:
Probe count [3]:
Minimum Time to Live
[1]:
Maximum Time to Live
[30]:
Port Number [33434]:
Loose, Strict, Record,
Timestamp, Verbose[none]:
Type escape sequence to
abort.
Tracing the route to
31.31.56.6
1 31.31.12.2 40 msec
60 msec 28 msec
2 31.31.23.3 192 msec
156 msec 204 msec
3 31.31.34.4 232 msec
248 msec 152 msec
4 31.31.45.5 244 msec
264 msec 156 msec
5 31.31.56.6 280 msec
* 312
msec
此時管理者通過如上資訊可以發現,實際上資料包經過的每台裝置的下一跳都被顯示。
步驟3:在R2
上關閉TTL-傳播功能
no mpls ip propagate-ttl
forwarded
步驟4:在關閉TTL-傳播功能的情況下,在R1上做路徑探測
Protocol [ip]:
31.31.12.1
1 31.31.12.2 48 msec
92 msec 32 msec
2 31.31.45.5 232 msec
188 msec 156 msec
3 31.31.56.6 236 msec
* 188
那麼此時如上現象告訴我們隻有接收IP包的路由器被路徑探測發現,而那些運作MPLS
的路由器卻都被隐藏。

a. R1 R2 R3
啟用EIGRP
當做底層路由協定
b.R1 R2 R3
将所有loopback
接口及實體接口網絡宣告進EIGRP
c.R1 R2 R3
參與MPLS,用LDP
當做标簽配置設定、分發協定
不将1.1.1.0/24網絡的本地标簽資訊發送給R3
例如:接口IP底層協定
完成如上配置管理者需要确認R1 R2 R3
形成了EIGRP
鄰接關系,并且學習了對方loopback
接口網絡。
步驟2:完成MPLS
No mpls ldp advertise-label //關閉R1标簽通告功能
Mpls label range 100 199
Mpls ldp router-id lo 0
Mpls
ip
No mpls ldp advertise-label //關閉R2标簽通告功能
Int e0/0 -1
No mpls ldp advertise-label
Int e0/1
此時由于标簽通告功能被關閉,我們檢視R1 R2 R3
的LIB(标簽資訊庫)應該隻能看到目前LSR對本地網絡配置設定的本地标簽,而看不到任何LSR
對等體發送過來的遠端标簽資訊,現象如下:
<b>R1#show mpls ldp</b>
tib entry: 1.1.1.0/24,
rev 2
tib entry: 2.2.2.0/24,
rev 4
local binding: tag: 100
tib entry: 3.3.3.0/24,
rev 6
local binding: tag: 101
tib entry:
31.31.12.0/24, rev 8
31.31.23.0/24, rev 10
local binding: tag: 102
local binding: tag: 302
上針對R3
這個LDP
對等體,過濾掉1.1.1.0/24網絡的标簽公告資訊
R1 R3
Mpls ldp advertise-label //開啟MPLS
标簽通告功能
Access-list 1 permit 31.31.12.0 0.0.0.255
//利用該ACL
方形被允許當做标簽通告内容的網絡
Ip access-list standard ACL2
Permit 3.3.3.3 0.0.0.0 //用該ACL比對遠端LDP
鄰居的傳輸位址
Mpls ldp advertise-label for 1 to ACL2
5.4
校驗
此時我們在R3上利用”show
mpls ldp binding”指令,應該看到如下輸出畫面:
R3#show mpls ldp
rev 11
rev 12
rev 13
<b> tib entry:</b>
31.31.12.0/24, rev 14
<b> </b>
302
<b>remote binding: tsr: 2.2.2.2:0,</b>
entry: 31.31.23.0/24, rev 15

d.要求R3
不希望接收到1.1.1.0
的遠端标簽
6.3
配置步驟
例如:IP位址
底層協定
配置(注意關閉R2的标簽通告功能)
步驟2:在R3
上完成入方向标簽通告過濾配置,并且開啟R2的标簽通告功能:
Mpls ldp advertise-label
access-list 1 permit 2.2.2.0 0.0.0.255
Mpls ldp neighbor 2.2.2.2 labels accept 1
在R3
上利用”show mpls ldp binding”檢視是否隻學習了31.31.12.0對應的遠端标簽,現象如下:

a.所有接口參與EIGRP
AS 1
形成LDP
鄰接關系,并且啟用LDP
認證,密碼為PASSCCIE
例如:所有接口配置IP
所有網絡宣告進EIGRP
上的MD5密文認證
Mpls ldp neighbor 2.2.2.2
password justech
Mpls ldp neighbor 1.1.1.1
password justech
确認LDP
的鄰接關系建立