计算机网络通信技术与协议(八)----关于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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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 <…