当前位置: 首页>編程日記>正文

ISIS协议介绍

ISIS协议介绍

ISIS基本概念

ISIS(Intermediate system to intermediate system )中间系统到中间系统,是一个分级的链接状态路由协议。每一台路由器都会生成一个LSP,它包含了该路由器所有使能 IS-IS协议接口的链路状态信息。通过跟相邻设备建立IS-IS 邻接关系,互相更新本地设备的 LSDB,可以使得LSDB 与整个 IS-IS网络的其他设备的LSDB 实现同步。然后根据LSDB 运用 SPF算法计算出 IS-IS 路由。
为了支持大规模的路由网络, IS-IS在自治系统内采用骨干区域与非骨干区域两级的分层结构。
IS-IS是ISO定义的OSI协议栈中无连接网络服务CLNS (Connectionless Network Service)的一部分。

ISIS专业术语

IS(Intermediate System):节点,即路由器。

Area区域:由一组连续的路由器、主机和连接它们的网络链路组成的实体。类似于OSPF的Area。

Domain域:由一组相互连接的Area组成。相当于传统的自治系统。

Isis area
DIS(Designated Intermediate System):
在广播网络中, IS-IS 需要在所有的路由器中选举一个路由器作为DIS, 用来创建和更新伪节点(Pseudonodes),并负责生成伪节点的链路状态协议数据单元 LSP(Linkstate Protocol Data Unit),用来描述这个网络上有哪些网络设备。

伪节点:伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。在 IS-IS中,伪节点用 DIS 的SystemID 和一个字节的Circuit ID(非0 值)标识。

在这里插入图片描述

ISIS网络类型

IS-IS 只支持两种类型的网络,根据物理链路不同可分为:

  • 广播链路:如 Ethernet、Token-Ring 等。
  • 点到点链路:如 PPP等。

注意:对于NBMA(Non-BroadcastMulti-Access)网络,如ATM,需对其配置子接口,并注意子接口类型应配置为P2P。
IS-IS不能在点到多点链路P2MP(Pointto MultiPoint)上运行

Level-1 路由器:

负责区域内的路由,它只与属于同一区域的Level-1 和 Level-1-2路由器形成邻居关系,属于不同区域的Level-1 路由器不能形成邻居关系。

Level-2 路由器:

路由器负责区域间的路由,它可以与同一或者不同区域的Level-2 路由器或者其它区域的 Level-1-2路由器形成邻居关系。

Level-1-2 路由器:

同时属于 Level-1 和Level-2 的路由器称为 Level-1-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用于区域间路由。

在这里插入图片描述

ISIS地址结构

OSI地址使用NSAP(NetworkService Access Point)形式,NSAP的地址结构如图所示,它由IDP(InitialDomain Part)和DSP(DomainSpecific Part)组成。IDP和DSP的长度都是可变的,NSAP总长最多是20个字节,最少8个字节。

  • IDP 由AFI (Authorityand Format Identifier)与IDI(InitialDomain Identifier)两部分组成。AFI表示地址分配机构和地址格式, IDI 用来标识域。
  • DSP 由 High Order DSP、System ID 和 SEL三个部分组成。High Order DSP用来分割区域, System ID (6bytes)用来区分主机,SEL(NSAP-Selector ,1 byte)用来指示服务类型。

Isis address

Area address:

标识路由域,也能够标识路由域中的区域,同一Level-1区域内的所有路由器必须具有相同的区域地址, Level-2区域内的路由器可以具有不同的区域地址。

System ID:

用来在区域内唯一标识主机或路由器,它的长度固定为48bit(6字节),一般使用RouterID与System ID进行对应。

例如:将loopback0的 IP 地址168.10.1.1(Router ID) 的每个十进制数都扩展为3 位,不足 3位的在前面补 0,得到168.010.001.001;将扩展后的地址分为 3 部分,每部分由4 位数字组成,得到 1680.1000.1001,就是System ID。

注意:System ID 的指定可以有不同的方法,但要保证能够唯一标识主机或路由器。

SEL:

SEL的作用类似 IP中的“协议标识符”,不同的传输协议对应不同的SEL。在 IP上 SEL 均为00。

NET(NetworkEntity Title):

网络实体名称 指的是设备本身的网络层信息,可以看作是一类特殊的NSAP(SEL=00)。在路由器上配置 IS-IS时,只需要考虑 NET即可,NSAP 可不必去关注。

例如:NET为ab.cdef.1234.5678.9abc.00,则其中Area Address 为ab.cdef, SystemID为1234.5678.9abc,SEL 为 00

ISIS工作过程

邻居建立:

两台运行 IS-IS 的路由器在交互协议报文实现路由功能之前必须首先建立邻居关系。在不同类型的网络上,IS-IS 的邻居建立方式并不相同,ISIS通过IIH报文建立邻居。

