DA000009 IS-IS协议 ISSUE1.0
第1章 IS-IS协议基本原理
3. 全时序协议数据单元(CSNP:Complete Sequence Numbers Protocol Data Unit)
CSNP分为两种:Level 1 CSNP和Level 2 CSNP。用于广播链路上的LSPDB同步。 DIS在广播接口上每10秒发送一次CSNP。CSNP包含了本地数据库里所有LSP的完整列表。正如前面所提到,CSNP用于数据库同步。在串行线路上,只在第一次邻接时发送CSNP。
4. 部分时序协议数据单元(PSNP:Partial sequence Number Protocol Data Unit)
PSNP分为两种:Level 1 PSNP和Level 2 PSNP。
用于非广播链路时,类似于p2p链路上的ACK,响应LSP报文。
在广播链路上,PSNP用于数据库同步。当路由器从近邻接收到CSNP时,注意到CSNP丢失了部分数据库,路由器发送PSNP请求新的LSP。
10
DA000009 IS-IS协议 ISSUE1.0
第1章 IS-IS协议基本原理
1.6 邻居建立及数据库同步
路由器间建立邻居关系的过程路由器A路由器BDownInitUpUpUpUpHello (DR=0.0.0.0)Hello (DR=0.0.0.0)Hello (DR is selected)LSPCSNPPSNPDownInitUpUpUpUp 上图显示了两台路由器间如何通过发送协议报文建立邻居关系及邻居状态机的变化过程。
(1) Router A的一个连接到广播类型网络的接口上运行了IS-IS,该接口使用
组播地址发送协议Hello报文,此时Router A在该网络上未发现任何邻居,故Hello报文中的邻居字段为空。
(2) Router B接收到Router A发送的Hello报文后,为Router A创建一个
邻居的数据结构,并且将该邻居的状态设为Init.。Router B 发送一个Hello报文给Router A,并且在将Router A的MAC地址包含在报文的邻居字段中,表明Router B已经受到来自Router A的Hello 报文。 (3) Router A接收到Router B发送的Hello报文后,同样为Router B创建
一个邻居的数据结构,并且将该邻居的状态设为Init.。Router A 再发送一个Hello报文给Router B,并且在将Router B的MAC地址包含在报文的邻居字段中,表明Router A已经受到来自Router B的Hello 报文 (4) 当Router B再次接收到Router A发送的Hello报文后,检查到本地已经
有Router A的邻居数据结构了,表明之前已经受到来自该邻居的Hello报文,同时检测到所接受到的邻居报文的邻居字段中有本地路由器的MAC地址,表明对端已经接受到本端的Hello报文,经过双方的检测后将邻居状态设为Up,下一步双方开始发送各自的链路状态数据库。
11
DA000009 IS-IS协议 ISSUE1.0
第1章 IS-IS协议基本原理
(5) 双方建立邻居关系后,DR也会同时选举出来(发送两个Hello报文后),
双方开始向对段发送本端的链路状态报文(LSP)。为保证邻居链路状态数据库的同步性及减少网络报文流量,每个路由器并不与广播网上的每一台路由器同步数据库,而是采用DR同步数据库的方式,既每个路由器只与DR同步链路状态数据库,这样广播网上同步的次数将从N*N减少到(N-1)。
(6) 当DR选举出来并且邻居间经过一段时间的数据链路状态报文交换后,
DR将发送CSNP报文,该报文只包括本地数据库中LSP的摘要信息(并不包含实际的LSP),每一条摘要信息用LSPID来唯一标识一条LSP。 (7) 当接收到CSNP报文后,将CSNP报文中的LSP与本地的数据库中的
LSP进行比较,如果发现本地缺少相应的LSP,本地将发送PSNP报文用来请求该LSP,PSNP中包括所缺少的LSP摘要描述,如果发现本地有更多的LSP信息,则直接发送该LSP给DR。
(8) 当DR接收到PSNP后,发送该PSNP指定的LSP来同步链路状态数
据库。
经过一定时间后,整个网络的链路状态数据库完全同步,则网络出于稳定状态,只定时发送Hello报文维系邻居关系,发送LSP维系数据库同步。 注意:
只有同一层次的相邻路由器才有可能成为邻居,而只有成为邻居,才交换IS-IS信息。
12
DA000009 IS-IS协议 ISSUE1.0
第1章 IS-IS协议基本原理
1.7 DIS与伪节点
DIS与伪节点外部把广播子网看做一个伪节点广播子网物理视图广播子网逻辑视图 DIS:Designated IS,指定中间系统,广播网上的领袖路由器,相当于OSPF中的DR。
Pseudonodes:伪结点。
将多重访问链路模拟成伪结点,由DIS产生,和本网络中的所有路由器建立联系。
DIS负责生成伪节点的LSP,伪节点和本网络中的所有路由器建立联系,并且不允许它们之间直接联系。
IS-IS 协议中,广播子网和NBMA网络在外部被看成一个伪节点。同一网络中的IS 之间会根据各自优先权选出一个DIS(Designated IS)。网络中的非DIS 会向DIS 报告自己的链路状态信息,而DIS 则代表整个网络中所有的IS 报告链路状态信息。选举DIS 的原因与OSPF 中选举DR 的原因一样,其目的是为了减少不必要的邻接关系和路由信息的交换。 伪节点不是一个真实的路由器,但它要占用一个额外的LSP 项。伪节点LSP是由DIS 创建的。 DIS的选举过程:
IS-IS 协议中,DIS 的选举是自动进行的。选举的依据是同一网络中各接口的优先权,如果最高的优先权的接口不止一个则从这些优先权相同的接口中找MAC 地址最大的。DIS 的选举是在IS 自身进行的,网络中的各个IS 根据所
13
DA000009 IS-IS协议 ISSUE1.0
第1章 IS-IS协议基本原理
在网络的接口上的邻居信息来进行选举。由于整个网络中的邻居信息是一致的,所以各自进行的选举结果是相同的。 注意:
1. 只有在广播和NBMA类型的网络接口上才会选举DIS,在Point-to-Point
类型的接口上不需要DIS 的选举;
2. DIS 是针对IS 的接口而言的。某台IS 在这个接口上可能是DIS ,而在
另一个接口却可能不是;
3. 不同层次有不同层次的DIS,即L1级的广播网选举L1级的DIS,L2级
的广播网选举L2级的DIS;
4. IS-IS中不存在备份DIS,当一个DIS不能工作时,直接选举另一个; 5. DIS由整个广播网络上优先级最高的IS担当,如果两个路由器拥有相同
的优先权,则选择具有最大MAC地址的一个。
14