前面已经学习了IS-IS的定义、组成、NET地址标识以及路由器级别分类等,今天继续学习IS-IS基础概念知识。
参考链接:IS-IS路由协议基础概念
一、IS-IS支持的网络类型
IS-IS会自动根据接口的数据链路层封装决定该接口的缺省网络类型, IS-IS支持两种类型的网络:
-
广播(Broadcast): 如 Ethernet。 -
点到点(P2P): 如 PPP、 HDLC等。
二、IS-IS开销值
IS-IS使用Cost(开销)作为路由度量值,Cost值越小,则路径越优。IS-IS链路的Cost与设备的接口有关,与OSPF类似,每一个激活了IS-IS的接口都会维护接口Cost。然而与OSPF不同的是,IS-IS接口的Cost在缺省情况下并不与接口带宽相关(在实际部署时,IS-IS也支持根据带宽调整Cost值),无论接口带宽多大,缺省时Cost为10。
一条IS-IS路径的Cost等于本路由器到达目标网段沿途的所有链路的Cost总和。
IS-IS有三种方式来确定接口的开销,按照优先级由高到低分别是:
-
接口开销:为单个接口设置开销。 -
全局开销:为所有接口设置开销。 -
自动计算开销:根据接口带宽自动计算开销。
IS-IS的接口cost值是按照出接口计算的。在IS-IS协议中,接口的cost值主要用于度量从当前路由器到达邻居路由器的开销。这个cost值是基于出接口的,即当前路由器通过某个出接口发送报文到达邻居路由器所需要的开销。
三、IS-IS报文格式
IS-IS报文是直接封装在数据链路层的帧结构中的。
PDU(Protocol Data Unit,协议数据单元)可以分为两个部分,报文头(IS-IS Header)和变长字段部分(Variable Length Fields )。
其中IS-IS Header又可分为通用头部(PDU Common Header) 和专用头部(PDU Specific Header)。对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别。
通用报文头部:
重要字段说明:
-
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报文=头部+TLV(一些数据字段),头部包括通用和专用,通用里面有一个PDU type,根据这个可能专用头部不一样。
四、IS-IS报文类型
头部里面的PDU type类型。
IS-IS的PDU有4种类型:
-
IIH(IS-IS Hello) :用于建立和维持邻接关系, 广播网络中的Level-1 IS-IS路由器使用Level-1 LAN IIH; 广播网络中的Level-2 IS-IS路由器使用Level-2 LAN IIH; 点到点网络中则使用P2P IIH。 -
LSP( Link State PDU,链路状态报文):用于交换链路状态信息。LSP分为两种,Level-1 LSP、Level-2 LSP。 -
SNP: 通过描述全部或部分链路数据库中的LSP来同步各LSDB,从而维护LSDB的完整与同步。SNP包括 CSNP和 PSNP,进一步又可分为Level-1 CSNP、 Level-2 CSNP、 Level-1 PSNP和Level-2 PSNP。
Hello报文:
-
广播网络:
-
level 1 -
level 2
-
-
PTP网络:
-
P2P IIH
-
LSP报文:
-
level 1
-
level 2
SNP报文:
-
CSNP
-
level 1 -
level 2
-
-
PSNP
-
level 1 -
level 2
-
ISIS的因为通过路由器类型划分区域,因此报文类型也与路由器类型相关区分level关联,会很多,大致了解即可,知晓功能就行。
五、IS-IS常见的TLV
TLV的含义是:类型(TYPE),长度(LENGTH),值(VALUE)。实际上是一个数据结构,这个结构包含了这三个字段。
使用TLV结构构建报文的好处是灵活性和扩展性好。采用TLV使得报文的整体结构固定,增加新特性只需要增加新TLV即可。
TLV Type | 名称 | PDU类型 |
---|---|---|
1 | Area Addresses 区域地址 | IIH、 LSP |
2 | IS Neighbors(LSP) 中间系统邻接 | LSP |
4 | Partition Designated Level2 IS 区域分段指定L2中间系统 | L2 LSP |
6 | IS Neighbors(MAC Address) 中间系统邻接 | LAN IIH |
7 | IS Neighbors(SNPA Address) 中间系统邻接 | LAN IIH |
8 | Padding 填充 | IIH |
9 | LSP Entries LSP条目 | SNP |
10 | Authentication Information 验证信息 | IIH、 LSP、 SNP |
128 | IP Internal Reachability Information IP内部可达性信息 | LSP |
129 | Protocols Supported 支持的协议 | IIH、 LSP |
130 | IP External Reachability Information IP外部可达性信息 | LSP |
131 | Inter-Domain Routing Protocol Information 域间路由选择协议信息 | L2 LSP |
132 | IP Interface Address IP接口地址 | IIH、 LSP |
简单说就是把类似于一些区域、邻接关系、邻居地址等以TLV的格式包含在报文中。以通用头部+TLV描述IS-IS的交互报文内容。
总结:今天主要学习了IS-IS支持广播和P2P网络;IS-IS默认Cost值为01,不与带宽挂钩,可以手动设置以出接口Cost值计量;IS-IS的报文类型有:Hello、LSP、CSNP、PSNP类型报文,然后根据路由器级别不同划分level1和2;IS-IS报文由报文头部和TLV构成,头部包括通用头部和专用头部,TLV其实就是一个数据定义的结构,附加在报文中。
如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子
本文由 mdnice 多平台发布