网络基础:IS-IS协议

news2024/11/19 4:47:32

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.coloradmin.cn/o/1900003.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TP8/6 子域名绑定应用

原www.xxx.com/admin改为admincms.xxx.com config/app.php 官方文档&#xff1a;ThinkPHP官方手册

fastadmin 如何给页面添加水印

偶然发现fastadmin框架有个水印插件&#xff0c;看起来漂亮&#xff0c;就想也实现这样的功能&#xff0c;看到需要费用。但是现成的插件需要费用&#xff0c;自己动手丰衣足食。说干就干。 1. 找到watermark.js &#xff0c;放到assets/js/ 下面 2.具体页面引入 <script…

基于单片机的粉尘检测报警防护系统研究

摘要 &#xff1a; 粉尘检测是环境保护的重要环节&#xff0c;传统的粉尘检测防护系统的预防方式较为单一。本文设计了一种基于单片机的粉尘检测报警防护系统&#xff0c;能有效地检测粉尘浓度&#xff0c;进行多种方式的报警防护&#xff0c;以保证工作人员的生命健康和安全。…

平价猫粮新选择!福派斯鲜肉猫粮,让猫咪享受美味大餐!

福派斯鲜肉猫粮&#xff0c;作为一款备受铲屎官们青睐的猫粮品牌&#xff0c;凭借其卓越的品质和高性价比&#xff0c;为众多猫主带来了健康与美味的双重享受。接下来&#xff0c;我们将从多个维度对这款猫粮进行解析&#xff0c;让各位铲屎官更加全面地了解它的魅力所在。 1️…

强大的文档编辑工具——坤Tools正式版 V0.4.4【免费的Word转PDF、PDF转Word、替换内容、转换图片、合并图片工具】

在这个信息爆炸的时代&#xff0c;我们每个人都像是一名勇敢的探险家&#xff0c;在茫茫的数据海洋中寻找着属于自己的宝藏。 软件链接&#xff1a;吾爱原创 | 全功能批量处理器&#xff0c;绿色版本&#xff01; 今天给大家带来一款功能强大的文档编辑工具——坤Tools正式版…

孙溟㠭篆刻《睡片原谅一切,醒来不问过往》

孙溟㠭篆刻《睡片原谅一切&#xff0c;醒来不问过往》 佛陀言&#xff1a;睡前原谅一切&#xff0c;醒来不问过往&#xff0c;珍惜所有不期而遇&#xff0c;看淡所有不辞而别甲辰夏溟㠭于寒舍小窗下刊。

Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测

章节内容 上一节我们完成了&#xff1a; Hive中数据导出&#xff1a;HDFSHQL操作上传内容至Hive、增删改查等操作 背景介绍 这里是三台公网云服务器&#xff0c;每台 2C4G&#xff0c;搭建一个Hadoop的学习环境&#xff0c;供我学习。 之前已经在 VM 虚拟机上搭建过一次&am…

KIVY 3D Rotating Monkey Head¶

3D Rotating Monkey Head — Kivy 2.3.0 documentation KIVY 3D Rotating Monkey Head kivy 3D 旋转猴子头 This example demonstrates using OpenGL to display a rotating monkey head. This includes loading a Blender OBJ file, shaders written in OpenGL’s Shading…

机器学习筑基篇,​Ubuntu 24.04 快速安装 PyCharm IDE 工具,无需激活!

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] Ubuntu 24.04 快速安装 PyCharm IDE 工具 描述&#xff1a;虽然在之前我们安装了VScode&#xff0c;但是其对于使用Python来写大型项目以及各类配置还是比较复杂的&#xff0c;所以这里我们还是推…

docker buildx 交叉编译设置

dockerd配置文件 /etc/docker/daemon.json设置&#xff1a; rootubuntu:/etc/docker# cat daemon.json {"insecure-registries":["localhost:5000","127.0.0.1:5000","172.16.67.111:5000"],"features": {"buildkit&…

三、数据库系统(考点篇)

