MPLS 多協議標簽交換

前言:

  1. 多協議標簽交換MPLS(Multiprotocol Label Switching)是一種IP(Internet Protocol)骨干網技術。MPLS在無連接的IP網絡上引入面向連接的標簽交換概念,將第三層路由技術和第二層交換技術相結合,充分發揮了IP路由的靈活性和二層交換的簡捷性
  2. MPLS實際上是一種隧道技術。這種技術不僅支持多種高層協議與業務,而且在一定程度上可以保證信息傳輸的安全性

基本概念

傳統的IP轉發采用的是逐跳轉發,數據報文經過每一臺路由器,都要被解封裝查看報文網絡層信息,然后根據路由最長匹配原則查找路由表指導報文轉發。各路由器重復進行解封裝查找路由表和再封裝的過程,所以轉發慢

MPLS是基于MPLS頭部實現數據快速轉發,節約了時間,所以轉發速度快

定義:

? ? ? ??MPLS(Multiprotocol Label Switching)是一種結合了第三層(網絡層)路由第二層(數據鏈路層)交換的高效轉發技術。其核心思想是通過在數據包前添加標簽(Label),實現基于標簽的快速轉發,從而提升網絡性能并支持多種高級功能(如VPN、流量工程等)

組成:

  • MPLS域(MPLS Domain):一系列連續的運行MPLS的網絡設備構成了一個MPLS域

  • LSR(Label Switching Router,標簽交換路由器):進行MPLS標簽交換和報文轉發的網絡設備。位于MPLS域邊緣、連接其它網絡的LSR稱為邊沿路由器LER(Label Edge Router),區域內部的LSR稱為核心LSR(Core LSR)

LSR分類:

  • 入站LSR(Ingress LSR):是向IP報文中壓入MPLS頭部并生成MPLS報文的的入口路由器

  • 中轉LSR(Transit LSR):是將MPLS報文進行標簽置換等操作,并將該報文繼續在MPLS域中轉發的中間路由器

  • 出站LSR(Egress LSR):是將MPLS報文中MPLS頭部移除,還原為IP報文的出口路由器

FEC和LSP:

FEC:

概念:?將具有相同特征的報文歸為一類,稱為轉發等價類FEC(Forwarding Equivalence Class),屬于相同FEC的報文在轉發過程中被LSR以相同方式處理

FEC可以根據源地址、目的地址、源端口、目的端口、VPN等要素進行劃分。例如,在傳統的采用最長匹配算法的IP轉發中,到同一條路由的所有報文就是一個轉發等價類

最常見的 FEC 就是目的 IP 地址前綴(由 IGP 路由決定),LSR 會為每個 FEC 分配標簽

LSP:

IP報文在MPLS網絡中經過的入站,中轉,出站路徑稱為標簽交換路徑LSP(Label Switched Path)。LSP是一個單向路徑,與數據流的方向一致

同一個FEC的報文通常采用相同的LSP穿越MPLS域 , 所以對同一個FEC,LSR用相同的標簽轉發

一條LSP可以有0個、1個或多個中間節點,但有且只有一個入節點和一個出節點

標簽:

IP報文進入MPLS域之前,會被入站LSR壓入MPLS頭部(又叫MPLS標簽),形成一個MPLS標簽報文,
一個標簽報文可以包含一個或多個MPLS標簽

標簽(Label)是一個短而定長的、只具有本地意義的標識符,用于唯一標識一個分組所屬的FEC。在某些情況下,例如要進行負載分擔,對應一個FEC可能會有多個入標簽,但是一臺設備上,一個標簽只能代表一個FEC

標簽的4個字段:

  • Label:20bit,標簽值域

  • Exp:3bit,用于擴展

  • S:1bit,棧底標識。S值為1時表明為最底層標簽頭部,為0就代表下面還有標簽頭部

  • TTL:8bit,用于當網絡出現環路時 , 防止標簽報被無限制轉發?

標簽棧:

標簽棧(Label Stack)是指標簽的排序集合(同時存在多個標簽頭部)

當標簽棧存在多個標簽時:

  • 最靠近二層頭部的標簽是棧頂標簽,標簽中的s字段為0

  • 最靠近IP頭部的標簽是棧底標簽,標簽中的s字段為1

?MPLS標簽的處理:

