IS-IS 協議 | LSP 傳輸與鏈路狀態數據庫同步機制

略作整理,待校。


IS-IS 中 SRM 與 SSN 標志的作用及協同機制

SRM 和 SSN 標志的作用

在 IS-IS 協議中,SRM 和 SSN 是兩個關鍵標志,用于控制和優化 LSP(Link State PDU,鏈路狀態信息)在網絡中的泛洪與同步過程。

一、SRM 與 SSN 標志在鏈路狀態信息泛洪中的機制

  • SRM:用于跟蹤路由器通過某一接口向鄰居發送鏈路狀態 PDU(LSP) 的狀態。每個 LSP 在每個接口上均維護一個 SRM 標志,以記錄發送過程的狀態。
  • SSN:用于在數據庫同步過程中,標識 LSP 在 PSNP 中被描述的狀態。它通過跟蹤 LSP 的序列號,保障數據傳輸的有序性和完整性。

二、SRM 標志的功能

SRM 的核心作用是跟蹤路由器通過特定接口向鄰居發送 LSP 的狀態,具體體現在以下方面:

  • 特定接口:指與鄰居直接連接的物理接口(如 GE 口、串口)或邏輯接口(如 VLAN 接口、PPP 接口)。每個接口通常對應唯一鄰居(點對點網絡)或一組鄰居(廣播網絡),明確了 LSP 的發送方向。
  • 狀態跟蹤:記錄接口是否已發送某個特定 LSP,以及鄰居是否已確認接收。其核心目的是避免冗余發送(例如,若確認鄰居已接收,則停止重傳),從而減少網絡帶寬占用和設備 CPU 消耗。

三、SSN 標志的功能(按網絡類型區分)

SSN 標志的主要功能是在數據庫同步過程中,標識 LSP 在 PSNP 中的狀態,具體行為因網絡類型而異:

  • 廣播網絡:用于跟蹤向鄰居請求完整 LSP 的狀態。當節點發現 LSP 缺失或過期時,通過 SSN 標記需要請求的 LSP 序列范圍,確保鄰居能針對性地返回所需信息,避免全量泛洪導致的資源浪費。
  • 點對點網絡:用于跟蹤對 LSP 的確認狀態。通過記錄 LSP 的序列號及其確認情況,若未收到確認(即 SSN 標志指示該 LSP 未被確認),則觸發重傳機制,保障 LSP 傳輸的可靠性。

四、協同作用

SRM 與 SSN 通過 “發送控制” 與 “交互確認” 的協同機制,共同優化 IS-IS 數據庫的同步效率,具體表現為:

  • 減少冗余流量:避免重復發送已被鄰居接收的 LSP,降低網絡帶寬占用。
  • 聚焦必要信息處理:減少設備對冗余信息的處理,降低 CPU 負載,使路由器更高效地處理未同步或有變化的鏈路狀態信息。
  • 加速鏈路狀態數據庫同步:提升路由協議的收斂速度,確保網絡拓撲信息快速達成一致,增強網絡穩定性。

LSP 傳輸與 CSNP 發送間隔

LSP 傳輸時間間隔

在 IS-IS 協議中,LSP(鏈路狀態報文)的傳輸時間間隔默認為 50 ms。當鄰居路由器資源有限時,若其他路由器向其傳遞 LSP 后,該路由器無法按時確認,其他路由器會重傳 LSP。這可能會進一步加重網絡負擔。為了避免這種情況,可以適當增大 LSP 的傳輸間隔,以保護資源受限的鄰居路由器。

CSNP 發送間隔

在廣播網絡中,為確保鏈路狀態數據庫的完整性,DIS(指定中間系統)會周期性地發送 CSNP(鏈路狀態數據庫摘要報文)。默認情況下,CSNP 的發送間隔為 10 秒。華為 VRP 系統允許通過接口命令 isis timer csnp 修改該默認值。

  • 調整建議
    • 縮短該值有利于網絡的快速收斂,但會增加帶寬開銷。
    • 在網絡較為穩定的情況下,適當增大該值可以減少對帶寬的占用。

這些計時器提供了一些優化和控制鏈路狀態信息泛洪的方法。一般情況下,不建議修改這些計時器的默認值,除非能夠預測相應的結果。如果網絡規模較大,可以通過升級路由器來加快收斂速度。此外,在網絡規劃時,應確保網絡的高可用性。


鏈路狀態數據庫同步過程

廣播網絡中的同步過程

