ISIS协议原理与配置
ISIS协议原理与配置
ISIS和OSPF一样,也是基于链路状态并使用最短路径优先算法进行路由计算的一种IGP协议。最初只能是在OSI环境中使用,后来被修订后也支持TCP/IP环境。
OSPF:协议主要适用于园区网;而园区网的特点是:区域多样、策略多变、调度精细。
ISIS协议主要适用于骨干网;而骨干网的特点是:区域扁平、收敛极快、承载庞大。架构层面扁平化,要求IGP作为基础路由为上层BGP协议服务。
ISIS属于内部网关协议,用于自治系统内部。ISIS是一种链路状态协议,使用最短路径优先算法进行路由计算。
路由计算过程
建立邻居关系:
邻居关系建立主要是通过HELLO包交互并协商各种参数,包括电路类型(level-1/2),hold time,网络类型,支持协议,区域号,系统ID,PDU长度,接口IP等。
链路信息交换:
与OSPF不同,ISIS交互链路状态信息的基本载体不是LSA而是LSP(link state PDU);交互的过程没有OSPF协议那样经历了多个阶段,主要是通过CSNP和PSNP两种协议报文同步,请求以及确认链路状态信息(承载的是链路状态信息摘要),而链路状态信息的详细拓扑和路由信息是由LSP报文传递。
路由计算:
SPF计算和OSPF基本一样的,但ISIS算法分离了拓扑结构和IP网段,加快了网络收敛速度。
路由器种类分为三种:
level-1:
level-1只能与属于同一区域的level-1和level-2路由器形成邻居关系,只负责维护level-1的链路状态数据库,该LSDB包含本区域的路由信息,到本区域外的报文转发给最近的level-1-2路由器。level-路由器只可能建立level-1的邻接关系。
level-2:
level-2路由器负责区域的路由器的路由,它可以与相同或不同区域的level-2的路由器或者不同区域的level-1-2路由器形成邻居关系。level-2路由器只可能建立level-2的邻接关系。
Level-1-2:
同时属于Level-1和Level-2的路由器。Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由器,Level-2的LSDB用于维护区域间路由。
Level-1-2路由器可以与同一区域的Level-1形成Level-1邻居关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2 的邻居关系。
不同区域间,只能建立Level-2的邻接关系:
Level-2路由器可以与Level-2路由器建立邻接关系。
Level-1-2路由器可以与Level-2路由器建立邻接关系。
Level-1-2路由器可以与Level-1-2路由器建立邻接关系。
解释:level-1只能自己和自己玩,邻居关系的建立只能是level-1和level-1-2类型的路由器。而LSDB信息只有自己区域的信息,因为level-1的区域要想和其他区域通信,就只能从level-1-2的区域进行中转。所以要与level-1-2的区域进行邻居建立。
各个区域建立邻接关系的条件是只能与和自己相同类型的路由器建立邻接关系。
level-1-2是保证level-1和level-2两个区域能够通信的保障,所以level-1-2路由器上由两类LSDB信息。硬件配置要求就要相对高一点。
由level-2路由器组成的区域一般被称为骨干区域。
hello报文
- HELLO PDU(hello protocol data unit)
hello报文的作用是邻居发现,协商参数并建立邻居关系,后期充当保活报文。
ISIS建立邻居关系和OSPF一样,通过hello报文的交互来完成。但是会根据场景分为三种类型的hello报文。
广播网中的level-1 ISIS使用level-1 LAN IIH(level-1 ISIS hello),目的组播MAC为:0180-c200-0014.
广播网中的level-2 ISIS使用level-2 LAN IIH(level-2 ISIS hello),目的组播MAC为:0180-c200-0015.
非广播网络中则使用P2P IIH。但是其没有表示DIS(虚节点)的相关字段。
IIH报文需要通过填充字段用于邻居两端协商发送报文的大小。
ISIS支持的网络类型:
点对点网络类型(P2P)。
广播多路访问网络类型(Broadcast Access)。
在帧中继等特殊环境下,可以通过创建子接口支持P2P的网络类型。
DIS是指指定中间系统。
伪节点是指在广播网络中由DIS创建的虚拟路由器。
DIS的特点:
在广播网络,需要选举DIS,所以在邻居关系建立后,路由器会等待两个hello报文间隔再进行DIS的选举。hello报文中包含Priority字段,Priority值最大的将被选举为该广播网的DIS。若优先级相同,接口MAC地址较大的选举为DIS。ISIS中DIS发送hello时间间隔默认为10/3秒,而其他非DIS路由器发送hello时间间隔为10秒。
DIS与DR的类比:
选举时优先级的比较,DIS的优先级为0也可以参与选举。ospf中优先级为0不参与选举DR。
选举的过程需要一定的时间。OSPF选举DR/BDR需要waiting time达40秒,过程也较为复杂,而ISIS选举等待两个hello报文间隔就可以,简单快捷。
选举结果ISIS只有一个DIS,但是OSPF除了DR,还有一个BDR做备份。
选举结束后,后期有新的Router加入到链路进来,如果优先级比DIS高是可以抢占的,但是DR不可抢占。
选举完成后,ISIS网络链路内所有的路由器都建立邻接关系。OSPF中DRothers只与DR/BDR形成full邻接关系,DRother之间只有2-way的关系。
关于DIS和DR的作用:
进行SPF计算时,都把它当成虚节点,简化MA网络的逻辑拓扑(相同点)。
都是为了减少LSP/LSA的泛洪(相同点)。
在ISIS中还可以由DIS发送CSNP来同步链路的LSDB(ISIS扩展作用)。
链路状态信息载体
- LSP PDU——————用于交换链路状态信息。
-
实节点LSP
-
伪节点LSP(只在广播链路存在)
- SNP PDU——————用于维护LSDB的完整与同步,且为摘要信息。
-
CSNP(complete sequence number PDU)(用于同步LSP):包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。
-
PSNP(用于请求和确认LSP)
- PSNP(partial sequence number PDU)包含部分LSDB中的LSP摘要信息,能够对LSP进行请求和确认。
- CSNP类似于OSPF的DD报文传递的时LSDB里所有链路信息摘要。PSNP类似与OSPF的LSR或LSAck报文用于请求和确认部分链路信息。
P2P网络LSDB同步过程: - 建立邻居关系之后,A和B会先发送CSNP给对端设备。如果对端的LSDB与CSNP没有同步,则发送PSNP请求索取相应的LSP。
- 假定B和A索取相应的LSP,此时向A发送PSNP。A发送B请求的LSP同时启动LSP重传定时器,并等待B发送PSNP作为收到LSP的确认。
- 如果在接口LSP重传计时器超时后,A还没收到B发送的PSNP报文作为应答,则重新发送该LSP直到收到B的PSNP报文作为确认。
MA网络中新加入的路由器与DIS的LSDB同步交互过程: - 假设新加入的路由器C已经与B(DIS)和A建立了邻居关系。
- 建立邻居关系之后,C将自己的LSP发往组播地址level-1:----------14;level-2:15;这样网络上所有的邻居都将收到该LSP。
- 该网段中的DIS会把收到的C的LSP加入到LSDB中,并等待CSNP报文定时器超时(DIS每隔10秒发送CSNP报文)并发送CSNP报文,进行该网络内的LSDB同步。
- C收到DIS发来的CSNP报文,对比自己的LSDB数据库,然后DIS发送PNSP报文请求自己没有的LSP(如A和B的LSP就没有)。
- B作为(DIS)收到该PSNP报文请求后向C发送对应的LSP进行LSDB的同步。
路由算法
ISIS的计算特点:
- 在本区域内路由器第一次启动的时候执行的时full-spf算法。
- 后续收到的LSP更新,如果是部分拓扑的变化执行的ISPF计算。
- 如果只是路由信息的变化,执行的就是PRC计算。】由于采用拓扑与网络分离的算法,路由收敛速度得到了加强。
ISIS路由计算的开销方式:
- Narrow模式(设备默认开销都是10,手工配置接口开销取值范围为1-63).
- WIde模式(设备默认模式开销都是10,手工配置接口开销取值范围是1-16777215).
- 进程下加入auto-cost enable命令,Narrow模式和Wide模式都会参考接口带宽大小计算开销值,只是参考准则有少许差异。
level-1-2路由器的路由特点:
- 在自己产生的level-1的LSP中设置了ATT比特位为1。
- 路由表里边有整个网络的路由器信息。
练习:
IP配置省略了
R1上的配置。
R2上的配置。
isis 100 //进程号为100
is-level level-1//路由器类型为level-1
auto-cost enable//自动更具带宽计算开销
network-entity 49.0001.0000.0000.0002.00//类似于OSPF 的宣告
import-route isis level-2 into level-1//将level-2的路由信息引入到level-1
R3上的配置。
isis 100
auto-cost enable
network-entity 49.0001.0000.0000.0003.00
import-route isis level-2 into level-1
R4上的配置
isis 100
is-level level-2
network-entity 49.0002.0000.0000.0004.00
R5上的配置
isis 100
is-level level-2
network-entity 49.0002.0000.0000.0005.00
import-route direct //引入外部直连路由
summary 192.168.0.0 255.255.0.0//将外部直连路由汇总
检验是否全网可达