網絡基礎:IS-IS協議

IS-IS(Intermediate System to Intermediate System)是一種鏈路狀態路由協議,最初由 ISO(International Organization for Standardization)為 CLNS(Connectionless Network Service)網絡設計。IS-IS 后來被應用于 IP 網絡,并在許多大型服務提供商和企業網絡中得到廣泛使用。與 OSPF 類似,IS-IS 是一個內部網關協議(IGP),適用于大型路由域。學習 IS-IS(Intermediate System to Intermediate System)協議需要了解其多個方面,包括基本概念、工作原理、層次結構、配置方法、路由計算和優化策略等。

IS-IS 的基本概念
IS(Intermediate System):指路由器,在 IS-IS 中稱為中間系統。
ES(End System):指終端設備,如計算機、服務器等。
LSP(Link State PDU):鏈路狀態 PDU,用于攜帶路由信息。
LSDB(Link State Database):鏈路狀態數據庫,存儲網絡拓撲的完整信息。
NSAP(Network Service Access Point):網絡服務訪問點地址,標識網絡設備在網絡層的地址,由于在不同協議中可能使用不同的NSAP形式,因此在不同系統中可以配置不同形式的NSAP地址,但是最多只能配置3個。
TLV(Type-Length-Value):一種數據編碼格式,用于攜帶不同類型的路由信息。
IS-IS 的工作原理

①鄰居發現:IS-IS 路由器通過發送 Hello PDU 來發現并與直接相連的其他 IS-IS 路由器建立鄰居關系。

1)Hello PDU:Hello PDU 在每個 IS-IS 接口上周期性發送,用于發現和維護鄰居關系。
?
2)鄰居關系建立:當一個路由器接收到來自鄰居的 Hello PDU,并且 Hello PDU 中包含的配置信息(如區域 ID、接口類型等)匹配時,鄰居關系就建立起來。

②鏈路狀態廣告(LSPs):路由器生成 LSPs,描述其鏈路狀態,并通過洪泛機制在整個路由域中傳播。

1)LSP 內容:LSP 包含路由器的標識符、直接相連的鄰居、鏈路成本等信息。
2)LSP 洪泛:LSP 通過洪泛機制傳播到網絡中的每一個路由器。每個路由器在接收到新的 LSP 后,會將其轉發給所有其他鄰居。

③數據庫同步:路由器接收并存儲所有 LSPs,形成鏈路狀態數據庫(LSDB)。

1)數據庫同步:通過交換 LSPs,確保所有路由器的 LSDB 保持一致。當路由器發現其 LSDB 中缺少某些 LSP 時,會向其他路由器請求這些 LSP。
2)LSDB 更新:當網絡拓撲發生變化時(例如,新增或移除鏈路、路由器),對應的 LSP 會被更新,并再次通過洪泛機制傳播。

④路徑計算:使用 SPF(Shortest Path First)算法,根據 LSDB 計算到達每個目的地的最短路徑。

1)SPF 算法:SPF 算法使用 LSDB 中的信息計算出到達每個網絡節點的最短路徑。這個過程通常稱為 Dijkstra 算法。
2)路徑樹:每個路由器根據 SPF 算法生成一個最短路徑樹,描述到達所有其他路由器的最優路徑。

⑤路由更新:根據計算結果更新路由表,并將最佳路徑信息應用于數據轉發。

1)路由表:路由表中記錄了每個目的網絡的下一跳信息和路徑成本。
2)數據轉發:路由器根據路由表中的信息,將數據包轉發到合適的下一跳,最終到達目的地。

IS-IS 的層次結構

IS-IS(Intermediate System to Intermediate System)協議是一個鏈路狀態路由協議,設計時考慮了支持大規模網絡的需求。為此,IS-IS 使用了一個分層架構,將網絡分為多個級別(Levels)。這種分層方法有助于簡化路由計算,減少路由表大小,并提高網絡的可擴展性。

IS-IS 支持兩級路由,用于更好地管理大型網絡:

①Level-1 路由:在局部區域內進行路由,類似于 OSPF 的非骨干區域。Level-1 路由器只與同一區域內的其他 Level-1 路由器交換信息。

②Level-2 路由:在不同區域之間進行路由,類似于 OSPF 的骨干區域。Level-2 路由器負責跨區域路由信息的交換。

③Level-1-2 路由器:同時參與 Level-1 和 Level-2 路由,用于連接不同區域。

