計算機網絡通信技術與協議(八)----關于IS-IS的基礎概念

關于IS-IS最早是ISO為CLNP(Connectionless Network Protocol,無連接網絡協議)而設計的一種動態路由協議。

目錄

這里提到了CLNP這個概念,在這里解釋一下:

CLNS由以下三個協議構成:

那么為什么要設計出IS—IS這個路由協議呢?

關于IS-IS(中間系統到中間系統):

自治系統(AS):

大白話講解:

集成IS-IS:

AS(Autonomous System,自治系統):

TLV(Type/Length/Value,類型/長度/值)??

NSAP(Network Service Access Point,網路服務接入點):?

IS-IS中使用的PDU類型有:

關于IS-IS的報文信息:

IIH:類似于OSPF中的Hello報文,發現、建立、維護鄰接關系

細分類型:

LSP(Link State PDU,鏈路狀態報文):

? 細節分類:

SNP(Sequence Number PDU,序列號報文):

? 細節類型:

關于IS-IS動態路由協議工作原理:

Level-1路由器:

Level-2路由器:

Level-1-2路由器


這里提到了CLNP這個概念,在這里解釋一下:

CLNP是無連接網絡協議,屬于OSI模型中的網絡層協議。它不保證數據包的順序和可靠性,適用于對實時性要求高的應用。

我們既然提到了無連接的網絡協議,之前我們再TCP/IP中也講到過一個面向無連接的協議UDP(User Datagram Protocol),CLNP與其TCP/IP中的UDP類似;

兩者都提供面向無連接的數據傳輸服務,但CLNP是OSI模型的一部分,而UDP是TCP/IP協議棧中的傳輸協議,所以我們要注意區分一下。

除此之外,再引進一個概念CLNS,即無連接網絡服務,是OSI模型網絡層提供的一種服務類型,其核心特點在于數據傳輸前無需建立連接。

關于說CLNP與CLNS之間是緊密相關的,CLNS由CLNP(無連接網絡協議)具體實現,該協議負責在OSI網絡中路由數據包,類似于IP協議在TCP/IP協議中的作用。
那么回到主題中,IS-IS是ISO定義的OSI協議棧中CLNS(Connectionless Network Service,無連接網絡服務)的一部分。

CLNS由以下三個協議構成:

CLNP:類似于TCP/IP中的IP協議

IS—IS:一種鏈路狀態路由協議,中間系統的路由協議(中間系統與中間系統的路由協議,即路由器與路由器之間的協議)

ES—IS:主機系統與中間系統間的協議,用于端系統(如主機)與中間系統(如路由器)之間的鄰居發現和地址解析,就如同IP中的ARP,ICMP等。

那么為什么要設計出IS—IS這個路由協議呢?

在TCP/IP協議主導互聯網之前,OSI模型曾是國際標準化組織(ISO)力推的網絡架構框架。CLNS作為OSI網絡層的核心服務,需要一種動態路由協議來支持其無連接的數據包傳輸。然而IS-IS在最初設計為CLNS的專用路由協議,用于在OSI網絡中自動發現和維護路由信息,確保數據包能夠高效、可靠地傳輸到目標地址。

關于IS-IS(中間系統到中間系統):

IS-IS是一種內部網關協議(IGP),用于在同一個自治系統(AS)內部交換路由信息。基于鏈路狀態算法,通過交換鏈路狀態信息(LSP)來構建網絡拓撲圖,并使用SPF(最短路徑優先)算法計算到達目的網絡的最優路徑。

自治系統(AS):

一個由單一管理機構管理、使用統一路由策略的網絡或網絡集合。

大白話講解:

IS-IS就像是一個“網絡導航系統”,專門幫助路由器(網絡中的交通指揮中心)找到數據傳輸的最佳線路。

鄰居之間打招呼:

所有的路由器一開機,都會喊一嗓子:“嘿!我是新來的,誰在我旁邊?”(發送Hello包)。附近的路由器聽到后,就會互相記下對方的名字和位置,建立“鄰居關系”。

