IS-IS是ISO定义的OSI协议栈中的CLNS(ConnectionLess.NETwork Service,无连接网络服务)的一部分。
集成IS-IS特点:
OSPF特点:
略语 | OSI术语 | IETF术语 |
---|---|---|
IS | Intermediate System | Router |
ES | End System | Host |
DIS | Designated Intermediate System | OSPF中的DR |
SysID | System ID | OSPF中的Router ID |
LSP | Link State PDU | OSPF中的LSA |
IIH | IS-IS Hello PDU | OSPF中的Hello报文 |
PSNP | Partial Sequence Number PDU | OSPF中的LSR或LSAck报文 |
CSNP | Complete Sequence Number PDU | OSPF中的DD报文 |
★”
IS(Intermediate System,中间系统):IS是指运行IS-IS协议的路由设备。它是IS-IS协议中生成路由和传播路由信息的基本单元。就是指路由器 RD(Routing DomAIn,路由域) :RD是指由多个使用IS-IS协议的路由器所组成的范围。 Area(区域) : Area是IS-IS路由域的细分单元。IS-IS与OSPF一样,允许将整个路由域分为多个区域,且总体上也分为普通区域和骨干区域两类,但 IS-IS 的普通区域必须与骨干区域直接连接(没有OSPF中的“虚连接”),普通区域之间不能直接连接。Area又可根据网络中路由器的类型划分为Level-1区域(全由Level-1路由器组成)和Level2区域(由Level-2和Level-1-2路由器组成) Sys ID(System ID,系统ID):在IS-IS 协议中使用Sys ID 唯一标识一台路由器,必须保证在整个IS-IS 路由域中每台路由器的系统ID 都是唯一的,与OSPF 中的路由器ID(Router ID)一样。 LSP(Link-State Packet,链路状态报文):LSP是IS-IS网络中的设备用来通过泛洪方式向所有邻居通告自己的链路状态信息的报文,类似于OSPF 中的 LSA(链路状态通告)。网络中每台路由器都会产生带有自己系统ID标识的LSP报文,可以通过发送LSP不断更新自己的链路状态信息。 LSDB(Link State DataBase,链路状态数据库):路由器的每个区域都有一个专门存放该区域所接收的所有 LSP 报文的数据库。通过LSP的泛洪,最终使整个区域内的所有路由器拥有相同的LSDB。 DIS(Designated IS,指定IS):在IS-IS广播网络类型中需要选举一个指定IS(DIS),以便周期性地向区域内其他路由器进行区域LSDB 数据库的泛洪(区域内的非DIS 仅与DIS 之间进行LSDB 交互,非DIS之间不能直接进行LSDB交互),使整个区域中各路由器的LSDB同步。类似于OSPF中的DR。
由于IS-IS原来是为CLNP设计的。CLNP网络不是使用IP地址来进行通信的,而是使用NSAP地址来进行通信。即便现在是集成IS-IS,但是使用NSAP地址这项还是保留了下来。
NSAP(Network Service Access Point,网络服务访问点)是OSI协议栈中用于定位资源的地址,主要用于提供网络层和上层应用之间的接口。NSAP包括IDP及DSP,如上图所示
IDP(Initial Domian Part):
相当于IP地址中的主网络号。它是由ISO规定,并由AFI(Authority and Format Identifier)与IDI(Initial Domain Identifier)两部分组成。AFI表示地址分配机构和地址格式,IDI用来标识域。
DSP(Domian Specific Part):
相当于IP地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域,System ID用来区分主机,SEL(NSAP Selector)用来指示服务类型
NET(Network Entity Title,网络实体名称是OSI协议栈中设备的网络层信息,主要用于路由计算,由区域地址(Area ID)和System ID组成,可以看作是特殊的NSAP(SEL为00的NSAP)。
★SEL的作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。在IP上SEL均为00。
”
NET的长度与NSAP的相同,最长为20Byte,最短为8Byte。 在IP网络中运行IS-IS时,只需配置NET,根据NET地址设备可以获取到Area ID以及System ID。
每台运行IS-IS的网络设备至少需拥有一个NET,当然,一台设备也可以同时配置多个NET,但是这些NET的System ID必须相同。
在华为的网络设备上,System ID的长度总是固定的6Byte。在一个IS-IS路由域中,设备的System ID必须唯一,为了便于管理,一般根据Router ID配置System ID。
例如一台设备的区域号为49.0001,Router ID 为10.0.1.1,则其对应的NET地址为: 49.0001.0100.0000.1001.00。
在IS-IS中,路由器可以分为三种类型
L1/2路由器不一定要位于区域边界,在区域内部也有可能存在L1/2路由器
为了支持大规模的路由网络,IS-IS在自治系统内采用骨干区域与非骨干区域两级的分层结构。一般来说,将Level-1路由器部署在非骨干区域,Level-2路由器和Level-1-2路由器部署在骨干区域。每一个非骨干区域都通过Level-1-2路由器与骨干区域相连。
在OSPF中,骨干区域固定为Area 0,且非骨干区域要和骨干区域相连(没有通过物理连接的话则要进行虚连接)。但是在IS-IS中:
可以有多个骨干区域,且区域ID不固定
非骨干区域必须和骨干区域物理相连(通过L1/2路由器)
非骨干区域之间不能直接连接
IS-IS会自动根据接口的数据链路层封装决定该接口的缺省网络类型, IS-IS支持两种类型的网络:
重要字段解释:
”
IntradomainRouting 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的PDU有4种类型:
用于建立和维持邻接关系。
关键字段解析:
”
Reserved/Circuit Type: 表示路由器的类型(01表示L1,10表示L2,11表示L1/L2)。
Source ID:发出Hello报文的路由器的System ID。
Holding Time : 保持时间。在此时间内如果没有收到邻接发来的Hello报文,则中止已建立的邻接关系。
Priority:选举DIS的优先级,取值范围为0~127。数值越大,优先级越高。该字段只在广播网中的Hello消息(LAN IIH消息)携带;点到点网络的Hello消息(P2P IIH消息)没有此字段,也没有此字段之前的R保留位。
LAN ID : 包括DIS的System ID和伪节点ID。该字段只在广播网中的Hello消息(LAN IIH消息)携带;点到点网络的Hello消息(P2P IIH消息)没有此字段。
Local Circuit ID:本地链路ID。该字段只在点到点网络的Hello消息(P2P IIH消息)携带;广播网中的Hello消息(LAN IIH消息)没有此字段。
用于交换链路状态信息。LSP分为两种,Level-1 LSP、Level-2 LSP。Level–1 LSP由Level-1路由器传送,Level–2 LSP由Level-2路由器传送,Level-1-2路由器则可传送以上两种LSP。两类LSP有相同的报文格式。
关键字段解析
”
Remaining Lifetime : LSP的生存时间,以秒为单位。
LSP ID: 由三部分组成,System ID、伪节点ID和LSP分片后的编号。
Sequence Number: LSP的序列号。在路由器启动时所发送的第一个LSP报文中的序列号为1,以后当需要生成新的LSP时,新LSP的序列号在前一个LSP序列号的基础上加1。更高的序列号意味着更新的LSP。
Checksum : LSP的校验和。
ATT(Attachment):由Level-1-2路由器产生,用来指明始发路由器是否与其它区域相连。虽然此标志位也存在于Level-1和Level-2的LSP中,但实际上此字段只和Level-1-2路由器始发的L1 LSP有关。
OL(LSDB Overload,1bit):过载标志位。设置了过载标志位的LSP虽然还会在网络中扩散,但是在计算通过超载路由器的路由时不会被采用。即对路由器设置过载位后,其它路由器在进行SPF计算时不会考虑这台路由器。当路由器内存不足时,系统自动在发送的LSP报文中设置过载标志位。
IS Type(2bit): 生成LSP的路由器的类型。用来指明是Level-1还是Level-2路由器(01表示Level-1,11表示Level-2)。
通过描述全部或部分链路数据库中的LSP来同步各LSDB,从而维护LSDB的完整与同步。SNP包括CSNP和PSNP,进一步又可分为Level-1 CSNP、 Level-2 CSNP、 Level-1 PSNP和Level-2 PSNP。
CSNP包含该设备LSDB中所有的LSP摘要,路由器通过交互 CSNP来判断是否需要同步LSDB。
在广播网络上,CSNP由DIS定期发送(缺省的发送周期为10秒)。
在点到点网络上,CSNP只在第一次建立邻接关系时发送。
PSNP只包含部分LSP的摘要信息(与CSNP不同):
TLV的含义是:类型(TYPE),长度(LENGTH),值(VALUE)。实际上是一个数据结构,这个结构包含了这三个字段。使用TLV结构构建报文的好处是灵活性和扩展性好。采用TLV使得报文的整体结构固定,增加新特性只需要增加新TLV即可,不需要改变整个报文的整体结构。