ISIS路由选择协议研究与应用摘要:本文在全面介绍了ISIS路由选择协议理论。第一章主要介绍路由和路由协议的概念以及分类、网络的发展状况以及主要的路由选择协议;在第二章中,接受ISIS协议中一些重要概念;第三章对该协议以及工作原理进行总体上的概况;最后一章对全文做了简要的总结,并对将来路由协议的发展以及它和其它业务的结合、对于各种网络的支持进行了展望。关键词:ISIS;链路状态路由协议;快速收敛0引言近年来,随着计算机应用的发展,网络已经进入千家万户,与此同时网络的发展也日新月异。目前的网络主要向着大型化、多样化、复杂化、拓扑动态化四个方向发展。人们越来越意识到需要用坚固而灵活的IP路由选择协议来支撑不断扩张的网络,继Internet在网络世界中占据主要地位之后,陆续出现了很多IP路由选择协议,但是只有3种路由选择协议经受住了时间的考验并且被广泛部署。集成ISIS作为一个域内动态路由选择协议也是其中之一,另外两个路由选择协议是来自域间动态路由选择协议的BGP以及和ISIS同属于域内动态路由选择协议,并且是集成ISIS的竞争对手的OSPF。ISIS报文中采用一种三元组的形式来携带不同的信息,这种方式非常有利于ISIS对于新的应用的扩展,这使得ISIS在现代通信中的应用越来越广泛。1路由和路由协议路由是把信息从源穿过网络传递到目的地的行为,在路上,至少遇到一个中间节点。路由通常与桥接来对比,在粗心的人看来,它们似乎完成的是同样的事。它们的主要区别在于桥接发生在OSI参考协议的第二层(链接层),而路由发生在第三层(网络层)。这一区别使二者在传递信息的过程中使用不同的信息,从而以不同的方式来完成其任务。路由协议是指通过在路由器之间共享路由信息来支持可路由协议。路由信息在相邻路由器之间传递,确保所有路由器知道到其它路由器的路径。总之,路由协议创建了路由表,描述了网络拓扑结构;路由协议与路由协同工作,执行路由选择和数据包转发功能。2ISIS路由协议分析ISIS路由协议即IntegratedIS-IS协议,其前身是OSI体系结构的IS-IS(IntermediateSystemtoIntermediateSystem)路由协议,最新的版本定义在ISODP10589中(对应的Internet标准是RFC1142)。由于TCP/IP与OSI并存于当前的网络环境中,而两种体系结构中所定义的协议和标准往往是不能互通的,这对网络互联无疑是个限制。这种情况在北美等互联网应用较早的地区更为普遍。面对这两种体系标准的并存状况,需要路由器能够同时对TCP/IP与OSI提供支持。在这种需求下,1990年,Internet工程任务组的IS-IS工作组在OSI的IS-IS路由协议基础上增加了对TCP/IP的支持,包括对IP子网、可变子网掩码、基于TOS(TypeofService)的路由、外部路由(ExternalRouting)以及一些其他IP概念的支持,制定了综合的IS-IS路由协议――ISIS,使得这一单一的路由协议能够支持纯IP环境、纯OSI环境以及IP与OSI的混和环境。ISIS协议是典型的链路状态路由协议,用链路状态数据包(LinkStatePDU,LSP)来同步区域内路由器的链路状态数据库(LinkstatedatabaLSDB)。它用于在一个域(Domain)内部计算路由路由,是一种内部网关议(InteriorGatewayProtocol,IGP)。ISIS协议主要有如下的优点:(1)快速收敛:因为其链路状态路由协议的特点,它能达到快速、无环的收敛;(2)简单性:总体来说,ISIS是一种简单的协议。比如说它仅仅用三类型的数据包就完成了邻居发现、路由信息的交换等功能,而其他协议往往定义很多复杂的数据包。(3)安全性:ISIS并不是一个基于IP的协议,而是一个独立的不能被由的第二层协议,因此不容易被拒绝服务或受到针对IP路由协议的攻击。这一点可以进一步从ISIS数据包的封装形式上说明。ISIS的数据包不被封装在网络层的,而是直接封装到数据链路层。在这一点上,ISIS是独无二的,其他路由协议,都依赖于更高的层来传输数据,而ISIS有自己的三层包头(标识:0xFE),它可以看作是IP的对等层。当一个IS要发送数包时,会在数据前面加上IS-IS头,直接传送到数据链路层。数据链路层不需用ARP协议来查找相应的物理地址,ISIS头中会指定数据包要发送的多播址。(4)可扩展性:ISIS被证明在非常大型的IP网络中有很好的性能。因此,尽管ISIS协议制定的初衷是适应双协议系统的要求,但由于IS-IS协议的诸多优点,它也成为纯IP网络中路由协议的首选之一。3工作原理ISIS协议完成路由的功能主要包括四个主要过程:决定、更新、转发、接收。如下图所示。下面逐一介绍各个过程的功能以及它们之间的关系。决策过程(DecisionProcess)这个过程根据路由度量(routingmetrics)计算IS到达域内部所有目标地址的路由,形成路由表。如果该IS同时有分区内和分区外的连接,则分别计算一级路由和二级路由。决策过程计算路由的依据是IS的链路状态数据库,借助于更新过程的维护,链路状态数据库总是包含着最新的链路状态数据包中信息。决策过程生成的路由存储到转发数据库中,为转发过程提供了依据。更新过程(UpdateProcess)这个过程负责完成生成、接收以及传播LSP的功能。LSP中包含了组织该数据包的IS的标识、路由度量以及邻接关系等信息。(1)接收LSP:更新过程接收的LSP是通过接收过程获得的,在获得新的路由信息后,将更新本地的路由信息数据库,并且将LSP传播给其他IS;(2)生成LSP:除了需要周期性的生成LSP之外,在网络拓扑结构发生变化或者路由器配置改变时也将构造新的LSP;(3)传播LSP:一级链路状态数据包将传播给在分区内部的每个IS,但是不会传播到分区之外;二级链路状态数据包将传播给域内的所有L2IS,但是不会传播到域之外。转发过程(ForwardingProcess)转发过程提供并管理转发数据包所需要的缓冲区。通过接收过程获得数据包后,查找转发数据库(ForwardingDatabase)决定转发的路由。接收过程(ReceiveProcess)接收过程主要负责接收数据包并将它存放到数据库中,并根据需要将数据包传递给其他过程(如:将需要转发的数据包传送给转发过程)。3.1协议核心机制邻居发现ISIS协议通过Hello协议来建立并初始化邻接关系。当IS刚刚启动或者其接口的链接状态发生变化时便会生成Hello包,用于发现新的邻居IS并维护原有邻接关系。当它收到另一IS反馈的Hello包时,邻接关系就建立起来了。在邻接关系建立之后,下一步就需要与新的邻居IS进行链路状态信息的交换。链路状态信息的同步为了建立区域内统一的拓扑观点,域内部的IS需要同步链路状态信息。ISIS协议利用LSP和SNP包(包括CSNP和PSNP)进行链路状态信息的同步。当IS之间刚刚建立邻接关系时需要进行链路信息的同步,已经建立邻接关系的IS之间也需要周期性的同步。广播网络内,当两个IS之间建立起新的邻居关系――假设分别为ISA(DIS)与ISB,作为DIS的ISA将组织CSNP向ISB描述自己的链路状态信息数据库,这个描述信息包括数据库中每一条LSP的如下字段:ISB收到CSNP之后,将对比自己的数据库,如果存在自己没有的链路状态信息,ISB将用PSNP包封装这些信息的描述并发送给ISA。这个PSNP包就是ISB的请求。ISA根据PSNP包组织发送数据库中被请求的LSP,使得ISB能够更新自己的链路状态数据库。如果ISB的数据库中有CSNP中没有的LSP,则ISB直接发送这些LSP给ISA。这样,ISA与ISB的数据库便完成了同步。利用SNP和LSP数据包进行链路状态数据库的同步,是ISIS协议能够达到快速收敛的一个重要原因。让我们来设想如下的邻居发现后的数据同步过程。先考虑场景1:假设ISA与ISB已经稳定运行了一段时间,ISA的优先级高于ISC和ISB。与ISA、ISB相连的是一个拓扑复杂的网络。当ISC刚刚建立与ISA的邻接关系时,很显然它需要从ISA处获知大量的链路状态信息。ISA发送CSNP、ISC发送PSNP,并利用LSP传送链路状态数据库的内容。在这个场景下,ISIS协议的数据同步过程似乎是比直接交换相邻IS的数据库更为麻烦。但是,我们再分析一下场景2:与场景1基本类似,唯一不同的是我们假设ISB与ISC的邻接关系也已经建立了一段时间。这时,新的链路在ISA与ISC形成,它们需要同步链路状态数据库。首先,ISA发送CSNP,这时,ISC会发现ISA的大部分链路状态都是自己已知的!因此需要利用LSP交换的信息非常之少。这种场景下的同步过程达到了快速高效的收敛效果。事实上,在实际网络中存在着大量的拓扑冗余,因此,第二种场景发生的可能性要远远大于第一种。ISIS的这种数据同步机制有着良好的效果。DIS的选举机制早期ISIS协议中,子网被看做虚节点PN,并由其DIS负责生成子网的链路状态信息数据包。这里的DIS是在利用Hello协议进行邻居发现的过程中完成选举的,选举依据两个条件:(1)该IS在子网中拥有最高优先级。优先级体现在该IS发出的Hello包的PRIORITY字段值上。(2)如果最高优先级的IS不唯一,则MAC地址最大的IS必定为DIS。DIS的选举是抢占式的,因此,任意时刻子网的DIS具有确定性。LSP的传播机制ISIS协议中规定一旦链路状态发生变化,便生成新的LSP来包含新或ES邻居并除掉已经失效的邻接关系。LSP在网络内传播的传播机“Flooding”,就是每个IS将接收到的新的LSP发送给所有处于同一域的居(除了该LSP的发送邻居之外),使得LSP迅速被域内部所有可达的收。能够引起ISIS传播LSP的原因主要有以下几种:4结论现代通信网络飞速发展,每时每刻都会有大量的网络设备和终端加入网络,如果没有健壮的网络协议的支持,是不可能完成如此大规模、大数据量的通信的。ISIS协议是一种得到广泛应用的、功能强大的内部网关路由选择协议,它既适合IP网络又适合CLNP网络。实践证明,在IP世界里,ISIS路由选择协议是应用于ISP网络中的IGP协议OSPF唯一的可替代协议。随着各种新型业务的出现,增加了对路由器特性的要求,比如VPN、流量工程等,这些新的功能如何在网络中实现,还需要借助于路由协议。建立一条隧道,预留一些带宽,这些信息如何在网络中进行协商,也必须承载在路由协议之上。本文中介绍了三元组的概念,ISIS协议的灵活、易于扩展也就应为三元组的出现,当出现一个新的业务时,只需要重新定义一个新的三元组,将此三元组加入一个LSP中便可以将信息进行传输了。正因为这种灵活性,ISIS在新业务飞速发展的现代通信中逐步显示出其优势,有越来越多的ISP都在逐步转向ISIS协议。ISIS协议在现代通信中正逐步的巩固着自己的核心地位。可以肯定的说,在将来路由协议的发展道路上,必将是更加的独立化、模块化,ISIS协议作为其中的核心代表在我们可见的时代能够体现出这种优势,不论将来可能会出现什么更加优越的路由协议,路由协议乃至网络的发展趋势是不会变的,随着社会的进步,人们需求的增加,必将朝着分工越来越明确,各模块协作性越来越好的方向走去。参考文献[1]凡璇,侯志荣译.IS-IS网络设计解决方案.北京:人民邮电出版社,2002.[2]别碧勇.ISIS路由协议及其在IP网络工程设计中的应用[J].铁道勘测与设计,2006(1):47-53.[3]R.Callon.UseofOSIIS-ISforRoutinginTCP/IPandDualEnvironments,RFC1195.1990-11.[4]MichaelA.Miller.数据与通信网络[M].北京:科学出版社,2005.[5]RitaPuzmanova.路由与交换[M].北京:人民邮电出版社,2004.[6]曾华桑.现代网络通