實時播報路況:

每個路由器會定期的告訴鄰居:“我這條路現在不堵?寬帶多大?到哪里最近?”(發送LSP,鏈路狀態報文)。這些信息就像是實時的路況廣播,比如“從家到學校的道路暢通無阻,且限速50KM/H。

畫全地圖:

所有的路由器把收到的路況信息匯總,在腦子里拼成一張完整的“網絡地圖”。

如:路由器A知道:“去服務器群需要經過B—C—D”

? ? ? ?路由器B知道:“如果A發來數據,直接轉發就行”

算出最佳的路徑:
當有數據要進行發送的時候,路由器就像是導航軟件一樣,根據“地圖”算出最快的路徑(SPF算法)

如:A去B,優先高鐵(低延遲)

? ? ? ?如果高鐵故障,自動切飛機🛩?(備用路線)

秒級更新線路:

如果某一條路突然斷掉(比如光纖被挖),路由器會立刻通知全網“XX線路不通,繞行”其他的路由器收到消息后,1s內就能重新算出備用線路,保證數據不中斷。(有幾種路由協議都有其效果,可以私下查一查?)

其實根據上面的描述有很多的路由協議都會滿足其功能,可能作為拓展去研究研究,我們后續也會有相應的講解。

后續解釋:

IS-IS簡介:

其中的呼叫PDU(IIH)類似于OSPF中的Hello報文,不斷的去更新當前路由的鄰居狀態,查看鄰居是否發生變化

IS-IS路由器在通過鏈路狀態PDU交換一些路由信息,來建立自己的鏈路狀態數據庫。一個LSP表示一個路由器相關的一些信息。同時,必須依賴于SNP(序列號報文)來確保LSP的可靠傳輸。

CSNP(無連接網絡協議)包含網絡中每一個LSP的總結性信息,當一個路由器收到一個CSNP時,該路由器會將該CSNP與其鏈路狀態數據庫進行比較,如果該路由器丟失了一個在CSNP中存在的LSP時,會發送一個組播PSNP,向網絡中的其他路由器索要其需要的LSP

LSP和SNP的配合使用,使得IS-IS協議在大型網絡中得以可靠的進行路由交互。

IS-IS協議同樣使用了Dijkstra的最短路徑優先算法(SPF)來計算拓撲。IS-IS根據鏈路狀態數據庫,并使用SPF算法得的拓撲結構,選擇最優路由,再將路由加入到IP路由表中。

接下來我們再去認識一下集成IS-IS。

集成IS-IS:

定義:集成IS-IS是IS-IS協議的擴展版本,支持多種協議環境,特別是同時處理OSI(開放系統互連)模型的CLNS和TCP/IP協議棧的IP協議,就是對CLNS和IP協議的數據包。這種協議再電信運營商和大型企業網絡中廣泛應用,特別是在需要統一路由不同協議數據的雙棧網絡環境下。其工作在數據鏈路層,可以同時兼容IPV4、IPV6、CLNP。

AS(Autonomous System,自治系統):

? AS是一個有權自主決定在本系統中應采用何種路由協議的小型單位。

TLV(Type/Length/Value,類型/長度/值)??

? TLV是一種可變格式,包括:Type(類型)、Length(長度)、Value(值)。其中:Type:定義標簽和編碼格式的信息。length:定義數值的長度。Value:表示實際的數值。

NSAP(Network Service Access Point,網路服務接入點):?

關于NSAP(Network Service Access Point,網絡服務接入點)地址在IS-IS(Intermediate System to Intermediata System)協議中扮演著至關重要的,它是IS-IS協議進行路由決策和數據包轉發的關鍵標識。

NSAP地址是OSI模型中用于唯一標識網絡層實體的地址,被用作路由標識,確保數據包能夠正確地從源地址傳輸到目的地址。即NSAP是OSI網絡層為傳輸層提供服務的位置。