1、三级模式一两级映像 内模式&#xff1a;管理如何存储物理的 数据 &#xff0c;对数据的存储方式、优化、存放等。 模式&#xff1a;又称为概念模式&#xff0c; 就是我们通常使用的表这个级别 &#xff0c;根据应用、需求将物理数据划分成一 张张表。 外模式&#xff1a;…

springboot出租房租赁系统-计算机毕业设计源码80250

摘 要 随着城市化进程的不断推进&#xff0c;人口流动日益频繁&#xff0c;住房租赁需求逐渐增加。为了更好地满足人们对住房租赁服务的需求&#xff0c;本论文基于Spring Boot框架&#xff0c;设计并实现了一套出租房租赁系统。 首先&#xff0c;通过对市场需求和现有系统的调…

职升网:中级统计师是否属于中级职称?

中级统计师确实属于中级职称。 在统计专业人员的职称体系中&#xff0c;中级统计师占据了重要的位置&#xff0c;它属于中级职称范畴。这个职称体系包括初级、中级、高级和正高级四个层次&#xff0c;每个层次都对应着不同的专业技术岗位等级。初级职称只设助理级&#xff0c;…

Podman 深度解析

目录 引言Podman 的定义Podman 的架构Podman 的工作原理Podman 的应用场景Podman 在 CentOS 上的常见命令实验场景模拟总结 1. 引言 随着容器化技术的发展&#xff0c;Docker 已成为容器管理的代名词。然而&#xff0c;由于 Docker 的一些局限性&#xff0c;如需要守护进程和 …

昇思25天学习打卡营第08天|模型训练

模型训练 模型训练一般分为四个步骤&#xff1a; 构建数据集。定义神经网络模型。定义超参、损失函数及优化器。输入数据集进行训练与评估。 现在我们有了数据集和模型后&#xff0c;可以进行模型的训练与评估。 ps&#xff1a;这里的训练和Stable Diffusion中的训练是一样…

BUUCTF - Basic

文章目录 1. Linux Labs 【SSH连接漏洞】2. BUU LFI COURSE【文件包含漏洞】3. BUU BRUTE【暴力破解用户名密码】4. BUU SQL COURSE【SQL注入-当前数据库】5. Upload-Labs-Linux 1【文件上传漏洞】7. Buu Upload Course 1【文件上传包含漏洞】8. sqli-labs 1【SQL注入-服务器上…

【论文笔记】BEVCar: Camera-Radar Fusion for BEV Map and Object Segmentation

原文链接&#xff1a;https://arxiv.org/abs/2403.11761 0. 概述 本文的BEVCar模型是基于环视图像和雷达融合的BEV目标检测和地图分割模型&#xff0c;如图所示。模型的图像分支利用可变形注意力&#xff0c;将图像特征提升到BEV空间中&#xff0c;其中雷达数据用于初始化查询…

Linux 进程间的信号

1.信号的初认识 信号是进程之间事件异步通知的一种方式&#xff0c;属于软中断。通俗来说信号就是让用户或进程给其他用户和进程发生异步信息的一种方式。对于信号我们可以根据实际生活&#xff0c;对他有以下几点认识&#xff1a;1.在没有产生信号时我们就知道产生信号要怎么处…

C++:特殊类的设计(无线程)

目录 一、设计一个不能拷贝类 二、设计一个只能在堆上创建对象的类 方法一&#xff1a;析构函数私有化 方法二&#xff1a;构造函数私有化 三、设计一个只能在栈上创建对象的类 四、设计一个类不能被继承 五、设计一个只能创建一个对象的类&#xff08;单例模式&#xf…

加盖骑缝章软件、可以给PDF软件加盖自己的骑缝章

加盖骑缝章的软件多种多样&#xff0c;尤其是针对PDF文件&#xff0c;有多种软件可以实现给PDF文件加盖自己的骑缝章。以下是一些常用的软件及其特点&#xff1a; 1. Adobe Acrobat Pro DC 特点&#xff1a; 多功能PDF编辑&#xff1a;Adobe Acrobat Pro DC是一款功能强大的…