IS-IS配置方法

面是一個詳細的 IS-IS 協議配置示例。假設我們有一個簡單的網絡拓撲,由兩個路由器 R1 和 R2 組成,它們通過一個以太網網絡(192.168.1.0/24)互連,每個路由器還有一個內部網絡(R1的內部網路為10.0.0.1/24;R2的內部網絡為20.0.0.1/24),我們將配置 IS-IS 來實現 R1 和 R2 之間的路由。

1.思科

在 R1 上配置 IS-IS

①先配置接口IP

R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 192.168.1.1 255.255.255.0
R1(config-if)# no shutdown
?
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address 10.0.0.1 255.255.255.0
R1(config-if)# no shutdown

②啟用 IS-IS 進程

R1(config)# router isis 1
R1(config-router)# net 49.0001.0000.0000.0001.00
R1(config-router)# exit

router isis 1:這一行命令用來啟動 IS-IS 路由協議,并為其指定一個進程 ID 1。這個進程 ID 是本地標識,不會在 IS-IS 報文中傳輸。可以是任何整數,通常用來區分同一臺路由器上的多個 IS-IS 進程。

net 49.0001.0000.0000.0001.00:這一行命令用來配置路由器的網絡實體標題(NET,Network Entity Title)。NET 是 IS-IS 路由器的唯一標識,類似于 OSPF 中的 Router ID。NET 是一個 NSAP(Network Service Access Point)地址的一種形式,包含以下部分:

IDP:AFI+IDI ?  IDP相當于IP地址中的主網絡號(網段)
1)AFI(Authority and Format Identifier):第一個字節,49 表示這是一個私有地址。AFI(Authority and Format Identifier)是 NSAP(Network Service Access Point)地址的一部分,用于標識地址的格式和分配權威。AFI 是 NSAP 地址的第一個字節(8 位)其值范圍為 00 到 FF(十六進制),在 IS-IS 協議中有特定的作用和含義。
2)IDI(Initial Domain Identifier):0001,標識域,用于標識地址分配的初始域。NSAP 地址結構中的 IDI 部分可以幫助區分不同的地址分配機構和域。(IDI 的值可以標識不同的國家、組織或標準機構)
?
DSP:HO-DSP+ System ID + N-Selector ? DSP相當于IP地址中的子網號和主機地址
3)HO-DSP(High Order Domain Specific Part):標識高階域部分;域特定部分中的高階部分,用于進一步細化地址分配。(其實就是區域的擴展部分)
4)System ID:0000.0000.0001,標識路由器,通常是 6 字節長,確保每個路由器在 IS-IS 網絡中具有唯一的標識,從而避免路由器之間的沖突。為了方便管理一般來說會根據RouterID來配置SystemID(如現有RouterID 192.168.10.01 ==轉化==> 192.168.010.001  ==轉換為SID==>1921.6801.0001)
5)N-Selector(NSAP Selector):00,通常是 00,用于標識網絡層的服務訪問點,區分同一網絡節點上的不同服務或協議實例。

AreaID = AFI+IDI+HO-DSP

這個時候有一個net我們該如何區分其AreaID+SystemID+ N-Selector?

49.0001.1720.1600.0001.00

從后往前:00 - N-Selector ;接著從后往前數12位:1720.1600.0001-SystemID;剩下的一部分就是AreaID。

③ 配置接口以參與 IS-IS

R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip router isis 1
?
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip router isis 1

在 R2 上配置 IS-IS
  1. 配置接口 IP 地址

    R2(config)# interface GigabitEthernet0/0
    R2(config-if)# ip address 192.168.1.2 255.255.255.0
    R2(config-if)# no shutdown
    ?
    R2(config)# interface GigabitEthernet0/1
    R2(config-if)# ip address 20.0.0.1 255.255.255.0
    R2(config-if)# no shutdown
  2. 啟用 IS-IS 進程

    R2(config)# router isis 1
    R2(config-router)# net 49.0001.0000.0000.0002.00
    R2(config-router)# exit
  3. 配置接口以參與 IS-IS

    R2(config)# interface GigabitEthernet0/0
    R2(config-if)# ip router isis 1
    ?
    R2(config)# interface GigabitEthernet0/1
    R2(config-if)# ip router isis 1
配置驗證

完成上述配置后,可以使用以下命令驗證 IS-IS 配置和鄰居關系的建立。

