計算機網絡-LDP工作過程詳解

前面我們已經學習了LDP的基礎概念,了解了LDP會話的建立、LDP的標簽控制等知識,今天來整體過一遍LDP的一個工作過程,后面我們再通過實驗深入學習。

一、LDP標簽分發

標簽分發需要基于基礎的路由協議建立LDP會話,激活MPLS和LDP。以下面的拓撲進行說明:所有LSR均采用DU + Independent +Liberal方式,目的網段為R4的192.168.4.0/24。

拓撲

因為采用DU的標簽發布模式,因此R4會為直連路由192.168.4.0/24分配標簽,這里以1041表示,并主動通過LDP協議報文將標簽映射通告給LDP對等體R2和R3。

R4通告標簽

以R2為例,在其路由表中,192.168.4.0/24路由的下一跳為R4,當它從R4收到關于192.168.4.0/24的標簽映射通告時,由于該通告來自下游LDP鄰居,因此這將觸發它自己為該路由分配標簽1021,并將標簽映射通告給LDP鄰居(如R1)。R3同理。

Transit LSR標簽發布

R1收到LDP鄰居R2及R3通告過來的關于192.168.4.0/24路由的標簽映射后,將這兩個標簽都存儲起來,但是由于在自己的路由表中,到達192.168.4.0/24的下一跳是R2,因此當前它只會使用R2所通告的標簽1021。

Ingress LSR標簽分發

經過上面的幾個步驟,從R4向上游通告標簽,后R1、R2、R3都知道了去往192.168.4.0/24網段的標簽轉發路徑。

注:當R2發生故障時,OSPF路由將會重新收斂,此時R1的路由表中192.168.4.0/24路由的下一跳將會切換至R3,此時R1將啟用R3所通告的、關于192.168.4.0/24的標簽。

二、LDP標簽轉發

這個拓撲從R1去往R4的192.168.4.0/24,使用MPLS LDP標簽轉發。

R1作為Ingress LSR,需要對接收的IP報文執行Push操作壓入標簽,并進行標簽轉發。

當R1收到發往192.168.4.1的IP報文時,首先在其FIB表中查詢該目的IP地址,它發現所匹配的表項的Tunnel ID為非0,因此繼續在NHLFE中查詢該Tunnel ID,然后意識到需要將對該IP報文壓入標簽并進行標簽轉發,出接口為GE0/0/0、下一跳為R2、出站標簽為1021,于是為報文插入標簽頭部并轉發出去。

標簽轉發 - Ingress LSR

R2作為Transit LSR,需要對接收的IP報文執行Swap操作交換標簽,并進行標簽轉發。當R2收到攜帶1021標簽的標簽報文時,查詢ILM,根據ILM對應到NHLFE中的表項。于是,R2對該標簽報文通過swap操作將標簽更換為1041,并從相應的接口轉發出去。

標簽轉發 - Transit LSR

R4作為Egress LSR,需要對接收的IP報文執行Pop操作交換標簽,并進行IP轉發。

標簽轉發 - Egress LSR

當R4收到攜帶1041標簽的標簽報文時,查詢ILM,根據ILM查詢到操作為Pop。于是,R4對該標簽報文通過Pop操作將最外層標簽剝離,此時該報文已經變成了標準IP報文,R4將對該IP報文執行標準的IP轉發流程。

在這里需要考慮PHP特性會在倒數第二跳彈出標簽的現象。

三、工作過程簡單總結

  • LSR首先通過運行IGP協議(例如OSPF、IS-IS等)來構建路由表、FIB表;
  • LDP根據相應的模式,為路由表中的路由前綴(FEC)分配標簽;
  • LDP根據相應的模式,將自己為路由前綴分配的標簽,通過LDP標簽映射報文通告給LDP鄰居;
  • LSR將自己為路由前綴分配的標簽,以及LDP鄰居為該路由前綴通告的標簽存儲起來,并與出接口、下一跳地址等信息形成關聯(標簽轉發表項);
  • 當LSR轉發到達目的網絡的標簽報文時,所使用的出站標簽總是下游LDP鄰居所通告的標簽,此處所指的下游鄰居,是設備的路由表中到達該目的網絡的下一跳設備。

