自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

揭開MPLS的神秘面紗,這些你都知道嗎?

網(wǎng)絡 通信技術(shù)
MPLS(Multiprotocol Label Switch)最初是用來提高路由器的轉(zhuǎn)發(fā)速度而提出的一個協(xié)議,但隨著技術(shù)發(fā)展,設備轉(zhuǎn)發(fā)性能越來越強,其加快轉(zhuǎn)發(fā)速度的優(yōu)勢逐漸弱化,而多層MPLS報頭嵌套的設計成為了其最出彩的地方。

在正式學習MPLS之前,我們先復習一下在NA、NP中反復學習的IP轉(zhuǎn)發(fā)原理。

在上圖中,關(guān)于PC-A和PC-B之間互相訪問的過程中:

  • 所有三層網(wǎng)絡設備形成源和目的的路由條目
  • PC-A發(fā)出報文,source-IP為A,destination-IP為B
  • R1收到報文后,根據(jù)目的IP檢查自己的路由表,查詢得到出接口,將數(shù)據(jù)包從出接口發(fā)出
  • R2、R3同樣如此,一直講數(shù)據(jù)包傳遞到PC-B
  • PC-B做出回包,沿反方向傳回數(shù)據(jù)

其中省略了二層mac地址的ARP查詢和重寫數(shù)據(jù)幀的內(nèi)容。

簡而言之:IP數(shù)據(jù)報文在傳遞的過程中,根據(jù)目的IP地址,查詢路由表,得到出接口將數(shù)據(jù)發(fā)出,源目的IP地址保持不變,mac地址逐跳改寫。

上面這個是我們耳熟能詳?shù)腎P轉(zhuǎn)發(fā)原理。

其中我們?yōu)榱朔奖憷斫?,隱藏了其在轉(zhuǎn)發(fā)過程中真實的一幕,即路由器收到IP報文時,查詢的其實并不是路由表(RIB),而是轉(zhuǎn)發(fā)表(LIB)。

我們需要復習一下在NP交換部分所講過的交換工作原理。

最早期,交換機在交換數(shù)據(jù)幀時采用的交換方式我們稱之為進程交換,所有的報文在交換時都需要經(jīng)過CPU查詢處理,導致交換效率一直無法提升。隨后,新一代交換方式出現(xiàn),即采用數(shù)據(jù)流的交換方式,我們將源目的IP、源目的mac、源目的端口及入接口都相同的流量稱為同一個數(shù)據(jù)流,交換機在處理這些數(shù)據(jù)時,只需要對第一個報文使用CPU進行查詢,后續(xù)的所有報文全都按照第一個報文的交換方式進行處理,大大提高了交換效率。

而cisco根據(jù)數(shù)據(jù)流交換方式推出了自己獨有的交換方式,在進程交換中,存在一個問題,即只有有流量觸發(fā)后才會產(chǎn)生出對應的交換緩存,如果是處理大量不同數(shù)據(jù)流時,其實交換效率和進程交換一樣慢;為了解決這個問題,cisco將其優(yōu)化改進,利用交換機的閑時資源,提前計算出可能會收到的數(shù)據(jù)流的轉(zhuǎn)發(fā)信息,將其載入緩存,當收到數(shù)據(jù)流時,直接使用預先緩存的轉(zhuǎn)發(fā)信息處理報文,實現(xiàn)了正真的基于硬件的交換方式,cisco把這種方式成為思科特快轉(zhuǎn)發(fā)(CEF)。

正是由于CEF的高效,cisco在新的路由產(chǎn)品中也移植了這個功能,所以現(xiàn)在大家所能接觸到的思科設備都具備CEF功能。

而我們所謂的轉(zhuǎn)發(fā)表其實就是CEF表,CEF表示根據(jù)路由表產(chǎn)生的,其不像路由表有大量的遞歸內(nèi)容,CEF表中顯示的就是一個數(shù)據(jù)包如果匹配中其下一步應該從哪個接口發(fā)出,簡單高效。

比如下面的這個路由表(RIB):

路由就會出現(xiàn)需要遞歸查詢的情況。

而我們?nèi)タ匆幌翪EF表(FIB):

路由器在閑時會根據(jù)路由表的信息,提前計算好轉(zhuǎn)發(fā)信息,收到去往4.4.4.4的數(shù)據(jù)包直接從出接口F0/0發(fā)出。

  • 這張表我們就叫做FIB:轉(zhuǎn)發(fā)信息庫。
  • 而FIB是根據(jù)路由表產(chǎn)生的,路由表我們稱為RIB:路由信息庫
  • 設備在收到IP報文時,其查詢的其實是FIB并不是RIB,如果將CEF功能關(guān)閉,這是才會查詢RIB即路由表

以上是我們在NA、NP中所學的IP轉(zhuǎn)發(fā)原理的內(nèi)容,做一些補充。

下面,我們開始揭開MPLS的神秘面紗,來看一看內(nèi)里乾坤。

MPLS(Multiprotocol Label Switch)最初是用來提高路由器的轉(zhuǎn)發(fā)速度而提出的一個協(xié)議,但隨著技術(shù)發(fā)展,設備轉(zhuǎn)發(fā)性能越來越強,其加快轉(zhuǎn)發(fā)速度的優(yōu)勢逐漸弱化,而多層MPLS報頭嵌套的設計成為了其最出彩的地方。

目前用得比較多的場景主要是解決BGP路由黑洞問題和MPLS VPN數(shù)據(jù)轉(zhuǎn)發(fā)。

首先,我們需要對MPLS有個大概的認識,MPLS在傳遞報文時會在二層幀頭和三層報頭中間插入MPLS報頭,所以很多人叫它2.5層。

