一,基本概述
1. mpls基本概念
MPLS位于二三層之間,可以向所有網絡層提供服務。通過在數據鏈路層和網絡層之間增加額外的MPLS頭部,基于MPLS頭部實現數據快速轉發。
2. 控制平面和轉發平面
控制平面:負責產生和維護路由信息以及標簽信息。
RIB:路由信息表,由IP路由協議生成,用于選擇路由。
LDP:標簽分發協議,負責標簽的分配、標簽轉發信息表的建立、標簽交換路徑的建立、拆除等工作。
LIB:標簽信息表,由標簽分發協議生成,用于管理標簽信息。
轉發平面:負責普通IP報文的轉發以及帶MPLS標簽報文的轉發。
FIB:轉發信息表,從RIB提取必要的路由信息生成,負責普通IP報文的轉發。
LFIB:標簽轉發信息表,簡稱標簽轉發表,由標簽分發協議建立LFIB,負責帶MPLS標簽報文的
3. MPLS報文格式(MPLS標簽的長度為4個字節,共分4個字節)
Label:20bit,標簽值域;
Exp:3bit,用于擴展。現在通常用做CoS,當設備發生阻塞時,優先發送優先級高的報文;
S:1bit,棧底標識。MPLS支持多層標簽,即標簽嵌套。S值為1時表明為最底層標簽;
TTL:8bit,和IP報文中的TTL意義相同防環。
默認是給32位主機地址分發標簽
4. MPLS標簽棧
MPLS支持一層或多層標簽頭部,這些標簽頭部的有序集合被稱為標簽棧。
最靠近二層頭部的標簽是棧頂標簽,標簽中的S字段為0。
最靠近IP頭部的標簽是棧底標簽,標簽中的S字段為1。
5.?標簽的取值范圍
0~15:特殊標簽。如標簽3,稱為隱式空標簽,用于倒數第二跳彈出;
16~1023:靜態LSP和靜態CR-LSP共享的標簽空間;
1024及以上:LDP、RSVP-TE、MP-BGP等動態信令協議的標簽空間。
6. MPLS術語
LSP:標簽交換路徑,即到達同一目的地址的報文在MPLS網絡中經過的路徑。
FEC:一般指具有相同轉發處理方式的報文。在MPLS網絡中,到達同一目的地址的所有報文就是一個FEC。一個FEC就是一個LSP。有目的IP地址及網絡掩碼、DSCP等特征來劃分
LSR:標簽交換路由器,支持MPLS的路由器。位于MPLS域邊緣、連接其它網絡的LSR稱為邊沿路由器LER,區域內部的LSR稱為核心LSR。
入站LSR(Ingress LSR):通常是向IP報文中壓入MPLS頭部并生成MPLS報文的LSR。
中轉LSR(Transit LSR):通常是將MPLS報文進行例如標簽置換操作,并將報文繼續在MPLS域中轉發的LSR。
出站LSR(Egress LSR):通常是將MPLS報文中MPLS頭部移除,還原為IP報文的LSR。
MPLS域:一系列連續的運行MPLS的網絡設備構成了一個MPLS域。
7. 靜態LSP
基本概念:靜態LSP是用戶通過手工為各個FEC分配標簽而建立的。
??? 靜態LSP不使用標簽發布協議,不需要交互控制報文,因此消耗資源比較小。
???? 通過靜態方式建立的LSP不能根據網絡拓撲變化動態調整,需要管理員干預。
應用場景:適用于拓撲結構簡單并且穩定的小型網絡。
標簽分配原則:前一節點出標簽的值等于下一個節點入標簽的值。
8. 動態LSP
基本概念:動態LSP通過標簽發布協議動態建立。
??? 標簽發布協議是MPLS的控制協議(也可稱為信令協議),負責FEC的分類、標簽的分發以及LSP的建立和維護等一系列操作。
常用標簽發布協議:標簽分發協議 (LDP)
全稱:Label Distribution Protocol。
定義:LDP是多協議標簽交換MPLS的一種控制協議,負責轉發等價類FEC的分類、標簽的分配以及標簽交換路徑LSP的建立和維護等操作。LDP規定了標簽分發過程中的各種消息以及相關處理過程。
應用場景:LDP廣泛地應用在VPN服務上,具有組網、配置簡單、支持基于路由動態建立LSP、支持大容量LSP等優點。
9. MPLS標簽控制平面和轉發平面
控制平面:
控制平面是無連接的,主要功能是負責產生和維護路由信息以及標簽信息。
控制平面包括:
路由信息表RIB:由IP路由協議、靜態路由和直連路由共同生成,用于選擇路由。
標簽信息表LIB:用于管理標簽信息,LIB中的表項可由標簽交換協議或靜態配置生成。
轉發平面:
轉發平面也稱為數據平面,是面向連接的, 主要功能是負責普通IP報文的轉發以及帶MPLS標簽報文的轉發。
轉發平面包括:
轉發信息表FIB:從RIB提取必要的路由信息生成,負責普通IP報文的轉發。
標簽轉發信息表LFIB:簡稱標簽轉發表,負責帶MPLS標簽報文的轉發。
二,配置舉例
1. MPLS靜態配置命令
入接口路由器配置:
配置LSR-id:mpls lsr-id 1.1.1.1
開啟MPLS:mpls
開啟接口MPLS:interface GigabitEthernet0/0/0mpls
Ingress配置:static-lsp ingress(名字)? name ?destination(目的地址+掩碼)4.4.4.4? 32?next-hop(下一跳)192.168.1.2? outgoing-interface(出接口)??GigabitEthernet0/0/0 out-label(出標簽)?100
中間轉發節點路由器配置:
配置LSR-id:mpls lsr-id 2.2.2.2
開啟MPLS:mpls
開啟接口MPLS:interface GigabitEthernet0/0/0mpls
interface GigabitEthernet0/0/1mpls
Transit配置:static-lsp transit(名字)?name? incoming-interface(進接口) ?GigabitEthernet0/0/0 in-label(進標簽)100 ?nexthop(下一跳)?192.168.2.2 outgoing-interface(出接口)GigabitEthernet0/0/1?out-label(出標簽)?100
出接口路由器配置:
配置LSR-id:mpls lsr-id 3.3.3.3
開啟MPLS:mpls
開啟接口MPLS:interface GigabitEthernet0/0/0mpls
Egress 配置:static-lsp egress(名字)?name? incoming-interface(進接口)?GigabitEthernet0/0/0 ?in-label(進標簽) 100?
查看靜態LSP配置:
display mpls static-lsp
2. 動態MPLS配置:
配置LSR-id:mpls lsr-id 2.2.2.2
開啟MPLS:mpls
配置自動下發標簽:mpls ldp
進入接口使能mpls: interface GigabitEthernet0/0/0mplsmpls ldpinterface GigabitEthernet0/0/1mplsmpls ldp