總結:這里就大概過了一遍LDP標簽的分發和轉發過程,下節通過一些實驗來進行模擬。

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

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

相關文章

解構與重構:自動化測試框架的進階認知之旅

目錄 一、自動化測試的介紹 (一)自動化測試的起源與發展 (二)自動化測試的定義與目標 (三)自動化測試的適用場景 二、什么是自動化測試框架 (一)自動化測試框架的定義 &#x…

跑不出的循環 | LoveySelf 系列定位

最近開始陷入一輪一輪的循環狀態,無奈,只能自我整理一下。23年暑假,在計算機系折騰了一年后,重新打開博客,回想在數學系摸索博客寫作的日子,思緒涌上心頭,我們決定拾起這份力量。當時覺得 hexo …

Redis最新入門教程

文章目錄 Redis最新入門教程1.安裝Redis2.連接Redis3.Redis環境變量配置4.入門Redis4.1 Redis的數據結構4.2 Redis的Key4.3 Redis-String4.4 Redis-Hash4.5 Redis-List4.6 Redis-Set4.7 Redis-Zset 5.在Java中使用Redis6.緩存雪崩、擊穿、穿透6.1 緩存雪崩6.2 緩沖擊穿6.3 緩沖…

一文讀懂Python之requests模塊(36)

一、requests模塊簡介 requests模塊是python中原生的一款基于網絡請求的模塊,功能強大,簡單便捷且高效 ,該模塊可以模擬瀏覽器發送請求,主要包括指定url、發起請求、獲取響應數據和持久化存儲,包括 GET、POST、PUT、…

WPF之布局流程

文章目錄 1. 概述2. 布局元素的邊界框3. 布局系統原理3.1 布局流程時序圖 4. 測量階段(Measure Phase)4.1 測量過程4.2 MeasureOverride方法 5. 排列階段(Arrange Phase)5.1 排列過程5.2 ArrangeOverride方法 6. 渲染階段(Render Phase)7. 布局事件7.1 主要布局事件7.2 布局事件…

uniapp|獲取當前用戶定位、與系統設定位置計算相隔米數、實現打卡簽到(可自定義設定位置、位置有效范圍米數)

基于UniApp闡述移動應用開發中定位功能的實現全流程,涵蓋實時定位獲取、動態距離計算與自定義位置、有效范圍設定等功能。文章提供完整的代碼示例與適配方案,適用于社交簽到、課堂教室打卡等場景。 目錄 引言定位功能在移動應用中的價值(社交、導航、O2O等場景)UniApp跨平臺…

Yii2.0 模型規則(rules)詳解