作用:在IS-IS協議中主要用于構建網絡拓撲圖、計算最優路徑以及路由數據包

IS-IS已作為一種內部網關協議(IGP)在網絡中大量使用。其工作機制與OSPF類似,通過將網絡劃分成區域,區域內的路由器只管理區域內的路有信息,從而節省路由器的開銷,此特點使其可以適應各種中大型網絡需求。

由于IS-IS協議基礎是CLNS,而不是IP,因此在路由器之間通訊時,IS-IS使用的是ISO定義的協議數據單元(PDU)

IS-IS中使用的PDU類型有:

呼叫PDU(類似于OSPF協議中的HELLO報文,負責形成路由器間的鄰接關系,發現新路的鄰居檢測是否有鄰居退出)

鏈路狀態PDU(LSP)————一個LSP表示了一個路由器相關的重要信息。同時通過SNP來保證LSP的可靠性傳送。

序列號PDU(SNP)

關于IS-IS的報文信息:

IIH:類似于OSPF中的Hello報文,發現、建立、維護鄰接關系

細分類型:

Level-1 LAN IIH:在Level-1區域內的局域網(LAN)上發送,用于同一區域內的設備發現。

Level-2 LAN IIH:在Level-2區域內的局域網(LAN)上發送,用于不同區域間的設備發現。

Point-to-Point IIH:在點到點鏈路上發送,用于直接相連的設備間的鄰居關系建立。

LSP(Link State PDU,鏈路狀態報文):

? 用于確認接收到的LSP,并維護鏈路狀態數據庫的完整性。

? 細節分類:

? 功能:攜帶鏈路狀態信息,如接口狀態、鏈路成本,泛洪到整個區域,使所有路由器都能夠獲得一致的鏈路狀態數據庫。

泛洪(也可以稱為洪泛):

泛洪:當一個設備向相鄰設備通告自己的鏈路狀態后,相鄰設備在將相同的報文傳送到除發送該報文的設備外的其他鄰居,并這樣逐級將報文傳送到整個層次內所有設備。

? 特性:每個LSP都有一個序列號,用于確保信息的最新性,避免路由環路。

SNP(Sequence Number PDU,序列號報文):

? 功能:用于確認接收到的LSP,并維護鏈路狀態數據庫的完整性

? 細節類型:


CSNP(Complete Sequence Number PDU):攜帶整個鏈路狀態數據庫的摘要信息,用于數據庫同步,確保所有路由器的數據庫一致。

PSNP(Partial Sequence Number PDU):攜帶部分鏈路狀態數據庫的摘要信息,用于請求缺失的LSP或確認接收到的LSP,提高網絡效率。

關于IS-IS動態路由協議工作原理:

Level-1路由器:

負責區域內的路由器,只屬于一個區域的Level-1和Level-2路由器形成鄰居,注意這里是屬于同一區域內,而處于不同區域內的Level-1路由器間不能形成領居關系。

Level-1只負責維護Level-1的LSDB(Link State Database,鏈路狀態數據庫),該LSDB含有本區域的路由信息,到本區域內外的報文轉發給最近的Level-2路由器。

Level-2路由器:

負責區域間的路由,可以與同一或者不同區域的Level-2路由器或者其他區域的Level-1-2路由器形成鄰居關系。Level-2路由器維護一個Level-2的LSDB,該LSDB包含區域間的路由信息。

所有Level-2級別的路由器組成路由域的骨干網。負責在不同區域間通信,路由域中Level-2級別的路由器必須是物理連續的,以保證骨干網的連續性。只有Level-2級別的路由器才能直接與區域外的路由器交換數據報文或路由信息。

Level-1-2路由器

同時屬于Level-1與Level-2的路由器,可以與同一區域的Level-1和Level-1-2路由器形成Level-1鄰居關系,也可以與其他區域的Level-2和Level-1-2路由器形成Level-2的鄰居關系。Level-1路由器必須通過Level-1-2路由器才能連通至其他區域。