標簽操作類型包括標簽壓入(Push)、標簽交換(Swap)和標簽彈出(Pop),它們是標簽轉發的基本動作

  • Push:當IP報文進入MPLS域時,MPLS邊界設備在報文二層首部和IP首部之間插入一個新標簽;或者MPLS中間設備根據需要,在標簽棧頂增加一個新的標簽(即標簽嵌套封裝)

  • Swap:當報文在MPLS域內轉發時,根據標簽轉發表,用下一跳分配的標簽,替換接收搭配的MPLS報文的棧頂標簽

  • Pop:當報文離開MPLS域時,將MPLS報文的標簽剝掉

問題:當MPLS報文到達最后一跳(Egress LER)時,標簽已完成使命(下一步需轉發原始IP包)。若Egress LER仍需執行撕標簽+查IP路由表兩步操作,效率較低

解決方案:讓倒數第二跳(Penultimate Hop)提前撕掉標簽,使Egress LER直接收到原始IP包,省去撕標簽動作,最后一跳節點直接進行IP轉發或者下一層標簽轉發,轉發速度更快

注釋:華為設備默認開啟PHP,支持PHP的Egress節點分配給倒數第二跳節點的標簽值為3。標簽3,代表?"直接撕掉我的標簽,不用替換新標簽"

MPLS的轉發:

MPLS轉發的本質就是將數據歸到對應的FEC并按照提前建立好的LSP進行轉發

  • 對于整個MPLS域,LSP是某一特定的FEC進入域和離開域的路徑,可以看成是LSR的有序集合
  • 對于單臺LSR,需要建立標簽轉發表,用標簽來標識FEC,并綁定相應的標簽處理和轉發等行為

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

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

相關文章

CTF Web PHP弱類型比較與布爾值判斷

題目源碼與注釋 <?php show_source("index.php"); // 顯示自身源碼&#xff0c;方便分析 include("flag.php"); // 包含flag變量 $a $_GET[a]; // 獲取GET參數a&#xff0c;抑制報錯// 關鍵判斷 if($a 0 and $a){echo $flag; …

AntV G6動態連線

完整代碼如下 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>AntV G6 動態連線</titl…

puppeteerSharp html轉pdf

部屬到linux 上報錯&#xff1a; Failed to launch browser! /wwwroots/xxx/Chrome/Linux-138.0.7204.92/chrome-linux64/chrome: error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory 問題服務包缺少依賴&…

springBoot接口層時間參數JSON序列化問題,兼容處理

背景&#xff1a;解決前端傳入時間參數格式不固定場景&#xff0c;避免接收參數報錯時間格式不能序列化。一、概述在 Java 后端開發中&#xff0c;處理 JSON 數據時&#xff0c;經常需要對日期時間字段進行反序列化。Java 中常用的日期時間類型是 java.time.LocalDateTime&…

List、Set、Map三者之間的關系

1、數據結構與核心特性接口數據結構順序性唯一性鍵值對null 元素List動態數組/鏈表有序&#xff08;插入順序&#xff09;允許重復否允許多個 nullSet哈希表 / 紅黑樹無序&#xff08;HashSet&#xff09;有序&#xff08;LinkedHashSet/TreeSet&#xff09;不允許重復否僅 Has…

進程控制----進程終止

一、進程終止的核心場景正常終止&#xff08;代碼完整運行完畢&#xff09;成功&#xff1a;進程執行到main函數結束或調用exit()&#xff0c;返回退出碼 0&#xff08;約定為執行成功&#xff09;。失敗&#xff1a;代碼執行完畢但結果異常&#xff0c;返回非零退出碼&#xf…

Milvus docker-compose 部署

文章目錄 前言Milvus docker-compose 部署1. 下載2. 修改配置3. 啟動4. 測試 前言 如果您覺得有用的話&#xff0c;記得給博主點個贊&#xff0c;評論&#xff0c;收藏一鍵三連啊&#xff0c;寫作不易啊^ _ ^。 ??而且聽說點贊的人每天的運氣都不會太差&#xff0c;實在白嫖的…

EveryThing搜索具體路徑下文件中的內容

1.打開EveryThing 2.點擊搜索&#xff0c;選擇高級搜索 3.選擇需要搜索的文件的路徑以及文件中需要包含的內容 4.之后就可以搜索到對應的目標文件

【算法】寬度優先遍歷BFS

二叉樹的寬搜 429、N叉樹的層序遍歷 題解 BFS核心思想 二叉樹的寬搜一般都是借助隊列來實現的&#xff0c;實現的原理為首先將根節點進行放入隊列中&#xff0c;然后將根節點進行彈出的時候&#xff0c;將這個節點的孩子節點進行放入隊列中&#xff0c;然后繼續彈出隊頭的元…

【STM32】通用定時器基本原理

