目录
ISIS在点到点网络下建立领接关系:(支持两次握手,默认三次)
背景
ISIS:中间系统到中间系统,原来的ISIS是ISO为OSI模型的网络层协议CLNP(无连接网络协议)所设计的,后来OSI被TCP/IP协议所取代,ISIS为适应TCP/IP做了扩展和修改,称为集成ISIS,既能够支持CLNP协议,也能支持IP协议,ISIS属于网络层协议,动态路由协议中的链路状态协议,运行在数据链路层。运行ISIS的路由器至少需要一个NET地址,NET地址属于一类特殊的NSAP(网络服务访问点,相当于IP地址)。
ISIS的路由器类型
- level-1路由器:可以和同区域的L-1或者L-1/2设备建立L-1领接关系,同步Level-1 LSDB
- level-2 路由器:可以和同区域/不同区域的L-2或者L-1/2设备建立L-2领接关系,同步Level-2 LSDB
- level-1-2 路由器:可以和同区域的L-1或者L-1/2设备建立L-1领接关系,同步level-1 LSDB,可以与同区域/不同区域的L-2或者L-1/2设备建立L-2领接关系,同步level-2 LSDB
· 注意:
- ISIS所有路由器之间建立的都是领接关系,分为level-1领接关系和level-2领接关系,其中L-1领接关系只能同区域建立,L-2领接关系可以同区域或者不同区域建立
- 建立不同领接关系所构建的LSDB也不同,分为Level-1的LSDB和level-2的LSDB,其中level-1 LSDB只包含本区域的路由和拓扑信息,level-2 LSDB不仅有本区域的路由信息,还会学习到其他区域的路由信息
ISIS的报文类型
- IIH:ISIS hello ,用于发现,建立维护邻居关系,分为Level-1 IIH,Level-2 IIH,P2P IIH
- LSP:用于携带详细的链路状态信息(相当于OSPF中的LSU报文),分为Level-1 LSP,Level-2 LSP
- LSP:(包含CSNP,PSNP)
CSNP:全序列号报文,用于判断LSDB是否同步(相当于OSPF中的DD报文),分为Level-1 CSNP,Level-2 CSNP
PSNP:部分序列号报文,用于请求和确认(相当于OSPF中的LSR和LSACK),分为Level-1 PSNP,Level-2 PSNP
注意:
- LSP的老化时间:1200s—>0s,初始1200s,0s表示LSP老化,周期性900s更新
- LSP ID:SystemID+伪节点ID+分片ID,例如:0000.0000.0001.00-00,其中0000.0000.0001为系统ID,表示由哪台路由器产生,系统ID后00为节点ID,用于表示该LSP是否为伪节点,0不是伪节点,其他的都为伪节点,-00为分片标识,用于表示该LSP是否做了分片,分片ID非0表示做了分片(查看路由器ISIS的LSDB时,LSP ID后携带*表示是查看的路由自己产生的LSP)。
ISIS支持的开销类型
- 缺省为窄开销,接口cost为10
- narrow:窄开销,0-63,可以发送/接收开销为窄开销的路由。
- wide:宽开销,0-16777214,可以发送/接收开销为宽开销的路由
- compatible:兼容开销,可以发送/接收-窄/宽开销的路由
- narrow-compatible:窄兼容,可以发送窄开销路由,接收窄宽开销路由
- wide-compatible:宽兼容,可以发送宽开销路由,接收窄/宽开销路由
注意:只有宽开销支持tag
ISIS认证(支持接口认证和区域认证以及路由域认证)
- 接口认证:针对接口下所连接的设备进行认证,携带在Hello报文中,认证通过才能正常建立领接关系(isis authentication-mode md5 cipher *)
- 区域认证:针对level-1 LSDB进行认证,认证信息携带在level-1 SNP和level-1 LSP报文中,并且对收到的level-1 SNP/LSP报文进行认证检查,认证通过才能正常接收level-1 SNP/LSP报文(没有开启认证的路由器不会检查报文中的认证信息)( area-authentication-mode simple/md5 cipher *)
- 路由域认证:doman-authentication-mode simple/md5 cipher *
ISIS路由器收到LSP的处理过程:
- 通过LSP ID[//]: # (系统ID+伪节点ID+分片ID)判断本地LSDB是否存在该LSP
- 如果已经存在相同的LSP,需要比较新旧
过程:
- 比较LSP的序列号,序列号大的更新
- 序列号相同,检查该LSP的老化时间是否为0s
- 为0s,则更优,替换本地直接老化
- 不为0,比较校验和,大的更新
- 序列号→老化时间→校验和5
注意:以上条件都一样(不为0秒,序列号校验和都相同),忽略此LSP不处理
ISIS在不同网络下建立领接关系
ISIS在MA网络下建立领接关系:(三次握手)
R1------R2(以Level-1路由器为例)
- R1发送一个Level-1 IlH,携带自己的系统ID、区域ID、以及邻居列表为空,此时处于Down状态。
- R2收到R1的IIH报文后,将报文中携带的R1系统ID加入自己的邻居列表,发送一个携带R1系统ID的Level-1 llH,包含自身系统ID和区域ID,此时R2处于Init状态
- Ri收到R2发送的IH,发现此报文邻居列表携带了自己的系统ID,邻居关系UP,表示建立了邻接关系,并且将R2的系统ID放入邻居列表,回复一个携带R2系统ID的IH报文,R2收到后进入uP状态
ISIS在点到点网络下建立领接关系:(支持两次握手,默认三次)
两次握手:
R1—R2
- R1发送一个P2P IIH,携带自身系统ID,区域ID,邻居列表为空,R2收到后,邻接关系UP
- R2发送一个P2P IIH,携带自身系统ID,区域ID,邻居列表为空,R1收到后,邻接关系UP
注意: 两次握手建立领接关系不可靠,容易造成单通风险,所以两种网络类型都默认三次握手建立领接关系。
ISIS在不同网络下LSDB的同步过程
MA网络下LSDB的同步过程:
领接关系建立完成后,选举出DIS,DIS会周期性10s发送CSNP报文,判断该MA网络的LSDB是否同步,所有建立完领接关系的路由器都会将自己的LSP发往组播地址(Level-1领接关系发往Level-1组播地址),DIS就会有所有的LSP构建完整的LSDB。
- 当新加入一台设备时,建立完领接关系后会将自己的LSP发往组播地址,DIS将其LSP放入LSDB中
- DIS等待CSNP计时器超时后组播发送CSNP(10s)报文,携带LSDB的摘要信息。
- 新加入设备收到CSNP后,判断自己缺
少了LSP,向组播地址发送PSNP报文进行请求 - DIS收到PSNP请求后,回复详细的LSP报文信息
注意:
在MA网络环境下,PSNP报文只有请求的作用,通过DIS周期性发CSNP报文进行隐式确认
点到点网路下的LSDB的同步过程:
R1—R2
- R1和R2建立完领接关系后,交互CSNP报文,携带自身LSDB的摘要信息
- 路由器通过CSNP报文判断自身缺少LSP,发送PSNP报文进行请求
- 对端路由器收到PSNP请求后,回复详细的LSP报文,并启动一个5秒的重传计时器(如果重传计时器超时未收到确认,则重新发送LSP)
- 收到详细LSP报文的路由器将其加入本地LSDB,并回复一个PSNP确认报文
ISIS通过组播发送报文:
Level-1组播MAC:0180-c200-0014
Level-2 组播MAC:0180-c200-0015
DIS和DR的异同:(有七个不同)
- 选举:DR选举通过优先级+RID,DIS通过优先级+MAC地址
- 选举时间:DR在2-way状态下选举,选举时间40s,DIS在邻接关系UP后选举,选举时间2倍hello时间(20s)
- 优先级:DR优先级0-255,默认1,0不参与选举,DIS优先级0-127,默认64,0参与选举
- 作用:DR为了减少领接关系以及描述网络拓扑和路由信息,DIS创建伪节点描述网络拓扑信息,周期性发送CSNP报文,同步LSDB
- hello时间:DR的hello时间和死亡时间和普通设备一致,DIS则是通过普通设备的1/3
- 抢占:DR不支持抢占,DIS支持
- 备份:DR有BDR备份,DIS没有
DIS的作用:
用来创建和更新伪节点(Pseudonodes),并负责生成伪节点的LSP,用来描述这个网络上有哪些网络设备。伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。
伪节点:记录该广播网络内所有IS-IS路由器和保证广播网络中链路状态数据库的同步。
ATT置位条件:
- 这是一台level-1/2设备
- 建立了不同区域的level-2领接关系
- 建立了同区域的level-1领接的关系
ISIS的配置