MPLS笔记
傳統(tǒng)的IP路由方式
1.進程轉(zhuǎn)發(fā)
每個數(shù)據(jù)包都要經(jīng)過完整的路由表查找
2.快速轉(zhuǎn)發(fā)——cache驅(qū)動,第一個數(shù)據(jù)包會形成cache,cache內(nèi)存放目的地址,出接口,真實下一跳,二層封裝信息
第二次轉(zhuǎn)發(fā)優(yōu)先查詢cache,
show ip cache verbose //查看cache表信息
clear ip cache ? //清理cache表
int f1/0
no ip route-cache //關閉快速轉(zhuǎn)發(fā)
CISCO 低版本默認轉(zhuǎn)發(fā)方式,新版本已廢棄-對負載均衡支持的不好
——
3.CEF——拓撲驅(qū)動
-由FIB(轉(zhuǎn)發(fā)信息庫)和Adjacency Table(鄰接表)組成
FIB,目的地址/出接口/真實下一跳/指針(指向Adjacency Table)
Adjacency Table,二層封裝信息
show ip cef //查看FIB表
-
傳統(tǒng)IP路由方式缺陷(OC-192 10G鏈路,OC-48 2.5G鏈路)
1.路由協(xié)議用于分發(fā)三層路由信息
2.基于目的地址進行轉(zhuǎn)發(fā)
3.
缺陷:
1.世界上路由條目比較多,因此消耗資源比較多
2.基于幀中繼鏈路會產(chǎn)生次優(yōu)路徑
3.流量工程:
a.兩個大站點間,通常僅會使用主鏈路
b.基于目的的轉(zhuǎn)發(fā)方式不提供任何的非等價負載均衡的方法
c.PBR可以讓路由器基于其他參數(shù)轉(zhuǎn)發(fā)數(shù)據(jù)包,但不具備擴展性
MPLS與傳統(tǒng)方式對比
1.MPLS基于標簽轉(zhuǎn)發(fā)
2.Label的功能與傳統(tǒng)的IP路由中的目的地址一樣
3.Label還能用于一些其他的功能,比如QOS
4.MPLS是為了支持其他協(xié)議數(shù)據(jù)包的轉(zhuǎn)發(fā)
MPLS域三個動作:
——impose,壓標簽
——swap,交換標簽
——pop,彈出標簽
只有邊界路由器需要進行路由查找
核心路由器做基于標簽的簡單的查找和交換
MPLS需要的條件
——二層設備需要運行相關的路由協(xié)議
——不在要手工建立虛電路
——MPLS提供一個虛擬的全互聯(lián)拓撲
流量工程的比較
——流量轉(zhuǎn)發(fā)可以基于其他參數(shù)(QOS,源或其他參數(shù))
——可以分廠簡便的做到非等價負載均衡
MPLS的基本框架
MPLS包含兩個平面:
——控制平面
-運行路由協(xié)議,分發(fā)拓撲信息,構(gòu)建路由表
-運行標簽分發(fā)協(xié)議,來分配、分發(fā)、保留標簽,構(gòu)建標簽信息庫(LIB)---如TDP標簽分發(fā)協(xié)議/LDP標簽分發(fā)協(xié)議/RSVP資源預留協(xié)議/MBGP
注:TDP思科私有,新版本都是LDP(默認)
1.MPLS IP Unicast (TDP/LDP)2.MPLS/××× (MBGP)3.MPLS TE(RSVP)
——數(shù)據(jù)平面
-IP包基于FIB(轉(zhuǎn)發(fā)信息庫)進行轉(zhuǎn)發(fā)
-標簽包基于LFIB(標簽轉(zhuǎn)發(fā)信息庫)進行轉(zhuǎn)發(fā)
TDP/LDP:
-向激活TDP/LDP對端的接口發(fā)送hello包,匹配hello包中的幾個字段,如果可以匹配將對端接口放入自己的第一張鄰居表
-向鄰居發(fā)送本路由發(fā)松的標簽
-從各個鄰居收來的標簽放入自己的第二張表LIB
-將計算出的最優(yōu)的標簽放入本地路由器的FLIB
激活MPLS
int f2/1
mpls ip
mpls label protocol ldp
mpls ldp router-id XX force
show mpls ldp discovery //查看ldp發(fā)現(xiàn)包信息
show mpls ldp neighbour . //查看ldp鄰居
建鄰居過程:
-發(fā)現(xiàn)
發(fā)送udp 的hello包,間隔5s,hold時間15s
如果mpls鄰居無法建立,首先用本端機器ping對端transport IP address是否可以ping通,中間鏈路是否有acl等的限制
一般大的IP地址產(chǎn)生大的隨機端口訪問小的IP地址
同一個AS內(nèi)一般mpls鄰居都是lookback接口
不同AS使用直連接口建立鄰居
在接口下:
mpls ldp discovery transport-address interface/x.x.x.x
組播發(fā)送通告
LDP目的:224.0.0.2 端口:udp 646
TDP目的:224.0.0.2 端口:udp 711
-建立
mpls為FIB中每一條單獨分配標簽
show mpls ldp bindings
show mpls ip bindings
lsr:標簽分配路由器
in label 本設備分配
out label 其它設備分配
標簽分配:4bytes(20bits描述)2^20
默認標簽范圍:16-100000/0-15保留
可以手動設定label范圍,
mpls label range xxx-xxx
show mpls forwarding-table 用來show LFIB表
mpls的LFIB表選擇規(guī)則
-將本地分配標簽和下一跳分配標簽,放入LFIB表
forwarding table 中包含如下字段
Local label outgoing label Prefix byte switch outgoing interface next hop
MPLS Labels
-MPLS可以用于任何地方,物理層介質(zhì),二層協(xié)議
-標簽32bits
LABEL(20bits) EXP(3bits) S(1bit) TTL(8bits)
20bits label --- 代表標簽范圍
3bits 實驗位 --- 用于做QOS
1bit 棧底位 --- 用于表示緊跟著標簽的下一個頭部是另外一個標簽,還是IP包
8bits的TTL位 --- 用于防環(huán)
幀模式的MPLS
Frame Header IP Header Payload
Type:
/0x0800(IP包) ——交給FIB處理
/0x8847(單播Label包)——交給LFIB處理(HDLC)
/0x8848(組播Label包)
/0x0281(PPP單播Label包)
優(yōu)勢:
——應用方面比較多
MPLS Labels:標簽堆棧
——二層幀頭的type字段(以太二層=0x8847)表示單播的標簽包
——棧底位:用于緊跟著標簽的下一個頭部是另外一個標簽(0),還是IP包(1)
——每個路由器收到標簽包以后只對頂層標簽進行操作
——pop/impose
Label Switch Routers:標簽交換路由器
LSR:MPLS域內(nèi)的核心設備,主要執(zhí)行標簽交換
Edge LSR:MPLS域的邊界設備
-將IP包轉(zhuǎn)發(fā)進入MPLS域:壓標簽(impose)
-將MPLS域內(nèi)傳來的報文轉(zhuǎn)發(fā)到MPLS域外(pop)
untag (pop 1 ,ip)
untagged LFIB——>FIB——>adj
MPLS應用介紹
unicast IP routing Multicast IP Routing MPLS Traffic Engineering Quality of Service MPLS ×××
Any IGP OSPF or IS-IS Any IGP Any IGP
Unicast IP Routing Unicast IP Routing Unicast IP Routing Unicast IP Routing Unicast IP Routing
Table Table Table Table Table
LDP/TDP PIM Version 2(現(xiàn)在不是如此做) LDP(已經(jīng)廢棄)/RSVP LDP / TDP LDP / MBGP
幀模式的MPLS
FEC(轉(zhuǎn)發(fā)等價類)
——擁有相同標簽轉(zhuǎn)發(fā)路徑的一組數(shù)據(jù)包的集合
——在MPLS單播IP轉(zhuǎn)發(fā)中,FEC=路由
LSP(標簽交換路徑)
——標簽包從上游到下游經(jīng)過的一組路由器的集合
——在MPLS單播IP轉(zhuǎn)發(fā)中,LSP基于路由協(xié)議,所以是單向的
——LSP也可以和路由協(xié)議選擇的路徑不一致(MPLS流量工程)
PHP(次末跳彈出)
——PHP--次末跳彈出,主要用于優(yōu)化幀模式的MPLS的轉(zhuǎn)發(fā)性能(只需要進行一次查找)
幀模式MPLS的標簽分配/分發(fā)/保留
步驟:
-運行路由協(xié)議,分發(fā)拓撲信息,構(gòu)建路由表
-每個LSR為FIB表中每條路由分配一個標簽
-LSR將自己分配的標簽分發(fā)給鄰居
-每個LSR構(gòu)建自己的信息庫(LIB/LFIB/FIB)
幀模式MPLS標簽分配方式-----獨立分配
1.本路由器滿足標簽分配條件,就可以獨立分配標簽
-cef(FIB)
-接口啟用LDP/TDP協(xié)議或者進程(ospf/isis)下配置
2.默認情況下為FIB表中每條路由都分配一個標簽(可以手工控制)
3.標簽本地有效
幀模式MPLS標簽分發(fā)---自主分發(fā)
1.LSR不需要鄰居請求就可以自主的將自己分配的標簽分發(fā)給鄰居
2.默認情況下將自己分配的所有標簽都發(fā)送給所有鄰居
3.基于平臺的標簽分發(fā)方式---優(yōu)點:快,數(shù)據(jù)庫小;缺點:不安全
MPLS中advertise-labels一旦匹配不會執(zhí)行后續(xù)的動作:
mpls ldp advertise-labels
控制r1只能收到4,5,6,7的MPLS標簽,R3能收到所有的標簽
mpls ldp advertise-labels for 1 to 2(1列表中匹配的條目發(fā)送給2列表中匹配的鄰居)
access-list 1 deny 4.4.4.0
access-list 1 deny 5.5.5.0
access-list 1 deny 6.6.6.0
access-list 1 deny 7.7.7.0
access-list 1 permit any
access-list 2 deny 1.1.1.1
access-list 2 permit any
mpls ldp advertise-labels
4,5,6,7會向MPLS域中所有路由器發(fā)送label
除4,5,6,7其它路由會向1意外事件所有路由器發(fā)送label
幀模式的MPLS標簽保留——自由保留
除了保留本路由器和下一跳分配的標簽外,其它路由器分配的標簽也要保留
自由保留——優(yōu)點:網(wǎng)絡收斂時速度快,缺點:數(shù)據(jù)庫比較大
幀模式的MPLS的問題
——幀模式的MPLS的核心網(wǎng)絡中出現(xiàn)untagged或者no label表示有問題,可能有以下原因:
-LDP鄰居關系的建立
-協(xié)議不匹配
-協(xié)議激活(接口、進程、全局)
-數(shù)據(jù)包被過濾(UDP/TDP)
-傳輸?shù)刂凡豢蛇_
-標簽的分配
-CEF
-標簽范圍
-有選擇性的標簽分配
-標簽的分發(fā)
-有選擇性的標簽分發(fā)
幀模式MPLS的基本feature
1.loop detection——環(huán)路檢測
2.MPLS MTU
3.在OSPF環(huán)境中部署MPLS
4.在BGP環(huán)境中部署MPLS
Loop Detection
1.LDP依靠IGP的防環(huán)機制來防止路徑的環(huán)路
2.
路由器默認激活TTL傳輸功能
在MPLS域的入口:將IP頭部的TTL值拷貝到標簽頭部
在MPLS域的出口:將標簽頭部的TTL值拷貝回IP頭部(當標簽頭部TTL值小于IP頭部的TTL值)
icmp向源節(jié)點報告關于向目的地址傳輸IP數(shù)據(jù)包的錯誤和信息
端口從33434開始
debug ip packet 101 detail
debug mpls packet
MPLS 域內(nèi)traceroute工作原理
當MPLS域內(nèi)工作,發(fā)現(xiàn)TTL值減為0,不會直接返回給源,而是發(fā)送給MPLS域外第一臺設備再返回給源
1.impose 在FIB表中執(zhí)行
2.swap 在LFIB表中執(zhí)行
3.pop 在LFIB表中執(zhí)行,將頂層標簽彈出,進行一次查找直接往后發(fā)
4.no label 只查LFIB,將標簽彈掉,剩余IP包,不查表繼續(xù)向后發(fā)
Mpls ip ttl-expiration pop 1 //修改mpls的默認操作,當ttl值減為0時需要彈掉標簽才能看到源地址,彈掉標簽數(shù)小于等于設定的數(shù)值可以直接返回給源,如果大于設定的值則按照MPLS默認操作執(zhí)行(發(fā)送給MPLS域外第一臺設備再返回給源)
TTL和
禁止TTL傳輸功能
——TTL傳輸可以被禁止
——在MPLS域的入口,將標簽頭部的TTL值設置為255
——在MPLS域的出口,假如標簽頭部的TTL大于IP頭部的TTL值,則不會將標簽頭部的TTL值拷貝到IP頭部
——禁止TTL傳輸功能可以隱藏MPLS域的核心路由器
——traceroute不會顯示核心路由器
no mpls ip propagate-ttl
在所有MPLS域的邊界設備上敲
no mpls ip propagate-ttl forwarded //隱藏域內(nèi)設備IP地址
MPLS-MTU——
上層是下層的負載
下層為上層服務
二層MTU——不包括二層幀頭在內(nèi),二層為三層準備的空間大小
Show interface X/X
以太口/部分板卡g口無法修改二層MTU
三層MTU——包含三層IP報頭在內(nèi),整個三層報文大小
Show ip interface X/X
三層MTU大小受限于二層MTU
ip mtu ?
mpls mtu override XX
mpls mtu XX (bytes)(建議1524)告訴路由器可以接受Label+IP包小于等于1524bytes的報文
show mpls forwarding-table labels xx detail
交換機配置默認只能支持1500
需要配置
system mtu xx //影響所有接口,需要重啟才能生效
show system mtu
可以把MPLS域外的mtu值減小
在ospf環(huán)境部署MPLS
——在OSPF環(huán)境中部署MPLS
-環(huán)回口建議配置為/32主機路由
——在BGP環(huán)境中部署MPLS
-核心路由器可以不運行BGP,執(zhí)行標簽查找(具有擴展性)
-為BGP路由的下一跳分配標簽
轉(zhuǎn)載于:https://blog.51cto.com/13620507/2359895
總結(jié)
- 上一篇: mysql之调优概论
- 下一篇: 04机器学习实战之朴素贝叶斯