选路算法与协议

 

选路算法及协议

    摘 要 在计算机网络中,路由器是网络间的连接设备,它重要工作之一是路径选择。路由协议的选择至关重要,它直接影响到一个网络的性能,而路由协议的选择又相当复杂。本文主要介绍几种常用路由协议的工作原理,并对各种协议的特点进行分析、比较,以获得选路算法及协议的总体概念。

     In the computer networking, the connection equipment is router, 

whose important work is to find the path from source router to destination

 router. The slection of routing protocol is very important ,which 

directly influence the performance of networking, and is very complex. 

In this context, the principles of some kinds of popular routing protocols

 are introduced. Morover,I analyse and compare the features of all kinds 

of protocols,to get the the main conceptions of routing algorithms and

 protocols.

  关键词 路由协议 路由算法  DV算法  LS算法 RIP协议 OSPF协议 BGP协议

  一、概述

    路由算法的目的是找到一条从源路由器到目的路由器的好的路径。在现实世界中有很多因素影响路径选择,比如策略问题。在这里只讲选路过程中的算法。

    路由算法可分为距离向量路由算法(Distance Vector Routing Algorithm)和链路状态路由算法(Link State Routing Algorithm)【见1】。距离向量路由算法基于Bellman-Ford算法,主要有RIP、IGRP(IGRP为Cisco公司的私有协议);链路状态路由算法基于图论中著名的Dijkstra算法,即最短优先路径(Shortest Path First,SPF)算法,如OSPF。在距离向量路由算法中,路由器将部分或全部的路由表传递给与其相邻的路由器;而在链路状态路由协议中,路由器将链路状态信息传递给在同一区域内的所有路由器。根据路由器在自治系统(AS)中的位置,可将路由协议分为内部网关协议(Interior Gateway Protocol,IGP)和外部网关协议(External Gateway Protocol,EGP,也叫域间路由协议)。内部网关协议有两种:路由信息协议(Routing Information Protocol即RIP)【见2】和优先开放最短路径协议(Open Shortest Path First即OSPF)【见3】。域间路由协议也有两种:外部网关协议(EGP)和边界网关协议(BGP)【见4】。EGP是为一个简单的树型拓扑结构而设计的,在处理选路循环和设置选路策略时,具有明显的缺点,目前已被BGP代替。

    EIGRP是Cisco公司的私有协议,是一种混合协议,它既有距离向量路由协议的特点,同时又继承了链路状态路由协议的优点。各种路由协议各有特点,适合不同类型的网络。下面分别加以阐述。

二、距离向量路由算法与链路状态路由算法

 1、距离向量(DV)路由算法

    DV算法是一种迭代的、异步的和分布式的算法。每个节点(任意节点x)维护的选路数据【见5】包括:

① 对于每个邻居v,从x到直接相连邻居v的费用为c(x,y)

② 节点x的距离向量,即节点x到所有其他节点的距离

③ X的邻居的距离向量

    各个路由定期向相邻路由发送自己的全局表然后根据收到的表用Bellman-Ford算法修改自己的全局表。如果自己的全局表改变,则向所有邻居发送更新的距离向量。 

可能出现的问题:计数无穷问题(count_to_infinity)和路由循环 

2、链路状态路由算法:

    每个交换结点都有一张整个网络的拓扑结构及其完整信息。当一路由器开始工作时,首先获得相邻路由的地址,然后定期向相邻路由发送ECHO分组以获得与相邻路由间的delay再将这些delay信息打包后利用链路状态广播(link state broadcast)算法实现,各个路由收到这些信息后用Dijkstra算法修改自己的全局表。 

优点:由于链路状态算法采用的是自身的计算结果,所以比较不容易产生路由循环。无慢收敛等问题。 

缺点:每个结点维护的数据量大;更新时通信量大(广播引起), 计算开销也很大(Dijkstra算法)。 

两个算法的比较: 

① DV路由选择算法的距离可能是站段数、物理距离、delay等,LS路由选择算法的参数是delay(可能包含链路负载情况)。 

② DV的算法是Bellman-Ford算法,LS的算法是Dijkstra算法。 

③ DV中每个路由发送的路径更新信息是一个全局的表,而LS中每个路由发送的路径更新信息仅是相邻路由的信息。 

④ DV中路径更新信息仅发给相邻路由,而LS中路径更新信息则是广播的。 

⑤ 从不同的起始点汇聚到新拓扑结构的一致看法,得到一致性拓扑视图的过程称为收敛( c o n v e rg e n c e )【见6】。简单地讲,收敛就是路由器独立地获得对网络结构的共同看法。在这两种算法中,DV算法的收敛速度慢,LS的收敛速度较快。收敛时间长会产生路由循环。

⑥ 健壮性。一个LS节点仅就算自己的转发表,也就是说,在LS算法中路由算法是孤立的,提供了一定程度的健壮性。而在DV算法中,每个节点通过迭代得到到其他各点的距离向量。因此一个节点的计算错误会通过迭代传递到整个网络中。【见7】

⑦ DV算法复杂,所以占用的CPU和内存更多。

三、路由协议

