当前位置: 首页 > article >正文

ISIS-1 ISIS概述

前面几章我们介绍了OSPF的基础工作原理以及怎样交互LSA形成LSDB链路状态数据库的

这一章我们来介绍另一个链路状态路由协议,ISIS路由协议

一、概述


  • ISIS(Intermediate System to Intermediate System,中间系统到中间系统)是由ISO(International Organization for Standardization,国际标准化组织)为它的CLNP(ConnectionLessNetwork Protocol,无连接网络协议)设计的一种动态路由协议。
  • 随着TCP/IP协议的流行,为了提供对IP路由的支持,IETF在RFC1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI(Open System Interconnect,开放式系统互联)环境中,我们将扩展后的IS-IS称为集成IS-IS。
  • 和OSPF一样,属于链路状态IGP,使用SPF计算路由的动态路由协议
  • 由于简便性和扩展性;普遍应用于ISP网络中。

集成IS-IS的特点:

支持CLNP、IP网络

工作在数据链路层

OSPF的特点:

目前只支持IP网络

工作在网络层

随着IPv6网络的建设,IS-IS路由协议结合自身具有良好的扩展性的特点,实现了对IPv6网络层协议的支持,可以发现、生成、和转发IPv6路由


二、ISIS-地址结构

TCP/IP协议栈IP协议IP地址OSPFArea ID+Router ID
OSI系统CLNP协议NSAP地址IS-ISNET标识符

 NET是一类特殊的NSAP(SEL=00),在路由器上配置IS-IS时,只需要考虑NET即可

结构部分备注
AFIAuthority and Format Identifier,标识地址分配机构和地址格式。
IDIInitial Domain Identifier,标识域。
HODSPHigh Order DSP,分割区域。
PSAFI+IDI+HODSP=Area Address
System ID标识路由器和主机
SEL标识服务类型,在IP上均为00

Area Address区域地址:

  • 既能够标识路由域,也能够标识路由域中的区域
  • 相当于OSPF中的区域编号
  • 两个不同的路由域中不允许由相同的区域地址
  • 一般情况下,一台路由只需要配置一个区域地址,且同一区域中所有节点的区域地址都要相同。
  • 为了支持区域的平滑合并、分割及转换,一台路由器最多配置3个区域地址。

System ID系统ID:

  • 在区域内唯一标识主机或路由器。
  • 在实际应用中,一般使用Router ID与System ID进行对应。

SEL:NSAP Selector,类似于IP中的协议标识符,在IP中,SEL均为00。

NET:Network Entity Title,网络实体名称:

  • 可以看作是一类特殊的NSAP,即SEL=0的NSAP地址。
  • 通常情况下,一台路由器配置一个NET即可。
  • 当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分为多个区域,这种情况下配置多个NET可以重新置为仍然能够保证路由的正确性。
  • 由于一台路由最多可配置3个区域地址,所以最多也只能配置3个NET。
  • 在配置多个NET时,必须保证它们的System ID都相同。

 例:

49.0001.0000.0000.0001.00

Area=49.0001

System ID=0000.0000.0001

SEL=00

NET的配置举例:

  • 每台运行IS-IS的网络设备至少需拥有一个NET,当然,一台设备也可以同时配置多个NET,但是这些NET的System ID必须相同。
  • 在华为的网络设备上,System ID的长度总是固定的6Bytem。在一个IS-IS路由域中,设备的System ID必须唯一,为了便于管理,一般根据Router ID配置System ID。

注意:同一个区域内,可以有相同的Area Address,不可以出现相同的System ID。


三、ISIS的报文格式

  • IS-IS报文是直接封装在数据链路层的帧结构中的。
  • PDU(Protocol Data Unit,协议数据单元)可以分为两个部分,报文头(IS-IS Header)和变长字段部分(Variable Length Fields)。
  • 其中IS-IS Header又分为通用头部(PDU Common Header)和专用头部(PDU Specific Header)。对于所有PDU来说,通用报文都是相同的,但专用报头根据PDU类型不同而有所差异


1、IS-IS通用头部详解

重要字段解释:

  • Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符,固定为0x83。
  • Length Indicator:IS-IS头部的长度(包括通用头部和专用头部),以Byte为单位。
  • Version/Protocol ID Extension:版本/协议标识扩展,固定为0x01。
  • System ID Length:NSAP地址或NET中System ID区域的长度,值为0时,标识System ID区域的长度为6Byte。
  • R(Reserved):保留,固定为0。
  • Version:固定为0x01。
  • Max Areas:支持的最大区域个数。设置为1~254的整数,表示该IS-IS进程实际所允许的最大区域地址数;设置为0,表示该IS-IS进程最大只支持3个区域地址数。


IS-IS报文类型概述

  • IS-IS的PDU有4种类型:IIH(IS-IS Hello),LSP(Link State PDU,链路状态报文),CSNP(Complete Sequence Number PDU,全序列号报文),PSNP(Partial Sequence Number PDU,部分序列号报文)。
  • IIH:用于建立和维持邻接关系,广播网络中的Level-1 IS-IS路由器使用Level-1 LAN IIH;广播网络中的Level-2 IS-IS路由器使用Level-2 LANIH;点到点网络中则使用P2P IIH。
  • LSP:用于交换链路状态信息。LSP分为两种,Level-1 LSP、Level-2 LSP。
  • SNP:通过描述全部或部分链路数据库中的LSP来同步各LSDB,从而维护LSDB的完整与同步。SNP包括CSNP和PSNP,进一步又可分为Level-1CSNP、Level-2 CSNP、Level-1 PSNP和Level-2 PSNP。

