DA000009ISIS协议汇编.docx
《DA000009ISIS协议汇编.docx》由会员分享,可在线阅读,更多相关《DA000009ISIS协议汇编.docx(16页珍藏版)》请在冰豆网上搜索。
DA000009ISIS协议汇编
课程DA000009
IS-IS协议
ISSUE1.0
目录
课程说明1
课程介绍1
课程目标1
第1章IS-IS协议基本原理2
1.1IS-IS概览2
1.2链路状态协议简介3
1.3L1和L2的基本概念5
1.4IS-IS的基本工作原理6
1.5报文分类8
1.6邻居建立及数据库同步10
1.7DIS与伪节点12
1.8IS-IS协议的地址编码方式14
1.9节点识别15
1.10泛洪算法17
1.11IS-IS与OSPF比较18
课程说明
课程介绍
本课程主要介绍IS-IS路由协议的原理。
IS-IS是一种链路状态协议,基于SPF算法,以寻找到目标的最佳路径,由于SPF算法本身的优势,IS-IS协议天生具有抵抗路由环路的能力。
课程目标
完成本课程的学习后,您应该能够:
●了解IS-IS协议的基本原理
●掌握IS-IS协议的报文分类以及地址编码发式
●了解IS-IS协议与OSPF协议的异同点
第1章IS-IS协议基本原理
1.1IS-IS概览
IS-IS(IntermediateSystem-to-IntermediateSystem:
中间系统到中间系统)是一种路由选择协议,是基于OSI域内(intradomain)的路由选择协议,IntermediateSystem是OSI中Router的叫法。
IS-IS可以用作IGP(InteriorGatewayProtocol:
内部网关协议)以支持纯IP环境、纯OSI环境和多协议环境。
IS-IS是一种链路状态协议,基于SPF算法,以寻找到目标的最佳路径,由于SPF算法本身的优势,IS-IS协议天生具有抵抗路由环路的能力。
1.2
链路状态协议简介
LSP:
LinkStatePDU,含有链路状态信息的IS-IS报文。
链路状态协议都是基于近邻关系的,每个路由器公开其链路的开销和状态。
所以区域里每个路由器知道区域内所有活动的链路,并知道有关这些活动链路所标识路由器发起的信息,然后把该状态信息传播到其他路由器。
传播信息使所有路由器保持同一数据库。
每个路由器用唯一的地址来标识,从而避免了循环。
在路由器接收到有关所有其它路由器及其链路的信息之后,每个单个的路由器运行SPF算法,该算法是基于Dijkstra算法,以计算到每个已知目标的最佳路径。
(Dijkstra算法是个分布式算法,由每个路由器在处理完信息之后执行。
)
运行SPF算法生成整个区域的拓扑结构,同一层次中的所有路由器有相同的LSDB,LSDB中储存着同一层次中所有路由器产生的LSP,LSP通过可靠泛洪机制,由产生它的路由器扩散到整个可达区域。
1.3
L1和L2的基本概念
如图,该路由系统分为两层,Level1和Level2,同一区域内的路由器交换信息的节点组成1层(L1),区域内的所有L1路由器知道整个区域的拓扑结构,负责区域内的数据交换。
区域之间通过L2路由器相联接,各个区域的边缘路由器组成骨干网,是2层(L2),L2负责区域间的数据交换对于一个要送往另一个区域的数据报,不管它的目的区域到底在哪。
L1IS总是将数据报直接送往位于该区域内最近的L2IS,该数据报再通过Lever2路由系统到达目的区域,然后再通过目的区域的L1IS路由系统到达目标。
1.4
IS-IS的基本工作原理
L1路由器:
接收来自其他系统的报文,如果报文的目的地址在本区域内,就直接将报文转发到目的系统;如果报文的目的地址在本区域外,则将报文转交给离自己最近的一个L1L2路由器。
●仅拥有同一区域中的路由器。
●拥有自己区域中的信息。
●观察L1LSP,寻找“最近”的L1L2路由器。
●安装一条通向“最近”L1L2路由器的缺省路径。
L2路由器:
接收来自L1路由器的报文,并按照目的地址将报文转交给其他区域的L2路由器。
接收来自其他区域的L2路由器的报文,并按照目的地址将报文转发。
●可能拥有其他区域中的邻居。
●拥有关于L2拓扑的信息。
●拥有关于什么L1目标可以到达,以及如何通过L2拓扑到达它的信息。
●L2路由其通常也执行L1路由,因此通常称可以执行L1路由的L2路由器为L1L2路由器。
●骨干区L2必须是连续的。
L1/L2:
完成它所在的区域和骨干之间的路由信息的交换,既承担L1的职责也承担L2的职责。
1.5
报文分类
1.链路状态数据单元(LinkStatePDU)
用来在区域中传播链路状态记录。
分为两种:
Level1LinkStatePDU和Level2LinkStatePDU,处在层次1的路由器产生L1LSP,处于层次2的路由器产生L2LSP,LSP只会泛洪到自己的所属层次。
1层LSP中包含它都有什么邻居,它的接口都处在什么网段中等信息,只用于本地区域。
2层LSP中包含它都有什么邻居,通过它都能够到达什么网段等信息即包含IS-IS里所有可到达前缀的信息。
链路状态报文,含有一个路由器的所有信息,包括邻接、所连接的IP前缀、OSI终端系统、区域地址等。
2.Hello报文(IIHPDU)
用于维护邻接。
问候包发送到组播MAC层地址,来确定其它系统是否在运行IS-IS。
在IS-IS里有三种问候包:
一种是点对点接口的、一种是对Level1路由器的和一种是对Level2路由器的。
发送到Level1路由器和Level2路由器的问候给定了不同组播地址。
所以,Level1路由器连接到与Level2路由器驻留的地方,但看不到Level2的问候,反过来也是一样。
当链路初始化时或从近邻接收到问候包时,发送问候包,此时,初始化邻接。
在从近邻接收到问候的基础上,路由器把问候包发送回近邻,表明路由器看到了问候。
这时,就建立了双向联系。
这就是邻接的在线状态(upstate)。
3.全时序协议数据单元(CSNP:
CompleteSequenceNumbersProtocolDataUnit)
CSNP分为两种:
Level1CSNP和Level2CSNP。
用于广播链路上的LSPDB同步。
DIS在广播接口上每10秒发送一次CSNP。
CSNP包含了本地数据库里所有LSP的完整列表。
正如前面所提到,CSNP用于数据库同步。
在串行线路上,只在第一次邻接时发送CSNP。
4.部分时序协议数据单元(PSNP:
PartialsequenceNumberProtocolDataUnit)
PSNP分为两种:
Level1PSNP和Level2PSNP。
用于非广播链路时,类似于p2p链路上的ACK,响应LSP报文。
在广播链路上,PSNP用于数据库同步。
当路由器从近邻接收到CSNP时,注意到CSNP丢失了部分数据库,路由器发送PSNP请求新的LSP。
1.6
邻居建立及数据库同步
上图显示了两台路由器间如何通过发送协议报文建立邻居关系及邻居状态机的变化过程。
(1)RouterA的一个连接到广播类型网络的接口上运行了IS-IS,该接口使用组播地址发送协议Hello报文,此时RouterA在该网络上未发现任何邻居,故Hello报文中的邻居字段为空。
(2)RouterB接收到RouterA发送的Hello报文后,为RouterA创建一个邻居的数据结构,并且将该邻居的状态设为Init.。
RouterB发送一个Hello报文给RouterA,并且在将RouterA的MAC地址包含在报文的邻居字段中,表明RouterB已经受到来自RouterA的Hello报文。
(3)RouterA接收到RouterB发送的Hello报文后,同样为RouterB创建一个邻居的数据结构,并且将该邻居的状态设为Init.。
RouterA再发送一个Hello报文给RouterB,并且在将RouterB的MAC地址包含在报文的邻居字段中,表明RouterA已经受到来自RouterB的Hello报文
(4)当RouterB再次接收到RouterA发送的Hello报文后,检查到本地已经有RouterA的邻居数据结构了,表明之前已经受到来自该邻居的Hello报文,同时检测到所接受到的邻居报文的邻居字段中有本地路由器的MAC地址,表明对端已经接受到本端的Hello报文,经过双方的检测后将邻居状态设为Up,下一步双方开始发送各自的链路状态数据库。
(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信息。
1.7
DIS与伪节点
DIS:
DesignatedIS,指定中间系统,广播网上的领袖路由器,相当于OSPF中的DR。
Pseudonodes:
伪结点。
将多重访问链路模拟成伪结点,由DIS产生,和本网络中的所有路由器建立联系。
DIS负责生成伪节点的LSP,伪节点和本网络中的所有路由器建立联系,并且不允许它们之间直接联系。
IS-IS协议中,广播子网和NBMA网络在外部被看成一个伪节点。
同一网络中的IS之间会根据各自优先权选出一个DIS(DesignatedIS)。
网络中的非DIS会向DIS报告自己的链路状态信息,而DIS则代表整个网络中所有的IS报告链路状态信息。
选举DIS的原因与OSPF中选举DR的原因一样,其目的是为了减少不必要的邻接关系和路由信息的交换。
伪节点不是一个真实的路由器,但它要占用一个额外的LSP项。
伪节点LSP是由DIS创建的。
DIS的选举过程:
IS-IS协议中,DIS的选举是自动进行的。
选举的依据是同一网络中各接口的优先权,如果最高的优先权的接口不止一个则从这些优先权相同的接口中找MAC地址最大的。
DIS的选举是在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不能工