1.RIP协议

    RIP协议是基于距离矢量算法(Distance Vector Algorithms)的,它使用“跳数”,即metric来衡量到达目标地址的路由距离(是在最短路径中从源路由器到目的子网的子网数,包括目的子网)。

    路由器最初启动时只包含了其直连网络的路由信息,并且其直连网络的metric值为1,然后它向周围的其他路由器发出完整路由表的RIP请求。路由器根据接收到的RIP应答来更新其路由表,具体方法是添加新的路由表项,并将其metric值加1。如果接收到与已有表项的目的地址相同的路由信息,则分下面三种情况分别对待【见8】:

    第一种情况,已有表项的来源端口与新表项的来源端口相同,那么无条件根据最新的路由信息更新其路由表;

    第二种情况,已有表项与新表项来源于不同的端口,那么比较它们的metric值,将metric值较小的一个最为自己的路由表项;

    第三种情况,新旧表项的metric值相等,普遍的处理方法是保留旧的表项。

    路由器每30秒发送一次自己的路由表(以RIP应答的方式广播出去)。针对某一条路由信息,如果180秒以后都没有接收到新的关于它的路由信息,那么将其标记为失效,即metric值标记为16。在另外的120秒以后,如果仍然没有更新信息,该条失效信息被删除。

    协议的局限性:

① 一条有效的路由信息的度量(metric)不能超过15,这就使得该协议不能应用于很大型的网络,对于metric为16的目标网络来说,即认为其不可到达。

② 很容易出现“计数到无穷大”的现象,这使得路由收敛很慢,在网络拓扑结构变化以后需要很长时间路由信息才能稳定下来。在这段建立时间里,可能会发生路由环路。

③ RIP没有子网地址的概念(RIP 的新版本 RIP支持)。例如,如果标准的B类地址中16 bit的主机号不为0,那么RIP无法区分非零部分是一个子网号,或者是一个主机地址。有一些实现中通过接收到的RIP信息,来使用接口的网络掩码,而这有可能出错。

 2. OSPF协议

    OSPF协议是80年代后期开发的,90年代初成为工业标准,是一种典型的链路状态协议。可以适用于较大规模的网络,它将网络分割成由一个“主干”连接的一组相互独立的部分,这些相互独立的部分被称为“区域”(area),“主干”的部分称为“主干区域”。每个区域就如同一个独立的网络,该区域的OSPF路由器只保存该区域的链路状态。每个路由器的链路状态数据库都可以保持合理的大小,路由计算的时间、报文数量都不会过大。

    对于不同的网络连接可以人工指定或根据网络的带宽和网络延迟动态地计算花费, OSPF 所能接受的最大的花费是 65534 即 0XFFFF-1 (区域内,区域间和自治系统外为 16777214 即 0XFFFFFF-1 ),其缺省得花费是 1 ,可以说 OSPF 的路由处理能力相当大,并且还把其他协议的路由或静态或核心路由作为自治系统外部路由引入,它的处理能力已经是相当完全了。

OSPF的主要特性包括【见9】:

a.  可适应大规模网络,通过划分区域实现

b.  路由变化收敛速度快,无路由自环,由链路状态路由算法可知

c.  支持变长子网掩码VLSM

d.  支持等值路由

e.  提供路由分级管理

f.  支持验证

g.  支持以组播地址发送协议报文

3.BGP协议

    BGP处理各ISP之间的路由传递。其特点是有丰富的路由策略,这是RIP、OSPF等协议无法做到的,因为它们需要全局的信息计算路由表。BGP通过ISP边界的路由器加上一定的策略(由自治系统管理员制订策略)选择过滤路由,把RIP、OSPF、BGP等的路由发送到对方。一个自治系统中的IP数据报分成本地流量和通过流量。在自治系统中,本地流量是起始或终止于该自治系统的流量。也就是说,其信源IP地址或信宿IP地址所指定的主机位于该自治系统中。其他的流量则称为通过流量【见10】。BGP是Internet上AS间选路的标准。在Internet中使用BGP的一个目的就是减少通过流量。商业运行的ISP都遵从一个经验的计算方法:任何流经某ISP的主干网的通信流必须是本地流量。

四、总结

   上面讲述了一些路由算法和应用这些路由算法的路由协议。我主要是分析了它们的基本特性,以及做出一些对比。通过比较更加清晰的明白各个协议的优越性以及它们的适用性。网络中没有最好的协议。每个都有自身的局限性及优点,只有在恰当的地方选择恰当的协议才是最重要的。

参考资料:

1 R.Perlman, Interconnections: Bridges,Routers, Switchs,and Internetworking Protocol ,2nd ed.,Addison-Wesley Professional Computing Series,Reading,MA,1999

2 C.L.Hendrick,"Routing Information Protocol", RFC 1058 ,June 1988

3 J. Moy, "OSPF Version 2", RFC2328 Apr .1998

4 Y.Rekhter and T.Li, "A Border Gateway Protocol in the Internet ",Mar, 1995

5计算机网络——自顶向上方法与Internet特色(第三版)James F.Kurose  359页

6中国协议分析网http://www.cnpaf.net/Class/RIP/05111513514076587317.htm 2007.12.3

7计算机网络——自顶向上方法与Internet特色(第三版)James F.Kurose  365页 2007.12.3

8中国协议分析网http://www.cnpaf.net/Class/RIP/05111513514046210256.htm  2007.12.3

9中国协议分析网 http://www.cnpaf.net/Class/OSPF/05121513185577913896.htm    2007.12.3

10中国协议分析网 http://www.cnpaf.net/Class/BGP/0532918533284851.html  2007.12.3

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值