查看 IS-IS 鄰居:

R1# show isis neighbors

2.華為

①首先,為 R1 的接口分配 IP 地址并啟用接口:

[R1] interface GigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0] ip address 192.168.1.1 255.255.255.0
[R1-GigabitEthernet0/0/0] undo shutdown
[R1-GigabitEthernet0/0/0] quit

接下來,啟用 IS-IS 進程并配置 NET 地址。NET 地址在 IS-IS 中唯一標識路由器。

[R1] isis 1
[R1-isis-1] network-entity 49.0001.1921.6800.1001.00
[R1-isis-1] quit

為接口啟用 IS-IS

[R1] interface GigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0] isis enable 1
[R1-GigabitEthernet0/0/0] quit

②為 R2 的接口分配 IP 地址并啟用接口:

[R2] interface GigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0] ip address 192.168.1.2 255.255.255.0
[R2-GigabitEthernet0/0/0] undo shutdown
[R2-GigabitEthernet0/0/0] quit

啟用 IS-IS 進程并配置 NET 地址:

[R2] isis 1
[R2-isis-1] network-entity 49.0001.1921.6800.1002.00
[R2-isis-1] quit

為特定接口啟用 IS-IS:

[R2] interface GigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0] isis enable 1
[R2-GigabitEthernet0/0/0] quit

完成上述配置后,可以使用以下命令驗證 IS-IS 配置和鄰居關系的建立。

[R1] display isis peer

華三

首先,為 R1 的接口分配 IP 地址并啟用接口:

