HUAWEI MPLS 靜態配置和動態LDP配置

? ? ? ?MPLS(Multi-Protocol Label Switching,多協議標簽交換技術)技術的出現,極大地推動了互聯網的發展和應用。例如:利用MPLS技術,可以有效而靈活地部署VPN(Virtual Private Network,虛擬專用網),TE(Traffic Engineering,流量工程)和Qos(Quality of Service,服務質量)。目前,MPLS技術主要應用于運營商網絡之中。

? ? ? ?在MPLS網絡中,位于網絡邊緣的路由稱為LER(Label Edge Router),網絡內部路由器稱為LSR(Label Switch Router),MPLS報文經過的路徑稱為LSP(Label Switch Path)。一條LSP總是起于一臺被稱為Ingress的LER,止于另一臺被稱為Egress的LER,中間經過若干臺被被稱為Transit的LSR。LSP具有單向性,且由靜態LSP和動態LSP之分。靜態LSP需要人工進行固定的標簽分配,動態LSP需要利用諸如LDP(Label Distribution Protocol,標簽分發協議)這樣的協議進行動態標簽分配。

傳統的IP轉發中,物理層從交換機的一個端口收到一個報文,上送到數據鏈路層。數據鏈路層去掉鏈路層封裝,根據報文的協議上送給相應的網絡層。網絡層首先看報文是不是發送給本機的,若是,去掉網路層封裝,上送給它的上層協議。若不是,則根據報文的目的地址查找路由表,若找到路由,將報文送給相應端口的數據鏈路層,數據鏈路層封裝后,發送報文。若找不到路由,將報文丟棄。傳統的IP轉發采用的時逐條轉發,數據報文經過每一臺交換機,都要執行上訴過程。由于傳統IP轉發時面向無連接的,所以無法提供更好的Qos保證。

MPLS 基本概念

標簽(Label):是一個定長的,比較短的,只有本地意義的標識,4字節(0-3)

FEC(轉發等價類):是一組或一類數據,這組數據分配的標簽相同

LSP(標簽交換通道):一個FEC的數據流,在不同的節點被賦予確定的標簽,數據轉發按照這些標簽進行。數據流所走的路徑就是LSP?

LSR (Label Switch Router) :LSR是MPLS中的網絡核心交換機,它提供標簽交換和標簽分發功能。

LER (Label Switch Edge Router) :在MPLS的網絡邊緣,進入到MPLS網絡的流量由LER分為不同的FEC,并且為這些FEC請求相應的標簽。它提供流量分類和標簽的映射、標簽的移除功能。

控制平面:負責產生和維護路由信息以及標簽信息。

? ? ? 1.路由信息RIB(Routing Information Base):由IP路由協議生產,用于選擇路由

? ? ? 2.標簽分發協議LDP(Label Distribution protocol) :負責標簽的分配、標簽轉發信息表的建立、標簽交換路徑的建立、拆除等工作。

? ? ? 3.標簽信息表LIB(Label Information Base):由標簽分發協議生成,負責管理標簽信息。

轉發平面:即數據平面(Data Plane),負責普通IP報文的轉發以及MPLS標簽報文的轉發

? ? ? 1.轉達信息表FIB(Forwarding Information Base) :從RIB提取必要的路由信息生成,負責普通IP報文的轉發。

? ? ? 2.標簽轉發信息表LFIB(Label Forwarding Information Base) :簡稱標簽轉發表,由表換轉發協議建立LFIB,負責帶MPLS標簽報文的轉發。

? ? ? MPLS 路由器上,報文的轉發過程:

1. 當收到普通IP報文時,查找FIB,如果Tunnel ID為0X0,則進行普通IP報文轉發;如果查找FIB表,Tunnel ID 為非0X0 ,則進行MPLS轉發。

2.當收到帶標簽的報文時,查找LFIB表,如果對應的出標簽是普通標簽,則驚醒MPLS轉發;查找LFIB,如果對應的出標簽是特殊標簽,如標簽3 ,則將報文的標簽去掉,進行IP轉發。

實驗:

基礎配置:

配置ospf協議和接口ip 略

R1 :

:配置MPLS協議:

首先配置LSR ID

[R1]mpls lsr-id 1.1.1.1

全局啟用MPLS

[R1]mpls

Info: Mpls starting, please wait... OK!

在全局啟用MPLS之后,還需要再轉發MPLS報文的接口上使用MPLS命令使能接口的MPLS功能

[R1-mpls]int g0/0/0

[R1-GigabitEthernet0/0/0]mpls

[R1-GigabitEthernet0/0/0]qu

配置完成后,再R1上查看LSP的信息

[R1]dis mpls lsp?

配置靜態LSP

在R1上配置從R1到R3的靜態LSP的Ingress,并進行標簽的分配

[R1]static-lsp ingress 1t3 destination 10.0.3.3 32 nexthop 10.0.12.2 out-label 102

在R2上配置從R1到R3的靜態LSP的Transit,并進行標簽的分配