IS-IS常见的TLV

  • TLV的含义是:类型(TYPE),长度(LENGTH),值(VALUE)。实际上是一个数据结构,这个结构包含了这三个字段。
  • 使用TLV结构构件报文的好处是灵活性和扩展性好。采用TLV使用报文的整体结构固定,增加新特性只需要增加新TLV即可,不需要改变整个报文的整体结构。


ISIS-报文类型

整体分类:

类型全称备注
IIHISIS Hello PDU建立和维护邻居关系
LSPLink State PDU传输链路状态信息
SNPSequence Numbers PDU描述数据库中的LSP

PDU类型:

类型值简称全称
15L1 LAN IIHLevel-1 LAN IS-IS Hello PDU
16L2 LAN IIHLevel-2 LAN IS-IS Hello PDU
17P2P IIHPoint-to-Point IS-IS Hello PDU
18L1 LSPLevel-1 Link State PDU
20L2 LSPLevel-2 Link State PDU
24L1 CSNPLevel-1 Complete Sequence Numbers PDU
25L2 CSNPLevel-2 Complete Sequence Numbers PDU
26L1 PSNPLevel-1 Partial Sequence Numbers PDU
27L2 PSNPLevel-2 Partial Sequence Numbers PDU

Hello报文类型:

类型备注
L1 LAN IIH广播网络中的Level-1路由器使用
L2 LAN IIH广播网络中的Level-2路由器使用
P2P IIH点到点网络中的路由器使用

字段备注
Reserved/Circuit Type高位的6比特保留,值为0,低位的2比特表示路由的类型01=L1;10=L2;11=L1/2
Source ID发出Hello报文的路由器的System ID。
Holding Time邻居的保持时间(老化时间/死亡时间),默认为30秒,发送间隔默认为10秒,在配置中只能修改时间间隔,而老化时间就是时间间隔的3倍,例如将老化时间修改为20,则老化时间就会60。
PDU LengthPDU的总长度。
Priority选举DIS的优先级,取值范围0~127,越大越优先,默认值为64。
LAN IDDIS和伪节点的System ID。
Local Circuit ID本地链路ID。

LSP报文:

字段备注
PDU LengthPDU的总长度。
Remaining LifetimeLSP的存活时间,从1200倒计时(20分钟),与OSPF不一样OSPF是增加,IS-IS是减少。
LSP ID由三部分组成:System ID、伪节点ID和LSP的分片号。
Sequence NumberLSP的序列号。
ChecksumLSP的校验和。
PPartition Repair,仅与L2 LSP有关,表示路由器是否支持自动修复区域分割。
ATTAttachment,由L1/2路由器产生,仅与L1 LSP有关,表示产生此LSP的路由器与多个区域相连接。
OLLSDB Overload,表示本路由器因内存不足而导致LSDB不完整(过载)。其他路由器在进行SPF计算时不会考虑这台路由器,但到此路由器直连地址的报文仍然可以被转发。
IS-Type生成LSP的路由器的类型,01=Level-1;11=Level-2。

 例子:
假设路由器A想要去访问路由器C,但是路由器B的OL值置为了路由器A就会通过上面那条链路去访问路由器C,但如果是路由器B的直连网段的话就无所谓。

 SNP报文类型:

类型全称备注
CSNPComplete Sequence Numbers PDU通告LSDB中所有摘要信息,类似于OSPF中的DD报文
PSNPPartial Sequence Numbers PDU请求和确认链路状态信息,在广播类型网络与P2P网络中的作用有时候不一样,可以用来当请求报文也可以用来当作确认报文

TLV/CLV:

IS-IS报文中的变长字段部分是多个TLV(Type-Length-Value)三元组。

TLV也称为CLV(Code-Length-Value)。

TLV Type名称所应用的PDU类型
1Area AddressesIIH、LSP
2IS Neighbors(LSP)LSP
4Partition Designated Level2 ISL2 LSP
6IS Neighbors(MAC Address)LAN IIH
7IS Neighbors(SNPA Address)LAN IIH
8PaddingIIH
9LSP EntriesSNP
10Authentication InformationIIH、LSP、SNP
128IP Internal Reachability InformationLSP
129Protocols SupportedIIH、LSP
130IP External Reachability InformationLSP
131Inter-Domain Routing Protocol InformationL2 LSP

到这里本章内容就到此结束了如果有疑问可以关注博主私聊,如果有问题欢迎私聊博主及时更改谢谢大家的观看学习!!! 


http://www.kler.cn/a/598463.html

相关文章:

  • 基于ISO 26262的汽车芯片认证流程解读
  • 汽车芯片成本控制:挑战、策略与未来趋势
  • 如何用AI轻松制作PPT,让演示更智能!
  • 开发语言漫谈-groovy
  • 论文阅读:2023 arxiv Multiscale Positive-Unlabeled Detection of AI-Generated Texts
  • 批量在多个 PPT 文档的指定位置插入页,插入首页插入尾页
  • 如何使用SQL进行多表联合查询(SQLⅰte举例)
  • 0x16 Trie
  • 知道自己鼠标在某个竖直平面上的经纬度信息在这个竖直的平面上的实时坐标
  • Unity-VR中使用手柄点击UI
  • Deepseek浪潮下,汽车芯片开启“大变局”,谁将领跑?
  • 【算法】十大排序算法(含时间复杂度、核心思想)
  • 从入门到精通【MySQL】 CRUD
  • 使用LLaMA Factory微调导出模型,并用ollama运行,用open webui使用该模型
  • HTB 笔记 | XSS 篡改攻击学习指南
  • Entity Framework框架
  • SpringCloud-consul
  • 【拒绝算法PUA】LeetCode 2116. 判断一个括号字符串是否有效
  • 如何通过less在vue2中达到切换皮肤的目的
  • 【Unity3D】摄像机适配场景以及Canvas适配