链路状态路由协议,链路状态路由协议有哪些
本作品内容为链路状态路由协议,格式为 doc ,大小 161792 KB ,页数为 20页
('链路状态路由协议在这里,我们首先将了解链路状态路由协议的原理及它的算法等知识,然后,将详细介绍链路状态路由协议相对于距离矢量路由协议的优势。9.1链路状态路由协议原理属于链路状态类型的路由协议有OSPF、IS-IS等路由协议。运行链路状态路由协议的路由器,在互相学习路由之前,会首先向邻居路由器学习整个网络的拓扑结构,在自己的内存中建立一个拓扑表(或称链路状态数据库),然后使用最短路径优先(SPF)算法,从自己的拓扑表里计算出路由来。这就好比是在上高速路之前先去买了一份地图,之后再开车去目的地,这样就不用看了路牌了。遇到路坏了,也可以根据自己手中的地图找到绕行的路,而不用再去问别人了。运行链路状态路由协议的路由器虽然在开始学习路由时先要学习整个网路的拓扑,学习路由的速率可能会比运行距离矢量路由协议的路由器慢一点,但是一旦路由学习完毕,路由器之间就不再需要周期性地互相传递路由表了,因为整个网路的拓扑路由器都知道,不需要使用周期性的路由更新包来维持路由表的正确性,从而节省了网路的带宽。当网路拓扑出现改变时(如在网路中加入了新的路由器或网路发生了故障),路由器也不需要吧自己的整个路由表发送给邻居路由器,只需要发出一个包含有出现改变网段的信息的触发更新包。收到这个包的路由器会把该信息添加进拓扑表里,并且从拓扑表里计算出新的路由。由于运行链路状态路由协议的路由器都维护一个相同的拓扑表,而路由是路由器自己从这张表中计算出来的,所以运行链路状态路由协议的路由器都能自己保证路由的正确性,不需要使用额外的措施来保证它。运行链路状态路由协议的网路在出现故障收敛是很快的。由于链路状态路由协议不必周期性地传递路由更新包,所以它不像距离矢量路由协议一样用路由更新包来维持邻居关系,链路状态路由协议必须使用专门的Hello包来维持邻居关系。运行链路状态路由协议的路由器周期性地向邻居的路由器发送Hello包,它们通过Hello包中的信息相互认识对方并且形成邻居关系。只有在形成邻居关系之后,路由器才可能学习网路拓扑。9.2链路状态路由协议的算法正如我们所知,运行链路状态路由协议的路由器在计算路由之前会首先学习网络拓扑,建立拓扑表。然后,它们会使用SPF算法(基于Dijkstra算法),即最短路径优先(ShortestPathFirst)算法,根据拓扑表计算路由。SPF算法会把网路拓扑转变为最短路径优先树(ShortestPathFirstTree),然后从该树型结构中找出到达每一个网段的最短路径,该路径就是路由;同时,该树型结构还保证了所计算出的路由不会存在路由环路。SPF计算路由的依据是带宽,每条链路根据其带宽都有相应的开销(Cost)。开销越小,该链路的带宽越大,该链路越优。9.3链路状态协议的优缺点当在比较大型的网路里运行时,距离矢量路由协议就暴露出了它的缺陷。比如,运行距离矢量路由协议的路由器由于不能了解整个网路的拓扑,只能周期性地向自己的邻居路由器发送路由更新包,这种操作增加了整个网路的负担。距离矢量路由协议在处理网路故障时,其收敛速率也极其缓慢,通常要耗时4~8分钟甚至更长,着对于大型网络或者电信级网路的骨干来说是不能忍受的。另外,距离矢量路由协议的最大度量值的限制也使得该种协议无法再大型网络里使用。所以,在大型网络里,我们需要使用一种比距离矢量路由协议更加高效,对网络带宽的影响更小的动态路由协议,这种协议就是链路状态路由协议。1.链路状态路由协议与距离矢量路由协议的比较链路状态路由协议与距离矢量路由协议的比较的比较如下。1)对整个网络拓扑的了解运行距离矢量路由协议的路由器都是从自己的邻居路由器处得到邻居的整个路由表,然后学习其中的路由信息,在把自己的路由表发给所有的邻居路由器。在这个程中,路由器虽然可以学习到路由,但是路由器并不了解整个网络的拓扑。运行链路状态路由协议的路由器首先会向邻居路由器学习整个网络拓扑,建立拓扑表,然后使用SPF算法从该拓扑表里自己计算出路由来。由于对整个网络拓扑的了解,链路状态路由协议具有很多距离矢量路由协议所不具备的优点。2)计算路由的算法距离矢量路由协议的算法(也被称为Bellman–Ford-Fulkerson算法),只能够使路由器知道一个IP网段在网络里德哪个方向,有多远,而不能知道该IP网络的具体位置,从而使路由器无法了解网络的拓扑。链路状态路由协议的算法需要链路状态数据库的支持,链路状态路由协议是从链路状态数据库里计算出路由的。3)路由更新由于距离矢量路由协议不能了解网络拓扑,运行该协议的路由器必须周期性地向邻居路由器发送路由更新包,其中包括了自己的整个路由表。距离矢量路由协议只能以这种方式保证路由表的正确性和实时性。运行距离矢量路由协议的路由器无法告诉邻居路由器哪一条特定的链路发生了故障,因为它们都不知道网络拓扑的样子。由于在链路状态路由协议刚刚开始工作时,所有运行链路状态路由协议的路由器就都学习了整个网络的拓扑,并且从中计算出了路由,所以运行链路状态路由协议的路由器不必周期性地向邻居路由器传递路由更新包。它只需要在网络发生故障时发出触发的更新包告诉其它的路由器在网络的哪个位置发生了故障即可。而网络中的路由器会依据拓扑表重新计算该链路相关的路由。链路状态路由协议的路由更新是增量的更新。2.链路状态路由协议的优点从上述比较,我们可以看出链路状态路由协议的优点如下。●快速收敛。由于该链路状态路由协议对整个网络拓的了解,当发生网络故障故障时,察觉到该故障的路由器将该故障向网络里德其它路由器通告。接收到链路状态通告的路由器除了继续传递该通告外,还会根据自己的拓扑表重新计算关于故障网段的路由。这个重新计算的过程相当快速,整个网络会在极短的时间里收敛。●路由更新的操作更加有效率。由于链路状态路由协议在刚刚开始工作的时候,路由器就已经学习了整个网络的拓扑,并且根据网络拓扑计算出了路由表,如果网络的拓扑不发生改变,这些路由器的路由表里的路由条目一定是正确的。所以运行链路状态路由协议的路由器之间不必周期性地传递路由更新包来保证路由表的正确性,它们只需要在网络拓扑发生改变的时候(如有新的路由器加入网络或者网络中出现了故障),发送触发的更新包来通知其他路由器,网络中具体哪里发生了变化,而不用传递整个路由表。接收到该信息的路由器会根据自己的拓扑表计算出网络中变化部分的路由。这种触发的更新(或者叫做增量更新),由于不必周期性地传递整个路由表,使路由更新的处理变得更有效率了。但是,链路状态路由协议并不是没有缺点。●由于链路状态路由协议要求路由器首先学习拓扑表,然后从中计算出路由,所以运行链路状态路由协议的路由器被要求有更大的内存和更强计算能力的处理器。●同时,由于链路状态路由协议在刚刚开始工作的时候,路由器之间要首先形成邻居关系,并且学习网络拓扑,所以路由器在网络刚开始工作的时候不能路由数据包,必须等到拓扑表建立起来并且从中计算出路由,路由器才能进行数据包的路由操作,这个过程需要一定的时间。●另外,因为链路状态路由协议要求在网络中划分区域,并且对每个区域的路由进行汇总,从而达到减少路由表的路由条目、减少路由操作延时的目的,所以链路状态路由协议要求在网络中进行体系化编址,对IP子网的分配位置和分配顺序要求极为严格。虽然链路状态路由协议有上述这些缺点,但相对于它所带来的好处,这些缺点不过是白璧微瑕,并非不可以接受。由于以上这些特点,链路状态路由协议特别适合大规模的网络或者电信级网络的骨干上使用。9.4OSPF路由协议概述开放式最短路径优先(OpenShortestPathFirst,OSPF)路由协议是一种基于开放式标准的链路状态路由协议。它的最新记述出现在RFC2328文档中。OSPF中的开放式(Open)表示该协议是向公众开放的非私有的协议。OSPF路由协议也是一种IGP协议,它只能工作在自治域系统内部,不能跨自治域系统运行。相对于距离矢量路由协议,OSPF具有收敛时间很短、适用范围很大的优点。在大型网络或者电信级网络的骨干上,是不能使用距离矢量路由协议的。原因在于距离矢量路由协议的最大度量值影响了它的使用范围;而且该种协议收敛缓慢,无法达到电信运营网对故障恢复时间的要求;另外,距离矢量路由协议周期性地向邻居发送路由更新也会占用带宽。而OSPF很好地解决了这些问题。运行OSPF路由协议的路由器,在刚刚开始工作的时候,首先和相邻的路由器建立邻居关系,形成邻居表,然后相互交换自己所了解的网络拓扑。路由器在没有学习到全部网络的拓扑之前,是不会进行任何路由操作的,因为这时路由表是空的。只有当路由器学习到了全部网络的拓扑,建立了拓扑表(也称链路状态数据库)之后,它们会使用最短路径优先(SPF)算法,从拓扑表中计算出路由来。因为所有运行OSPF路由协议的路由器都维护着相同的拓扑表,路由器可以自己从中计算出路由,所以这些路由器之间不必周期性地传递路由更新包,OSPF路由协议的更新是增量的更新。这种更新方式也节省了对网络带宽的消耗。由OSPF的工作方式,我们可以知道,运行OSPF路由协议的路由器要求有更多的内存和更高效的处理器,以便存储邻居表、拓扑表等数据库和进行路由的计算。虽然OSPF路由协议在刚刚运行的时候,其操作要比距离矢量路由协议复杂,OSPF路由协议的生效可能不如距离矢量路由协议快,但是,OSPF路由协议一旦开始运行,它的优势就体现出来了。在运行OSPF路由协议的网络里,当网络拓扑发生改变的时候(比如有新的路由器或网段加入网络,或者网络出现了故障,某个网段坏掉了),这时发现该变化的路由器会向其他路由器发送触发的路由更新包——链路状态更新包(LSU)。在LSU中包含了关于发生变化的网段的信息——链路状态通告(LSA)。接收到该更新包的路由器,会继续向其他路由器发送更新,同时根据LSA中的信息,在拓扑表重新计算发生变化的网段的路由。由于没有holdown时间,OSPF路由协议的收敛速率是相当快的,这一点对于大型网络或者电信级网络是非常重要的。OSPF路由协议还有一个重要的特征,就是它可以把一个大型的路由网络进行分级设计,即把一个大型网络分成多个区域,这种特性使OSPF路由协议能够在大规模的路由网络上正常而高效地工作。在大型路由网络里,往往有成百上千台路由器。如果这些路由器都是在一个大的区域里工作,那么每一台路由器都要了解整个网络的所有网段的路由,这些路由器的路由表里的条目可能会有成千上万条。路由器为每一个数据包做路由时,都不得不在大量的路由信息里寻找适合该数据包的路由条目,路由器对数据包进行路由操作的反应时间势必会延长从而路由器的包通过率下降。另外,在一个大的区域里集中了如此多的路由器和链路,出现设备故障和链路故障的概率也会相应增加,而每次故障都会引起整个网络的路由收敛操作。即使是使用如OSPF这样的能够快速收敛的路由协议,频繁的网络收敛一样会使网络的可用性下降。OSPF路由协议通过使用分级的设计,把整个大型路由网络划分成多个小范围的区域,从而解决了上述问题。OSPF把大型网络划分为骨干区域和非骨干区域。骨干区域只有一个并且固定地称为区域0,所有的非骨干区域都必须和骨干区域相连,如图9-1所示。图9-1OSPF划分区域的示意图在每个小区域里,路由器不再去关心其他区域的链路改变,而只关心本区域的链路改变,一个区域的网络拓扑变化,只会引起本区域的网络收敛操作。通过划分区域,网络故障的影响范围被缩小,整个网络不再频繁地进行收敛操作。在区域与区域的边界处有边界路由器。该路由器负责学习两个区域的路由,而区域内部的路由器只需要使用静态路由或者汇总的路由,把目的地是其他区域的数据包路由给边界的路由器,由边界路由器将数据包路由到其他区域,而区域内部的路由器不需要学习其他区域的路由。这样,相对而言,路由器所维护的路由表体积显著减小,路由操作提高。但是,为了达到以上目的,每一个区域的路由都要尽量地进行汇总,这要求进行分级的、体系化的编址,如图9-2所示。区域3区域2区域1骨干区域区域0自治域系统图9-2OSPF要求进行体系化的编址在图9-2中,我们可以看到,每一个区域里都IP地址,应该尽量的连续分配,这样才能汇总出比较少的路由条目。由于多区域的OSPF操作比较复杂,CCNA的教学和考试只要求掌握在单个区域里配置OSPF路由协议的技术。本章下面的有关OSPF的内容,都是在OSPF单区域中的操作知识,学会了在单个区域里配置OSPF协议,就为学习在多区域环境中配置OSPF打下了良好的基础。9.5OSPF协议适用的网络类型OSPF路由协议在下面三种类型的网络上都可以使用。●广播多路访问(BroadcastMultiaccess,BMA)网络:广播多路访问网络包括以太网、令牌环网及FDDI。在这种类型的网络上使用OSPF要求进行DR与BDR的选举。●点对点(Point-To-Point)网络:专线是典型的点对点网络。在这种类型的网络上不需要进行DR与BDR的选举。●非广播多路访问(NonbroadcastMultiaccess,NBMA)网络:非广播多路访问网络包括帧中继、X.25及SMDS。在这种网络中使用OSPF情况比较复杂。图9-3描述了这三种网络类型。区域3区域2区域1骨干区域区域01.3.1.01.3.2.01.3.3.01.2.1.01.2.2.01.2.3.01.1.1.01.1.2.01.1.3.0自治域系统图9-3OSPF路由协议适用的三种网络类型9.6DR与BDR的选举在运行OSPF路由协议的广播多路访问网络中,所有的路由器被连接到同一个网段,它们两两之间如果建立完全的邻居关系,则会有n×(n-1)/2个邻居关系。在大型的网络中,存在着大量的路由器,在一个网段里有如此多的邻居,维持邻居关系的Hello包及邻居间的链路状态通告会消耗很多的带宽。尤其是当网络中突发大面积故障时,同时发生的大量的链路更新可能会使路由器不断的重新计算路由,而无法正常提供路由服务。解决该问题的办法是从这些路由器中选举出指定的路由器DR,并且把这个路由器作为广播网络里每一台路由器的邻居路由器,如图9-4所示。所有非DR得路由器把自己的链路状态信息以多点广播的形式发送给DR,该多点广播的地址为224.0.0.6。然后DR再以多点广播的形式将这些信息发送给网段中所有的路由器,该多点广播的地址为224.0.0.5。这样的操作使众多的状态信息只使用一个广播包就可以传递到所有的路由器,节省了网络资源。图9-5、图9-6和图9-7举例说明了DR的操作。X.25帧中继广播多路访问点对点非广播多路访问图9-4DR与BDR的操作图9-5路由器B向DR通告网络故障在图9-5中我们看到,当路由器B发现一个网段出现故障后,它会向DR发出LSU,通告该网络故障。然后,DR会向网络中所有的非DR路由器发送LSU,通告该故障。如图9-6所示。路由器C在接收到该通告后,除了要改动自己的拓扑表、重新计算路由以外,还要向其他的路由器转发该通告,如图9-7所示。BDRDR路由器A路由器C路由器BDRLSU图9-6DR向非DR发送链路状态更新图9-7路由器C转发链路状态更新从上例子中我们可以看出,事实上,DR成为了广播多路访问网络中链路信息会聚的点,它同时也是广播多路访问网络中链路信息发散的点。为了防止DR故障影响整个网络链路信息的传递,我们还要从这些路由器中选举出备份的DR,即BDR。DR与BDR的选举,在广播多路访问网络中是自动的。在运行OSPF路由协议的广播多路访问网络中,路由器相互比较它们的优先级,优先级高的作为DR,第二高的作为BDR。但是在默认情况下,路由器的优先级是一样的,这时,路由器依靠比较路由器的标识来决定谁是DR。标识最大的路由器作为DR,标识第二大的路由器作为BDR。一旦DR发生故障而离线,BDR会升级为DR,同时引发新一轮的选举,从非DR中选举出一台BDR。当发生故障的原DR重新在线时,无论它的优先级多高,或者路由器标识多大,它都不能得到原来的DR地位,只能成为普通的非DR路由器。只有等到下一次DR的选举,它才可能成为DR或者BDR。优先级是0的路由器永远不能成为DR或者BDR。9.7OSPF邻居关系的建立运行OSPF路由协议的路由器之间使用周期性地发送Hello包的方法建立和维持邻居关路由器A路由器C路由器BDRLSU路由器A路由器C路由器BDRLSU系。在OSI参考模式的网络层上,Hello包也是向多点广播组224.0.0.5发送。这个多点广播组是所有运行OSPF路由协议的路由器都识别的。默认地,运行OSPF路由协议的路由器每10秒钟发出一次Hello包,但是在NBMA类型的网络里,路由器每30秒钟发出一次Hello包。图9-8是Hello包的包头结构。VersionTypePacketLengthRouterIDAreaIDChecksumAuthenticationTypeAuthenticationData图9-8Hello包的包头结构Hello包的包头实际上是OSPF包的包头,当OSPF包头的TYPE部分被置位为1时,该报成为Hello包。在Hello包的包头里,包含路由器的标识及区域标识,这是必不可少的信息。路由器的标识作用在于让其他的路由器能够识别自己。两台路由器只有区域标识相同才能成为邻居。另外,如果我们在运行OSPF路由协议的路由器上配置了邻居验证,验证的数据也会包含在Hello包的包头里,如果验证口令不匹配,两台路由器不能成为邻居。图9-9表示的是Hello包的内容。NetworkMaskHelloIntervalOptionsRouterPriorityDeadIntervalDesignatedRouterBackupDesignatedRouterNeighborRouterIDNeighborRouterID(additionalNeighborRouterIDfieldscanbeaddedtoendoftheheader,ifnecessary)图9-9Hello包的内容在图9-9中HelloInterval是发出Hello包的时间间隔,DeadInterval是邻居关系失效的时间,也就是在DeadInterval规定的时间里没有收到Hello包,则邻居关系失效。两台只有HelloInterval和DeadInterval相同才能成为邻居关系。RouterPriority是路由器的优先级。通过交换Hello包,路由器能够了解邻居的优先级和路由器标识的大小,从而能够在广播多路访问网络中选举出DR和BDR。一旦DR和BDR被选出,它们会出现在Hello包的内容里。一台路由器发出的Hello包里还包括了它的所有邻居路由器的标识。如果路由器在它收到的Hello包里看到了自己的标识则该路由器认为发送Hello包的路由器和自己是邻居关系下面的图9-10到图9-16,表示了路由器之间形成邻居关系及建立拓扑表和形成路由表的过程。首先请看图9-10。如图9-10所示,在使用OSPF路由协议的网络还没有运行的时候,路由器A和路由器B互相还没有向对方发送任何信息,这是两台路由器互相不知道对方的存在,这种状态是DOWN状态。图9-10DOWN状态当使用OSPF路由协议的网络开始运行时,其中总会有一台路由器首先发出Hello包,如图9-11所示。图9-11初始状态在图9-11中,路由器A首先发出Hello包,路由器B收到该Hello包并且将路由器A的标识记入邻居表,这个状态是初始状态。路由器B认识了路由器A之后,也会向路由器A发出Hello包,如图9-11所示。在图9-12中,路由器B也发出Hello包,其中不但有路由器B的标识,还有它所认识的邻居的标识。路由器A收到该Hello包后,也会把路由器B的标识记入邻居表。这时,两台路由器的邻居表里都有了对方的信息,邻居关系形成,这个状态是Two-Way状态。路由器ID:1.1.1.1E1E0路由器B路由器ADOWN状态路由器ID:1.1.1.2路由器ID:1.1.1.1E1E0路由器B路由器A初始(Init)状态路由器ID:1.1.1.2Hello包路由器ID:1.1.1.1邻居表路由器ID:1.1.1.1,E1图9-12Two-Way状态由于两台路由器是使用以太线连接的,也就是说它们工作在广播多路访问网络中,而不是点对点网络,所有,在形成邻居关系之后要选举DR,如图9-13所示。在图9-13中我们可以看到,路由器A和路由器B通过相互交换Hello包比较两者的优先级和路由器标识。优先级高的路由器将成为DR。如果优先级相同,则路由器标识大的路由器成为DR。在图9-13中,两台路由器的优先级都是默认的,是相同的,所以路由器标识较大的B路由器成为了DR。图9-13Exstart状态路由器ID:1.1.1.1E1E0路由器B路由器ATwo-Way状态路由器ID:1.1.1.2Hello包路由器ID:1.1.1.2邻居路由器ID:1.1.1.1邻居表路由器ID:1.1.1.2,E0路由器ID:1.1.1.1E1E0路由器B路由器AExstart状态路由器ID:1.1.1.2交换Hello包比较路由器优先级和路由器标识DR这个过程是Exstart状态选举出DR之后,有DR首先向非DR发送网络拓扑信息,然后非DR再把自己所知道的网卡拓扑信息发送给DR,如图9-14所示。图9-14Exchange状态路由器交换链路状态信息的过程是Exchange状态。在这个过程中交换的是链路状态数据库的汇总信息。如果路由器A对某一条链路的信息不清楚,可以要求DR发送关于该链路的完整的信息条目。在图9-15中,DR应路由器A的要求,发送出某条链路的完整信息,这是Loading状态。路由器ID:1.1.1.1E1E0路由器B路由器AExchange状态路由器ID:1.1.1.2DR路由器B的链路状态数据库的汇总信息发LSAck确认收到信息路由器A的链路状态数据库的汇总信息图9-15Loading状态当Loading状态结束时,路由器已经学习到了完整的网络拓扑,这个时候是Full状态,如图9-16所示。图9-16Full状态只有当到达了Full状态的时候,运行OSPF路由协议的路由器才会从拓扑表里计算出路由表。在达到Full状态之前,路由器没有路由能力。2运行OSPF路由协议的路由器处理路由更新的过程在运行OSPF路由协议的网络里,当网络拓扑发生改变的时候,路由器会收到LSU,其中包含有链路状态通告(LSA)。图9-17是路由器对LSA的处理过程。路由器ID:1.1.1.1E1E0路由器B路由器ALoading状态路由器ID:1.1.1.2DR路由器A要求得到某条链路的详细信息发LSAck确认收到信息路由器B传送某条链路的详细信息给A路由器ID:1.1.1.1E1E0路由器B路由器AFull状态路由器ID:1.1.1.2忽略图9-17运行OSPF路由协议的路由器处理路由更新的过程如图9-17所示,当链路状态更新包到达路由器时,路由器首先判断自己的拓扑表里有没有链路状态通告所描述的链路。如果没有,则说明该链路是新添加进网络的链路。路由器将它添加进路由表,然后向发送者发出确认信息并且向其他邻居该更新信息,最后计算出这条新添加的链路的路由。如果自己的拓扑表里已经有了该条目,那么路由器会比较该更新的顺序号与自己维护的链路状态的顺序号。运行OSPF路由协议的路由器只接受和维护最高的顺序号。如果顺序号相同,说明该更新路由器已经处理过了,路由器将忽略该链路更新。如果链路更新的顺序号还不如路由器维护的链路状态的顺序号大,说明该更新是过时的信息,路由器会向它的发送者发出更新的信息。如果链路更新的顺序号比路由维护的链路状态的顺序号大,说明该通告中包含的是比拓扑表中是否有该条目序列号是否相同是是LSU将该条目添加进拓扑表否发出确认信息向其他邻居转发该更新计算路由序列号是否相同向其他邻居转发该更新否否是结束结束较新的信息,路由器会完成将该信息添加进路由表、发出确认信息、向邻居转发该更新信息、计算路由等一系列操作。9.8单区域OSPF的配置在这一节里,将会介绍如何在单区域里配置OSPF路由协议,以及一些OSPF的辅助命令和检查OSPF配置的命令。9.8.1配置OSPF路由协议的命令及一些辅助命令配置OSPF路由协议的命令及一些辅助命令介绍如下:1.在路由器上配置单区域的OSPF路由协议的命令首先在路由器上声明使用OSPF路由协议,命令格式如下:Router(config)#routerospfprocess-id在该命令中,process-id是进程号,范围是1~65535。在同一个使用OSPF路由协议的网络中的不同路由器可以使用不同的进程号。一台路由器可以启用多个OSPF进程。在声明使用OSPF路由协议之后,我们还要在OSPF路由协议里发布网段,命令格式如下:Router(config-router)#networkaddresswildcard-maskareaarea-id在该命令中,address可以是网段。子网或者接口的地址:wildcard-mask称为通配符号掩码,它与子网掩码正好相反,但是作用是一样的;area-id是区域标识,它的范围是0-65535,区域0是骨干区域,OSPF路由协议在发布网段的时候必须指明其所属的区域,在单区域的的OSPF配置里区域标识必须是0下面是一组OSPF的配置命令示范:Router(config)#routerospf1Router(config-router)#network10.0.0.00.255.255.255area0Router(config-router)#network172.16.0.00.0.255.255area0Router(config-router)#network192.168.1.00.0.0.255area0Router(config-router)#network192.168.2.10.0.0.0area02.在路由器上配置环回接口的命令我们已知道,运行OSPF路由协议的路由器需要一个标识,该标识可以是路由器的所有物理接口上配置的最大的IP地址。但是物理接口由于线路等原因有可能会从UP变成为DOWN的状态。为了稳定起见,我们可以在运行OSPF路由协议的路由器上配置环路接口,它不会变成为DOWN的状态。声明环回的命令格式如下:Router(config)#interfaceloopbacknumber然后可以在该接口下配置地址,该接口不必使用noshutdown命令。图9-18给出了配置环回接口的命令实例。Sydney3(config)#interfaceloopback0Sydney3(config-if)#ipaddress192.168.31.33255.255.255.255Sydney3(config-if)#exit图9-18配置环回接口命令取消环回接口的命令格式如下:Router(config)#nointerfaceloopbacknumber图9-19给出了取消环回接口的命令实例。Sydney3(config)#nointerfaceloopback0Sydney3(config)#01:47:27:LINK-5-CHANGED:Interfaceloopback0,changedstatetoadministrativelydown图9-19取消环回接口的命令3.更改优先级的命令运行OSPF路由协议的路由器之间会比较各自的优先级,优先级高的路由器将成为DR。优先级的范围为0~255,其中如果优先级为0,则该路由器永远不能成为DR。路由器上默认的优先级是1。我们可以改变某一台路由器的优先级,使得该路由器成为DR或者永远不会成为DR。更改优先级的命令格式如下:Router(config-if)#ipospfprioritynumber图9-20给出了更改优先级命令的实例。图9-20更改优先级的命令我们可以使用如下命令查看接口上的优先级及其他关键信息:Router#showipospfinterfacetypenumber图9-21显示了该命令查看的部分内容。Router#showipospfinterfacefastEthernet0/0FastEthernet0/0isup,lineprotocolisupInternetaddressis12.1.1.1/24,Area0ProcessID1,RouterID12.1.1.1,NetworkTypeBROADCAST,Cost:1TransmitDelayis1sec,StateBDR,Priority1DesignatedRouter(ID)12.1.1.2,Interfaceaddress12.1.1.2BackupDesignatedRouter(ID)12.1.1.1,Interfaceaddress12.1.1.1Timerintervalsconfigured,Hello10,Dead40,Wait40,Retransmit5Helloduein00:00:02Index1/1,floodqueuelength0Next0x0(0)/0x0(0)Lastfloodscanlengthis1,maximumis1Lastfloodscantimeis0msec,maximumis0msecNeighborCountis1,Adjacentneighborcountis1Adjacentwithneighbor12.1.1.2(DesignatedRouter)Suppresshellofor0neighbor(s)Sydney1(config)#interfacefastEthernet0/0Sydney1(config-if)#ipospfpriority50Sydney1(config-if)#endSydney1#%SYS-5-CONFIG_I:Configuredfromconsolebyconsole图9-21showipospfinterface命令的部分内容2.更改链路开销的命令OSPF路由协议是通过对链路的带宽计算得出路径的开销值的,计算公式是:链路开销=108/带宽(bps)在串行接口上链路的带宽默认为1.544Mbps。CiscoIOS会根据接口的带宽自动计算链路开销的值,表9-1介绍了部分链路的开销值。表9-1部分链路的开销接口带宽开销56Mbps串行链路1785T1(1.544Mbps链路)64E1(2.048Mbps链路)484Mbps令牌环链路2510Mbps以太链路1016Mbps令牌环链路6100Mbps快速以太链路,FDDI1我们可以通过使用如下的命令更改接口的带宽,则该链路的开销也会相应改变:Router(config)#interfaceserial0/0Router(config-if)#bandwidth64另外,我们可以通过如下命令直接在接口上更改开销:Router(config-if)#ipospfcostnumber其中开销值可以是1~65535之间的数值。3.应用邻居验证的命令在默认情况下,路由器相信它所收到的路由信息是没有被篡改的。但是如果网络环境无法保证该信任,我们可以使用邻居验证的方法来保证路由器收到的路由信息确实是它的邻居发出的。我们可以在路由器的接口上配置验证的密码,该密码最多可以有8位字符。该接口所连接的邻居路由器的相应接口也要配置验证的密码。这样,当两台路由器互相发送Hello包时,Hello包里就会带有验证的信息,如果该信息不匹配,则无法形成邻居关系。在接口上配置验证密码的命令格式如下:Router(config-if)#ipospfauthentication-keypassword当配置完接口的验证密码之后,还要在OSPF路由协议里声明使用邻居验证,命令格式如下:Router(config-router)#areaarea-numberauthentication这种配置方式下,密码是在网络上以明文的方式传送的,为了安全起见,我们也可以配置MD5加密的密码验证,其接口上的配置命令格式如下:Router(config-if)#ipospfmessage-digest-keykey-idmd5encryption-typekey其中key-id可以是1~255之间的数。两台路由器如果要成为邻居,该数值必须配置得一样。而encryption-typekey可以是0~7之间的数。它表示加密的程度,0表示不加密,7表示最大程度的加密。在OSPF路由协议里声明使用加密的邻居验证的命令如下:Router(config-router)#areaarea-idauthenticationmessage-digest该种邻居验证方式不会在网络中以文明的方式传递密码,安全性大大增加了。图11-25是MD5加密的密码验证的实例。图9-22MD5加密的密码验证实例4.更改Hello-interval和dead-interval的命令Hello-interval是路由器发出Hello包的时间间隔,dead-interval是邻居关系失效的时间间隔。默认的Hello-interval是10秒,而dead-interval是40秒。在非广播多路访问网络,默认的Hello-interval是30秒,而dead-interval是120秒。当在dead-interval之内没有收到邻居的Hello包时,一旦dead-interval超时,路由器会认为该邻居已经离线。如果路由器的Hello-interval或dead-interval配置不相同,则两台路由器不能形成邻居关系。所以更改该参数时一定要小心。一下是更改Hello-interval和dead-interval的命令格式:Router(config-if)#ipospfhello-intervalsecondsRouter(config-if)#ipospfdead-intervalseconds图9-23给出了应用该命令的实例Sydney1(config-if)#ipospfhello-interval5Sydney1(config-if)#ipospfdead-interval20图9-23更改Hello-interval和dead-interval的命令5.配置默认静态路由的命令在OSPF的非骨干区域里,区域的内部路由器不需要了解其他区域的路由,它们只需要使用一条默认的静态路由,把目的地是其他区域的数据包路由给边界路由器。在路由器上配置默认静态路由的命令格式如下:Router(config-if)#iproute0.0.0.0.0.0.0.0[interfacenext-hopaddress]如果在区域里的每台路由器上都配置默认静态路由命令,我们的工作量是比较大的我们可以在边界路由器上使用如下命令,使得区域内部的路由器能够从边界路由器学习到该默认路由:Router(config-router)#default-informationoriginate通过使用该命令,区域内部的路由器将会把边界路由器作为它们的网关。9.8.2检验OSPF配置的命令常见的OSPF配置问题和检验OSPF配置的命令如下。1.常见的OSPF配置问题一台运行OSPF路由协议的路由器需要和其他相邻的路由器建立邻居关系,然后它才能和这些路由器互相交换链路状态的信息,从而学习路由。如果路由器无法和其它路由器建立邻居关系,那么它将不能学习到路由。导致路由器不能建立邻居关系的配置Sydeny1(config-if)#ipospfmessage-digest-key1md57asecretSydeny1(config-if)#exitSydeny1(config)#routerospf1Sydeny1(config-router)#area0authenticationmessage-digestSydeny1(config-router)#endSydeny1#问题如下。●相邻的路由器互相不发送Hello包。●相邻的路由器的Hello-interval和dead-interval●连接路由器的接口属于不同的网络类型。●邻居验证的密码或关键字不同。另外,在配置OSPF路由协议的时候,我们还要保证:●在路由器的接口上配置的IP地址和子网掩码正确无误。●在发布网段的时候使用了正确的通配符掩码。●网段发布到了正确的区域。2.检验OSPF配置的命令我们可以使用下面这些命令来检查OSPF路由协议是否正确。●showipospfinterface该命令用来检查接口是否被配置在相应的区域里,另外我们也可以看到该接口所连接的邻居,以及在接口上的Hello-interval和dead-interval的这两个参数。●showipospf使用该命令我们可以看到链路状态更新的时间间隔及网络收敛的次数等信息。●showipospfneighbordetail该命令显示邻居的详细信息的列表,包括它们的优先级和当前的状态。●showipospfdatabase该命令显示路由器管理的拓扑表的内容、路由器标识和OSPF进程号。3.OSPF的clear和debug命令当我们对OSPF的配置进行了改变(比如更改了所发布的网段)之后,如果这种改变在路由表反映得比较慢,我们可以使用下面的命令来清一下路由表,让路由表立刻开始更新:Router#cleariproute这个命令可以清空整个的路由表,让路由器重新建立路由表。当然我们也可以指定某一条路由条目,只清空该条目,命令如下:Router#cleariproutea.b.c.d如果我们怀疑OSPF的链路状态更新包有问题,我们可以使用如下命令检查:Router#debugipospfevents该命令会报告所有的OSPF事件。而下面这个命令:Router#debugipospfadj会报告关于邻居的OSPF事件。',)
提供链路状态路由协议,链路状态路由协议有哪些会员下载,编号:1700672384,格式为 docx,文件大小为20页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。