泛洪机制
Route接收到一条LSP时,处理流程:
- Route接收到LSP,在数据库中搜索对应的记录。若没有该LSP,则将其加入数据库,并组播新数据库内容。
- 若收到的LSP序列号大于本地LSP 的序列号,就替换为新报文,并组播新数据库内容;如果收到的LSP序列号小于本地LSP的序列号,就向入端接口发送本地LSP报文。
- 若两个序列号相等,则比较Remaining Lifetime(剩余生存时间)。若收到的LSP的Remaining Lifetime小于本地LSP的 Remaining Lifetime,就替换为新报文,并组播新数据库内容;若收到的LSP的 Remaining Lifetime大于本地LSP的Remaining Lifetime,就向入端接口发送本地LSP报文。
- 若两个序列号和 Remaining Lifetime都相等,则比较Checksum。若收到的LSP的Checksum大于本地LSP的Checksum,就替换为新报文,并组播新数据库内容;若收到的LSP的Checksum小于本地 LSP的Checksum,就向入端接口发送本地LSP报文。
- 若两个序列号、Remaining Lifetime和 Checksum都相等,则不转发该报文。
SRM和SSN 标志
SRM标志用来跟踪路由器从一个接口向邻居发送LSP的状态。
SSN标志用来跟踪向邻居请求完整的LSP状态(广播网络)。
广播网络的链路状态信息同步过程
- R3与R1、R2建立邻居关系之后,它将自己的 LSP(R3.00-00)发送到组播地址(L1:01-80-C2-00-00-14;L2:01-80-C2-00-00-15)。这样R1和R2都将收到该LSP。
- R2 (DIS)收到R3的LSP后将其加入到LSDB 数据库中,并等待CSNP报文定时器超时(DIS每隔10s发送 CSNP报文)并发送 CSNP报文,进行该网络内的LSDB同步。
- R3收到DIS 发来的CSNP报文(里面描述了4个LSP),对比自己的LSDB 数据库,发现自己的数据库并没有其中3个LSP,接着它会向DIS发送PSNP报文请求这3个LSP。
- DIS 收到该PSNP报文请求后向R3发送对应的LSP。
IS-IS认证
IS-IS支持以下三种认证类型:
1、接口认证:
接口认证只对Level-1和 Level-2的Hello报文进行认证,保障了同一链路上建立邻居关系的安全性。
2、区域认证:
区域认证是针对L1区域中的SNP和LSP报文进行认证的。 ?
3、路由域认证:
路由域认证是针对L2区域的SNP 和LSP报文进行认证的。
对于区域和路由域认证,可以根据情况,在接口的发送和接收两个方向上,分别针对SNP和 LSP两报文进行认证的设置。
- 配置本地发送的LSP报文和SNP报文都携带认证 TLV,而且对收到的LSP报文和SNP报文都进行认证检查。
- 配置本地发送的LSP报文携带认证 TLV,而且对收到的LSP报文进行认证检查;配置发送的SNP报文携带认证 TLV,但不对收到的SNP报文进行检查。
- 配置本地发送的LSP报文携带认证 TLV,对收到的LSP报文进行认证检查;发送的SNP报文不携带认证 TLV,也不对收到的SNP报文进行认证检查。
- 配置本地发送的LSP报文和 SNP报文都携带认证 TLV,但是对收到的LSP报文和SNP报文都不进行认证检查。
IS-IS三种认证类型
1、明文认证:最简单的认证方式,将配置的密码直接插入到报文中。
2、MD5认证:通过将配置的密码进行MD5算法之后再加入报文中,这样提高了密码的安全性。
?3、Keychain认证:使用Keychain可以配置密码的有效时间,从而实现密码的动态更换。
IS-IS GR
GR(Graceful Restart)平滑重启就是一种在主备倒换或协议重启时实现业务不间断转发的技术。?
基本概念
GR Restart:发生协议重启事件且具有GR能力的设备。 GR Helper:和 GR Restart具有邻居关系,协助完成GR流程的设备。 GR Session:IS-IS 邻居建立时进行关于GR能力的协商,一般把GR能力的协商过程称为GR Session。协商的内容包括双方是否都具备GR能力等。一旦GR能力协商通过,当协议重启时就可以进入GR流程。
IS-IS GR TLV与计时器
IS-IS 引入 Restart TLV(类型211)和T1、T2、T3三个定时器来实现GR。
1、?Restart TLV
Restart TLV包含在支持GR的路由器发出的IIH报文中,Restart TLV携带了进行GR流程的一系列参数,TLV值中包括标志位和剩余时间两个主要字段。
标志位解释: RR:重启请求位(Restart Request)。设备发送的RR置位的Hello报文用于通告邻居自己发生Restarting/Starting,请求邻居保留当前的IS-IS邻接关系并返回CSNP报文。
RA:Restart确认标志位(Restart Acknowledgement),当RA位为1时,表示是对重启路由器的应答。当GR Restarter 重启后,在每个接口上发的第一个 Hello报文中将RR标志位置1,通知GR Helper本设备正在重启;当GR Helper 收到GR Restarter 发来带有RR标志位的Hello报文时,立即回复一个将RA标志位置1的Hello报文作为对对方请求的确认。
SA:抑制发布邻接关系位(Suppress Adjacency Advertisement)是一个可选项,其主要目的是为了避免出现路由黑洞。
剩余时间(Remaining Time)
Remaining Time表示邻居关系超时的剩余时间(s),即邻居设备进入GR Helper 处理流程的最长保持时间。如果超出这个时间,则GR Restarter 和GR Helper 的邻居关系结束。当GR Helper收到GR Restarter 发送的带有RR标志位的Hello报文后,会立即回复一个将RA标志位置1的Hello报文作为确认,在这个确认报文中,需要将对应邻居(GR Restarter)离老化时间的剩余秒数填入Remaining Time字段。
2、计时器
T1定时器:如果 GR Restarter已发送RR置位的IIH报文,但直到T1定时器超时还没有收到GR Helper的包含Restart TLV且RA置位的IIH报文的确认消息时,会重置T1定时器并继续发送包含Restart TLV的IIH报文。当收到确认报文或者T1定时器已超时3次时,取消T1定时器。T1定时器缺省设置为3s。
T2定时器:GR Restarter 从重启开始到本Level所有设备LSDB完成同步的时间。T2定时器是系统等待各层LSDB同步的最长时间,一般情况下为60s。
T3定时器:GR Restarter成功完成GR所允许的最大时间。T3定时器的初始值为65535s,但在收到邻居回应的RA 置位的IIH报文后,取值会变为各个IIH报文的Remaining Time字段值中的最小者。T3定时器超时表示GR 失败。
IS-IS GR运行机制
- 当R1的IS-IS协议被重新全局使能时启动T2和T3定时器。当R1的接口重新UP并使能协议时,在接口上启动T1定时器,并且发送Hello报文。
- 当R2收到R1发出的Hello报文后,保持邻居R1的状态不变,立即发送一个Hello 报文。之后,R2发送CSNP报文和LSP报文给R1以协助其进行LSDB同步。
- 当R1在接口上收到了Hello报文以及接收到全部 CSNP报文后就可以取消T1定时器,否则就周期性地发送Hello报文,直到收到Hello报文以及全部CSNP报文或者T1定时器达到最大超时次数才取消该接口的T1定时器。
- 当LSDB同步完成之后,R1取消T2定时器。
- 当所有T2定时器都取消之后就可以取消T3定时器,GR流程结束,正式进入IS-IS的正常流程。此时需要在所有接口上启动IIH定时器,以后就周期性地发送正常的Hello报文。
- R1在恢复所有路由信息后重新进行路由计算,重新刷新FIB表。?
|