ISIS通用头部
ID length:system id的长度
PDU type:报文的类型
Max Areas:支持的最大的区域个数,最大支持3个
ISIS常见TLV
邻接关系建立原则
- 只有同一层次的相邻路由器才有可能成为邻接
- 对于L1路由器来说,区域 ID必须一致
- 链路两端ISIS接口的网络类型必须一致
- ISIS接口的地址必须处于同一网段下(主从地址有一对在一网段就可以建立)
- 点到点链路上必须主地址在同一网段
dis isis error interface g0/0/0 //查看isis错误信息
ip address 1.1.1.2 24 sub //从地址
在IP网络上运行ISIS时,需要检查对方的IP地址。如果接口配置了从IP,那么只要双发有某个IP在同一网段,就能建立邻接,不一定要IP相同。
广播型链路邻接关系建立过程
状态机:Down,init,up(相当于2-way);LSDB的同步过程没有任何定义任何状态机制,自己默默完成同步
实际上Neighbour携带的是MAC地址,不是system id,采用三次握手建立邻居
广播型链路同步过程
R1是DIS,R2是非DIS,已经完成了LSP同步。
此时,R3为新增路由器接入,分别和这两台路由器建起邻居到up状态,并且DIS没有被抢夺
新增路由器和DIS一旦建立邻居,就会直接互相发送自身LSDB中的所有LSP
非DIS路由器和新增路由器建立邻居关系,但不会向新增路由器发送自身的LSDB中的LSP,避免重复发送LSP
非DIS路由器收到新增路由器的LSP后,如果是新的LSP,添加到自身的LSDB中,不会发送PSNP确认此LSP,并向其他链路上邻居泛洪这些LSP
新增路由器收到DIS的CSNP后(DIS会每隔10s周期性发送CSNP信息),根据比较自身的LSDB,发送相应的PSNP,DIS接收PSNP后,发送相应的LSP,新增路由器接收到之后,添加到自身的LSDB,不会发送PSNP确认这些LSP,同步过程结束,并向其他链路泛洪
DIS每10秒周期组播发送CSNP,维护此广播型网络上路由器的LSDB同步
上来直接互相发送LSP,发送完成之后,开始互相发送PSNP进行确认,之后再发送CSNP
点到点网络中的邻接关系建立过程
- 两次握手开启:isis ppp-negotiation 2-way 只能在点到点链路上使用,hello报文中不携带TLV240,接口也不处理TLV240;两次握手的速度更快,但是可能会导致对方并没有把自己当成邻居
- 三次握手开启:isis ppp-negotiation 3-way 接口启用3次握手建立邻居,但向下兼容2次握手,接口发送的hello的报文携带TLV240,但可以处理不携带TLV240的hello包,三次握手使用TLV240
- 仅用三次握手建立邻居,isis ppp-negotiation 3-way only仅用3次握手建立邻居
点到点网络中LSP的同步过程
有了LSP之后会直接发给对方,对方收到之后回复PSNP进行确认,如果R1没有收到PSNP的确认,会重新发送LSP,R2会重新回复PSNP
为什么ISIS可以做到直接发送全部LSP
如果将8条静态路由引入到ospf之后将会产生8条LSA,而如果引入到ISIS中,ISIS只会产生一条LSP
DIS与伪节点
DIS基于级别来选举,L1选举出L1的DIS,L2选举出L2的DIS,分别来维护各个级别的数据库。
DIS负责生成为节点LSP(2类LSA)
DIS选举:
- DIS的优先级越大越优,优先级相同,比较MAC地址,越大越优。
- 优先级等于0的路由器依然可以进行DIS选举,比较MAC地址。
- DIS可以被抢夺
- 没有BDIS
在ISIS广播网中,同一网段上的同一级别路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系。
IIH
DIS 的systemID是伪节点标识符(DIS SYSTEM ID.PID)
IIH L1HELLO L2 HELLO
- L1的路由器在bro链路上发送L1的hello,L2的路由器在bro链路发送L2的hello,和接口链路级别无关。
- L12路由器在L12的bro链路上发送L1的hello,也发送L2的hello
- L12路由器在L1的bro链路上只发送L1的hello
- L12路由器在L2的bro链路上只发送L2的hello
- isis circuit-level 控制bro链路的链路级别
- 两边的hello周期与失效时间不一样,也可以建立起邻居关系(如果是ospf则需要一样)
IIH P2P HELLO
- L1路由器在P2P链路上建立L1的邻居,和链路级别无关
- L2路由器在P2P链路上建立L2的邻居,和链路级别无关
- L12的路由器在P2P的L1链路上建立L1的邻居,区域ID要一样
- L12的路由器在P2P的L2链路上建立L2的邻居,区域ID无关
- L12的路由器在P2P的L12链路上和相同区域的L12路由建立L12的邻居
- L12的路由器在P2P的L12链路上和不同区域的路由器建立L2的邻居
总结:L1,L2路由器级别决定邻居的级别,L12的路由器和链路级别共同决定邻居的级别
p2p链路上hello包,10s发送一次,邻居失效时间是30s,默认是hello间隔的3倍(让邻居认为自己多久失效)
bro链路上DIS发送间隔是3s,DIS失效时间是9S;非DIS发送间隔是10s,失效时间是30s
int g0/0/0 isis time hello //修改hello的时间 isis timer holding-multiplier 3 //失效时间是hello时间的3倍