[R2]mpls lsr-id 2.2.2.2

[R2]mpls

Info: Mpls starting, please wait... OK!

[R2-mpls]int g0/0/0

[R2-GigabitEthernet0/0/0]mpls

[R2-GigabitEthernet0/0/0]int g0/0/1

[R2-GigabitEthernet0/0/1]mpls

[R2-GigabitEthernet0/0/1]qu

[R2]static-lsp transit 1t3?incoming-interface g0/0/0 in-label 200 nexthop 10.0.23.3 out-label 300

在R3上配置從R1到R3的靜態LSP的Egress,并進行標簽的分配

[R3]mpls lsr-id 3.3.3.3

[R3]mpls

Info: Mpls starting, please wait... OK!

[R3-mpls]int g0/0/1

[R3-GigabitEthernet0/0/1]mpls

[R3-GigabitEthernet0/0/1]qu

[R3]static-lsp egress 1t3 incoming-interface g0/0/0 in-label 200

配置完成后,在R1上查看LSP信息

可以看到,R1上已經擁有了去往R3(3.3.3.3/32)的靜態LSP,且在本地的In標簽為NULL,說明R1是該LSP的Ingress。

在R1 上 ping -a 1.1.1.1 3.3.3.3

通過抓包獲取,是通過標簽轉發的,是單向的

配置動態LDP協議:

[R1]undo static-lsp ingress 1t3 xuyao?
[R1]mpls ldp?
[R1-mpls-ldp]quit
[R1]int g0/0/0?
[R1-GigabitEthernet0/0/0]mpls ldp?

[R2]undo static-lsp transit 1t3?
[R2]mpls ldp?
[R2-mpls-ldp]quit
[R2]int g0/0/0?
[R2-GigabitEthernet0/0/0]mpls ldp?
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]mpls ldp?
[R2-GigabitEthernet0/0/1]

[R3]undo static-lsp egress 1t3?
[R3]mpls ldp?
[R3-mpls-ldp]int g0/0/1
[R3-GigabitEthernet0/0/1]mpls ldp?
[R3-GigabitEthernet0/0/1]

R1、R2和R3的接口啟動了LDP。并且標簽分發方式為DU模式

R1和R2、R2和R3之間的LDP會話狀態為operrational,表示會話已經建立

R1驗證去往3.3.3.3 /32 的MPLS報文所經過的路徑

可以看到,報文在R3上出發時被賦予標簽1024,經過R2時,標簽被替換為3

分別 在R1和R3上測試連通性

測試聯通正常。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/38967.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38967.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38967.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Rust 進階教程

