sky 发表于 2004-8-7 13:37:17

[转]路由器原理及路由协议

本文通过阐述TCP/IP网络中路由器的基本工作原理,介绍了IP路由器的几大功能,给出了静态路由协议和动态路由协议,以及内部网关协议和外部网关协议的概念,同时简要介绍了目前最常见的RIP、OSPF、BGP和BGP-4这几种路由协议,然后描述了路由算法的设计目标和种类,着重介绍了链路状态法和距离向量法。在文章的最后,扼要讲述了新一代路由器的特征。 <br><br>近十年来,随着计算机网络规模的不断扩大,大型互联网络(如Internet)的迅猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备。用户的需求推动着路由技术的发展和路由器的普及,人们已经不满足于仅在本地网络上共享信息,而希望最大限度地利用全球各个地区、各种类型的网络资源。而在目前的情况下,任何一个有一定规模的计算机网络(如企业网、校园网、智能大厦等),无论采用的是快速以大网技术、FDDI技术,还是ATM技术,都离不开路由器,否则就无法正常运作和管理。 <br><br>    1.网络互连 <br><br>把自己的网络同其它的网络互连起来,从网络中获取更多的信息和向网络发布自己的消息,是网络互连的最主要的动力。网络的互连有多种方式,其中使用最多的是网桥互连和路由器互连。 <br><br>    1.1 网桥互连的网络 <br><br>网桥工作在OSI模型中的第二层,即链路层。完成数据帧(frame)的转发,主要目的是在连接的网络间提供透明的通信。网桥的转发是依据数据帧中的源地址和目的地址来判断一个帧是否应转发和转发到哪个端口。帧中的地址称为“MAC”地址或“硬件”地址,一般就是网卡所带的地址。 <br><br>网桥的作用是把两个或多个网络互连起来,提供透明的通信。网络上的设备看不到网桥的存在,设备之间的通信就如同在一个网上一样方便。由于网桥是在数据帧上进行转发的,因此只能连接相同或相似的网络(相同或相似结构的数据帧),如以太网之间、以太网与令牌环(token ring)之间的互连,对于不同类型的网络(数据帧结构不同),如以太网与X.25之间,网桥就无能为力了。 <br><br>网桥扩大了网络的规模,提高了网络的性能,给网络应用带来了方便,在以前的网络中,网桥的应用较为广泛。但网桥互连也带来了不少问题:一个是广播风暴,网桥不阻挡网络中广播消息,当网络的规模较大时(几个网桥,多个以太网段),有可能引起广播风暴(broadcasting storm),导致整个网络全被广播信息充满,直至完全瘫痪。第二个问题是,当与外部网络互连时,网桥会把内部和外部网络合二为一,成为一个网,双方都自动向对方完全开放自己的网络资源。这种互连方式在与外部网络互连时显然是难以接受的。问题的主要根源是网桥只是最大限度地把网络沟通,而不管传送的信息是什么。 <br><br>    1.2 路由器互连网络 <br><br>路由器互连与网络的协议有关,我们讨论限于TCP/IP网络的情况。 <br><br>路由器工作在OSI模型中的第三层,即网络层。路由器利用网络层定义的“逻辑”上的网络地址(即IP地址)来区别不同的网络,实现网络的互连和隔离,保持各个网络的独立性。路由器不转发广播消息,而把广播消息限制在各自的网络内部。发送到其他网络的数据茵先被送到路由器,再由路由器转发出去。 <br><br>IP路由器只转发IP分组,把其余的部分挡在网内(包括广播),从而保持各个网络具有相对的独立性,这样可以组成具有许多网络(子网)互连的大型的网络。由于是在网络层的互连,路由器可方便地连接不同类型的网络,只要网络层运行的是IP协议,通过路由器就可互连起来。 <br><br>网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通信。IP地址是与硬件地址无关的“逻辑”地址。路由器只根据IP地址来转发数据。IP地址的结构有两部分,一部分定义网络号,另一部分定义网络内的主机号。目前,在Internet网络中采用子网掩码来确定IP地址中网络地址和主机地址。子网掩码与IP地址一样也是32bit,并且两者是一一对应的,并规定,子网掩码中数字为“1”所对应的IP地址中的部分为网络号,为“0”所对应的则为主机号。网络号和主机号合起来,才构成一个完整的IP地址。同一个网络中的主机IP地址,其网络号必须是相同的,这个网络称为IP子网。 <br><br>通信只能在具有相同网络号的IP地址之间进行,要与其它IP子网的主机进行通信,则必须经过同一网络上的某个路由器或网关(gateway)出去。不同网络号的IP地址不能直接通信,即使它们接在一起,也不能通信。 <br><br>路由器有多个端口,用于连接多个IP子网。每个端口的IP地址的网络号要求与所连接的IP子网的网络号相同。不同的端口为不同的网络号,对应不同的IP子网,这样才能使各子网中的主机通过自己子网的IP地址把要求出去的IP分组送到路由器上。 <br><br>    2.路由原理 <br><br>当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不同IP于网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。如果没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关(default gateway)”的路由器上。“缺省网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路由器端口的IP地址。 <br><br>路由器转发IP分组时,只根据IP分组目的IP地址的网络号部分,选择合适的端口,把IP分组送出去。同主机一样,路由器也要判定端口所接的是否是目的子网,如果是,就直接把分组通过端口送到网络上,否则,也要选择下一个路由器来传送分组。路由器也有它的缺省网关,用来传送不知道往哪儿送的IP分组。这样,通过路由器把知道如何传送的IP分组正确转发出去,不知道的IP分组送给“缺省网关”路由器,这样一级级地传送,IP分组最终将送到目的地,送不到目的地的IP分组则被网络丢弃了。 <br><br>目前TCP/IP网络,全部是通过路由器互连起来的,Internet就是成千上万个IP子网通过路由器互连起来的国际性网络。这种网络称为以路由器为基础的网络(router based network),形成了以路由器为节点的“网间网”。在“网间网”中,路由器不仅负责对IP分组的转发,还要负责与别的路由器进行联络,共同确定“网间网”的路由选择和维护路由表。 <br><br>路由动作包括两项基本内容:寻径和转发。寻径即判定到达目的地的最佳路径,由路由选择算法来实现。由于涉及到不同的路由选择协议和路由选择算法,要相对复杂一些。为了判定最佳路径,路由选择算法必须启动并维护包含路由信息的路由表,其中路由信息依赖于所用的路由选择算法而不尽相同。路由选择算法将收集到的不同信息填入路由表中,根据路由表可将目的网络与下一站(nexthop)的关系告诉路由器。路由器间互通信息进行路由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器根据量度来决定最佳路径。这就是路由选择协议(routing protocol),例如路由信息协议(RIP)、开放式最短路径优先协议(OSPF)和边界网关协议(BGP)等。 <br><br>转发即沿寻径好的最佳路径传送信息分组。路由器首先在路由表中查找,判明是否知道如何将分组发送到下一个站点(路由器或主机),如果路由器不知道如何发送分组,通常将该分组丢弃;否则就根据路由表的相应表项将分组发送到下一个站点,如果目的网络直接与路由器相连,路由器就把分组直接送到相应的端口上。这就是路由转发协议(routed protocol)。 <br><br>路由转发协议和路由选择协议是相互配合又相互独立的概念,前者使用后者维护的路由表,同时后者要利用前者提供的功能来发布路由协议数据分组。下文中提到的路由协议,除非特别说明,都是指路由选择协议,这也是普遍的习惯。 <br><br>    3.路由协议 <br><br>典型的路由选择方式有两种:静态路由和动态路由。 <br><br>静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。 <br><br>      动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。 <br><br>静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。 <br><br>根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP)。这里的自治域指一个具有统一管理机构、统一路由策略的网络。自治域内部采用的路由选择协议称为内部网关协议,常用的有RIP、OSPF;外部网关协议主要用于多个自治域之间的路由选择,常用的是BGP和BGP-4。下面分别进行简要介绍。 <br><br>    3.1 RIP路由协议 <br><br>RIP协议最初是为Xerox网络系统的Xerox parc通用协议而设计的,是Internet中常用的路由协议。RIP采用距离向量算法,即路由器根据距离选择路由,所以也称为距离向量协议。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也把所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到了全网。 <br><br>RIP使用非常广泛,它简单、可靠,便于配置。但是RIP只适用于小型的同构网络,因为它允许的最大站点数为15,任何超过15个站点的目的地均被标记为不可达。而且RIP每隔30s一次的路由信息广播也是造成网络的广播风暴的重要原因之一。 <br><br>    3.2 OSPF路由协议 <br><br>80年代中期,RIP已不能适应大规模异构网络的互连,0SPF随之产生。它是网间工程任务组织(1ETF)的内部网关协议工作组为IP网络而开发的一种路由协议。 <br><br>0SPF是一种基于链路状态的路由协议,需要每个路由器向其同一管理域的所有其它路由器发送链路状态广播信息。在OSPF的链路状态广播中包括所有接口信息、所有的量度和其它一些变量。利用0SPF的路由器首先必须收集有关的链路状态信息,并根据一定的算法计算出到每个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关路由更新信息。 <br><br>与RIP不同,OSPF将一个自治域再划分为区,相应地即有两种类型的路由选择方式:当源和目的地在同一区时,采用区内路由选择;当源和目的地在不同区时,则采用区间路由选择。这就大大减少了网络开销,并增加了网络的稳定性。当一个区内的路由器出了故障时并不影响自治域内其它区路由器的正常工作,这也给网络的管理、维护带来方便。 <br><br>    3.3 BGP和BGP-4路由协议 <br><br>BGP是为TCP/IP互联网设计的外部网关协议,用于多个自治域之间。它既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法。它的主要功能是与其它自治域的BGP交换网络可达信息。各个自治域可以运行不同的内部网关协议。BGP更新信息包括网络号/自治域路径的成对信息。自治域路径包括到达某个特定网络须经过的自治域串,这些更新信息通过TCP传送出去,以保证传输的可靠性。 <br><br>为了满足Internet日益扩大的需要,BGP还在不断地发展。在最新的BGp4中,还可以将相似路由合并为一条路由。 <br><br>    3.4 路由表项的优先问题 <br><br>在一个路由器中,可同时配置静态路由和一种或多种动态路由。它们各自维护的路由表都提供给转发程序,但这些路由表的表项间可能会发生冲突。这种冲突可通过配置各路由表的优先级来解决。通常静态路由具有默认的最高优先级,当其它路由表表项与它矛盾时,均按静态路由转发。 <br><br>    4.路由算法 <br><br>   路由算法在路由协议中起着至关重要的作用,采用何种算法往往决定了最终的寻径结果,因此选择路由算法一定要仔细。通常需要综合考虑以下几个设计目标: <br><br>    (1)最优化:指路由算法选择最佳路径的能力。 <br><br>    (2)简洁性:算法设计简洁,利用最少的软件和开销,提供最有效的功能。 <br><br>    (3)坚固性:路由算法处于非正常或不可预料的环境时,如硬件故障、负载过高或操作失误时,都能正确运行。由于路由器分布在网络联接点上,所以在它们出故障时会产生严重后果。最好的路由器算法通常能经受时间的考验,并在各种网络环境下被证实是可靠的。 <br><br>    (4)快速收敛:收敛是在最佳路径的判断上所有路由器达到一致的过程。当某个网络事件引起路由可用或不可用时,路由器就发出更新信息。路由更新信息遍及整个网络,引发重新计算最佳路径,最终达到所有路由器一致公认的最佳路径。收敛慢的路由算法会造成路径循环或网络中断。 <br><br>    (5)灵活性:路由算法可以快速、准确地适应各种网络环境。例如,某个网段发生故障,路由算法要能很快发现故障,并为使用该网段的所有路由选择另一条最佳路径。 <br><br>   路由算法按照种类可分为以下几种:静态和动态、单路和多路、平等和分级、源路由和透明路由、域内和域间、链路状态和距离向量。前面几种的特点与字面意思基本一致,下面着重介绍链路状态和距离向量算法。 <br><br>    链路状态算法(也称最短路径算法)发送路由信息到互联网上所有的结点,然而对于每个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分。距离向量算法(也称为Bellman-Ford算法)则要求每个路由器发送其路由表全部或部分信息,但仅发送到邻近结点上。从本质上来说,链路状态算法将少量更新信息发送至网络各处,而距离向量算法发送大量更新信息至邻接路由器。 <br><br>   由于链路状态算法收敛更快,因此它在一定程度上比距离向量算法更不易产生路由循环。但另一方面,链路状态算法要求比距离向量算法有更强的CPU能力和更多的内存空间,因此链路状态算法将会在实现时显得更昂贵一些。除了这些区别,两种算法在大多数环境下都能很好地运行。 <br><br>    最后需要指出的是,路由算法使用了许多种不同的度量标准去决定最佳路径。复杂的路由算法可能采用多种度量来选择路由,通过一定的加权运算,将它们合并为单个的复合度量、再填入路由表中,作为寻径的标准。通常所使用的度量有:路径长度、可靠性、时延、带宽、负载、通信成本等。 <br><br>5.新一代路由器 <br><br>由于多媒体等应用在网络中的发展,以及ATM、快速以太网等新技术的不断采用,网络的带宽与速率飞速提高,传统的路由器已不能满足人们对路由器的性能要求。因为传统路由器的分组转发的设计与实现均基于软件,在转发过程中对分组的处理要经过许多环节,转发过程复杂,使得分组转发的速率较慢。另外,由于路由器是网络互连的关键设备,是网络与其它网络进行通信的一个“关口”,对其安全性有很高的要求,因此路由器中各种附加的安全措施增加了CPU的负担,这样就使得路由器成为整个互联网上的“P颈”。 <br><br>传统的路由器在转发每一个分组时,都要进行一系列的复杂操作,包括路由查找、访问控制表匹配、地址解析、优先级管理以及其它的附加操作。这一系列的操作大大影响了路由器的性能与效率,降低了分组转发速率和转发的吞吐量,增加了CPU的负担。而经过路由器的前后分组间的相关性很大,具有相同目的地址和源地址的分组往往连续到达,这为分组的快速转发提供了实现的可能与依据。新一代路由器,如IP Switch、Tag Switch等,就是采用这一设计思想用硬件来实现快速转发,大大提高了路由器的性能与效率。 <br><br>新一代路由器使用转发缓存来简化分组的转发操作。在快速转发过程中,只需对一组具有相同目的地址和源地址的分组的前几个分组进行传统的路由转发处理,并把成功转发的分组的目的地址、源地址和下一网关地址(下一路由器地址)放人转发缓存中。当其后的分组要进行转发时,茵先查看转发缓存,如果该分组的目的地址和源地址与转发缓存中的匹配,则直接根据转发缓存中的下一网关地址进行转发,而无须经过传统的复杂操作,大大减轻了路由器的负担,达到了提高路由器吞吐量的目标。 <br><br>路由信息协议&#40;RIP&#41; <br><br>一、背景 <br><br>路由信息协议&#40;RIP&#41;是以跳数作为metric的距离向量协议。RIP广泛用于全球因特网的路由,是一种内部网关协议&#40;interior gateway protocol&#41;,即在自治系统内部执行路由功能。外部网关路由协议&#40;exterior gateway protocol&#41;,如边缘网关协议(BGP),在不同的自治系统间进行路由。RIP的前身是Xerox协议GWINFO,后来的版本routed(发音为/rutdi/)封装在1982年伯克利标准发布Unix(即BSD中)。RIP本身发展成因特网路由协议,有些协议族使用了RIP的变种,例如:AppleTalk路由表维护协议(RTMP)和Banyan VINES路由表协议(RIP)就是基于IP版的RIP的。RIP最新的增强版是RIP2规范,它允许在RIP分组中包含更多的信息并提供了简单的认证机制。 <br>  IP RIP在两个文档中正式定义:RFC 1058和1723。RFC 1058&#40;1988&#41;描述了RIP的第一版实现,RFC 1723&#40;1994&#41;是它的更新,允许RIP分组携带更多的信息和安全特性。 <br><br>本文简单介绍RIP的基本能力和特性,包括路由更新过程,RIP路由metric,路由稳定性和计时器。 <br><br>二、路由更新 <br><br>RIP以规则的时间间隔及在网络拓扑改变时发送路由更新信息。当路由器收到包含某表项的更新的路由更新信息时,就更新其路由表:该路径的metric值加上1,发送者记为下一跳。RIP路由器只维护到目的的最佳路径(具有最小metric值的路径)。更新了自己的路由表后,路由器立刻发送路由更新把变化通知给其它路由器,这种更新是与周期性发送的更新信息无关的。 <br><br>三、RIP路由metric <br><br>RIP使用单一路由metric(跳数)来衡量源网络到目的网络的距离。从源到目的的路径中每一跳被赋以一个跳数值,此值通常为1。当路由器收到包含新的或改变的目的网络表项的路由更新信息,就把其metric值加1然后存入路由表,发送者的IP地址就作为下一跳地址。 <br><br>RIP通过对从源到目的的最大跳数加以限制来防止路由环,最大值为15。如果路由器收到了含有新的或改变的表项的路由更新信息,且把metric值加1后成为无穷大(即16),就认为该目的网络不可到达。 <br><br>四、RIP的稳定性 <br><br>为了适应快速的网络拓扑变化,RIP规定了一些与其它路由协议相同的稳定特性。例如,RIP实现了split-horizon和hold-down机制来防止路由信息的错误传播。此外,RIP的跳数限制也防止了无限增长而产生路由环。 <br><br>五、RIP计时器 <br><br>RIP使用了一些计时器以控制其性能,包括路由更新计时器、路由超时和路由清空的计时器。路由更新计时器记录周期性更新的时间间隔,通常为30秒,每当该计时器重置时增加小的随机秒数以防止冲突。每个路由表项都有相关的路由超时计时器,当路由超时计时器过期时,该路径就标记为失效的,但仍保存在路由表中,直到路由清空计时器过期才被清掉。 <br><br>六、RIP分组格式 <br><br>下面描述IP RIP和IP RIP2的分组格式。 <br><br>1、RIP分组格式 <br><br><br><br>命令&#45;&#45;表示该分组是请求还是响应。请求分组要求路由器发送其路由表的全部或部分。响应分组可以是主动提供的周期性路由更新或对请求的响应。大的路由表可以使用多个RIP分组来传递信息。 <br><br>版本号&#45;&#45;指明使用的RIP版本,此域可以通知不同版本的不兼容。 <br><br>零&#45;&#45;未使用。 <br><br>地址族标志&#40;AFI&#41;&#45;&#45;指明使用的地址族。RIP设计用于携带多种不同协议的路由信息。每个项都有地址族标志来表明使用的地址类型,IP的AFI是2。 <br><br>地址&#45;&#45;指明该项的IP地址。 <br><br>metric&#45;&#45;表示到目的的过程中经过了多少跳数(路由器数)。有效路径的值在1和15之间,16表示不可达路径。 <br><br>    注:在一个IP RIP分组中最多可有25个AFI、地址和metric域,即一个RIP分组中最多可含有25个地址项。 <br><br>2、RIP2分组格式 <br><br>    RIP2规范&#40;RFC1723&#41;允许RIP分组包含更多的信息,并提供了简单的认证机制,如下图。 <br><br><br><br>命令&#45;&#45;表示该分组是请求还是响应。请求分组要求路由器发送其路由表的全部或部分。响应分组可以是主动提供的周期性路由更新或对请求的响应。大的路由表可以使用多个RIP分组来传递信息。 <br><br>版本&#45;&#45;指明使用的RIP版本,在实现RIP2或进行认证的RIP分组中,此值为2。 <br><br>未使用&#45;&#45;值为0。 <br><br>地址族标志&#40;AFI&#41;&#45;&#45;指明使用的地址族。RIP设计用于携带多种不同协议的路由信息。每个项都有地址族标志来表明使用的地址类型,IP的AFI是2。如果第一项的AFI为0xFFFF,该项剩下的部分就是认证信息。目前,唯一的认证类型就是简单的口令。 <br><br>路由标记&#45;&#45;提供区分内部路由(由RIP学得)和外部路由(由其它协议学得)的方法。 <br><br>IP地址&#45;&#45;指明该项的IP地址。 <br><br>子网掩码&#45;&#45;包含该项的子网掩码。如果此域为0,则该项不指定子网掩码。 <br><br>下一跳&#45;&#45;指明下一跳的IP地址。 <br><br>metric&#45;&#45;表示到目的的过程中经过了多少跳数(路由器数)。有效路径的值在1和15之间,16表示不可达路径。 <br><br>注:在一个IP RIP分组中最多可有25个AFI、地址和metric域,即一个RIP分组中最多可含有25个地址项。如果AFI指明为认证信息,则只能有24个路由表项。 <br><br>如何选择路由协议 <br><br>当网络启用了路由协议,网络便具有了能够自动更新路由表的强大功能。但是使用象RIP/RIP2、OSPF或IGRP/EIGRP等一些主要的内部网关协议(InteriorGatewayProtocol,IGP)都有一定的协定。 <br><br>内部网关协议首先适合于在那些只有单个管理员负责网络操作和运行的地方;否则,将会出现配置错误导致网络性能降低或是导致网络运行不稳定的情况。对于由许多管理员共同分担责任的网络,如Internet,则考虑使用EGP协议(InteriorGatewayProtocol,外部网关协议),如BGP4。 <br><br>如果网络中只有一个路由器,不需要使用路由协议;只有当网络中具有多个路由器时,才有必要让它们去共享信息。但如果仅有小型网络,完全可以通过静态路由手动地更新路由表。 <br><br>路由信息协议 <br><br>RIP(RoutingInformationProtocol)协议基于一个被称为“routed”的程序,该程序运行在BSDI版本的Unix系统之上,并在1988年被标准化在RFC1058中。而在RFC1388中所描述的版本2中,增加了对VLSM(VariableLengthSubnetMasks,可变长子网屏蔽)的支持,但没有弥补该协议的主要缺陷。例如,在有多重路径到相同目标的网络中,RIP确定使用一条可选择的路径将花费许多时间,在没有多重路径的网络中,RIP协议已经被广泛使用。 <br><br>RIP协议被列为距离矢量协议,这意味着它使用距离来决定最佳路径,如通过路由跳数来衡量。路由器每30秒互相发送广播信息。收到广播信息的每个路由器增加一个跳数。如果广播信息经过多个路由器收到,到这个路由器具有最低跳数的路径是被选中的路径。如果首选的路径不能正常工作,那么具有较高跳数的路径被作为备份。 <br><br>对于RIP协议(和其他路由协议),网络上的路由器在一条路径不能用时必须经历决定替代路径的过程,这个过程称为收敛(Convergence)。RIP协议花费大量的时间用于收敛是个主要的问题。在RIP协议认识到路径不能达到前,它被设为等待,直到它已错过6次更新总共180秒时间。然后,在使用新路径更新路由表前,它等待另一个可行路径的下一个信息的到来。这意味着在备份路径被使用前至少经过了3分钟,这对于多数应用程序超时是相当长的时间。 <br><br>RIP协议的另一个基本问题是,当选择路径时它忽略了连接速度问题。例如,如果一条由所有快速以太网连接组成的路径比包含一个10Mbps以太网连接的路径远一个跳数,具有较慢10Mbps以太网连接的路径将被选定作为最佳路径。 <br><br>RIP协议的原始版本不能应用VLSM,因此不能分割地址空间以最大效率地应用有限的IP地址。RIP2协议通过引入子网屏蔽与每一路由广播信息一起使用实现了这个功能。 <br><br>路由协议还应该能防止数据包进入循环,或落入路由选择循环,这是由于多余连接影响网络的问题。RIP协议假定如果从网络的一个终端到另一个终端的路由跳超过15个,那么一定牵涉到了循环。因此当一个路径达到16跳,将被认为是达不到的。显然,这限制了RIP协议只能在网络上的使用。 <br><br>RIP的最大问题涉及到具有多余路径的较大网络。如果网络没有多余的路径,RIP协议将很好地工作,它是被几乎每个支持路径选择的厂商实施的Internet标准。RIP协议适用于多数服务器操作系统,它的配置和障碍修复非常容易。对于规模较大的网络,或具有多余路径的网络,应该考虑使用其它路由协议。 <br><br>OSPF2 <br><br>OSPF2是类似RIP协议的Internet标准,可以弥补RIP协议的缺点。1991年在RFC1247中它被第一次标准化;最新的版本是在RFC2328中。但是与RIP协议不同,OSPF是一套链路状态路由协议,这意 <br>味着路由选择的变化基于网络中路由器物理连接的状态与速度,并且变化被立即广播到网络中的每一个路由器。 <br><br>当一个OSPF路由器第一次被激活,它使用OSPF的“hello协议”来发现与它连接的邻节点,然后用LSA(链路状态广播信息)等和这些路由器交换链路状态信息。每个路由器都创建了由每个接口、对应邻节点和接口速度组成的数据库。每个路由器从邻接路由器收到的LSA被继续向各自的邻接路由器传递,直到网络中的每个路由器收到了所有其它路由器的LSA。 <br><br>链路状态数据库不同于路由表,根据数据库中的信息,每个路由器计算到网络的每一目标的一条路径,创建以它为根的路由拓扑结构树,其中包含了形成路由表基础的最短路径优先树(SPF树)。LSA每30分钟被交换一次,除非网络拓扑结构有变化。例如,如果接口变化,信息立刻通过网络广播;如果有多余路径,收敛将重新计算SPF树。计算SPF树所需的时间取决于网络规模的大小。因为这些计算,路由器运行OSPF需要占用更多CPU资源。 <br><br>一种弥补OSPF协议占用CPU和内存资源的方法是将网络分成独立的层次域,称为区域(Area)。每个路由器仅与它们自己区域内的其它路由器交换LSA。Area0被作为主干区域,所有区域必须与Area0相邻接。在ABR(区域边界路由器,AreaBorderRouter)上定义了两个区域之间的边界。ABR与Area0和另一个非主干区域至少分别有一个接口。最优设计的OSPF网络包含通过VLSM与每个区域邻接的主干网络。这使得在路由表的一个条目中描述多个网络成为可能。 <br><br>虽然OSPF协议是RIP协议强大的替代品,但是它执行时需要更多的路由器资源。如果网络中正在运转的是RIP协议,并且没有发生任何问题,仍然可以继续使用。但是如果想在网络中利用基于标准协议的多余链路,OSPF协议是更好的选择。 <br><br>增强内部网关路由协议 <br><br>在Cisco公司的产品中,EIGRP(EnhancedInteriorGatewayRontingProtocol)协议具有一些优势。最重要的是它能迅速广播链路状态的变化。但EIGRP协议的最大缺点是没有标准化。 <br><br>与OSPF协议一样,EIGRP路由器寻找它们的邻接路由器并交换“hello”数据包。EIGRP协议每隔5秒传送“hello”数据包。如果失败3次,邻接路由器则被认为是宕机状态,替代的路径将被使用。 <br><br>当本地路由器的链路状态发生变化,在新信息基础上它将重新计算拓扑结构表。OSPF协议此时将立即向网络中的每个路由器广播链路状态的变化,而EIGRP协议将仅仅涉及到被这些变化直接影响的路由器。这使带宽和CPU资源的利用效率更高。同时,由于EIGRP协议使用了不到50&#37;的带宽,使得在低带宽WAN链路上具有很大优势。EIGRP协议的另一个优势是它支持Novell/IPX和AppleTalk环境。如果网络正在运行的是IGRP协议,那么转换到EIGRP协议比转换到OSPF协议要容易的多。 <br><br>

丁丁 发表于 2004-8-8 04:07:25

好东西,加精

CiscoSystem 发表于 2004-8-8 16:00:39

辛苦了!!

chenxingchen 发表于 2005-10-19 15:24:16

好,太感谢了

Gaaaa 发表于 2009-7-25 17:06:48

恩,不错,拿来看看。

ChrisVII 发表于 2010-6-11 19:43:31

很好很详细

basica 发表于 2010-6-23 11:20:39

虽然基础,学习一下,温故!
页: [1]
查看完整版本: [转]路由器原理及路由协议