摘 要

在计算机网络中,路由协议的选择至关重要,它直接影响到一个网络的性能,而路由协议的选择又相当复杂。本文主要介绍几种常用路由协议的工作原理,并对各种协议的特点进行分析、比较,以帮助网络设计工程师在设计网络时,能够正确地选择路由协议。   

关键词 路由协议 静态路由 动态路由

1 概述   

路由分为静态路由和动态路由,其相应的路由表称为静态路由表和动态路由表。静态路由表由网络管理员在系统安装时根据网络的配置情况预先设定,网络结构发生变化后由网络管理员手工修改路由表。动态路由随网络运行情况的变化而变化,路由器根据路由协议提供的功能自动计算数据传输的最佳路径,由此得到动态路由表。   

根据路由算法,动态路由协议可分为距离向量路由协议(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公司的私有协议,是一种混合协议,它既有距离向量路由协议的特点,同时又继承了链路状态路由协议的优点。各种路由协议各有特点,适合不同类型的网络。下面分别加以阐述。

2 静态路由   

静态路由表在开始选择路由之前就被网络管理员建立,并且只能由网络管理员更改,所以只适于网络传输状态比较简单的环境。静态路由具有以下特点:   

· 静态路由无需进行路由交换,因此节省网络的带宽、CPU的利用率和路由器的内存。
· 静态路由具有更高的安全性。在使用静态路由的网络中,所有要连到网络上的路由器都需在邻接路由器上设置其相应的路由。因此,在某种程度上提高了网络的安全性。   
· 有的情况下必须使用静态路由,如DDR、使用NAT技术的网络环境。   

静态路由具有以下缺点:   
· 管理者必须真正理解网络的拓扑并正确配置路由。   
· 网络的扩展性能差。如果要在网络上增加一个网络,管理者必须在所有路由器上加一条路由。   
· 配置烦琐,特别是当需要跨越几台路由器通信时,其路由配置更为复杂。

3 动态路由   

动态路由协议分为距离向量路由协议和链路状态路由协议,两种协议各有特点,分述如下。   

1). 距离向量(DV)协议   

距离向量指协议使用跳数或向量来确定从一个设备到另一个设备的距离。不考虑每跳链路的速率。   

距离向量路由协议不使用正常的邻居关系,用两种方法获知拓扑的改变和路由的超时:   
· 当路由器不能直接从连接的路由器收到路由更新时;   
· 当路由器从邻居收到一个更新,通知它网络的某个地方拓扑发生了变化。   

在小型网络中(少于100个路由器,或需要更少的路由更新和计算环境),距离向量路由协议运行得相当好。当小型网络扩展到大型网络时,该算法计算新路由的收敛速度极慢,而且在它计算的过程中,网络处于一种过渡状态,极可能发生循环并造成暂时的拥塞。再者,当网络底层链路技术多种多样,带宽各不相同时,距离向量算法对此视而不见。   

距离向量路由协议的这种特性不仅造成了网络收敛的延时,而且消耗了带宽。随着路由表的增大,需要消耗更多的CPU资源,并消耗了内存。   

2). 链路状态(LS)路由协议   

链路状态路由协议没有跳数的限制,使用“图形理论”算法或最短路径优先算法。   

链路状态路由协议有更短的收敛时间、支持VLSM(可变长子网掩码)和CIDR。   

链路状态路由协议在直接相连的路由之间维护正常的邻居关系。这允许路由更快收敛。链路状态路由协议在会话期间通过交换Hello包(也叫链路状态信息)创建对等关系,这种关系加速了路由的收敛。   

不像距离向量路由协议那样,更新时发送整个路由表。链路状态路由协议只广播更新的或改变的网络拓扑,这使得更新信息更小,节省了带宽和CPU利用率。另外,如果网络不发生变化,更新包只在特定的时间内发出(通常为30min到2h)。   

3). 链路状态路由协议和距离向量路由协议的比较

4 常用动态路由协议的分析

4.1 RIP   

RIP(路由信息协议)是路由器生产商之间使用的第一个开放标准,是最广泛的路由协议,在所有IP路由平台上都可以得到。当使用RIP时,一台Cisco路由器可以与其他厂商的路由器连接。RIP有两个版本:RIPv1和RIPv2,它们均基于经典的距离向量路由算法,最大跳数为15跳。   