在廣播網絡中,路由器在鄰接關系初始化后,會首先泛洪自己的 LSP。L1 的 LSP 發送到組播地址 01-80-C2-00-00-14(L1 IS),而 L2 的 LSP 發送到組播地址 01-80-C2-00-00-15(L2 IS)。其他 L1 或 L2 鄰居接收 LSP 后無需確認,因此廣播網絡中的 LSP 泛洪是不可靠的。

那么,LSP 的始發路由器如何確保所有鄰居都接收到自己的 LSP 呢?IS-IS 協議通過 DIS 周期性地發送 CSNP 來保證廣播網絡中鏈路狀態數據庫的同步。

DIS 的作用

DIS 是 IS-IS 協議中用于在廣播網絡中控制數據庫信息泛洪和同步的關鍵組件。在廣播網絡中,所有路由器均與 DIS 建立了鄰接關系,這意味著 DIS 的數據庫包含了其他所有路由器的數據庫信息。基于此,DIS 使用一個或多個 CSNP 描述其整個鏈路狀態數據庫信息,并周期性地(每隔 10 秒)將其擴散到網絡中。

同步機制

其他路由器接收到 DIS 的 CSNP 后,會將其與自己數據庫中的內容進行比較。如果發現缺失或較新的 LSP,它們會發送 PSNP(部分序列號報文)來請求相應的 LSP。網絡中的 DIS 或擁有該 LSP 的鄰居路由器收到請求后,會回應相應的 LSP。

在廣播鏈路上,發送 LSP 之前會在接口上設置一個 SRM(發送請求標志),待 LSP 發送完成后,該標志會立即清除。如果路由器發現自己的 LSP 在 DIS 的 CSNP 中缺失,或者自己的 LSP 更新,則會主動將該 LSP 泛洪出去。通過上述過程,確保了廣播網絡中所有路由器的數據庫保持一致。

帶寬與效率

雖然 DIS 周期性泛洪 CSNP 會帶來一定的帶寬開銷,但這種方法相對簡單,避免了對每條接收的 LSP 進行確認的復雜性。

廣播網絡鏈路狀態信息的同步過程示例

下圖展示了廣播網絡中鏈路狀態信息同步的完整過程。

在這里插入圖片描述
廣播網絡鏈路狀態信息的同步過程如下:

  • R3 發送 LSP:R3 與 R1 和 R2 建立鄰居關系后,它將自己的鏈路狀態報文(LSP)R3.00-00 發送到組播地址。這樣,R1 和 R2 都將收到該 LSP。

  • R2(DIS)處理 LSP:作為指定中間系統(DIS),R2 收到 R3 的 LSP 后,將其加入到鏈路狀態數據庫(LSDB)中。

  • R2 發送 CSNP:R2 等待 CSNP 報文定時器超時(DIS 每隔 10 秒發送一次 CSNP 報文),然后發送 CSNP 報文,以同步該網絡內的 LSDB。

  • R3 請求缺失的 LSP:R3 收到 DIS 發來的 CSNP 報文,該報文描述了網絡中所有路由器的 LSP(R1 00-00、R2 00-00、R2 01-00 和 R3 00-00)。R3 將自己的 LSDB 與 CSNP 報文中的信息進行比較,發現自己缺少 R1 和 R2 的 LSP。于是,R3 向 DIS 發送 PSNP 報文,請求這些缺失的 LSP。

  • DIS 響應 PSNP 請求:DIS(R2)收到 R3 的 PSNP 報文請求后,向 R3 發送對應的 LSP。

R3DISR1組播 LSP ( R3.00-00 )組播 LSP ( R3.00-00 )加入 LSP 到 LSDB每隔 10 秒發送一次 CSNPCSNP (LSDB摘要,包括 R1、R2、R3 的 LSP)CSNP (LSDB摘要,包括 R1、R2、R3 的 LSP)PSNP 請求缺失 LSP (R1.00-00、R2.00-00、R2.01-00)LSP (R1.00-00)LSP (R2.00-00)LSP (R2.01-00)R3DISR1

通過這一過程,確保了廣播網絡中所有路由器的數據庫都是一致的,從而實現了鏈路狀態信息的有效同步。


點對點(P2P)網絡中的同步過程

與廣播網絡不同,IS-IS 協議在 P2P 網絡中的數據庫同步過程中,接收到鄰居的 LSP 后需要給予確認(采用可靠方式)。因為在 P2P 鏈路上,每臺路由器只有一個鄰居,確認過程不會帶來過多的資源開銷。

