中间系统到中间系统的路由选择协议(IS-IS)是由 ISO 提出的一种路由选择协议。它是一种链路状态协议。在该协议中,IS(路由器)负责交换基于链路开销的路由信息并决定网络拓朴结构。IS-IS 类似于 TCP/IP 网络的开放最短路径优先(OSPF)协议。
ISO 网络包含了终端系统、中间系统、区域(Area)和域(Domain)。终端系统指用户设备,中间系统指路由器。路由器形成的本地组称之为“区域”,多个区域组成一个“域”。IS-IS 被设计来提供域内或一个区域内的路由。IS-IS与 CLNP、ES-IS 和 IDRP协议相结合,为整个网络提供完整的路由选择。
IS-IS 路由使用两层路由体系。Level 1 路由器只知道它们本区域中的拓扑,包括所有的路由器和主机,而不知道区域以外的路由器以及目的地。Level 1 路由器将去往其它区域的所有流量都转发给本区域内的一台 L2 路由器,该路由器知道 level 2 的拓朴,而不需要知道任何 level 1 的拓朴,除非 level 2 路由器也是该区域里的 level 1 路由器。
适合传送 IP 网络信息的 IS-IS 称之为综合 IS-IS(Integrated IS-IS)。在当前路由选择协议中,Integrated IS-IS 具有最重要的一个特征:它支持 VLSM 和快速收敛。另外它具有可伸缩性,能够支持大规模网络。
IS-IS 具有两种地址类型:
  • 网络服务访问点(NSAP)– NSAP 地址用来标识网络层服务,每种服务对应一个 NSAP 地址。
  • 网络实体标题(NET)– NET 地址用来标识网络层实体或过程,而不是服务。
每种设备可能不止含有一个地址,但是 NET 应该是唯一的并且每个系统中 NSAP 的 系统 ID 部分也必须是唯一的。
协议结构
IS-IS PDU 头结构:
816bit
Intradomain routing protocol discriminatorLength indicator
Version/protocol ID extensionID length
RRRPDU typeVersion
ReservedMaximum area addresses
  • Intradomain Routing Protocol Discriminator ― 分配给该协议的网络层协议标识符。
  • Length Indicator ― 固定头长(octet)。
  • Version/protocol ID Extension ― 值为1。
  • ID Length ― 指 NSAP 地址以及该路由域中使用的 NET 的 ID 字段长。
  • R ― 预留位。
  • PDU Type ― PDU 类型。位6、位7和位8作为预留位。
  • Version ― 值为1。
  • Maximum Area Addresses ― 该中间系统区域所许可的区域地址号。
IS-IS 中的 NSAP 格式:
<- IDP -><- DSP ->
 <- HO-DSP -> 
AFIIDIContents assigned by authority identified in IDI field
<- Area Address -><- ID -><- SEL ->
  • IDP ― 初始域部分(Initial Domain Part)。
    • AFI ― 权限格式标识符(Authority and Format Identifier ,1字节)。提供 IDI 和 DSP 字段的结构和内容等信息。
    • IDI ― 初始域标识符(Initial Domain Identifier,可变长)。
  • DSP ― 域特定部分(Domain Specific Part)
    • HO-DSP ― 高级-特定域部分(High Order Domain Specific Part)。
    • 区域地址(Area Address,可变长)。
    • ID ― 系统 ID (1- 8 字节)。
  • SEL ― 选择器(1字节,其功能等同于网际协议中的端口号)。