发布网友 发布时间:2022-04-24 11:47
共1个回答
热心网友 时间:2022-04-14 17:18
路由协议作为TCP/IP协议族中重要成员之一,其选路过程实现的好坏会影响整个Internet网络的效率。
路由协议按应用范围的不同,路由协议可分为两类:
在一个AS(Autonomous System,自治系统,指一个互连网络,就是把整个Internet划分为许多较小的网络单位,这些小的网络有权自主地决定在本系统中应采用何种路由选择协议)内的路由协议称为内部网关协议(interior gateway protocol),AS之间的路由协议称为外部网关协议(exterior gateway protocol)。这里网关是路由器的旧称。现在正在使用的内部网关路由协议有以下几种:RIP-1,RIP-2,IGRP,EIGRP,IS-IS和OSPF。其中前4种路由协议采用的是距离向量算法,IS-IS和OSPF采用的是链路状态算法。对于小型网络,采用基于距离向量算法的路由协议易于配置和管理,且应用较为广泛,但在面对大型网络时,不但其固有的环路问题变得更难解决,所占用的带宽也迅速增长,以至于网络无法承受。因此对于大型网络,采用链路状态算法的IS-IS和OSPF较为有效,并且得到了广泛的应用。IS-IS与OSPF在质量和性能上的差别并不大,但OSPF更适用于IP,较IS-IS更具有活力。IETF始终在致力于OSPF的改进工作,其修改节奏要比IS-IS快得多。这使得OSPF正在成为应用广泛的一种路由协议。现在,不论是传统的路由器设计,还是即将成为标准的MPLS(多协议标记交换),均将OSPF视为必不可少的路由协议。
外部网关协议最初采用的是EGP。EGP是为一个简单的树形拓扑结构设计的,随着越来越多的用户和网络加入Internet,给EGP带来了很多的局限性。为了摆脱EGP的局限性,IETF边界网关协议工作组制定了标准的边界网关协议--BGP。
RIP协议: RIP是路由信息协议(Routing Information Protocol)的缩写,采用距离向量算法,是当今应用最为广泛的内部网关协议。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为1~15,数值16表示无穷大。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP分组分为两种:请求分组和相应分组。
RIP-1被提出较早,其中有许多缺陷。为了改善RIP-1的不足,在RFC1388中提出了改进的RIP-2,并在RFC 1723和RFC 2453中进行了修订。RIP-2定义了一套有效的改进方案,新的RIP-2支持子网路由选择,支持CIDR,支持组播,并提供了验证机制。
随着OSPF和IS-IS的出现,许多人认为RIP已经过时了。但事实上RIP也有它自己的优点。对于小型网络,RIP就所占带宽而言开销小,易于配置、管理和实现,并且RIP还在大量使用中。但RIP也有明显的不足,即当有多个网络时会出现环路问题。为了解决环路问题,IETF提出了分割范围方法,即路由器不可以通过它得知路由的接口去宣告路由。分割范围解决了两个路由器之间的路由环路问题,但不能防止3个或多个路由器形成路由环路。触发更新是解决环路问题的另一方法,它要求路由器在链路发生变化时立即传输它的路由表。这加速了网络的聚合,但容易产生广播泛滥。总之,环路问题的解决需要消耗一定的时间和带宽。若采用RIP协议,其网络内部所经过的链路数不能超过15,这使得RIP协议不适于大型网络。
OSPF协议:为了解决RIP协议的缺陷,1988年RFC成立了OSPF工作组,开始着手于OSPF的研究与制定,并于1998年4月在RFC 2328中OSPF协议第二版(OSPFv2)以标准形式出现。OSPF全称为开放式最短路径优先协议(Open Shortest-Path First),OSPF中的O意味着OSPF标准是对公共开放的,而不是封闭的专有路由方案。OSPF采用链路状态协议算法,每个路由器维护一个相同的链路状态数据库,保存整个AS的拓扑结构(AS不划分情况下)。一旦每个路由器有了完整的链路状态数据库,该路由器就可以自己为根,构造最短路径树,然后再根据最短路径构造路由表。对于大型的网络,为了进一步减少路由协议通信流量,利于管理和计算,OSPF将整个AS划分为若干个区域,区域内的路由器维护一个相同的链路状态数据库,保存该区域的拓扑结构。OSPF路由器相互间交换信息,但交换的信息不是路由,而是链路状态。OSPF定义了5种分组:Hello分组用于建立和维护连接;数据库描述分组初始化路由器的网络拓扑数据库;当发现数据库中的某部分信息已经过时后,路由器发送链路状态请求分组,请求邻站提供更新信息;路由器使用链路状态更新分组来主动扩散自己的链路状态数据库或对链路状态请求分组进行响应;由于OSPF直接运行在IP层,协议本身要提供确认机制,链路状态应答分组是对链路状态更新分组进行确认。
相对于其它协议,OSPF有许多优点。OSPF支持各种不同鉴别机制(如简单口令验证,MD5加密验证等),并且允许各个系统或区域采用互不相同的鉴别机制;提供负载均衡功能,如果计算出到某个目的站有若干条费用相同的路由,OSPF路由器会把通信流量均匀地分配给这几条路由,沿这几条路由把该分组发送出去;在一个自治系统内可划分出若干个区域,每个区域根据自己的拓扑结构计算最短路径,这减少了OSPF路由实现的工作量;OSPF属动态的自适应协议,对于网络的拓扑结构变化可以迅速地做出反应,进行相应调整,提供短的收敛期,使路由表尽快稳定化,并且与其它路由协议相比,OSPF在对网络拓扑变化的处理过程中仅需要最少的通信流量;OSPF提供点到多点接口,支持CIDR(无类型域间路由)地址。
OSPF的不足之处就是协议本身庞大复杂,实现起来较RIP困难。
BGP协议:RFC1771对BGP的最新版本BGP-4进行了详尽的介绍。BGP用来在AS之间实现网络可达信息的交换,整个交换过程要求建立在可靠的传输连接基础上来实现。这样做有许多优点,BGP可以将所有的差错控制功能交给传输协议来处理,而其本身就变得简单多了。BGP使用TCP作为其传输协议,缺省端口号为179。与EGP相比,BGP有许多不同之处,其最重要的革新就是其采用路径向量的概念和对CIDR技术的支持。路径向量中记录了路由所经路径上所有AS的列表,这样可以有效地检测并避免复杂拓扑结构中可能出现的环路问题;对CIDR的支持,减少了路由表项,从而加快了选路速度,也减少了路由器间所要交换的路由信息。另外,BGP一旦与其他BGP路由器建立对等关系,其仅在最初的初始化过程中交换整个路由表,此后只有当自身路由表发生改变时,BGP才会产生更新报文发送给其它路由器,且该报文中仅包含那些发生改变的路由,这样不但减少了路由器的计算量,而且节省了BGP所占带宽。
BGP有4种分组类型:打开分组用来建立连接;更新分组用来通告可达路由和撤销无效路由;周期性地发送存活分组,以确保连接的有效性;当检测到一个差错时,发送通告分组。
IGRP协议:内部网关路由协议(IGRP:Interior Gateway Routing Protocol)是一种在自治系统(AS:autonomous system)中提供路由选择功能的路由协议。在上世纪80年代中期,最常用的内部路由协是路由信息协议(RIP)。尽管 RIP 对于实现小型或中型同机种互联网络的路由选择是非常有用的,但是随着网络的不断发展,其受到的*也越加明显。思科路由器的实用性和 IGRP 的强大功能性,使得众多小型互联网络组织采用 IGRP 取代了 RIP。早在上世纪90年代,思科就推出了增强的 IGRP,进一步提高了 IGRP 的操作效率。
IGRP 是一种距离向量(Distance Vector)内部网关协议(IGP)。距离向量路由选择协议采用数学上的距离标准计算路径大小,该标准就是距离向量。距离向量路由选择协议通常与链路状态路由选择协议(Link-State Routing Protocols)相对,这主要在于:距离向量路由选择协议是对互联网中的所有节点发送本地连接信息。
为具有更大的灵活性,IGRP 支持多路径路由选择服务。在循环(Round Robin)方式下,两条同等带宽线路能运行单通信流,如果其中一根线路传输失败,系统会自动切换到另一根线路上。多路径可以是具有不同标准但仍然奏效的多路径线路。例如,一条线路比另一条线路优先3倍(即标准低3级),那么意味着这条路径可以使用3次。只有符合某特定最佳路径范围或在差量范围之内的路径才可以用作多路径。差量(Variance)是网络管理员可以设定的另一个值。
EIGRP协议:增强的内部网关路由选择协议(EIGRP:Enhanced Interior Gateway Routing Protocol)是增强版的 IGRP 协议。IGRP 是思科提供的一种用于 TCP/IP 和 OSI 英特网服务的内部网关路由选择协议。它被视为是一种内部网关协议,而作为域内路由选择的一种外部网关协议,它还没有得到普遍应用。
Enhanced IGRP 与其它路由选择协议之间主要区别包括:收敛宽速(Fast Convergence)、支持变长子网掩模(Subnet Mask)、局部更新和多网络层协议。执行 Enhanced IGRP 的路由器存储了所有其相邻路由表,以便于它能快速利用各种选择路径(Alternate Routes)。如果没有合适路径,Enhanced IGRP 查询其邻居以获取所需路径。直到找到合适路径,Enhanced IGRP 查询才会终止,否则一直持续下去。
EIGRP 协议对所有的 EIGRP 路由进行任意掩码长度的路由聚合,从而减少路由信息传输,节省带宽。另外 EIGRP 协议可以通过配置,在任意接口的位边界路由器上支持路由聚合。
Enhanced IGRP 不作周期性更新。取而代之,当路径度量标准改变时,Enhanced IGRP 只发送局部更新(Partial Updates)信息。局部更新信息的传输自动受到*,从而使得只有那些需要信息的路由器才会更新。基于以上这两种性能,因此 Enhanced IGRP 损耗的带宽比 IGRP 少得多。
ES-IS和IS-IS协议: 在ISO规范中,一个路由器就是一个IS(中间系统),一个主机就是一个ES(末端系统)。提供IS和ES(路由器和主机)之间通信的协议,就是ES-IS;提供IS和IS(路由器和路由器)之间通信的协议也就是路由协议,叫IS-IS。
IS-IS协议属于OSI模型,在网络层中,分为两个子层: Subnetwork Dependent Layer: 它在Subnetwork Independent Layer上把链路状态屏蔽掉了,提供上层一个透明的工作环境。功能: 完成了PDU从连接网络上的接受和发送; 负责Hello PDU的发送接受,完成邻居的发现和链接关系的建立,维护;负责把IP和IS-IS的PDU交给各自的Process进行处理,特性:由于它是负责和地下链路打交道的,所以它决定了IS-IS路由协议支持什么网络类型。广播和点对点两种类型。 使用show clns is-neighbors命令可以查看邻居表:Circuit ID:是一个只有8位bit长度的ID用来确定IS的接口,如果这个接口是连接着一个广播网络,那么它的Circuit ID变成了连接多播网络的DR的System ID+Circuit ID。LAN ID:System ID+Circuit ID,也就是由DR产生分发的一个ID,来表示路由器邻居的特性。
在IS-IS中,DR路由器的选择: 通过接口的优先级,只不过这些优先级分成L1和L2,如果优先级为零,那么这个路由器无权进行DR选举。如果优先级相同,根据System ID来进行选择,最高的成为System ID。
和OSPF不同的是,在广播网络中,IS-IS路由器和所有的邻居都会形成adjancency,而不只和DR形成;没有BDR的概念,如果一个Dr fail了,会在区域中重新选一个出来;而且IS-IS路由协议的DR不是恒定的,如果有一个优先级更高或SystemID更高的路由器加入,会导致整个区域重新进行DR的选择,并重新泛洪LSP报文通知DR的信息。 一个路由器可以同时是L1和L2区域的DR,取决于不同接口的优先级设置。
参考资料:http://www.shenmeshi.com/Computer/Computer_20080130180724.html