Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3821016
  • 博文数量: 197
  • 博客积分: 10086
  • 博客等级: 上将
  • 技术积分: 5145
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-13 10:50
文章分类

全部博文(197)

文章存档

2011年(2)

2009年(30)

2008年(165)

我的朋友

分类: 项目管理

2008-11-07 14:10:47

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协议不适于大型网络。
为了解决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困难。
RFC1771对BGP的最新版本BGP-4进行了详尽的介绍。BGP用来在AS之间实现网络可达信息的交换,整个交换过程要求建立在可靠的传输连接基础上来实现。这样做有许多优点,BGP可以将所有的差错控制功能交给传输协议来处理,而其本身就变得简单多了。BGP使用TCP作为其传输协议,缺省端口号为179。与EGP相比,BGP有许多不同之处,其最重要的革新就是其采用路径向量的概念和对CIDR技术的支持。路径向量中记录了路由所经路径上所有 AS的列表,这样可以有效地检测并避免复杂拓扑结构中可能出现的环路问题;对CIDR的支持,减少了路由表项,从而加快了选路速度,也减少了路由器间所要交换的路由信息。另外,BGP一旦与其他BGP路由器建立对等关系,其仅在最初的初始化过程中交换整个路由表,此后只有当自身路由表发生改变时,BGP才会产生更新报文发送给其它路由器,且该报文中仅包含那些发生改变的路由,这样不但减少了路由器的计算量,而且节省了BGP所占带宽。

BGP有4种分组类型:打开分组用来建立连接;更新分组用来通告可达路由和撤销无效路由;周期性地发送存活分组,以确保连接的有效性;当检测到一个差错时,发送通告分组。
 
无线自组网按需平面距离矢量路由协议(Ad hoc On-Demand Distance Vector Routing,AODV)是应用于无线网状网络(也称作无线Ad hoc网路)中进行路由选择的路由协议,它能够实现单播和多播路由[1]。该协议是Ad Hoc网路中按需生成路由方式的典型协议。
实现技术
它是反应式路由协议,也就是说当向目的节点发送包时,源节点才在网络中发起路由查找过程,找到相应的路由。相反的,很多普通的因特网路由协议都是先验式的,也就是说它们查找路由是不依赖于路径上的节点是否要发包,而是每个节点维护一张包含到达其它节点的路由信息的路由表。节点间通过周期性的交换路由信息来不断更新自身的路由表,以便能够及时的反映网络拓扑结构和变化,以维护一致的、及时的、准确的路由信息。正如协议的名字所示,无线自组网按需平面距离矢量路由协议是一种平面距离矢量路由协议。
在AODV中,整个网络都是静止的除非有连接建立的需求。这就是说一个网络节点要建立连接时才广播一个连接建立的请求。其他的AODV节点转发这个请求消息,并记录源节点,和回到源节点的临时路由。当接收连接请求的节点知道到达目的节点的路由时,就把这个路由信息按照先前记录的回到源节点的临时路由发回源节点。于是源节点就开始使用这个经由其他节点并且有最短跳数的路由。当链路断掉,路由错误就被回送给源节点,于是源节点就重新发起路由查找的过程。
大多数协议的复杂性在于为了保证网络性能而减少消息数量。例如,每个路由请求都会有一个序号,节点使用这个序号以避免它们重复转发这个路由请求。路由请求有一个“生存时间”数,这将减少他们被重传的次数。还有就是如果路由请求失败,其他的路由请求将会在先前的路由请求消息超时后的两倍的“生存时间” 之后,才被发送。
相关的路由协议
AODV对在这方面有多种解决方法。还有一种路由协议是动态源路由协议(DSR),这个路由协议充分最优化网络的通信量。另外就是优化的链路状态路由协议 (OLSR)也是解决这方面问题。OLSR不断地收集节点之间能相互通信的数据,并对每个节点保持一个最优化的路由表。所以连接可以很快的建立。但是 OLSR是一个相对比较大而且复杂,它要求大型复杂的计算机、很大的内存和计算。同时频繁进行网络其他节点的发现过程是一个巨大的负担。对于其他可选择的方法可以参照无线自组网协议列表。
阅读(747) | 评论(0) | 转发(0) |
0

上一篇:exec xargs

下一篇:UMB

给主人留下些什么吧!~~