他的報文結(jié)構(gòu)比IP報頭簡單得多,也小地多,只有4個字節(jié)(32bits)。

結(jié)構(gòu)如下:

  • 前20位位標簽位,用于表示當前的標簽
  • EXP協(xié)議中未作定義,一般用作COS
  • S為棧底位,用于表示該MPLS報頭是否為最后一個MPLS報頭

TTL相信不用解釋了

如此簡單的接口我相信你看過一次就能記住,同樣,設備在處理MPLS報文時也會比IP報文處理效率更高。

在MPLS中有一些專業(yè)術(shù)語必須要了解。

  • FEC:Forwarding Equivalence Class,F(xiàn)EC(轉(zhuǎn)發(fā)等價類),是在轉(zhuǎn)發(fā)過程中以等價的方式處理的一組數(shù)據(jù)分組??梢酝ㄟ^地址、隧道、COS等來標識創(chuàng)建FEC,目前看到的MPLS中只是一條路由對應一個FEC。通常在一臺設備上,對一個FEC分配相同的標簽。
  • 標簽(Label):是一個比較短的,定長的,通常只具有局部意義的標識(類似mac地址),這些標簽通常位于數(shù)據(jù)鏈路層的數(shù)據(jù)鏈路層封裝頭和三層數(shù)據(jù)包之間,標簽通過綁定過程同F(xiàn)EC相映射,即一個FEC對應一個標簽。
  • LSP:標簽交換通道。一個FEC的數(shù)據(jù)流,在不同的節(jié)點被賦予確定的標簽,數(shù)據(jù)轉(zhuǎn)發(fā)按照這些標簽進行。數(shù)據(jù)流所走的路徑就是LSP。
  • LSR:Label Switching Router,LSR是MPLS的網(wǎng)絡的核心交換機,它提供標簽交換和標簽分發(fā)功能。
  • LER:Label Switching Edge Router,在MPLS的網(wǎng)絡邊緣,進入到MPLS網(wǎng)絡的流量由LER分為不同的FEC,并為這些FEC請求相應的標簽。它提供流量分類和標簽的映射、標簽的移除功能。

了解了上面這些專業(yè)術(shù)語,那么我們研究一下數(shù)據(jù)是如何通過MPLS進行傳遞的,和IP之間有什么區(qū)別:

在上圖中,我們需要解決幾個問題:

  • 標簽是怎么產(chǎn)生的?
  • IP報文是怎么變成MPLS報文的?
  • 報文是如何從源傳遞到目的的?

(1)標簽是怎么產(chǎn)生的?

  • 為每一條路由產(chǎn)生一個唯一標簽(local標簽,也叫 in標簽)
  • 將這些標簽傳遞給MPLS的鄰居(remote標簽,也叫out標簽)

(2)IP報文是怎么變成MPLS報文的?

在LER上,壓入標簽(根據(jù)IP報文的目的IP地址所對應的路由的標簽)

(3)報文是如何從源傳遞到目的的?

  • A發(fā)出IP報文,R1收到后查詢FIB,得知需要壓入標簽
  • R1將報文轉(zhuǎn)發(fā)給R2,R2收到MPLS報文,查詢LFIB表中in標簽,將原有的標簽替換成現(xiàn)在這個in標簽對應的out標簽值
  • 到達R3后,查詢in標簽,發(fā)現(xiàn)對應out標簽為pop,則彈出最頂層標簽,還原成IP報文,轉(zhuǎn)發(fā)給R4
  • R4收到IP報文后,查詢FIB表,將報文轉(zhuǎn)發(fā)給B

其中涉及到幾個動作:

  • push壓入:為報文添加MPLS報頭
  • swap替換:根據(jù)in標簽查詢的結(jié)果,將標簽替換成out標簽的值
  • pop 彈出:將最頂層的MPLS報頭移除
  • untag 彈出:將所有MPLS報頭都移除
  • PHP機制:倒數(shù)第二跳彈出,減少最后一條設備的查表次數(shù)

如果沒有倒數(shù)第二跳彈出機制,在最后一條設備上才彈出標簽,則在最后一條設備上首先需要查詢LFIB表,得知需要彈出標簽,彈出標簽后變成IP報文,需要再次查詢FIB表,共需要查詢2次,而在倒數(shù)第二跳設備上彈出,變成IP報文后,最后一條設備就只需查詢FIB表即可,只查一次。

這些就是MPLS的原理部分,下次我們再繼續(xù)研究MPLS的協(xié)議。

責任編輯:趙寧寧 來源: 思科CCIE俱樂部
相關(guān)推薦

2021-08-05 18:21:29

Autowired代碼spring

2015-08-20 13:43:17

NFV網(wǎng)絡功能虛擬化

2019-02-12 11:15:15

Spring設計模式Java

2011-08-02 08:59:53

2016-01-11 09:48:07

2016-03-18 19:03:35

認知計算IBM

2022-11-10 09:00:41

2020-05-27 11:30:54

Chrome DevT前端命令

2021-07-29 06:55:03

Spring@AutowriedbyType注入

2022-09-07 09:01:14

JS操作符運算符

2010-05-17 09:13:35

2014-03-12 11:11:39

Storage vMo虛擬機

2021-06-07 08:18:12

云計算云端阿里云

2010-05-26 19:12:41

SVN沖突

2024-03-26 10:10:45

JavaScript操作符操作表達式

2024-04-28 08:20:52

Controller接口URL

2023-02-15 08:12:19

http超時過濾器

2009-06-01 09:04:44

Google WaveWeb

2018-03-01 09:33:05

軟件定義存儲

2020-10-28 11:20:55

vue項目技
點贊
收藏

51CTO技術(shù)棧公眾號