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