STM32 通用定時器基本原理&#xff08;基于 STM32F1&#xff09;參考資料&#xff1a;STM32F1xx官方資料&#xff1a;《STM32中文參考手冊V10》-第14章通用定時器STM32 定時器分類 STM32F103 系列共有三類定時器&#xff1a;&#x1f50e; 通用定時器&#xff08;TIM2~TIM5&…

【Go語言-Day 14】深入解析 map:創建、增刪改查與“鍵是否存在”的奧秘

Langchain系列文章目錄 01-玩轉LangChain&#xff1a;從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊&#xff1a;四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain&#xff1a;從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

Vue腳手架搭建項目+基礎知識

1. 使用腳手架創建項目1.1 準備工作winR&#xff0c;在彈出的數據框中輸入cmd&#xff0c;數據命令查看node以及npm版本 下載vue cli1.2 創建項目1.2.1 創建一個英文目錄文件夾&#xff0c;cmd打開命令命令提示符1.2.2 vue ui命令打開控制臺1.2.3 創建項目創建成功1.3 項目結構…

微信小程序下單頁—地址列表頁—新增地址頁 頁面交互

新增地址流程&#xff1a; 下單頁 → 地址列表頁 (1次跳轉)地址列表頁 → 新增地址頁 (1次跳轉)保存地址 → 返回地址列表頁 (1次返回&#xff0c;自動刷新列表) 選擇地址流程&#xff1a; 地址列表頁 → 選中地址 → 返回下單頁 (1次返回) 更換地址&#xff1a; 下單頁 → 地址…

JVM與JMM

為了更清晰地對比JVM和JMM&#xff0c;我們可以采用表格形式&#xff0c;從定義、功能、結構、與多線程關系等方面進行詳細比較&#xff1a; 對比項JVM&#xff08;Java Virtual Machine&#xff09;JMM&#xff08;Java Memory Model&#xff09;定義一種虛構的計算機&#x…

【Docker基礎】Docker數據卷管理:docker volume rm及其參數詳解

目錄 1 引言&#xff1a;Docker Volume 的生命周期管理 2 docker volume rm命令基礎 2.1 命令作用 2.2 命令語法 3 參數深度解析 3.1 基礎參數表 3.2 高級參數詳解 3.2.1 --force&#xff08;-f&#xff09; 4 Volume刪除前置條件 4.1 可刪除狀態判斷 4.2 常見報錯處…

嵌入式系統內核鏡像相關(十)

文章目錄 前言一、點亮多個led燈的基礎實驗以及其中的問題1.1 基礎流程1.1.1 alinx教程的問題1.1.1.1 驅動程序中的亮/滅邏輯修改&#xff01;1.1.1.1.1 邏輯錯誤的修改1.1.1.1.2 多燈亮/滅 1.1.1.2 驅動程序中引腳的問題以及與裸機開發的區別&#xff08;重要&#xff09;1.1.…

Word和Excel批量轉PDF新方法,操作簡單

PDF是一種跨平臺的文檔格式&#xff0c;無論在任何設備上查看&#xff0c;其排版、字體和圖像都不會發生變化。這確保了文檔的一致性&#xff0c;避免了由于不同軟件版本或操作系統引起的顯示問題。這款小巧的工具大小不到2MB&#xff0c;使用起來異常簡單。只需要把需要轉換的…

AI搜索 MCP最佳實踐

背景 那些 LLM 不知道的事 嘗試直接詢問LLM“今天天氣如何”時&#xff0c;會發現LLM無法回答——它既不知道“今天”是哪天&#xff0c;也無法獲取地理位置信息。這揭示了LLM的局限&#xff1a;缺乏與外部工具和實時數據的交互能力。 為解決這一問題&#xff0c;MCP&#x…

JVM 簡介與作用

&#x1f680; JVM 簡介與作用 &#x1f4da; 深入理解 Java 虛擬機的核心概念與重要作用 &#x1f4d6; 目錄 &#x1f914; 什么是 Java 虛擬機&#xff08;JVM&#xff09;&#x1f310; JVM 在 Java 生態中的核心地位&#x1f500; JVM 跨平臺原理剖析&#x1f4dd; 總結 …

? OpenAudio S1:影視級文本轉語音與語音克隆Mac整合包

? OpenAudio S1&#xff1a;影視級文本轉語音與語音克隆Mac整合包 &#x1f680; OpenAudio S1 簡介 OpenAudio S1 是由 Fish Audio 開發的 Fish Speech 系列的最新一代人工智能語音生成模型。該模型旨在大幅提升 AI 語音生成的技術水平&#xff0c;為用戶提供更加自然、富有表…