一、基本語法結構 public function rules() {return [// 規則1[[attribute1, attribute2], validator, options > value, ...],// 規則2[attribute, validator, options > value, ...],// 規則3...]; }二、規則類型分類 1、核心驗證器(內置驗證器&#xff0…

數據結構(三)——棧和隊列

一、棧和隊列的定義和特點 棧:受約束的線性表,只允許棧頂元素入棧和出棧 對棧來說,表尾端稱為棧頂,表頭端稱為棧底,不含元素的空表稱為空棧 先進后出,后進先出 隊列:受約束的線性表&#xff0…

SQL Server 存儲過程開發三層結構規范

以下是《SQL Server 存儲過程開發三層結構規范》的正式文檔結構,適用于企業級數據庫應用開發場景,有助于團隊協作、代碼審查與自動化運維: 📘 SQL Server 存儲過程開發三層結構規范 一、架構設計總覽 三層結構簡介 層級命名約定…

接上篇,解決FramePack啟動報錯:“httpx.ReadError: [WinError 10054] 遠程主機強迫關閉了一個現有的連接。“的問題

#工作記錄 FramePack部署(從PyCharm解釋器創建和使用開始)保姆級教程-CSDN博客 上篇我們記錄到FramePack從克隆到啟動調試的保姆級教程,關于啟動時會報以下錯誤的問題,已作出解決: 報錯摘錄: (.venv) PS F…

ping_test_parallel.sh 并行網絡掃描腳本

并行網絡掃描腳本分析:提高網絡探測效率 引言腳本概述核心代碼分析顏色定義與初始化并行處理機制并行執行與進程控制結果處理與統計 技術亮點性能分析結論附錄:完整腳本 引言 在網絡管理和運維過程中,快速檢測網段內主機的在線狀態是一項常見…

leetcode 3342. 到達最后一個房間的最少時間 II 中等

有一個地窖,地窖中有 n x m 個房間,它們呈網格狀排布。 給你一個大小為 n x m 的二維數組 moveTime ,其中 moveTime[i][j] 表示在這個時刻 以后 你才可以 開始 往這個房間 移動 。你在時刻 t 0 時從房間 (0, 0) 出發,每次可以移…

關于vue-office在vue3工程中的引用報錯問題

在vue3項目工程中,根據vue-office文檔在vue2中的引用: //引入VueOfficeDocx組件 相關樣式import VueOfficeDocx from vue-office/docx;import vue-office/docx/lib/index.css; 報錯信息: [plugin:vite:import-analysis] Failed to resolve …

【macOS常用快捷鍵】

以下是 macOS 最常用快捷鍵列表,按使用頻率由高到低分類整理,涵蓋日常操作、效率工具及系統控制,助你快速提升使用效率: 一、基礎高頻操作 快捷鍵功能說明Command C復制選中內容Command V粘貼Command X剪切Command Z撤銷上一…

mdadm 報錯: buffer overflow detected

最近跑 blktest (https://github.com/osandov/blktests) 時發現 md/001 的測試失敗了 單獨執行,最后定位到是 mdadm 命令報錯: buffer overflow detected 這個 bug 目前已經修復: https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id827e1870f3205…

查看jdk是否安裝并且配置成功?(Android studio安裝前的準備)

WinR輸入cmd打開命令提示窗口 輸入命令 java -version 回車顯示如下:

STM32智能刷卡消費系統(uC/OS-III)

一、項目概述與開發背景 本系統是一款基于STM32微控制器的智能刷卡消費終端,集成RFID識別、OLED顯示、Flash存儲、藍牙通信等核心模塊。項目采用uC/OS-III實時操作系統實現多任務并發處理,適用于校園一卡通、企業食堂等小額支付場景。系統支持定額扣款、…

[人機交互]以用戶為中心的交互設計

一.以用戶為中心設計的兩個特征 ? 理解和指定產品的使用上下文 ,并用于指導設計 ? 用戶參與式開發 ? 參與 評估研究 (第十 — 十四章) ? 參與 設計過程 :用戶作為合作設計人員 二.用戶參與設計的重要性 ? 需求的獲取主要來源…

Abaqus學習筆記

目錄 Abaqus介紹 學習資源 ?編輯Abaqus/CAE abaqus下載安裝 abaqus基本操作 Abaqus啟動 新建模型 ?編輯 ?編輯修改界面背景 ?編輯?編輯結果信息的顯示與否 ?編輯計算結果信息字體設置 ?編輯允許多繪圖狀態 單位量綱 視圖操作 事前說明 ODB文件 本構關系…

論壇系統開發(0-1) (上 前置知識介紹)

前置知識 1. 軟件的生命周期 生命周期: 對事物進行定義(描述) -> 創建 -> 使用 -> 銷毀的過程 軟件?命周期中以劃分為可?性研究、需求分析、概要設計、詳細設計、實現、組裝(集成)測試、確認測試、使?、維護、退役10個階段,如下圖: a. 可…