同步機制

在 P2P 網絡中,當兩臺路由器建立鄰接關系后,會首先交換 CSNP。與前文所述類似,路由器通過比較接收到的 CSNP 內容,確定本地數據庫中缺失的 LSP,并根據 LSP 的新舊比較規則,比較自身數據庫和鄰居數據庫中的 LSP。

對于缺少或過時的 LSP,路由器會發送 PSNP 進行請求,并在收到鄰居回應的 LSP 后使用 PSNP 進行確認。如果路由器發現鄰居路由器缺失或擁有更舊的 LSP,它會主動將 LSP 發送給鄰居。

如果發送的 LSP 未得到鄰居的 PSNP 確認,且重傳間隔時間超時,路由器會重傳先前的 LSP,直至收到鄰居的 PSNP 確認為止。

標志的作用

在 P2P 鏈路上,接收到 LSP 后,接口上會設置一個 SSN(序列號通知)標志,表示需要向該接口發送 PSNP 確認。收到確認后,SSN 標志將被清除。同時,如果需要將 LSP 拷貝從一個接口發送出去,也會在該接口上設置 SRM 標志,發送完成后標志將立即清除。

P2P 網絡鏈路狀態信息的同步過程示例

圖展示了 P2P 網絡中的同步過程。

在這里插入圖片描述
如圖所示,R2 與 R1、R3 通過點對點鏈路建立連接,以 R1 先發送自己的 CSNP 為例,同步過程如下:

  • R2 收到 R1 的 CSNP(描述了一條 LSP:R1.00-00)后,發送 PSNP 進行請求。
  • R1 收到請求后,將相應的 LSP 拷貝發送到網絡中。
  • R2 收到請求的 LSP 后,將其拷貝存入數據庫中,并在接口 2 設置 SSN 標志,在接口 3 設置 SRM 標志。
  • R2 向 R3 轉發該 LSP 的拷貝,并向 R1 發送 PSNP 進行確認。
  • R2 清除接口 2 上的 SSN 標志。
  • R3 從 R2 收到該 LSP 后,存入數據庫中,并在接口 4 上設置 SSN 標志。
  • R3 向 R2 發送 PSNP 確認,并清除接口 4 上的 SSN 標志。
  • R2 收到 R3 的 PSNP 確認后,清除接口 3 上的 SRM 標志。
R1R2R3CSNP (R1.00-00)PSNP <Request> (R1.00-00)LSP (R1.00-00)存儲 LSP 到數據庫 (設置 SSN 標志接口 2, 設置 SRM 標志接口 3)LSP 轉發 (R1.00-00)PSNP <Ack> (R1.00-00)清除接口 2 上的 SSN 標志存儲 LSP 到數據庫 (設置 SSN 標志接口 4)PSNP <Ack> (R1.00-00)清除接口 4 上的 SSN 標志清除接口 3 上的 SRM 標志R1R2R3

CSNP 中的 LSP 與 LSDB 中的 LSP 比較

CSNP 中的 LSP(索引信息)LSDB 中的 LSP(完整鏈路狀態報文)
內容僅包含 LSP 標識符(LSP ID)、序列號(Seq)、校驗和(Checksum)等狀態字段,無拓撲細節包含完整鏈路狀態信息,如鄰居關系、鏈路開銷(Cost)、接口狀態、IP 地址等拓撲數據
作用作為數據庫摘要,供鄰居路由器比對本地 LSDB,識別需要更新、刪除或請求的 LSP存儲全網鏈路狀態實體,為 SPF 算法計算路由提供基礎數據
數據大小較小(僅索引字段),通常為幾十到幾百字節較大(包含完整拓撲),根據網絡規模可達數千字節
發送頻率由 DIS 周期性發送(IS-IS 協議默認周期為 10 秒),鄰居關系建立后 DIS 會立即開始發送 CSNP 以實現數據庫同步。觸發式泛洪(如鏈路狀態變化時),或響應鄰居 PSNP 請求時發送
確認機制無需確認,僅用于數據庫狀態同步通知通過 PSNP(部分序列號分組)請求缺失 LSP,并通過虛擬重傳隊列(VRQ)確保可靠傳輸
是否包含拓撲細節不包含,僅為 LSP 的“目錄索引”完整包含網絡拓撲結構、鏈路屬性等細節
作用對象向鄰居路由器提供本地 LSDB 的索引快照,用于數據庫同步供本地路由計算(SPF 算法)及鄰居路由器構建完整 LSDB