Rust 進階教程 在基礎教程中,我們已經了解了Rust的基本語法和核心概念。本文將進一步探討Rust的進階特性和應用,包括泛型、閉包、迭代器、異步編程、宏和unsafe代碼等。 目錄 泛型閉包和迭代器 閉包迭代器 異步編程宏Unsafe代碼FFI(外部函…

pdf怎么拆分成一頁一頁?4種拆分方法分享

在日常的辦公學習中,PDF文檔因其跨平臺、易閱讀、不易篡改等特性,成為我們工作和學習中不可或缺的一部分。然而,當我們需要對PDF進行編輯、打印或分享時,有時需要將整個PDF文檔拆分成一頁一頁的單獨文件。那么,如何高效…

深入理解Vue生命周期鉤子函數

深入理解Vue生命周期鉤子函數 Vue.js 是一款流行的前端框架,通過其強大的響應式數據綁定和組件化的開發方式,使得前端開發變得更加簡單和高效。在Vue應用中,每個組件都有其生命周期,這些生命周期鉤子函數允許開發者在不同階段執行…

2024 AIGC 技術創新應用研討會暨數字造型設計師高級研修班通知

尊敬的老師、領導您好! 為深入響應國家關于教育綜合改革的戰略部署,深化職業教育、高等教育改革,發揮企業主體重要作用,促進人才培養供給側和產業需求側結構要素全方位融合,充分把握人工智能創意式生成(AIGC)技術在教育領域的發展…

【ruoyi】docker 項目實戰

一、引言 介紹ruoyi(若依)框架 本項目使用若依前后臺分離框架 https://gitee.com/ranmaxli/basic-business-platform 解釋為什么選擇Docker進行項目開發 使用docker是因為方便數據遷移、部署、管理 二、Docker基礎知識 Docker基本概念 容器與虛擬機

初學Spring之 IOC 控制反轉

Spring 是一個輕量級的控制反轉&#xff08;IOC&#xff09;和面向切面編程&#xff08;AOP&#xff09;的框架 導入 jar 包&#xff1a;spring-webmvc、spring-jdbc <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc&l…

HTTPS數字證書驗證論述

1 概述 網絡請求方式通常分為兩種&#xff0c;分別是HTTP請求和HTTPS請求&#xff0c;其中HTTP的傳輸屬于明文傳輸&#xff0c;在傳輸的過程中容易被人截取并且偷窺其中的內容&#xff0c;而HTTPS是一種在HTTP的基礎上加了SSL/TLS層&#xff08;安全套接層&#xff09;的安全的…

解決expand-change第一次展開無數據顯示與實現

最近寫需求時用到了expand-change表格展開回調&#xff0c;但我發現第一次展開后并沒有展示任何數據&#xff0c;但我的返回值是存在的&#xff0c;當第二次展開時發現數據就有了。此原因是因為獲取數據的接口是異步的&#xff0c;導致Dom渲染不同步導致的&#xff0c;其實解決…

Ubuntu24.04 Isaacgym的安裝

教程1 教程2 教程3 1.下載壓縮包 link 2. 解壓 tar -xvf IsaacGym_Preview_4_Package.tar.gz核心教程在 isaacgym/docs/install.html下 3. 從源碼安裝 Ubuntu24.04還需首先進入虛擬環境 python -m venv myenv # 創建虛擬環境&#xff0c;已有可跳過 source myenv/bin/a…

Redis持久化詳解

【關閉文件、AOF 刷盤、釋放內存這三個任務都有各自的任務隊列】所以不是單線程 Redis有兩種持久化方案&#xff1a; RDB持久化 AOF持久化 基于Redis集群解決單機Redis存在的問題 【Redis是單進程的】 【也有人做分布式section】 【主從集群中多個從就是做負載均衡的】 …

如何在Java中實現函數式編程

如何在Java中實現函數式編程 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 在Java中&#xff0c;函數式編程是一種編程范式&#xff0c;它將計算視為數學函數…

在Linux系統中查找并計數正在運行的ffmpeg進程數量

ps aux | grep "ffmpeg" | grep -v "grep" | wc -l 這條命令是一個組合命令&#xff0c;用于在Linux系統中查找并計數正在運行的ffmpeg進程數量&#xff0c;同時排除了搜索命令本身&#xff08;即grep "ffmpeg"&#xff09;的干擾。下面是對每個…

Java識別圖片中的二維碼

引入依賴 <dependency><groupId>org.bytedeco</groupId><artifactId>javacv</artifactId><version>1.5.10</version> </dependency><dependency><groupId>org.bytedeco</groupId><artifactId>javacp…

while陳述

回圈是用來進行進行重復性的工作&#xff0c;典型的回圈會進行下列三項基本任務 1. 控制變數初始設定2. 回圈結束條件測試3. 調整控制變數的值 關鍵字 while構成C 中回圈的一種&#xff0c;常用于沒有確定重復次數的回圈&#xff0c;同時while后面接著小括弧為回圈結束的條件…

上位機第二彈

之前寫的代碼用上了 現在想想 &#xff0c;北向一側還挺難搞&#xff0c;設計很巧妙

Continual Test-Time Domain Adaptation--論文筆記

論文筆記 資料 1.代碼地址 https://github.com/qinenergy/cotta 2.論文地址 https://arxiv.org/abs/2203.13591 3.數據集地址 論文摘要的翻譯 TTA的目的是在不使用任何源數據的情況下&#xff0c;將源預先訓練的模型適應到目標域。現有的工作主要考慮目標域是靜態的情況…

python - 列表 / 元組 / 字符串

一.列表 由于pyhon的變量沒有數據類型&#xff0c;所以python是沒有數組的&#xff08;因為數組只能存放一種類型&#xff0c;要么全部存放整型&#xff0c;要么全部存放浮點型&#xff09;&#xff0c;只有列表list&#xff0c;所以整數&#xff0c;浮點數&#xff0c;字符串…

傳輸線阻抗匹配電阻端接的方式

電路為什么需要端接&#xff1f; 眾所周知&#xff0c;電路中如果阻抗不連續&#xff0c;就會造成信號的反射&#xff0c;引起上沖下沖、振鈴等信號失真&#xff0c;嚴重影響信號質量。所以在進行電路設計的時候阻抗匹配是很重要的考慮因素。 對我們的PCB走線進行阻抗控制已經…

雙指針系列第 8 篇:盛水最多的容器。幾句話講明白!

Leetcode 題目鏈接 思路 取首尾雙指針和水量如下所示&#xff0c;設高度函數為 h ( i ) h(i) h(i)&#xff0c;在下圖中 h ( l ) < h ( r ) h(l) < h(r) h(l)<h(r)。 觀察以 l l l 為左邊界所能構成的其他水量&#xff0c;與矮的右邊界搭配結果如下。 與高的…

jdk17卸載后換jdk1.8遇到的問題

過程&#xff1a; 1、找到jdk17所在文件夾&#xff0c;將文件夾進行刪除。&#xff08;問題就源于此&#xff0c;因為沒刪干凈&#xff09; 2、正常下載jdk1.8&#xff0c;按照網上步驟配置環境變量&#xff0c;這里我參考的文章是&#xff1a; http://t.csdnimg.cn/Svblk …