RIPv1是族类路由(Classful Routing)协议,因路由上不包括掩码信息,所以网络上的所有设备必须使用相同的子网掩码,不支持VLSM。RIPv2可发送子网掩码信息,是非族类路由(Classless Routing)协议,支持VLSM。   

RIP使用UDP数据包更新路由信息。路由器每隔30s更新一次路由信息,如果在180s内没有收到相邻路由器的回应,则认为去往该路由器的路由不可用,该路由器不可到达。如果在240s后仍未收到该路由器的应答,则把有关该路由器的路由信息从路由表中删除。   

RIP具有以下特点:
· 不同厂商的路由器可以通过RIP互联; · 配置简单;
· 适用于小型网络(小于15跳);
· RIPv1不支持VLSM;
· 需消耗广域网带宽;
· 需消耗CPU、内存资源。   

RIP的算法简单,但在路径较多时收敛速度慢,广播路由信息时占用的带宽资源较多,它适用于网络拓扑结构相对简单且数据链路故障率极低的小型网络中,在大型网络中,一般不使用RIP。

4.2 IGRP   

内部网关路由协议(Interior Gateway Routing Protocol,IGRP)是Cisco公司20世纪80年代开发的,是一种动态的、长跨度(最大可支持255跳)的路由协议,使用度量(向量)来确定到达一个网络的最佳路由,由延时、带宽、可靠性和负载等来计算最优路由,它在同个自治系统内具有高跨度,适合复杂的网络。Cisco IOS允许路由器管理员对IGRP的网络带宽、延时、可靠性和负载进行权重设置,以影响度量的计算。   像RIP一样,IGRP使用UDP发送路由表项。每个路由器每隔90s更新一次路由信息,如果270s内没有收到某路由器的回应,则认为该路由器不可到达;如果630s内仍未收到应答,则IGRP进程将从路由表中删除该路由。   

与RIP相比,IGRP的收敛时间更长,但传输路由信息所需的带宽减少,此外,IGRP的分组格式中无空白字节,从而提高了IGRP的报文效率。但IGRP为Cisco公司专有,仅限于Cisco产品。

4.3 EIGRP   

随着网络规模的扩大和用户需求的增长,原来的IGRP已显得力不从心,于是,Cisco公司又开发了增强的IGRP,即EIGRP。EIGRP使用与IGRP相同的路由算法,但它集成了链路状态路由协议和距离向量路由协议的长处,同时加入散播更新算法(DUAL)。   

EIGRP具有如下特点:   
· 快速收敛。快速收敛是因为使用了散播更新算法,通过在路由表中备份路由而实现,也就是到达目的网络的最小开销和次最小开销(也叫适宜后继,feasible successor)路由都被保存在路由表中,当最小开销的路由不可用时,快速切换到次最小开销路由上,从而达到快速收敛的目的。   
· 减少了带宽的消耗。EIGRP不像RIP和IGRP那样,每隔一段时间就交换一次路由信息,它仅当某个目的网络的路由状态改变或路由的度量发生变化时,才向邻接的EIGRP路由器发送路由更新,因此,其更新路由所需的带宽比RIP和EIGRP小得多——这种方式叫触发式(triggered)。   
· 增大网络规模。对于RIP,其网络最大只能是15跳(hop),而EIGRP最大可支持255跳(hop)。   · 减少路由器CPU的利用。路由更新仅被发送到需要知道状态改变的邻接路由器,由于使用了增量更新,EIGRP比IGRP使用更少的CPU。   
· 支持可变长子网掩码。   
· IGRP和EIGRP可自动移植。IGRP路由可自动重新分发到EIGRP中,EIGRP也可将路由自动重新分发到IGRP中。如果愿意,也可以关掉路由的重分发。   
· EIGRP支持三种可路由的协议(IP、IPX、AppleTalk)。   
· 支持非等值路径的负载均衡。   
· 因EIGIP是Cisco公司开发的专用协议,因此,当Cisco设备和其他厂商的设备互联时,不能使用EIGRP

4.4 OSPF   

