细说路由协议如果您还喜欢学习设计的话请来PS爱好者平面设计学习网子网通过路由器互连构成的国际性网络。这种以路由器为基础的网络,形成了以路由器为节点的“网间网”。在“网间网”中,路由器不仅负责对IP分组的转发,而且还要负责与别的路由器进行联络,共同确定“网间网”的路由选择和维护路由表。1.路由协议概念:路由器必须与相邻路由器互通信息以交换路由信息,更新维护动态路由表使之正确反映网络的拓扑结构变化,并由路由器根据量度标准来决定最佳路径,路由协议是路由器之间进行通信而采用的协议,当网络启用了路由协议,网络便具有了能够自动更新路由表的强大功能。在介绍路由协议之前让我们先了解下述概念:(1)自治域(AS,AutonomousSystem):由单个实体管理,具有统一管理机构、统一路由策略的网络。在这里单个实体,通常指单独的因特网服务提供者(ISP,InternetServiceProvider)。(2)收敛(Convergence):对于路由协议,网络上的路由器在一条路径不能使用时必须经历决定替代路径的过程,是在最佳路径的判断上所有路由器达到一致的过程。当某个网络事件引起路由可用或不可用时,路由器就发出更新信息。路由更新信息遍及整个网络,引发重新计算最佳路径,最终达到所有路由器一致公认的最佳路径。收敛慢的路由算法会造成路径循环或网络中断。(3)路由算法:路由算法在路由协议中处于起着至关重要作用的核心地位,它将收集到的不同信息填入路由表中,并最终决定寻径的结果,将目的网络与下一站的关系告诉路由器。具体在运行过程中,路由器按照某种路由通信协议,查找路由表,路由表中列出整个互联网络中包含的各个节点,以及节点间的路径情况和与它们相联系的传输费用。如果到特定的节点有一条以上路径,则基于预先确定的准则选择最优(最经济)的路径。另外由于各种网络段和其相互连接的情况可能发生变化,因此路由情况的信息需要及时更新,这时由所使用的路由信息协议规定定时更新或者按变化情况更新来完成。网络中的每个路由器按照这一规则动态地更新它所保持的路由表,以便保持有效的路由信息。采用何种算法往往需要综合考虑以下设计目标:①.最优化:指路由算法选择最佳路径的能力。②.简洁性:算法设计简洁,利用最少的软件和开销,提供最有效的功能。③.坚固性:路由算法处于非正常或不可预料的环境时,如硬件故障、负载过高或操作失误时,都能正确运行。由于路由器分布在网络联接点上,所以在它们出故障时会产生严重后果。最好的路由器算法通常能够经受各种变化情况的考验,并在各种网络环境下被证实是可靠的。④.快速收敛:收敛是在最佳路径的判断上所有路由器达到一致的过程。当某个网络事件引起路由可用或不可用时,路由器就发出更新信息。路由更新信息遍及整个网络,引发重新计算最佳路径,最终达到所有路由器一致公认的最佳路径。收敛慢的路由算法会造成路径循环或网络中断。⑤.灵活性:路由算法可以快速、准确地适应各种网络环境。例如,某个网段发生故障,路由算法要能很快发现故障,并为使用该网段的所有路由选择另一条最佳路径。路由算法按照种类可分为以下几种:静态和动态、单路和多路、平等和分级、源路由和透明路由、域内和域间、链路状态和距离向量。下面重点介绍链路状态和距离向量算法。①.距离向量算法:距离向量算法也称为Bellman-Ford算法,以经过的路由数即跳数(hop)大小,确定最佳路径。要求每个路由器周期性发送其路由表全部或部分信息(仅发送到邻近结点上),来维护路由器路由表。②.链路状态算法:链路状态算法也称最短路径算法、接口状态算法,以创建该算法的人来命名,也称为Dijkstra算法,根据路由器接口状态,确定最佳路径。当路由器启动或网络结构发生变化时发送链路状态通告到互联网上所有的结点,一旦路由器收到所有的链路状态通告,每一个路由器将会对区域中的网络拓扑结构有一个完整的观察,以自己为根生成一个树,并且有着到达任一个目的网络或主机的完整道路,一个路由器对拓朴结构的观察将不同于其它的路由器,每个路由器把它自己作为树的根,形成自己的路由表。对于每个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分。从本质上来说,链路状态算法将少量更新信息发送至网络各处,而距离向量算法发送大量更新信息至邻接路由器。由于链路状态算法收敛更快,它在一定程度上比距离向量算法更不易产生路由循环。但另一方面,链路状态算法要求比距离向量算法有更强的CPU能力和更多的内存空间。但两种算法可以结合使用,互补不足。路由算法使用了许多种不同的度量标准去决定最佳路径。复杂的路由算法往往采用多种度量来选择路由,通过的加权运算,合并为单个的复合度量、填入路由表,作为寻径的标准。通常所使用的度量有:路径长度、可靠性、时延、带宽、负载、最大传输单元和通信成本等。根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP,InternalGatewayProtocol)和外部网关协议(EGP,ExternalGatewayProtocol)。常用路由协议(见表1),下面分别进行简要介绍。2.内部网关协议(IGP,InternalGatewayProtocol):通常只能自治域内部采用的路由选择协议称为内部网关协议,常用的有路由信息协议(RIP,RoutingInformationProtocol)、开放式最短路优先(OSPF,OpenShortestPathFirst)、内部网关路由协议(IGRP,InteriorGatewayRontingProtocol)、增强内部网关路由协议(EIGRP,EnhancedInteriorGatewayRontingProtocol)以及中间系统到中间系统路由交换协议(IS-IS,IntermediateSystemtoIntermediateSystem)等等。适用于单个ISP(自治系统)的统一路由协议的运行,由一个ISP运营的网络称为一个自治系统。(1)路由信息协议(RIP,RoutingInformationProtocol):于1970年,美国Xerox(施乐)公司首先开发出RIP路由协议,它作为NXS(XeroxNetworkingServices)协议族的一部分,为Xerox网络系统的Xeroxparc通用协议而设计的,是一个用于网关(路由器)和主机间交换路由信息的距离向量协议。RIP应用了基于Bellham-Ford(距离向量)算法,首先被4BSDUNIX上的Berkeley分布路由软件广泛使用,应用TCP/IP协议用RIP给本地网络上的机器提供路径选择和可达信息,后来用RIP提供广域网的路由信息,一直是一种被广泛应用于同构网络的内部网关协议(IGP)。支持最大跳数为15。在1988年被标准化在RFC1058中,是应用较早、使用较普遍、最简单的的内部网关协议,适用于小型同构网络,是典型的距离向量(distance-vector)协议。RIP用更新(UNPDATES)和请求(REOUESTS)两种分组传输路由信息。更新信息用于广播路由表,其中每一项由两部分组成:局域网上能达到的IP地址和与该网络的距离。请求信息用于寻找网络上能发出RIP报文的其他设备。RIP使用UDP作为它的传输协议,端口是520。通过广播报文来交换路由信息,主要传递路由信息(路由表)来广播路由。每隔30秒,广播一次路由表,维护相邻路由器的关系,同时根据收到的路由表计算自己的路由表。在每30秒发送一次路由信息更新时。RIP提供跳跃计数(hopcount)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的路由器的数目。使用距离来决定最佳路径,如通过路由跳数来衡量。到这个路由器具有最低跳数的路径是被选中的路径。如果首选的路径不能正常工作,那么具有较高跳数的路径被作为备份。除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也把所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到了全网。其优点是:它简单、可靠,便于配置,障碍修复非常容易。其缺点是:①.没有子网地址的概念,无法区分子网号;RIP协议的原始版本不能应用可变长子网屏蔽(VLSM,VariableLengthSubnetMasks),因此不能分割地址空间以最大效率地应用有限的IP地址。②.路由度量忽略了吞吐率、往返时间、可靠性、实际距离、通信延迟、网络速度及带宽等一些应该考虑的因素或性能。如果到相同目标有二个不等速或不同带宽的路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。RIP协议的另一个基本问题是,当选择路径时它忽略了连接速度问题。例如,如果一条由所有快速以太网连接组成的路径比包含一个10Mbps以太网连接的路径远一个跳数,具有较慢10Mbps以太网连接的路径将被选定作为最佳路径。③.支持网络大小有限,只适用于小型网络。RIP最多支持的跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达。假定如果从网络的一个终端到另一个终端的路由跳超过15个,那么就认为一定牵涉到了循环。因此当一个路径达到16跳,将被认为是达不到的。对于规模较大的网络,或具有多余路径的网络,应该考虑使用其它路由协议。④.而且RIP每隔30秒一次的路由信息广播也是造成网络的广播风暴的重要原因之一。于1993年,RIP2是在RFC1388中对RIP定义进行完善扩充而产生的第二版本,它支持IPv6(InternetProtocolVersion6)规范的128位地址;通过引入子网屏蔽与每一路由广播信息一起使用实现了对可变长子网掩码(VLSM,VariableLengthSubnetMasks)的支持;除广播外还增加了多播功能,可以减少不收听报文的主机负载;提供简单的鉴别机制以及路由汇总功能。RIP2没有能弥补该协议的主要缺陷:收敛慢。在有多重路径到相同目标的网络中,RIP确定使用一条可选择的路径将花费许多时间。在RIP协议认识到路径不能达到前,它被设为等待,直到它已错过6次更新,总共180秒时间。然后,在使用新路径更新路由表前,它等待另一个可行路径的下一个信息的到来。这意味着在备份路径被使用前至少经过了3分钟,这对于多数应用程序超时是相当长的时间。(2)内部网关路由协议(IGRP,InteriorGatewayRontingProtocol):于1986年,美国著名路由器生产公司Cisco(思科)公司开发了内部网关路由选择协议(IGRP),它是Cisco专有的距离向量路由选择协议,严格地讲,它以距离向量路由传输机制为根本,并对此进行加强,是一种动态距离向量路由协议,致力于解决RIP协议的不足。IGRP即不使用TCP,也不使用UDP作为它的传输协议,在IP首部的协议(Protocol)字段,有其单独的值9。采用周期性广播路由表的方式维护路由信息,它每90秒发送一次路由更新广播,在3个更新周期内(即270秒),没有从路由中的第一个路由器接收到更新,则宣布路由不可访问。在7个更新周期即630秒后,CiscoIOS软件从路由表中清除路由。其优点是:①.扩大了网络应用的规模。虽然RIP在小型同构网络上工作得相当好,但它的跳数小(16)的特点严重限制了网络的大小,IGRP通过使网络跳数增加到255跳,能够满足较大网络规模的应用。②.提高了在复杂网络环境下路由选择的弹性。使用组合用户配置尺度,包括网络延迟、带宽、链路可靠性和负载4种度量。避免了并且单一的度量(跳数)不能给复杂网络提供有弹性的路由选择。③.减少了因网络上的不一致带来的路由选择环路的可能性。RIP路由协议存在环路问题,路由器不知道网络的全局情况,必须依靠相邻路由器来获取网络的可达信息。由于路由选择更新信息在网络上传播慢,距离向量路由选择协议有一个收敛慢问题,这个问题有时将导致不一致性产主。IGRP使用水平分割、破坏逆转更新、保持计数器和触发更新机制有效控制了路由选择环路的产生。其缺点是:不支持可变长子网掩码(VLSM),在网