說明

  • CSNP 中的 LSP
    作為 IS-IS 協議中 LSDB 的“索引目錄”,由 DIS 周期性發送,僅包含 LSP 的關鍵狀態字段,用于鄰居間快速比對數據庫差異,無需可靠傳輸機制。

  • LSDB 中的 LSP
    作為鏈路狀態數據庫的實體內容,包含全網拓撲細節,通過泛洪機制在網絡中傳播,依賴 PSNP 確認和重傳機制保證完整性,是路由計算的核心數據。


via: HCIE

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

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

相關文章

xxl-job 改造適配pg數據后的Jenkins自動部署

接上文適配pg數據庫之后需要進行部署&#xff0c;便有了此文 1.下載并安裝Jenkins如下&#xff1a; https://mirrors.jenkins.io/war-stable/2.504.3/jenkins.war nohup java -jar jenkins.war --httpPort8080 & 啟動Jenkins并解鎖安裝需要的環境&#xff0c;git&#xff0…

數據庫Oracle從入門到精通!第四天(并發、鎖、視圖)

八、并發控制數據庫是一個共享資源&#xff0c;可以為多個應用程序所共享&#xff0c;這些程序可以串行執行&#xff08;排隊執行&#xff09;&#xff0c;但是很多情況下&#xff0c;可能出現多個程序或一個程序中的多個進程并行的執行&#xff0c;這就是數據庫的并行操作&…

EXCEL(帶圖)轉html

文章目錄敘述1、效果2、excel 轉換主邏輯3、其他補充3.0 主前端bootstrap3.1 my.css&#xff1a;3.2 my.js3.3 入口home.html3.4 Data.ashx敘述 要實現H5 展示excel 查詢 了一下沒有好的辦法,自己寫了一個,簡單記錄一下 1、效果 用bootstrap 根據sheet做了一個菜單。 2、exc…

小程序富文本Editor插入圖片、超鏈接、公式等的一次嘗試

小程序插入圖片 通過EditorContext.insertImage接口可以實現圖片的插入&#xff1a; EditorContext.insertImage({src,width,height,data, })如何插入超鏈接、公式、視頻、表格等等? 通過EditorContext.insertCustomBlock應該是可以實現的&#xff0c;具體實現方式我沒有了…

傳輸層協議TCP、UDP

傳輸層協議TCP、UDP 1、TCP和UDP報文格式 傳輸層協議TCPvsUDP 傳輸層主要兩個傳輸協議&#xff0c;分別是TCP和UDP&#xff0c;負責提供流量控制、排序服務和錯誤校驗。 &#xff08;1&#xff09;TCP是面向連接的&#xff0c;一般用于傳輸數據量比較少&#xff0c;且對可靠性要…

設計模式—專欄簡介

大學總是忙著參加ACM實驗室的各種事情&#xff0c;到了畢業的時候&#xff0c;對于設計模式也是僅了解單例模式。畢業后&#xff0c;剛開始代碼也是亂寫一通&#xff0c;完全沒有章法。整個開發環境也是為了解決問題&#xff0c;從來沒有考慮結構化什么的&#xff08;沒辦法&am…

面試150 鏈表的復制

思路 python可以使用調庫法&#xff0c;使用深度拷貝 """ # Definition for a Node. class Node:def __init__(self, x: int, next: Node None, random: Node None):self.val int(x)self.next nextself.random random """class Solution:de…

MySQL分布式ID沖突詳解:場景、原因與解決方案

引言 在分布式系統開發中&#xff0c;你是否遇到過這樣的崩潰時刻&#xff1f;——明明每個數據庫實例的自增ID都從1開始&#xff0c;插入數據時卻提示“Duplicate entry ‘100’ for key ‘PRIMARY’”&#xff1b;或者分庫分表后&#xff0c;不同庫里的訂單ID竟然重復&#x…

c++文字游戲_闖關打怪2.0(開源)

本次更新內容: 1.增強對手性能 2.可暫停(按N) 3.修復些許bug 4.增加boos關(第10、20、30...關) 1. 游戲概述 本游戲是一個基于Windows控制臺的回合制戰斗游戲,采用俯視視角的2D平面設計。玩家控制角色"p"在1325大小的封閉場景中與敵人"@"戰斗,通過…

Java學習第十二部分——idea各種項目簡介

目錄 一.前言 二.語言介紹 三.生成器介紹 四.拓展 一.前言 打開idea項目創建時發現如上情況&#xff0c;“新建項目”下面的是語言&#xff0c;生成器下面的是這些語言對應的生成器工具&#xff0c;本文將簡單介紹。 二.語言介紹 Java 用途&#xff1a;Java是一種廣泛使…

