一、MPLS標(biāo)簽
1、定義:
一個短的、易于處理的、不包含拓?fù)?a target="_blank">信息、只具有局部意義的信息內(nèi)容。Lable短是為了易于處理,通??梢杂?a target="_blank">索引直接引用;只具有局部意義是為了便于分配。例如:一個路由器上的IN和OUT都是1500,并不會對轉(zhuǎn)發(fā)產(chǎn)生啥影響。
標(biāo)簽通常位于二層和三層的頭部之間
LSR根據(jù)MPLS標(biāo)簽決定如何轉(zhuǎn)發(fā)數(shù)據(jù)
2、標(biāo)簽結(jié)構(gòu):
標(biāo)簽只有4個字節(jié),32個bits
分為4個區(qū)域:
(1)label:標(biāo)簽值,長度20bits,是標(biāo)簽轉(zhuǎn)發(fā)的關(guān)鍵索引。
0-15為保留標(biāo)簽:0表示該標(biāo)簽必須彈出,交給IPV4處理;2表示該標(biāo)簽必須彈出,交給IPV6處理;3表示倒數(shù)第二跳彈出;
16-1024為靜態(tài)標(biāo)簽;
1024-65536位動態(tài)標(biāo)簽。
(2)TC位:Traffic Class field,流量類別字段,用于QOS標(biāo)識優(yōu)先級,長度3bits,數(shù)字越大,優(yōu)先級越高。
EXP ,Experimental Use,實驗性使用字段,預(yù)期用途是作為“服務(wù)等級”(Class of Service,CoS) 字段;
注意:TC和EXP所表示的意思是一樣的,有的文檔里用的EXP,有的文檔里用的是TC,現(xiàn)在EXP”字段被重命名為“TC”字段
(3)S:棧底標(biāo)識,長度1bits。
S為1表示為最后一個標(biāo)簽;
S為0表示后續(xù)還有標(biāo)簽。這就意味著我們可以多次封裝標(biāo)簽,嵌套標(biāo)簽。這在MPLS VPN和BGP MPLS VPN中會被使用,如下圖:
(4)TTL:存活時間,長度8bits,用于當(dāng)網(wǎng)絡(luò)出現(xiàn)環(huán)路時,防止標(biāo)簽報文被無限制轉(zhuǎn)發(fā)。
它有兩種處理模式:
1,Uniform:IP報文進(jìn)入mpls網(wǎng)絡(luò)時,拷貝IP頭部的TTL至標(biāo)簽交換,每經(jīng)過一次標(biāo)簽交換,標(biāo)簽TTL-1,經(jīng)過出節(jié)點時,把標(biāo)簽TTL再次-1后替 換到原IP頭部的TTL。
2, pipe:IP頭部進(jìn)入MPLS時,IP頭部TTL-1,MPLS標(biāo)簽中的TTL為固定值,每經(jīng)過一次標(biāo)簽交換,標(biāo)簽TTL-1,直到經(jīng)過出節(jié)點時,將IP頭部TTL-1。
這兩種模式最大的區(qū)別在于Uniform可以使接收設(shè)備感到TTL值的變化,可以知道自己經(jīng)過了幾個路由器,而pipe做不到。
3、標(biāo)簽識別:
以太網(wǎng)幀中,通過Type字段對MPLS進(jìn)行識別
Type=8847,代表承載的是MPLS報文
Type=0800,代表承載的是IP報文
二、標(biāo)簽分配協(xié)議---LDP(Lable Distribution Protocol)
1、定義:
用于LSR之間分配標(biāo)簽,建立LSP,簡單可靠,是MPLS網(wǎng)絡(luò)中應(yīng)用最廣泛的標(biāo)簽分配協(xié)議之一。
2、標(biāo)簽分配協(xié)議的種類:
LDP
MP-BGP----專門在BGP網(wǎng)絡(luò)中,支持標(biāo)簽分配協(xié)議的,適合用IPV4
MP-BGP(BGP4+)----專門在BGP網(wǎng)絡(luò)中,支持標(biāo)簽分配協(xié)議的,適合用IPV6
3、LDP消息類型
發(fā)現(xiàn)消息(discovery messages):用于LDP鄰居的發(fā)現(xiàn)和維持。
會話消息(session messages):用于LDP鄰居會話的建立、維持和中止。
通告消息(advertisement messages):用于LDP實體向LDP鄰居宣告Label、地址等信息。
通知消息(Notification messages):用于向LDP鄰居通知事件或錯誤。
4、LDP會話建立和維護(hù)
5、LDP鄰居狀態(tài)機(jī)
6、標(biāo)簽轉(zhuǎn)發(fā)表
LDP會話建立完成后,路由器根據(jù)路由表進(jìn)行標(biāo)簽分配,形成MPLS標(biāo)簽轉(zhuǎn)發(fā)表
標(biāo)簽轉(zhuǎn)發(fā)表包含入標(biāo)簽、出標(biāo)簽和出接口
入標(biāo)簽:接收到的報文攜帶的標(biāo)簽
出標(biāo)簽:轉(zhuǎn)發(fā)數(shù)據(jù)把入標(biāo)簽替換為出標(biāo)簽
出接口:報文數(shù)據(jù)發(fā)出的接口
7、LSP建立流程(標(biāo)簽分配的過程)
上游與下游:
設(shè)備的上下游,與數(shù)據(jù)轉(zhuǎn)發(fā)的方向相對,數(shù)據(jù)先到達(dá)的地方是上游,后到達(dá)的地方是下游。
流程:
注:標(biāo)簽分配的過程必須基于全網(wǎng)通的情況下
每臺路由器是怎么知道自己是上游還是下游?假設(shè)用戶A要和用戶B通信,全網(wǎng)通,這3臺路由器都已經(jīng)配置了LDP協(xié)議,并且鄰居已起來
過程描述:
從A發(fā)出的數(shù)據(jù)包應(yīng)該是這個樣子:D:20.0.0.1+S:10.0.0.1,LSR1收到后會查看路由表,得知其下一跳是LSR2的左邊接口,這也就意味是LSR1發(fā)現(xiàn)這個數(shù)據(jù)包的下一跳是自己的LDP鄰居,于是LSR1就知道自己是這個數(shù)據(jù)包中去往目的地的上游,此時LSR1會向LSR2發(fā)起標(biāo)簽分配的請求,請求LSR2給LSR1分配一個去往20.0.0.1的標(biāo)簽。
LSR2收到數(shù)據(jù)包后也會查路由表尋找下一跳,也會向LSR3發(fā)起標(biāo)簽分配的請求,請求LSR3給LSR2分配一個去往20.0.0.1的標(biāo)簽。
LSR3收到數(shù)據(jù)包后也會查路由表,發(fā)現(xiàn)其下一跳不是自己的LDP鄰居,這就意味著這個數(shù)據(jù)包的終點是自己,自己是最后一跳。
有一種復(fù)雜的情況:R1-R3都配置了LDP協(xié)議,唯獨R4沒有配置LDP協(xié)議
此時LSR3收到LSR2的數(shù)據(jù)包后,會查路由表找到目的地的下一跳,發(fā)現(xiàn)下一跳是LSR4,但LSR4不是自己的LDP鄰居,這會讓LSR3同樣的認(rèn)為自己就是這個數(shù)據(jù)包的終點,自己值最后一跳
當(dāng)LSR3知道自己是終點,是最后一跳時,LSR3會產(chǎn)生一個IN和OUT標(biāo)簽,但此時OUT標(biāo)簽是空的(因為它已經(jīng)知道自己是最后一跳,就沒必要給自己給標(biāo)簽了),IN標(biāo)簽是隨機(jī)產(chǎn)生的,但是因為自己是最后一跳,所以,根據(jù)情況可以有三個選擇:
0表示該標(biāo)簽必須彈出,交給IPV4處理;
2表示該標(biāo)簽必須彈出,交給IPV6處理;
3表示倒數(shù)第二跳彈出。
假設(shè),這個圖上配置的地址是IPV4地址,此時的IN標(biāo)簽應(yīng)該為0,出接口沒有(因為是最后一跳),最后LSR3會把自己的標(biāo)簽值通過標(biāo)簽通告報文(advertisement messages),傳給自己的上游LSR2。
當(dāng)LSR2收到LSR3傳的標(biāo)簽通告報文后,會將收到報文的接口S1/1作為自己的出接口,LSR3的IN標(biāo)簽作為自己的出標(biāo)簽,自身的IN標(biāo)簽可自動給出一個隨機(jī)值,比如:IN=1200
當(dāng)LSR1收到LSR2傳的標(biāo)簽通告報文后,會將收到報文的接口S0/1作為自己的出接口,LSR2的IN標(biāo)簽作為自己的出標(biāo)簽,自身的IN標(biāo)簽可自動給出一個隨機(jī)值,但因為自己是起點,所以沒有IN標(biāo)簽
此時LSP的建立流程(標(biāo)簽分配的流程)就結(jié)束了。
總結(jié):
(1)出節(jié)點LSR收到上游標(biāo)簽分配請求后,建立LSP
出標(biāo)簽為空
入標(biāo)簽設(shè)置為3或者0或者2,視情況而定
出接口為IP路由表中目的網(wǎng)段的出接口
(2)出節(jié)點LSR向上游LSR發(fā)布標(biāo)簽映射消息,通告本機(jī)LSR的入標(biāo)簽
(3)上游LSR根據(jù)標(biāo)簽映射消息建立LSP
出標(biāo)簽為下游LSR通告的入標(biāo)簽
入標(biāo)簽隨機(jī)產(chǎn)生
出接口為收到標(biāo)簽映射消息的接口
(4)LSR繼續(xù)向上游發(fā)布標(biāo)簽映射消息,直到入節(jié)點
(5)入節(jié)點LSR建立LSP
出標(biāo)簽為下游LSR通告的入標(biāo)簽
入標(biāo)簽為空
出接口為收到標(biāo)簽映射消息的接口
8、標(biāo)簽通告模式
(1)DOD:downstream-on-demand,下游按需標(biāo)記分配,默認(rèn)模式
特征:上游LSR先向下游LSR發(fā)送標(biāo)簽請求信息;下游LSR收到標(biāo)簽請求消息后,為此FEC分配標(biāo)簽,并向上游逐層通告。
優(yōu)點:沒有訪問需求的地址,不會建立LSP,減輕路由器的性能負(fù)擔(dān)。
缺點:有訪問需求才會觸發(fā)建立LSP,會導(dǎo)致觸發(fā)報文的前幾個無法連通(LSP的建立需要過程,在每個路由器標(biāo)簽沒有分配好前,有訪問需求,會導(dǎo)致訪問失敗)。
(2)DU:downstream unsolicited,下游自主標(biāo)記分配
特征:下游LSR在LDP會話建立后,主動向上游LSR通告標(biāo)簽映射消息,無需等待上游請求。
優(yōu)點:無需統(tǒng)一訪問請求觸發(fā),不會存在一組FEC前幾個包不通的情況。
缺點:路由器會主動建立所有路由表中下一跳為非LDP鄰居的網(wǎng)段的LSP,導(dǎo)致大量的LSP信息,而且很多可能是暫時無用的。
9、標(biāo)簽控制模式
有序:只有從最下游的LSR開始建立標(biāo)簽后,才能逐層通告
無序(獨立):不管有沒有收到下游的標(biāo)簽映射消息,都立即向上游發(fā)送標(biāo)簽映射消息(即使標(biāo)簽重復(fù)也無所謂)
10、標(biāo)簽保持方式
(1)保守模式:只保留最優(yōu)路徑的,來自下一跳鄰居的標(biāo)簽,丟棄所有非下一跳鄰居發(fā)來的標(biāo)簽;
如果IP路由表中存在等價路由,LSP會建立等價路徑,做負(fù)載均衡。
特征:
增加LSP的收斂時間;(一旦主路故障了,需要啟動備用路徑,重新建立標(biāo)簽分配的過程)
節(jié)省內(nèi)存空間和標(biāo)簽。
(2)自由模式:保留所有鄰居標(biāo)簽
特征:
減少LSP收斂時間;
需要更多的內(nèi)存和標(biāo)簽空間。
11、帶標(biāo)簽的MPLS報文轉(zhuǎn)發(fā)流程
報文進(jìn)入MPLS網(wǎng)絡(luò),入節(jié)點檢查標(biāo)簽轉(zhuǎn)發(fā)表,進(jìn)行PUSH操作,如下圖:
報文在Transilt LSR中傳輸時,路由器檢查標(biāo)簽,并在標(biāo)簽轉(zhuǎn)發(fā)表中匹配,進(jìn)行標(biāo)簽SWAP操作
報文到達(dá)出節(jié)點,路由器彈出pop標(biāo)簽,并按照普通數(shù)據(jù)報文進(jìn)行報文
審核編輯:劉清
-
TTL
+關(guān)注
關(guān)注
7文章
503瀏覽量
70231 -
QoS
+關(guān)注
關(guān)注
1文章
136瀏覽量
44775 -
VPN
+關(guān)注
關(guān)注
4文章
291瀏覽量
29701 -
路由器
+關(guān)注
關(guān)注
22文章
3728瀏覽量
113701 -
MPLS
+關(guān)注
關(guān)注
0文章
131瀏覽量
24141
原文標(biāo)題:網(wǎng)絡(luò)學(xué)習(xí):MPLS標(biāo)簽與標(biāo)簽分配協(xié)議—LDP
文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論