开放式最短路径优先(Open Shortest Path First,OSPF)协议是一种为IP网络开发的内部网关路由选择协议,由IETF开发并推荐使用。OSPF协议由三个子协议组成:Hello协议、交换协议和扩散协议。其中Hello协议负责检查链路是否可用,并完成指定路由器及备份指定路由器;交换协议完成“主”、“从”路由器的指定并交换各自的路由数据库信息;扩散协议完成各路由器中路由数据库的同步维护。   

OSPF协议具有以下优点:   
· OSPF能够在自己的链路状态数据库内表示整个网络,这极大地减少了收敛时间,并且支持大型异构网络的互联,提供了一个异构网络间通过同一种协议交换网络信息的途径,并且不容易出现错误的路由信息。  · OSPF支持通往相同目的的多重路径。   
· OSPF使用路由标签区分不同的外部路由。   
· OSPF支持路由验证,只有互相通过路由验证的路由器之间才能交换路由信息;并且可以对不同的区域定义不同的验证方式,从而提高了网络的安全性。   
· OSPF支持费用相同的多条链路上的负载均衡。   
· OSPF是一个非族类路由协议,路由信息不受跳数的限制,减少了因分级路由带来的子网分离问题。   · OSPF支持VLSM和非族类路由查表,有利于网络地址的有效管理。   
· OSPF使用AREA对网络进行分层,减少了协议对CPU处理时间和内存的需求。

4.5 BGP   

BGP用于连接Internet。BGPv4是一种外部的路由协议。可认为是一种高级的距离向量路由协议。   

在BGP网络中,可以将一个网络分成多个自治系统。自治系统间使用eBGP广播路由,自治系统内使用iBGP在自己的网络内广播路由。   

Internet由多个互相连接的商业网络组成。每个企业网络或ISP必须定义一个自治系统号(ASN)。这些自治系统号由IANA(Internet Assigned Numbers Authority)分配。共有65535个可用的自治系统号,其中65512~65535为私用保留。当共享路由信息时,这个号码也允许以层的方式进行维护。   

BGP使用可靠的会话管理,TCP中的179端口用于触发Update和Keepalive信息到它的邻居,以传播和更新BGP路由表。   

在BGP网络中,自治系统有:

1. Stub AS 只有一个入口和一个出口的网络。

2. 转接AS(Transit AS) 当数据从一个AS到另一个AS时,必须经过Transit AS。   

如果企业网络有多个AS,则在企业网络中可设置Transit AS。   

IGP和BGP最大的不同之处在于运行协议的设备之间通过的附加信息的总数不同。IGP使用的路由更新包比BGP使用的路由更新包更小(因此BGP承载更多的路由属性)。BGP可在给定的路由上附上很多属性。   当运行BGP的两个路由器开始通信以交换动态路由信息时,使用TCP端口179,他们依赖于面向连接的通信(会话)。   

BGP必须依靠面向连接的TCP会话以提供连接状态。因为BGP不能使用Keepalive信息(但在普通头上存放有Keepalive信息,以允许路由器校验会话是否Active)。标准的Keepalive是在电路上从一个路由器送往另一个路由器的信息,而不使用TCP会话。路由器使用电路上的这些信号来校验电路没有错误或没有发现电路。  

某些情况下,需要使用BGP:

· 当你需要从一个AS发送流量到另一个AS时;
· 当流出网络的数据流必须手工维护时;
· 当你连接两个或多个ISP、NAP(网络访问点)和交换点时。

以下三种情况不能使用BGP: · 如果你的路由器不支持BGP所需的大型路由表时; · 当Internet只有一个连接时,使用默认路由; · 当你的网络没有足够的带宽来传送所需的数据时(包括BGP路由表)。

本文转自http://www.360doc.com.cn/content/060805/11/9209_173958.html