Level-1-2路由器維護兩個LSDB,Level-1的LSDB用于區域內路由,Level-2的LSDB用于區域間路由。

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

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

相關文章

網絡原理1

協議 在網絡通信中,協議是非常重要的概念。協議是在網絡通信過程中的約定。發送方和接收方需要提前商量好數據的格式,才能確保正確進行溝通。 應用層協議 應用層,對應著應用程序,是跟我們程序員打交道最多的一層。調用操作系統…

【運維】統信UOS操作系統aarch64自制OpenSSH 9.6p1 rpm包(含ssh-copy-id命令)修復漏洞

為修復如下OpenSSH漏洞,openssh從8.2升級至9.6,然而并未找到統信9.6的rpm源,所以自己動手制作,折騰了一天,在此記錄一下 準備工作 檢查版本 cat /etc/os-releaseuname -a如圖當前環境為aarch64架構,在其…

CI/CD 持續集成、持續交付、持續部署

CI/CD 是 持續集成(Continuous Integration) 和 持續交付/持續部署(Continuous Delivery/Deployment) 的縮寫,代表現代軟件開發中通過自動化流程快速、可靠地構建、測試和發布代碼的實踐。其核心目標是 減少人工干預、…

Spring Boot 應用中實現配置文件敏感信息加密解密方案

Spring Boot 應用中實現配置文件敏感信息加密解密方案 背景與挑戰 🚩一、設計目標 🎯二、整體啟動流程 🔄三、方案實現詳解 ??3.1 配置解密入口:EnvironmentPostProcessor3.2 通用解密工具類:EncryptionTool 四、快速…

OpenCV CUDA模塊特征檢測------角點檢測的接口createMinEigenValCorner()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 該函數創建一個 基于最小特征值(Minimum Eigenvalue)的角點響應計算對象,這是另一種經典的角點檢測方法&…

性能優化 - 理論篇:CPU、內存、I/O診斷手段

文章目錄 Pre引言1. CPU 性能瓶頸1.1 top 命令 —— 多維度 CPU 使用率指標1.2 負載(load)——任務排隊情況1.3 vmstat 命令 —— CPU 繁忙與等待 2. 內存性能瓶頸2.1 操作系統層面的內存分布2.2 top 命令 —— VIRT / RES / SHR 三個關鍵列2.3 CPU 緩存…

GPIO的內部結構與功能解析

