常用路由协议的分析及比较
路由分为静态路由和动态路由,其相应的路由表称为静态路由表和动态路由表。静态路由
表由网络管理员在系统安装时根据网络的配置情况预先设定,网络结构发生变化后由网络
管理员手工修改路由表。
动态路由随网络运行情况的变化而变化,路由器根据路由协议提供的功能自动计算数据传
输的最佳路径,由此得到动态路由表。
根据路由算法,动态路由协议可分为距离向量路由协议(Distance Vector Routing Protocol)和链路状态路由协议(Link State Routing Protocol)。距离向量路由协议基于Bellman-Ford算法,主要有RIP、IGRP(IGRP为Cisco公司的私有协议);链路状态路由协议基于图论中非常著名的Dijkstra算法,即最短优先路径(Shortest Path First,SPF)算法,如OSPF。在距离向量路由协议中,路由器将部分或全部的路由表传递给与其相邻的路由器;
而在链路状态路由协议中,路由器将链路状态信息传递给在同一区域内的所有路由器。
根据路由器在自治系统(AS)中的位置,可将路由协议分为内部网关协议(Interior Gateway Protocol,IGP)和外部网关协议(External Gateway Protocol,EGP,也叫域间路由协议)。域间路由协议有两种:外部网关协议(EGP)和边界网关协议(BGP)。EGP是为一个简单的树型拓扑结构而设计的,在处理选路循环和设置选路策略时,具有明显的缺点,目前已被BGP代替。
EIGRP是Cisco公司的私有协议,是一种混合协议,它既有距离向量路由协议的特点,同
时又继承了链路状态路由协议的优点。各种路由协议各有特点,适合不同类型的网络。下
面分别加以阐述。
静态路由
静态路由是指由用户或网络管理员手工配置的路由信息。当网络的拓扑结构或链路的状态
发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。静态路由信息在
缺省情况下是私有的,不会传递给其他的路由器。当然,网管员也可以通过对路由器进行
设置使之成为共享的。静态路由一般适用于比较简单的网络环境,在这样的环境中,网络
管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。
在一个支持DDR(dial-on-demand routing)的网络中,拨号链路只在需要时才拨通,因此不能为动态路由信息表提供路由信息的变更情况。在这种情况下,网络也适合使用静
态路由。使用静态路由的另一个好处是网络安全保密性高。动态路由因为需要路由器之间频繁地交换各自的路由表,而对路由表的分析可以揭示网络的拓扑结构和网络地址等信息。因此,网络出于安全方面的考虑也可以采用静态路由。
1、静态路由一般是由管理员手工设置的路由,而动态路由则是路由器中的动态路由协议
根据网络拓扑情况和特定的要求自动生成的路由条目。
2、什么样的路由器要使用什么样的路由协议,是由网络的管理策略直接决定的。一般中
小型的网络,网络拓扑比较简单,不存在线路冗余等因素,所以通常采用静态路由的方式
来配置。但是大型网络网络拓扑复杂,路由器数量大,线路冗余多,管理人员相对较少,
要求管理效率要高等原因,通常都会使用动态路由协议,适当的辅以静态路由的方式。
3、静态路由基本上都是人为配置的路由,或由人为的相关设置自动生成的,如你配置了
ip地址就会产生一个直连路由。
4、一般的静态路由设置经过保存后重起路由器都不会消失,但相应端口关闭或失效时就
会有相应的静态路由消失。反而动态路由却会消失,因为动态路由要在动态路由协议正常
运行的前提下才能产生的。
静态路由表在开始选择路由之前就被网络管理员建立,并且只能由网络管理员更改,所以
只适于网络传输状态比较简单的环境。静态路由具有以下特点:
静态路由无需进行路由交换,因此节省网络的带宽、CPU的利用率和路由器的内存。
静态路由具有更高的安全性。在使用静态路由的网络中,所有要连到网络上的路由器都需
在邻接路由器上设置其相应的路由。因此,在某种程度上提高了网络的安全性。
有的情况下必须使用静态路由,如DDR、使用NAT技术的网络环境。
静态路由具有以下缺点:
管理者必须真正理解网络的拓扑并正确配置路由。
网络的扩展性能差。如果要在网络上增加一个网络,管理者必须在所有路由器上加一条路由。
配置烦琐,特别是当需要跨越几台路由器通信时,其路由配置更为复杂。
动态路由
动态路由协议分为距离向量路由协议和链路状态路由协议,两种协议各有特点,分述如下。
1. 距离向量(DV)协议
距离向量指协议使用跳数或向量来确定从一个设备到另一个设备的距离。不考虑每跳链路
的速率。
距离向量路由协议不使用正常的邻居关系,用两种方法获知拓扑的改变和路由的超时:
当路由器不能直接从连接的路由器收到路由更新时;
当路由器从邻居收到一个更新,通知它网络的某个地方拓扑发生了变化。
在小型网络中(少于100个路由器,或需要更少的路由更新和计算环境),距离向量路由协
议运行得相当好。当小型网络扩展到大型网络时,该算法计算新路由的收敛速度极慢,而
且在它计算的过程中,网络处于一种过渡状态,极可能发生循环并造成暂时的拥塞。再者,当网络底层链路技术多种多样,带宽各不相同时,距离向量算法对此视而不见。
距离向量路由协议的这种特性不仅造成了网络收敛的延时,而且消耗了带宽。随着路由表
的增大,需要消耗更多的CPU资源,并消耗了内存。
2. 链路状态(LS)路由协议
链路状态路由协议没有跳数的限制,使用“图形理论”算法或最短路径优先算法。
链路状态路由协议有更短的收敛时间、支持VLSM(可变长子网掩码)和CIDR。
链路状态路由协议在直接相连的路由之间维护正常的邻居关系。这允许路由更快收敛。链
路状态路由协议在会话期间通过交换Hello包(也叫链路状态信息)创建对等关系,这种关
系加速了路由的收敛。
不像距离向量路由协议那样,更新时发送整个路由表。链路状态路由协议只广播更新的或
改变的网络拓扑,这使得更新信息更小,节省了带宽和CPU利用率。另外,如果网络不发生变化,更新包只在特定的时间内发出(通常为30min到2h)。
3. 链路状态路由协议和距离向量路由协议的比较
常用动态路由协议的分析
4.1 RIP
RIP(路由信息协议)是路由器生产商之间使用的第一个开放标准,是最广泛的路由协议,在所有IP路由平台上都可以得到。当使用RIP时,一台 Cisco路由器可以与其他厂商的路由器连接。RIP有两个版本:RIPv1和RIPv2,它们均基于经典的距离向量路由算法,最大
跳数为15跳。
RIPv1是族类路由(Classful Routing)协议,因路由上不包括掩码信息,所以网络上的所有