常用路由协议的分析及比较/RIP/IGRP/OSPF/BGP相关推荐

  1. LS和DV路由协议的分析与比较

    LS和DV路由协议的分析与比较 摘要:路由器是网络间的连接设备,它重要工作之一是路径选择.这个功能是路由器智能的核心,它是由管理员的配置和一系列的路由算法实现的.路由算法可分为distance vec ...

  2. 计网技术实践 RIP和OSPF路由协议的配置及协议流程分析

    一.实验环境 1.在Windows10系统下用Dynamips软件进行实验 2.实验拓扑图: 二.实验目的 1.在上一次实验的基础上实现RIP和OSPF路由协议 2.自己设计网络物理拓扑和逻辑网段,并 ...

  3. python距离向量路由算法_互联网中常用路由协议,路由协议基础,一分钟了解下...

    一.路由基础 Routing protocol 用于路由器动态寻找最优路径,并使路由器都拥有路由表,R/p 决定了数据包的上行路径,eg:RIP IGRP EIGRP OSPF,被动路由协议被分配到接 ...

  4. 【计算机网络】Internet原理与技术2(因特网的路由协议RIP、OSPF、BGP,网络地址转换NAT,网络协议IPv6)

    Internet原理与技术 因特网的路由协议 自治系统与路由协议分类(IGP.EGP) 内部网关协议 - RIP [例]RIP路由信息表的交换 RIP工作过程 内部网关协议 - OSPF 外部网关协议 ...

  5. 路由协议Ⅰ(RIP、OSPF、IS-IS、IGP、BGP等)

    路由协议 简介: 路由协议(Routing protocol)是一种指定数据包转送方式的网上协议.Internet网络的主要节点设备是路由器,路由器通过路由表来转发接收到的数据.转发策略可以是人工指定 ...

  6. 路由协议RIP、OSPF、BGP比较

    根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP).这里的自治域指一个具有统一管理机构.统一路由策略的网络.自治域内部采用的路由选择协议称为内部网关协议,常用 ...

  7. 深入理解Java虚拟机-常用vm参数分析

    Java虚拟机深入理解系列全部文章更新中- 深入理解Java虚拟机-Java内存区域透彻分析 深入理解Java虚拟机-常用vm参数分析 深入理解Java虚拟机-JVM内存分配与回收策略原理,从此告别J ...

  8. python常用模块用法_python笔记之常用模块用法分析

    python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...

  9. 配置路由协议rip和ospf

    完成拓扑图,并使各个网段的主机可以通信. 1.使用RIP配置动态路由 对R0 Continue with configuration dialog? [yes/no]: no Press RETURN ...

最新文章

  1. c++智能指针的设计思想
  2. linux 防火墙 限速,linux iptables限速及限制每IP连接数
  3. JS字符串转换为JSON的四种方法笔记
  4. java8 新特性之流式数据处理_Java8新特性 - 集合流式编程 - 最终操作
  5. 信安教程第二版-第13章网络安全漏洞防护技术原理与应用
  6. 手机服务器共享信息,手机云共享服务器
  7. 数据结构与算法小结——排序(八)
  8. 【Oracle】RedHat 6.5 安装 11g数据库
  9. 【DP + 卖股票】LeetCode 123. Best Time to Buy and Sell Stock III
  10. 【论文推荐】结合KB和answer selection的相关论文推荐
  11. iOS中的armv6、armv7、armv7s含义详解
  12. CMMI3过程改进项目计划
  13. 使用JQuery快速高效制作网页交互特效第二章所有上机
  14. 网页代码优化html标签,通过优化网页HTML代码提高网页访问速度
  15. 斗地主自动出牌函数c语言,斗地主AI出牌(示例代码)
  16. Arthas、jprofiler使用
  17. URLEncoder.encode(str,编码) new URLDecoder().decode(str,编码)
  18. 如何将ASCII码数组转化成多个字符的字符串(摘)?
  19. [附源码]java毕业设计书店网站论文
  20. 收集一些Windows系统非常严重的安全漏洞

热门文章

  1. 深度学习花朵识别系统的设计与实现
  2. Git团队协作工作流程
  3. TFT,TFD,STN 屏幕以及VGA,QVGA,SVGA分辨率等常识
  4. wireshark 找不到wifi无线网卡的解决方法
  5. 什么是逻辑地址,什么是物理地址,为什么要进行二者的转换工作?
  6. 2021中国开源年会无锡城市分会场开源点亮无锡
  7. 好好说话之IO_FILE利用(1):利用_IO_2_1_stdout泄露libc
  8. php微信摇一摇开发文档,微信摇一摇页面管理
  9. Linux下压缩与解压缩
  10. 华为2288服务器不显示BIOS,设置BIOS - RH2288H V3 服务器 V100R003 用户指南 41 - 华为