一、GPIO總體結構 總體構成 1.APB2(外設總線) APB2總線是微控制器內部連接CPU與外設(如GPIO)的總線,負責CPU對GPIO寄存器的讀寫訪問,支持低速外設通信 2.寄存器 控制GPIO的配置(輸入/輸出模式、上拉/下拉等&#x…

汽車總線分析總結(CAN、LIN、FlexRay、MOST、車載以太網)

目錄 一、汽車總線技術概述 二、主流汽車總線技術對比分析 1. CAN總線(Controller Area Network) 2. LIN總線(Local Interconnect Network) 3. FlexRay總線 4. MOST總線(Media Oriented Systems Transport&#x…

WordPress 6.5版本帶來的新功能

WordPress 6.5正式上線了!WordPress團隊再一次為我們帶來了許多新的改進。在全球開發者的共同努力下,WordPress推出了許多新的功能,本文將對其進行詳細總結。 Hostease的虛擬主機現已支持一鍵安裝最新版本的WordPress。對于想要體驗WordPres…

【vue+ts】找不到模塊“./App.vue”或其相應的類型聲明

報錯&#xff1a;找不到模塊“./App.vue”或其相應的類型聲明。 原因&#xff1a;typescript只能理解.ts文件&#xff0c;無法理解.vue文件。 解決&#xff1a;在src/env.d.ts下添加&#xff1a; /// <reference types"vite/client" /> // 三斜線引用告訴編譯…

Nginx+Tomcat 負載均衡群集

目錄 一&#xff0c;部署Tomcat 1&#xff0c;案例概述 2&#xff0c;案例前置知識點 &#xff08;1&#xff09;Tomcat簡介 &#xff08;2&#xff09;應用場景 3&#xff0c;案例實施 3.1&#xff0c;實施準備 &#xff08;1&#xff09;關閉firewalld防火墻 &#…

Spring Boot Actuator未授權訪問漏洞修復

方案1&#xff1a;在網關的配置文件里增加以下配置 management:endpoints:web:exposure:include: []enabled-by-default: falseendpoint:health:show-details: ALWAYS 方案二&#xff1a;直接在nginx配置攔截actuator相關接口 location /actuator { return 403; …

動態規劃之網格圖模型(二)

文章目錄 動態規劃之網格圖模型&#xff08;二&#xff09;LeetCode 931. 下降路徑最小和思路Golang 代碼 LeetCode 2684. 矩陣中移動的最大次數思路Golang 代碼 LeetCode 2304. 網格中的最小路徑代價思路Golang 代碼 LeetCode 1289. 下降路徑最小和 II思路Golang 代碼 LeetCod…

React 編譯器

&#x1f916; 作者簡介&#xff1a;水煮白菜王&#xff0c;一位前端勸退師 &#x1f47b; &#x1f440; 文章專欄&#xff1a; 前端專欄 &#xff0c;記錄一下平時在博客寫作中&#xff0c;總結出的一些開發技巧和知識歸納總結?。 感謝支持&#x1f495;&#x1f495;&#…

mac下通過anaconda安裝Python

本次分享mac下通過anaconda安裝Python、Jupyter Notebook、R。 anaconda安裝 點擊&#x1f449;https://www.anaconda.com/download&#xff0c; 點擊Mac系統安裝包&#xff0c; 選擇Mac芯片&#xff1a;蘋果芯片 or intel芯片&#xff0c; 選擇蘋果芯片圖形界面安裝&#x…

Pandas 技術解析:從數據結構到應用場景的深度探索

序 我最早用Python做大數據項目時&#xff0c;接觸最早的就是Pandas了。覺得對于IT技術人員而言&#xff0c;它是可以屬于多場景的存在&#xff0c;因為它的本身就是數據驅動的技術生態中&#xff0c;對于軟件工程師而言&#xff0c;它是快速構建數據處理管道的基石&#xff1…

【循環神經網絡RNN第一期】循環神經網絡RNN原理概述

目錄 &#x1f9e0; 什么是循環神經網絡&#xff08;RNN&#xff09;&#xff1f;&#x1f501; RNN 的結構圖&#x1f504; RNN 的“記憶”與問題RNN梯度推導 &#x1f9ec; LSTM&#xff1a;解決長期依賴問題&#x1f9f1; LSTM 的核心結構LSTM總結 參考 人類在思考的時候&am…

代碼隨想錄算法訓練營 Day60 圖論Ⅹ Bellmen_ford 系列算法

圖論 題目 94. 城市間貨物運輸 I Bellmen_ford 隊列優化算法 SPFA 大家可以發現 Bellman_ford 算法每次松弛 都是對所有邊進行松弛。 但真正有效的松弛&#xff0c;是基于已經計算過的節點在做的松弛。 本圖中&#xff0c;對所有邊進行松弛&#xff0c;真正有效的松弛&#…

Juce實現Table自定義

Juce實現Table自定義 一.總體展示概及概述 在項目中Juce中TableList往往無法滿足用戶需求&#xff0c;頭部和背景及背景顏色設置以及在Cell中添加自定義按鈕&#xff0c;所以需要自己實現自定義TabelList&#xff0c;該示例是展示實現自定義TableList&#xff0c;實現自定義標…

C++ set數據插入、set數據查找、set數據刪除、set數據統計、set排序規則、代碼練習1、2

set數據插入&#xff0c;代碼見下 #include<iostream> #include<set> #include<vector>using namespace std;void printSet(const set<int>& s) {for (set<int>::const_iterator it s.begin(); it ! s.end(); it) {cout << *it <…