<R1> system-view
[R1] interface GigabitEthernet1/0/1
[R1-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.255.0
[R1-GigabitEthernet1/0/1] undo shutdown
[R1-GigabitEthernet1/0/1] quit

接下來,啟用 IS-IS 進程并配置 NET 地址。NET 地址在 IS-IS 中唯一標識路由器。

[R1] isis 1
[R1-isis-1] network-entity 49.0001.1921.6800.1001.00
[R1-isis-1] quit

最后,為特定接口啟用 IS-IS:

[R1] interface GigabitEthernet1/0/1
[R1-GigabitEthernet1/0/1] isis enable 1
[R1-GigabitEthernet1/0/1] quit

接著為 R2 的接口分配 IP 地址并啟用接口:

<R2> system-view
[R2] interface GigabitEthernet1/0/1
[R2-GigabitEthernet1/0/1] ip address 192.168.1.2 255.255.255.0
[R2-GigabitEthernet1/0/1] undo shutdown
[R2-GigabitEthernet1/0/1] quit

啟用 IS-IS 進程并配置 NET 地址:

[R2] isis 1
[R2-isis-1] network-entity 49.0001.1921.6800.1002.00
[R2-isis-1] quit

為特定接口啟用 IS-IS:

[R2] interface GigabitEthernet1/0/1
[R2-GigabitEthernet1/0/1] isis enable 1
[R2-GigabitEthernet1/0/1] quit

完成上述配置后,可以使用以下命令驗證 IS-IS 配置和鄰居關系的建立。

[R1] display isis peer

IS-IS 路由分層示例

假設我們有一個網絡,分為兩個區域:

  • 區域 A

  • 區域 B

兩個區域之間通過一個骨干區域互聯。路由器 R1 和 R2 在區域 A 內部,R3 和 R4 在區域 B 內部,R5 和 R6 是連接兩個區域的邊界路由器。

區域 A
+------+ ?  +------+ ?  +------+
|  R1  |----|  R2  |----|  R5  |
+------+ ?  +------+ ?  +------+||+------+|  R6  |+------+|| ? ? ? ? ? ? ? ?
+------+ ?  +------+ ?  +------+
|  R3  |----|  R4  |----|  R5  |
+------+ ?  +------+ ?  +------+
區域 B ?
在這個網絡中:
  • R1 和 R2 是 L1 路由器,僅知道區域 A 內部的路由。

  • R3 和 R4 是 L1 路由器,僅知道區域 B 內部的路由。

  • R5 和 R6 是 L1/L2 路由器,維護 L1 和 L2 路由表,能夠在區域 A 和區域 B 之間傳遞路由信息。

配置示例
R5 的 IS-IS 配置(此處跳過接口配置以及在接口中啟用IS-IS的配置內容)
[R5] isis 1
[R5-isis-1] network-entity 49.0001.0000.0000.0005.00
[R5-isis-1] is-level level-1-2
[R5-isis-1] quit

IS-IS 路由協議使用分層架構,將網絡分為多個級別以簡化路由計算和提高可擴展性。通過正確配置 L1 和 L2 路由器,可以確保不同區域間的路由信息正確傳播和交換,從而實現高效的網絡通信。理解 IS-IS 分層架構對于大規模網絡的設計和管理至關重要。

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

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

相關文章

油猴腳本高級應用:攔截與修改網頁Fetch請求實戰指南

油猴腳本高級應用&#xff1a;攔截與修改網頁Fetch請求實戰指南 簡介&#xff1a; 本文介紹了幾個使用油猴&#xff08;Tampermonkey&#xff09;腳本攔截和修改網頁 fetch 請求的案例。這些腳本可以在瀏覽器擴展油猴中運行&#xff0c;用于開發者調試網絡請求或自定義頁面行…

Vue 前端修改頁面標題無需重新打包即可生效

在public文件夾下創建config.js文件 index.html頁面修改 其他頁面的標題都可以用window.title來引用就可以了&#xff01;

【雷豐陽-谷粒商城 】【分布式高級篇-微服務架構篇】【19】認證服務03—分布式下Session共享問題

持續學習&持續更新中… 守破離 【雷豐陽-谷粒商城 】【分布式高級篇-微服務架構篇】【19】分布式下Session共享問題 session原理分布式下session共享問題Session共享問題解決—session復制Session共享問題解決—客戶端存儲Session共享問題解決—hash一致性Session共享問題…

ASUS/華碩飛行堡壘8 FX506L FX706L系列 原廠win10系統 工廠文件 帶F12 ASUS Recovery恢復

華碩工廠文件恢復系統 &#xff0c;安裝結束后帶隱藏分區&#xff0c;一鍵恢復&#xff0c;以及機器所有驅動軟件。 系統版本&#xff1a;Windows10 原廠系統下載網址&#xff1a;http://www.bioxt.cn 需準備一個20G以上u盤進行恢復 請注意&#xff1a;僅支持以上型號專用…

域名、網頁、HTTP概述

目錄 域名 概念 域名空間結構 域名注冊 網頁 概念 網站 主頁 域名 HTTP URL URN URI HTML 超鏈接 發布 HTML HTML的結構 靜態網頁 特點 動態網頁 特點 Web HTTP HTTP方法 GET方法 POST方法 HTTP狀態碼 生產環境下常見的HTTP狀態碼 域名 概念 IP地…

基于.NET開源游戲框架MonoGame實現的開源項目合集

前言 今天分享一些基于.NET開源游戲框架MonoGame實現的開源項目合集。 MonoGame項目介紹 MonoGame是一個簡單而強大的.NET框架&#xff0c;使用C#編程語言可以創建桌面PC、視頻游戲機和移動設備游戲。它已成功用于創建《怒之鐵拳4》、《食肉者》、《超凡蜘蛛俠》、《星露谷物…

【跟我學K8S】45天入門到熟練詳細學習計劃

目錄 一、什么是K8S 核心功能 架構組件 使用場景 二、入門到熟練的學習計劃 第一周&#xff1a;K8s基礎和概念 第二周&#xff1a;核心對象和網絡 第三周&#xff1a;進階使用和管理 第四周&#xff1a;CI/CD集成和監控 第五周&#xff1a;實戰模擬和案例分析 第六周…

XPointer 實例

XPointer 實例 1. 引言 XPointer 是一種用于定位 XML 文檔中特定部分的語言。它是 XLink 的補充,允許用戶在 XML 文檔中創建鏈接,指向文檔中的特定元素、屬性或文本。XPointer 的強大之處在于其精確的定位能力,使得開發者能夠創建更加豐富和動態的 XML 應用。 2. XPointe…

【Spring Boot】spring boot主啟動類_內置服務

1、主啟動類 1.1 定義與功能 Spring Boot的主啟動類是一個特殊的Java類&#xff0c;用于啟動Spring Boot應用程序。該類通常使用SpringBootApplication注解進行標注&#xff0c;這個注解是一個復合注解&#xff0c;包含SpringBootConfiguration、EnableAutoConfiguration和Co…

LRU Cache 雙向鏈表以及STL list實現----面試常考

雙向鏈表版本&#xff1a; #include <bits/stdc.h> using namespace std; struct Node{int key, value;Node* prev;Node* next;Node():key(0), value(0), prev(nullptr), next(nullptr){}Node(int k, int v):key(k), value(v), prev(nullptr), next(nullptr){} }; class…

【IT領域新生必看】Java中的對象創建魔法:小白也能掌握的五種方法

文章目錄 引言為什么需要創建對象&#xff1f;創建對象的五種常見方式1. 使用 new 關鍵字示例&#xff1a; 2. 使用反射示例&#xff1a; 3. 使用克隆示例&#xff1a; 4. 使用序列化和反序列化示例&#xff1a; 5. 使用工廠方法示例&#xff1a; 選擇合適的對象創建方式總結 引…

Spring容器Bean之XML配置方式

一、首先看applicationContext.xml里的配置項bean 我們采用xml配置文件的方式對bean進行聲明和管理&#xff0c;每一個bean標簽都代表著需要被創建的對象并通過property標簽可以為該類注入其他依賴對象&#xff0c;通過這種方式Spring容器就可以成功知道我們需要創建那些bean實…

IPython代碼塊粘貼秘籍:效率與技巧的完美結合

標題&#xff1a;IPython代碼塊粘貼秘籍&#xff1a;效率與技巧的完美結合 在數據科學和Python編程的日常實踐中&#xff0c;經常需要在IPython環境中快速有效地粘貼代碼塊。這個過程雖小&#xff0c;卻對提升工作效率至關重要。本文將詳細介紹如何在IPython中粘貼代碼塊&…

comsol隨機材料參數賦值

comsol隨機材料參數賦值 在comsol中定義外部matlab函數 在comsol中定義外部matlab函數 首選項&#xff0c;安全性&#xff0c;允許 材料中&#xff0c;將楊氏模量更改為變量函數 計算 應力有波動&#xff0c;可見賦值成功 也可以看到賦值的材料參數&#xff1a;

植物大戰僵尸雜交版V2.1+修改器+融合版

植物大戰僵尸雜交版v2.1 新增新植物&#xff0c;全新模式與玩法&#xff01; 內含窗口放大工具與修改器 主播同款游戲&#xff0c;下載使用即可&#xff01; 鏈接: https://pan.baidu.com/s/1znjbqgBSdqTJWZLBOhe5hA?pwdj6ra 提取碼: j6ra

vulnhub--IMF

環境 攻擊機&#xff1a;192.168.96.4 靶機&#xff1a;ip未知 主機探測 確定靶機ip為32的主機 端口掃描 訪問80端口 外圍打點 在contact.php頁面源碼中找到了flag1 之后沒啥突破 但查看網絡后發現contact.php頁面請求的三個js文件的文件名很有特點&#xff0c;猜測是base64編碼…

模型優化調參利器貝葉斯優化bayesian-optimization實踐

早在之前很多項目尤其是預測類型的項目中&#xff0c;就已經比較廣泛地在實用貝葉斯優化庫了&#xff0c;這是一個非常出色的純python實現的項目&#xff0c;地址在這里&#xff0c;如下所示&#xff1a; 寫這篇文章主要有兩個目的&#xff0c;一方面是覺得這個工具庫挺不錯的值…

零基礎做項目---五子棋對戰---day01

創建項目 這里使用阿里云服務器 https://start.aliyun.com/ 勾選 MyBatis Framework (在SQL分類下)MySQL Driver (在SQL分類下)WebSocket (在Messaging分類下)Spring Web (在Web分類下) 項目結構 消息發送機制 按照當前已有的知識&#xff0c;主要是HTTP HTTP自身是難以實現這…

c++ 里如何檢測內存泄露:比如用了 new ,但沒有用 delete

&#xff08;1 方法一&#xff09; 用 MFC 框架的 F5 不帶斷點的調試。可以在輸出窗口提示是否有內存泄露。 &#xff08;2 方法二&#xff09; &#xff0c;在 main 函數中添加如下代碼&#xff0c;用 F5 不帶斷點的調試&#xff1a; int main() {_CrtSetDbgFlag( _CRTDBG_A…

vue.js微商城后臺管理系統

一.需要運行的效果 20240701-231456 二.代碼&#xff08;解析&#xff09; 首先&#xff0c;為項目添加依賴&#xff1a; yarn add element-plus --save yarn vue-router4 --save 新建一個項目包&#xff0c;然后命名為商品管理&#xff0c;在components中新建幾個vue文件。 …