路由算法的比较及电路交换与包交换的优缺点

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LS路由算法与DV路由算法的比较

徐雄博20050830226 信息安全 2 班

摘要:当一个分组要从源主机带目的主机时,网络层必须确定从发送方到接受方的分组所采用的路径。选路算法的目的就是给定一组路由器以及连接路由器的链路,选路算法要找到一条从源路由器到目的路由器的“好”的路径,即具有最低费用的路径。根据算法是全局性的还是分布式的,选路算法可分为两种:具有全局状态信息的链路状态算法(link state algorithm, LS)以及分散式的选路算法距离向量算法(distance-vector, DV)。本文将通过对这两种算法的比较来找出两个算法在不同的情况下,每种算法的适应环境。

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

Abstraction:When a packet want to round from source host to destination host, the network layer must nonetheless determine the path that packets take from senders to receivers. The purpose of a routing algorithm is that given a set of routers, with links connecting the router, a routing algorithm finds a “good” path from source router to destination router. Typically, a good path is one that has the least cost. According to whether the algorithms are global or decentralized, the routing algorithm can be classified into two types: algorithms with global state information are often referred to as link-state (LS) algorithms, and the decentralized routing algorithm called a distance-vector (DV) algorithm. Through this passage we will find the environment which suits each algorithm most.

Keywords:routing algorithm,RIP,OSPF,LS,DV

1.概述

随着社会的发展,计算机技术已经越来越普及。不同的网络层提供的不管是数据服务还是虚电路服务,网络层都必须确定为从发送方到接受方的分组所采用的路径。我们看到选路的工作是从发送方到接受方通过路由器的网络决定的好路径。选路算法的目的是简单的,即给定一组路由器以及连接路由器的链路,选路算法要找到一条从源路由器到目的路由器的“好”的路径,。通常一条好的路径指具有最低费用的路径。对选路算法分类的一种方法是根据该算是全局性的还是分散式的可分为全局选路算法(global routing algorithm)和分散式选路算法(decentralized routing algorithm)[1]。而根据这两个路由选路算法,历史上曾有两个选路协议曾被广泛用于Internet上自治系统内的选路:选路信息协议(Routing Information Protocol,RIP)与开放最短路径优先(Open Shortest Path First,OSPF)[2]。

2.路由算法

路由算法在路由协议中起着至关重要的作用,采用何种算法往往决定了最终的寻径结果,因此选择路由算法一定要仔细。通常需要综合考虑以下几个设计目标:

——(1)最优化:指路由算法选择最佳路径的能力。

——(2)简洁性:算法设计简洁,利用最少的软件和开销,提供最有效的功能。

——(3)坚固性:路由算法处于非正常或不可预料的环境时,如硬件故障、负载过高或操作失误时,都能正确运行。由于路由器分布在网络联接点上,所以在它们出故障时会产生严重后果。最好的路由器算法通常能经受时间的考验,并在各种网络环境下被证实是可靠的。

——(4)快速收敛:收敛是在最佳路径的判断上所有路由器达到一致的过程。当某个网络事件引起路由可用或不可用时,路由器就发出更新信息。路由更新信息遍及整个网络,引发重新计算最佳路径,最终达到所有路由器一致公认的最佳路径。收敛慢的路由算法会造成路径循环或网络中断。

——(5)灵活性:路由算法可以快速、准确地适应各种网络环境。例如,某个网段发生故障,路由算法要能很快发现故障,并为使用该网段的所有路由选择另一条最佳路径。

路由算法按照种类可分为以下几种:静态和动态、单路和多路、平等和分级、源路由和透明路由、域内和域间、链路状态和距离向量。前面几种的特点与字面意思基本一致,下面着重介绍链路状态和距离向量算法[3]。

3.链路状态算法(link state algorithm, LS)

链路状态算法(也称最短路径算法)发送路由信息到互联网上所有的结点,然而对于每个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分。链路-状态路由选择算法的基本思想很简单,可以分成以下五个部分叙述:

⑴每个节点必须找出它的所有邻居

当一个节点启动后,通过在每一条点到点的链路上发送一个特殊的HELLO报文,并通过链路另一端的节点发送一个应答报文告诉它自己是谁。

⑵每个节点测量到它的每个邻居的时延或其他参数

链路-状态路由选择算法要求每个节点都知道到它的每个邻居的时延。

测量这种时延的最直接的方法是在它们之间的链路上发送一个特殊的ECHO响应报文,并且要求对方收到后立即再将其发送回来。将测量得到的来回时间除以2,即可得到一个比较合理的估计。为了得到更准确的结果,可以将测试重复多次,取平均值。

⑶建立链路-状态报文

收集齐了用于交换的信息后,下一步就为每一个节点建立一个包含所有数据的报文。报文以发送者的标识符开始,随后为顺序号以及它的所有邻居的列表。对于每一个邻居,给出到此邻居的时延。

建立链路-状态报文很容易,困难是决定何时建立它们。一种可行的方法是每隔一段规律的时间间隔周期性地建立它们。另一种可行的方法是当节点检测到了某些重要事件的发生时建立它们。例如,一条链路或一个邻居崩溃或恢复时,建立它们。

⑷分发链路-状态报文

基本的分发算法是使用顺序号的洪泛法。这种分发算法由于循环使用顺序号、某个节点曾经崩溃或某个顺序号曾经被误用过等原因,可能会使不同的节点使用不同版本的拓扑结构,这将导致不稳定、循环、到达不了目的机器及其他问题。为了防止这类错误的发生,需要在每个报文中包含一个年龄域,年龄每秒减1,当年龄减到 0时,丢弃此报文。

⑸计算新路由

一旦一个节点收集齐了所有来自于其他节点的链路-状态报文,它就可以据此构造完整的网络拓扑结构图,然后使用Dijkstra算法在本地构造到所有可能的目的地的最短通路。

链路-状态路由选择算法具有各节点独立计算最短通路、能够快速适应网络变化、交换的路由信息少等优点,但相对于距离向量路由选择算法,它较复杂、难以实现[4]。

4.距离向量路由选择算法(Distance Vector,DV)

各节点周期性地向所有相邻节点发送路由刷新报文,报文由一组(V,D)有序数据对组成,V表示该节点可以到达的节点,D表示到达该节点的距离(跳数)。收到路由刷新报文的节点重新计算和修改它的路由表。

相关文档
最新文档