Codeforces Round 868 (Div. 2) D. Unique Palindromes(1900,構造)

Problem - D - Codeforces 不錯的字符串構造體&#xff0c;記錄一下 首先注意到k≤20這一條件。對于一個長度為n的字符串&#xff0c;最多有n個不同的回文子串&#xff0c;這種情況出現在所有字符都相同時。因此&#xff0c;限制條件中的xi必須滿足xi≤ci&#xff0c;且相鄰兩…

ClickHouse 全生命周期性能優化

引言 ClickHouse作為列式存儲的OLAP數據庫&#xff0c;以其極致的查詢性能著稱&#xff0c;但"高性能"并非開箱即用。不合理的表設計、SQL寫法或集群配置&#xff0c;可能導致性能衰減甚至服務不可用。本文基于ClickHouse 24.3版本&#xff0c;從設計規范、開發規范、…

Linux sed 命令 詳解

在 Linux 系統中&#xff0c;sed&#xff08;Stream Editor&#xff09;是一個非常強大且靈活的文本處理工具。它不僅可以用于簡單的文本替換、刪除和插入操作&#xff0c;還能實現復雜的文本轉換任務。 &#x1f4cc; 一、什么是 sed&#xff1f; sed 是一個基于模式匹配對文…

項目進度同步不及時,如何提升信息透明度

項目進度同步不及時的核心問題包括溝通渠道不暢通、缺乏統一的信息平臺、未建立明確的進度更新機制、團隊意識不足、責任劃分不明確等。其中&#xff0c;缺乏統一的信息平臺最為關鍵。統一的信息平臺能夠確保所有相關人員實時掌握最新的進度狀態&#xff0c;避免信息孤島&#…

使用各種CSS美化網頁

實驗目的1.理解CSS的概念&#xff0c;掌握CSS定義樣式的方法&#xff0c;具備使用CSS和相關庫進行界面樣式設計的能力。 2.掌握Bootstrap 5的基本使用方法。3.Bootstrap框架練習實驗步驟1. 實驗準備創建一個HTML文件&#xff08;如 index.html&#xff09;。引入Bootstrap5的CS…

在PPT的文本框中,解決一打字,英文雙引號就變成中文了

問題&#xff1a;在制作PPT的過程中&#xff0c;插入文本框&#xff0c;在里面輸入代碼類的格式時&#xff0c;使用英文的雙引號""&#xff0c;但是只要在后面輸入內容&#xff0c;或者逗號等&#xff0c;英文雙引號就變成中文了&#xff0c;很煩原因&#xff1a;大概…

iOS 證書過期如何處理

找到鑰匙串位置創建新的CSR文件。點擊菜單中鑰匙串訪問—>證書助理—>從證書頒發機構請求證書…進入證書助理&#xff0c;填寫信息&#xff08;用戶名稱和郵箱隨便寫&#xff09;&#xff0c;請求是 選擇 存儲到磁盤創建好CSR文件&#xff0c;回到developer 證書管理中心…

CODESYS + 全志T113-i + 國產系統OneOS,打造新一代工業控制解決方案!

創龍科技與中移物聯網有限公司、CODESYS攜手合作&#xff0c;成功實現了T113-i工業評估板對國產系統OneOS CODESYS軟件的適配&#xff0c;此舉將讓工業自動化領域的工程師們更高效地開發&#xff0c;并為眾多企業產品的快速上市提供強有力的保障。 解決方案簡介 CODESYS簡介 …

三、jenkins使用tomcat部署項目

一、安裝tomcattomcat本來應該是第3臺服務器的&#xff08;第一臺&#xff1a;gitlab&#xff0c;第二臺&#xff1a;jenkins&#xff0c;第三臺&#xff1a;tomcat&#xff09;&#xff0c;我這里資源有限&#xff0c;就把tomcat安裝jenkins服務器了。#解壓tocmcat [rootbogon…

華為eNSP防火墻實驗(包含詳細步驟)

拓撲圖 這里要用的防火墻是 &#xff0c; 需要導入 目錄 防火墻配置1&#xff08;啟動圖形化界面&#xff09; cloud配置 緩沖區服務器配置 防火墻配置2&#xff08;各端口的ip地址&#xff09; 外部路由器配置 本地路由器配置 防火墻配置3&#xff08;配置安全策略&a…