IS-IS(intermediate system-to-intermediate system)中间系统到中间系统
和ospf路由协议一样,is-is也是一个应用非常广泛的IGP路由协议,很多的ISP网络、特别是大型的ISP网络网络都部署了IS-IS路由协议
RIP和OSPF等许多IGP都是针对IP这个网络层协议而开发的路由协议,但IS-IS最初是针对CLNP(connection Less Network protocol,无连接网络协议)这个网络层协议而开发的路由协议。后来进行扩展的IS-IS既能支持CLNP,又能支持IP,这样的IS-IS协议被称为integrated IS-IS协议。目前,通常情况下所说的IS-IS都是指integrated IS-IS协议
IS-IS协议的基本特点
属于ISO协议族
IS-IS是ISO定义的OSI协议栈中无连接网络服务CLNS(connectionless network service)的一部分
CLNP是由以下三个协议构成的:
clnp:类似于TCP/IP中的IP协议
IS-IS:中间系统间的路由 协议
ES-IS:主机系统与中间系统的协议,就行IP中的ARP,ICMP,IRDP等
直接运行与链路层:
与大多数路由协议不同,IS-IS直接运行与链路层之上
链路状态路由协议
与OSPF功能类似,但是各有特点
支持IP,osi两种路由
可以在IP和OSI双重环境中工作
支持灵活的TLV编址方式,协议扩展性好
路由收敛速度快,结构清晰,适合于大规模网络
(DIS选举先看接口优先级,然后根据MAC地址进行选举,mac地址大的选为DIS)
NSAP的值自己设定XX.xxxx.XXXX.XXXX.XXXX.00,最后的00代表IP网络
前六位是区域ID,大小可变(后四位可不写)
7-18是系统ID,大小固定代表主机位,可以手动设置,也可以使用MAC地址或者IP地址
AFI相当于IP地址中的网络号
IDI标识域
High order dsp相当于IP中的子网位
system ID相当于IP中的主机位
NET:
网络标识实体:NET
NET既network entity titles,是一个特殊的NSAP地址,其中n-selector部分为O
NET是OSI协议栈中网络设备本身的标识
作为一个特殊的NSAP,一个NET至少为8个字节,最多为20个字节
关于NET的其他说明
分层:
层次性:IS-IS有两个级别,区分两个层次
level-1:普通区域(areas)叫做Level-1(L1)
level-2:骨干区域(Backbone)叫Level-2(L2)
默认路由器配置IS-IS后,是L1-L2的,既能运行L1,又能运行L2
骨干区域Backbone是连续的Level2路由器的集合;是由所有的L2(含L1/L2)路由器组成的,注意必须是连续(连通)的;
L1和L2运行相同的SPF算法
一个路由器可能同时参与L1和L2
区域边缘路由器要即运行L1又要运行L2
Level-1路由器
只与本区域的路由器形成邻居关系
只参与本区域内的路由,只保留本区域的数据库信息
通过与自己相连的L1/2的路由器的ATT bit寻找与自己最近的L1/2路由器
通过发布指向离自己最近的L1/2的路由器的缺省路由,访问其他访问其他区域
Level-2路由器:
可以与其他区域的L2路由器 形成邻居
参与骨干区的路由
保存整个骨干区的路由信息
L1/2路由即可同时参与L1路由
level-1-2路由器:
可以和本区域的任何级别的路由器形成邻居关系,可以和其他区域相邻的L2或L1/L2路由器形成邻居关系
可能有两个几倍的链路状态数据库
L1用来作为区域内路由,L2用来作为区域间路由
完成他所在的区域和骨干区域之间的路由信息的交换,将L1的LSDB中的路由信息转换到L2的LSDB中,以在骨干中传播,及承担L1的职责,也承担L2的职责
通常在区域边界上
区域;
IS-IS允许将整个路由域分为多个区域
区域之间通过L2(L1/L2)路由器相连接
一个路由器目前最多有三个Area ID(IOS和VRP的实现)
一个路由器必须整个属于某个区域,而不能像OSPF那样是同一台路由器上不同的接口可以属于不同的区域
对于Level-1路由器来说,只有属于同一区域才可以建立邻居,对于Leve2路由器则没有此区域限制
IS-IS协议使用的网络类型:
P-2-P网络:PPP
广播网络:Ethernet,Token,Ring等
IS-IS协议不能真正支持NBMA网络,可以将NBMA链路配置成子接口来支持。子接口类型为:P-2-P或者广播网络
IS-IS协议的报文类型:
IS-IS Hello Packets(IIH)
level 1 LAN IS-IS Hello
Level 2 LAN IS-IS Hello
Point-to-point Hello
Link State Packets (LSP)
Level 1 LSP和Level 2 LSP
Complete sequence number packets(CSNP)
Leve 1 CSNP和Level 2 CSNP
Partial Sequence Number Packets(PSNP)
Level 1 PSNP和Level 2 PSNP
IS-IS邻接关系的建立:
两台运行IS-IS的路由器在交互协议报文实现路由功能之前必须首先建立邻接关系。在不同类型的网络上,IS-IS的邻接建立方式并不同。目前的IS-IS支持如下两类网络:
点到点(不需要选DIS)
广播网络(需要选DIS)
IS-IS邻接关系建立需要遵循的基本原则:
只有同一层次的相邻路由才有可能成为邻接体
对于Level-1路由器来说要求区域号一致
同一网段检查
与OSPF不同之处
ospf优先级是10,IS-IS优先级是15
DIS的选举规则:
DIS由LAN IIH报文选举,具备最高优先级的路由器会被当选(所有的优先级都参选)。如果所有路由器优先级相同,则最高MAC地址者当选
Level-1和Level-2的DIS是分别选举的,选举结果可能不是同一个IS
DIS发送Hello数据包的时间间隔是普通路由器的三分之一,这样可以保证DIS失效可以被快速检测到(取整,是3S/次)
与OSPF不同,它的选举是抢占式,可预见:IS-IS中不存在备份DIS,当一个DIS不同工作的时候,直接选举另一个
因为广播网络的DIS选举是根据MAC地址进行选举,所以要人工干预:(优先级默认都是64)
TLV编码
方式:
TLV即type-length-value。TLV编码方式一种高效率,扩展性好的协议报文编码方式。也称为CLV编码(code-length-value)
T—type:蚕蛹不同的值定义不同类型
L—Length:整个TLV三元组的长度
V—Value:笨TLV的时间内容,最重要的部分
TLV编码的优点:
可扩展性好,如果想增加对于性特性的支持,只需增加新的TLV类型
链路状态协议数据单元:LSP
以下三个标志组合起来用来唯一标识一个LSP
SourceID(产生该LSP的结点或伪结点的SysID)
Pseudonode ID:对普通LSP为0:;对Pseudonode LSP非0,知识区分一个LSP是否是伪结点产生的标志
LSP number:分片号(产生的LSP大于LSP MTU将分片)
LSP id的例子:00c0.0040.1234.01——00,其中
SourceID:00c0.0040.1234
Pseudonde ID:01(表明是伪结点产生的)
分片号:0
LSP的序列号:
LSP Sequence Number;
Sequence Number:每个LSP(含LSP分片)都一个自己的序列号
当路由器启动IS-IS时候,自己产生的LSP的序列号为1
当发生变化需要重新生成LSP的时候,产生序列号增加的新的LSP传播出去
较大的序列号意味着LSP较新
LSP生存时间:
LSP Remaining lifetime:
每个LSP(含LSP分片)都有一个变化的生存时间相联系,用于老化旧的LSPs
当生存时间超时,LSP将从网络中清除
完全时序协议数据单元:CSNP
CSNP分为两种:Level 1 CSNP和Level 2 CSNP
CSNP用于在泛洪LSDB时数据库同步,以范围来描述数据库LSDB中的所有的LSPs
部分协议数据单元PSNP:
部分时序协议数据单元:
PSNP分为两种:Level 1 PSNP和Level 2 PSNP
PSNP的主要功能:
在点到点(P2P)链路上路由器用来作为Ack应答以确认收到某个LSP
用来请求接收最新的LSP,当路由器从邻居接收到CSNP时,通过比较自己的LSPBD注意到缺少了部分数据(或自己的LSP比较旧),路由器发送PSNP请求相应的LSP,以保持同步。
和SCNP一样,PSNP在头中利用LSP id,Sequence Number,Remaining lifetime,LSP checksum来描述LSP
IS-IS数据库交换过程:
进行数据库交换(flooding)的原因
所有的路由器产生一个LSP(可能分片),放在自己的数据库中
所有的LSP都要复制并发送到网络中的其他路由器,如果数据库不同步的话,路由计算就可能错误,可能引起路由环路。
可靠的flooding是IS-IS SPF路由计算算法的重要基础,而这两者是IS-IS作为链路状态路由协议最重要的两个组成部分。
IS-IS数据库交换过程:
产生新的LSP的时机:
邻接关系建立起来或者down掉
IS-IS相关接口UP/down
引入的IP路由发生变化
区域间的IP路由发生变化
接口被赋了新的metric值
周期性更新(三十分钟的周期性泛洪)
其他
SPF算法:
SPF算法:
Shortest Path First最短路径优先算法,也叫Dijkstra(荷兰数学家)算法,在链路状态路由协议中用来计算到网络的最短路径
以路由器为根,依据网络拓扑生成一颗最短路径树(SPT),计算出到网络中所有目的地的最短路径
在IS-IS中,spf算法分别独立的在Level-1和Level-2数据库中运行
IS-IS配置
修改在display isis peer中的system ID,
在IS-IS进程下:
isis
is-name R1
修改类别:Level1/2
isis
is-level XXX
查看信息
display isis interface 1(1是isis进程ID)
查看接口的详细信息(可以查看到MAC地址和优先级,优先级默认都是64)
display isis interface verbose
查看isis的默认值:每一项的默认值
display default-parameter isis