IS-IS按如下原则建立邻居关系:

  • 只有同一层次的相邻路由器才有可能成为邻居。
  • 对于 Level-1 路由器来说,区域号必须一致。
  • 链路两端 IS-IS 接口的网络类型必须一致。

广播链路邻居关系的建立:

  1. R1广播发送IIH,此报文中无邻居标识。
  2. R2收到此报文后,将自己和R1的邻居状态标识为 Initial。然后,R2再向 R1回复IIH,此报文中标识R1为 R2的邻居。
  3. R1收到此报文后,将自己与R2的邻居状态标识为 Up。然后R1再向R2发送一个标识R2为R1邻居的 IIH。
  4. R2 收到此报文后,将自己与R1的邻居状态标识为 Up。
    在这里插入图片描述

P2P链路邻居关系的建立:

在 P2P 链路上,邻居关系的建立不同于广播链路。分为两次握手机制和三次握手机制。
两次握手机制:只要路由器收到对端发来的 Hello报文,就单方面宣布邻居为 Up 状态,建立邻居关系。

三次握手机制:此方式通过三次发送 P2P 的IS-IS Hello PDU 最终建立起邻居关系,类似广播邻居关系的建立。

两次握手机制存在明显的缺陷。当路由器间存在两条及以上的链路时,如果某条链路上到达对端的单向状态为Down,而另一条链路同方向的状态为 Up,路由器之间还是能建立起邻接关系。SPF 在计算时会使用状态为 UP的链路上的参数,这就导致没有检测到故障的路由器在转发报文时仍然试图通过状态为 Down的链路。

在这里插入图片描述

LSP的产生:

IS-IS 路由域内的所有路由器都会产生LSP,以下事件会触发一个新的 LSP

  • 邻居 Up 或Down
  • IS-IS 相关接口 Up或 Down
  • 引入的 IP 路由发生变化
  • 区域间的 IP 路由发生变化
  • 接口被赋了新的 metric 值
  • 周期性更新

LSP的处理:

  • 将接收的新的 LSP合入到自己的 LSDB 数据库中,并标记为flooding。
  • 发送新的 LSP到除了收到该 LSP 的接口之外的接口。
  • 邻居再扩散到其他邻居

广播链路LSDP同步:isis lsdp bc

P2P链路LSDP同步:

isis lsdp p2p

ISIS报文种类:

IS-IS路由协议的协议数据单元(PDU)

  • Hello PDU:包括ESH(ES至IS),ISH(IS至ES),IIH(IS之间)三种类型,用于建立和维护毗邻关系。
  • LSP:用于发布链路状态信息。
  • PSNP(Partial sequence number PDU):用于请求和确认链路状态消息。
  • CSNP(Complete sequence number PDU):用于发布路由器的完整链路状态数据库。

PDU报格式文:

  • 前8个1字节大小的字段
  • 各种类型数据包附加包头字段
  • TLV字段
    isis pdu pkt

路由渗透

路由渗透特性是指Level-1-2 IS-IS将己知的其他Level-1区域以及Level-2区域的路由信息通报给指定的Level-1区域。

通常情况下,区域内的路由通过Level-1的路由器进行管理。所有的Level-2和Level-1-2路由器构成一个连续的骨干区域。Level-1区域必须且只能与骨干区域相连,不同的Level-1区域之间并不相连。

Level-1区域内的路由信息通过Level-1-2路由器通报给Level-2区域的,即Level-1-2路由器将学习到的Level-1路由信息装进Level-2 LSP,再泛洪LSP给其他Level-2和Level-1-2路由器。因此,Level-1-2和Level-2路由器知道整个IS-IS路由域的路由信息。但是,为了有效减小路由表的规模,在缺省情况下,Level-2路由器并不将自己知道的Level-1区域以及骨干区域的路由信息通报给Level-1区域。这样,Level-1路由器将不了解本区域以外的路由信息

路由过载

使用IS-IS过载标记来标识过载状态,对设备设置过载标志位后,其他设备在计算SPF时,不会使用这台设备做转发,只计算该设备上的直连路由。
进入过载状态的方法:

  • 设备异常(内存不足)导致自动进入过载状态
  • 手工使设备进入过载

路由计算

路由器获取了全部链路状态信息之后,以自己为根节点采用SPF算法计算出最小生成树。
isis spf

ISIS实验

isis test

  • R1和R2配置直连接口ip地址;
  • R1和R2配置ISIS实例1;
  • R1和R2的直连接口下配置ISIS实例1;
  • R1和R2的环回口配置IP地址和ISIS实例1;

配置isis R1

isis R2

邻居

形成邻居关系

isis nei R1
isis nei R2

路由表

互相学习到对端环回口ip地址路由

isis route R1
isis route R2


https://www.fengoutiyan.com/post/14238.html

相关文章:

  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機