【计算机网络 (谢希仁) 习题题解】第4章 网络层 (3)

您所在的位置:网站首页 rip路由的计算 【计算机网络 (谢希仁) 习题题解】第4章 网络层 (3)

【计算机网络 (谢希仁) 习题题解】第4章 网络层 (3)

2024-01-25 07:15| 来源: 网络整理| 查看: 265

互联网的路由选择协议

路由选择协议的核心是路由算法,即需要何种算法来获得路由表中的各项目。一个理想的路由算法应具有如下一些特点:

算法必须是正确的和完整的。“正确”含义:沿着各路由表所指引的路由,分组一定能够最终到达目的网络和目的主机。算法在计算上应简单。算法应能适应通信量和网络拓扑的变化,即要有自适应性。有时称为稳健性 (robustness)。算法应具有稳定性。算法应是公平的。算法应是最佳的。所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。

从路由算法能否随网络的通信量或拓扑自适应地进行调制变化来划分,有两大类:

静态路由选择策略:也叫做非自适应路由选择,其特点是简单和开销较小,但不能即时适应网络状态的变化。适用于简单的小网络。动态路由选择策略:也叫做自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。适用于较复杂的大网络。 内部网关协议 RIP

路由信息协议 RIP (Routing Information Protocol) 是一种分布式的基于距离向量的路由选择协议,其最大的优点是简单。

RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录,因此这是一组距离,即距离向量。

RIP 协议中距离定义:从一路由器到直接连接的网络的距离定义为 1。从一路由器到非直接连接的网络的距离定义为所经过的路由器数加 1。

RIP 协议的距离也称为跳数 (hop count)。RIP 认为好的路由就是它通过的路由器的数目少,即距离短。RIP 允许一条路径最多只能包含 15 个路由器。因此距离等于 16 时即相当于不可达。可见 RIP 只适用于小型网络。

路由表中最主要的信息:到某个网络的距离 (即最短距离),以及应经过的下一跳地址。 路由表更新的原则是找出到每个目的网络的最短距离。这种更新算法又称为距离向量算法。

RIP 协议的距离向量算法:

对每一个相邻路由器发送过来的 RIP 报文,进行以下步骤: (1) 对地址为 X 的相邻路由器发来的 RIP 报文,先修改此报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。每一个项目都有三个关键数据:到目的网络 N,距离是 d,下一跳路由器是 X。 (2) 对修改后的 RIP 报文中的每一个项目,进行以下步骤: 若原来的路由表中没有目的网络 N,则把该项目添加到路由表中。 否则,查看下一跳路由器地址: ①若下一跳路由器地址是 X,则把收到的项目替换原路由表中的项目。 ②否则:若收到的项目中的距离 d 小于路由表中的距离,则进行更新;否则什么也不做。 (3) 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,即把距离置为 16 (距离为 16 表示不可达)。 (4) 返回。

距离向量算法的基础是 Bellman-Ford 算法 (或 Ford-Fullkerson 算法)。这种算法的要点:设 X 是结点 A 到 B 的最短路径上的一个结点。若把路径 A->B 拆成两段路径 A->X 和 X->B,则每一段路径 A->X 和 X->B 也都是分别是结点 A 到 X 和结点 X 到 B 的最短路径。

RIP2的报文格式 RIP 首部中的命令字段指出报文的意义。例,1 表示请求路由信息,2 表示对请求路由信息的响应或未被请求而发出的路由更新报文。 RIP2 报文中路由部分由若干个路由信息组成。每个路由信息需要 20 个字节 [RFC 2453]。 地址族标识符 (又称为地址类别) 字段用来标志所使用的地址协议。如采用 IP 地址就令这个字段的值为 2。 路由标记填入自治系统号 ASN (Autonomous System Number),这是考虑使 RIP 有可能收到本自治系统以外的路由选择信息。 一个 RIP 报文最多可包括 25 个路由,因而 RIP 报文的最大长度是 4 + 20 × 25 = 504 字节。

RIP2 还提供简单的鉴别过程支持多播。若使用鉴别功能,则将原来写入第一个路由信息 (20 字节) 的位置用作鉴别。这时应将地址族标识符置为全 1,路由标记写入鉴别类型,剩下的 16 字节为鉴别数据。在鉴别数据之后才写入路由信息。

RIP 存在的一个问题:当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。 RIP 协议的这一特点叫做:好消息传播得快,坏消息传播得慢。 为了使坏消息传播得更快些,可以采取多种措施。例,让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送。

RIP 协议最大的优点是实现简单,开销较小。

RIP 协议的缺点:

RIP 限制了网络的规模,它能使用的最大距离为 15。路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销增加。坏消息传播得慢,使更新过程的收敛时间过长。“收敛”是在自治系统中所有的结点都得到正确的路由选择信息的过程。 内部网关协议 OSPF

开放最短路径优先 OSPF (Open Shortest Path First) 原理简单,但实现起来较复杂 [RFC 2328]。“开放”表明 OSPF 是公开发表的。“最短路径优先”是因为使用了 Dijkstra 提出的最短路径算法 SPF。

由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库 (link-state database),这个数据库实际上就是全网的拓扑结构图。这个拓扑结构图在全网范围内是一致的 (这称为链路状态数据库的同步)。

OSPF 的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF 的更新过程收敛得快是其重要优点。

为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫做区域 (area)。 划分区域的好处:利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这减少了整个网络上的通信量。 为了使每一个区域能够和本区域以外的区域进行通信,OSPF 使用层次结构的区域划分。 在上层的区域叫做主干区域 (backbone area)。主干区域的标识符规定为 0.0.0.0。主干区域的作用是用来连通其他在下层的区域。在主干区域内的路由器叫做主干路由器 (backbone router)。从其他区域来的信息都由区域边界路由器 (area border router) 进行概括。 在主干区域内要有一个路由器专门和本自治系统外的其他自治系统交换路由信息。这样的路由器叫做自治系统边界路由器。

OSPF分组用IP数据报传送

版本:当前版本号是 2。类型:可以是五种类型分组中的一种。分组长度:包括OSPF首部在内的分组长度,以字节为单位。路由器标识符:标志发送该分组的路由器的接口的IP地址。区域标识符:分组属于的区域的标识符。检验和:用来检测分组中的差错。鉴别类型:0 (不用) 和 1 (口令)。鉴别:鉴别类型为 0 时填入 0,鉴别类型为 1 则填入 8 个字符的口令。

OSPF 的五种分组类型:

类型1,问候(Hello)分组,用来发现和维持邻站的可达性。类型2,数据库描述(Database Description)分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。摘要信息主要是指出有哪些路由器的链路状态信息 (以及其序号) 已经写入了数据库。类型3,链路状态请求(Link State Request)分组,向对方请求发送某些链路状态项目的详细信息。类型4,链路状态更新(Link State Update)分组,用洪泛法对全网更新链路状态。这种分组是最复杂的,也是OSPF协议最核心的部分。路由器使用这种分组将其链路状态通知给邻站。类型5,链路状态确认(Link State Acknowledgement)分组,对链路更新分组的确认。

问候分组用来确定链路状态数据库的内容。只有可达邻站的链路状态信息才存入链路状态数据库。若相邻路由器不可达,应立即修改链路状态数据库,并重新计算路由表。

其他四种分组都是用来进行链路状态数据库的同步。同步是指不同路由器的链路状态数据库的内容是一样的。两个同步的路由器叫做完全邻接的 (fully adjacent) 路由器。 OSPF的基本操作 OSPF 使用可靠的洪泛法向全网更新链路状态。可靠的洪泛法是在收到更新分组后要发送确认 (收到重复的更新分组只需要发送一次确认)。 可靠的洪泛法

外部网关协议 BGP

在不同的自治系统 AS 之间的路由选择为什么不能使用内部网关协议,如 RIP 或 OSPF?

互联网的规模太大,使得 AS 之间路由选择非常困难。AS 之间的路由选择必须考虑有关策略。这些策略包括政治、安全或经济方面的考虑。

边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由,而并非要寻找一条最佳路由。BGP 采用了路径向量(path vector)路由选择协议 [RFC 4271]。

在配置 BGP 时,每一个自治系统的管理员要选择至少一个路由器作为该自治系统的BGP 发言人。一般说来,两个 BGP 发言人都是通过一个共享网络连接在一起的,而 BGP 发言人往往是 BGP 边界路由器。一个 BGP 发言人与其他 AS 的 BGP 发言人要交换路由信息,就要先建立 TCP 连接,然后在此连接上交换 BGP 报文以建立 BGP 会话 (session),利用 BGP 会话交换路由信息。 使用 TCP 连接能提供可靠的服务,也简化了路由选择协议。 使用 TCP 连接交换路由信息的两个 BGP 发言人,彼此称为对方的邻站(neighbor)或对等站(peer)。BGP 所交换的网络可达性的信息是要到达某个网络 (用网络前缀表示) 所要经过的一系列自治系统。当 BGP 发言人互相交换了网络可达性的信息后,各 BGP 发言人就根据所采用的策略从收到的路由信息中找出到达各自自治系统的较好路由。

在 RFC 4271 中规定了 BGP-4 的四种报文:

OPEN 报文,用来与相邻的另一个 BGP 发言人建立关系,使通信初始化。UPDATE 报文,用来通告某一路由的信息,以及列出要撤销的多条路由。BGP 协议的核心内容。KEEPALIVE 报文,用来周期性地证实邻站的连通性。NOTIFICATION 报文,用来发送检测到的差错。

BGP报文

路由器的构成

路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。路由器的转发分组正是网络层的主要工作。 整个的路由器结构可划分为两大部分:

路由选择部分,也叫做控制部分,其核心构件是路由选择处理机。 路由选择处理机的任务是根据所选定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。分组转发部分。它由三部分组成:交换结构、一组输入端口和一组输出端口 (这里的端口是硬件接口)。 交换结构(switching fabric)的作用是根据转发表(forwarding table)对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去。交换结构本身是一种网络,但这种网络完全包含在路由器之中。 路由选择涉及到很多路由器,路由表是许多路由器协同工作的结果。 转发仅涉及到一个路由器,转发表是从路由表得出的。在转发表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射。 路由表总是用软件实现,但转发表甚至可用特殊的硬件来实现。 在讨论路由选择的原理时,往往不去区分转发表和路由表的区别,可以笼统地都使用路由表这一名词。 上图中,输入和输出端口里面各有三个方框,用方框中的 1,2 和 3 分别代表物理层、数据链路层和网络层的处理模块。 若网络层的处理模块接收到的分组是路由器之间交换路由信息的分组,则把这种分组送交给路由选择处理机。若接收到的是数据分组,则按照分组首部中的目的地址查找转发表,到达合适的输出端口。 一个路由器的输入端口和输出端口就做在路由器的线路接口卡上。 输入端口中的查找和转发功能在路由器的交换功能中是最重要的。为了使交换功能分散化,把复制的转发表放在每一个输入端口中。这些副本常称为影子副本 (shadow copy)。

问题在于路由器必须以很高的速率转发分组。最理想的情况是输入端口的处理速率能够跟上线路把分组传送到路由器的速率。这种速率称为线速 (line speed 或 wire speed)。

交换结构是路由器的关键构件。这个交换结构把分组从一个输入端口转移到某个合适的输出端口。实现这样的交换的三种常用方法: 交换方法

4-38 IGP 和 EGP 这两类协议的主要区别是什么?

互联网采用的路由选择协议主要是自适应的、分布式路由选择协议。

互联网采用分层次的路由选择协议。可以把整个互联网划分为许多较小的自治系统 AS (autonomous system)。自治系统是在单一技术管理下的一组路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。

★ \bigstar ★ 在目前的互联网中,一个大的 ISP 就是一个自治系统。互联网把路由选择协议分为两大类:

内部网关协议 IGP (Interior Gateway Protocol)。即在一个自治系统内部使用的路由选择协议,而这与互联网中的其他自治系统选用什么路由选择协议无关。目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。外部网关协议 EGP (External Gateway Protocol)。若源主机和目的主机处在不同的自治系统中,当数据报传到一个自治系统的边界时,需要使用 EGP 协议将路由选择信息传递到另一个自治系统中。目前使用的协议是 BGP。

注意:早期 RFC 文档未使用“路由器”而使用“网关”这一名词。但在新的 RFC 文档中改用“路由器”,因此有的书把 IGP 和 EGP 分别改为 IRP (内部路由器协议) 和 ERP (外部路由器协议)。此处 IGP 和 EGP 是协议类别的名称。

4-39 试简述 RIP,OSPF 和 BGP 路由选择协议的主要特点。

RIP 协议和 OSPF 协议都是分布式路由选择协议。它们的共同特点是每一个路由器都要不断地和其它路由器交换路由信息。 三个要点,即和哪些路由器交换信息?交换什么信息?在什么时候交换信息?

RIP 协议的特点:

仅和相邻路由器交换信息。路由器交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表。发送的信息是:“到所有网络的距离和下一跳路由器”。按固定的时间间隔交换路由信息。

OSPF 最主要的特征是使用分布式的链路状态协议 (link state protocol),而不是像 RIP 那样的距离向量协议。OSPF 的三个要点和 RIP 的都不一样:

向本自治系统中所有路由器发送信息。这里使用的方法是洪泛法 (flooding),这就是路由器通过所有输出端口向所有相邻的路由器发送信息。而每一个相邻路由器又再将此信息发往其所有的相邻路由器 (不再发送给刚发来信息的路由器)。发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。“链路状态”说明本路由器都和哪些路由器相邻,以及该链路的度量 (metric)。这个度量用来表示费用、距离、时延、带宽等。有时称这个度量为代价。只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。

除了以上的几个基本特点外,OSPF还具有下列的一些特点:

OSPF 允许管理员给每条路由指派不同的代价。OSPF 对于不同类型的业务可计算出不同的路由。链路的代价可以是 1 至 65535 中的任何一个无量纲的数,十分灵活。如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这叫做多路径间的负载平衡 (load balancing)。所有在 OSPF 路由器之间交换的分组都具有鉴别的功能,因而保证了仅在可信赖的路由器之间交换链路状态信息。OSPF 支持可变长度的子网划分和无分类的编址 CIDR。由于网络中的链路状态可能经常发生变化,因此 OSPF 让每一个链路状态都带上一个 32 位的序号,序号越大状态越新。

当前互联网的多级结构的网络拓扑决定了 BGP 路由选择协议的特点:

BGP 协议交换路由信息的结点数量级是自治系统个数的量级,这要比这些自治系统中的网络数少很多。BGP 支持无分类域间路由选择 CIDR,因此 BGP 的路由表应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的自治系统序列。由于使用了路径向量的信息,可以很容易地避免产生兜圈子的路由。路由信息比如,主干网发出通知:“要到达网络 N 可沿路径 (AS1, AS3)。”在 BGP 刚刚运行时,BGP 的邻站是交换整个的 BGP 路由表。但以后只需要在发生变化时更新有变化的部分。节省网络带宽,减少路由器的处理开销。

4-40 RIP 使用 UDP,OSPF 使用 IP,而 BGP 使用 TCP。这样做有何优点?为什么 RIP 周期性地和邻站交换路由信息而 BGP 却不这样做?

RIP 只和邻站交换信息,UDP 虽不保证可靠交付,但 UDP 开销小,可以满足 RIP 的要求。OSPF 使用可靠的洪泛法,并直接使用 IP,好处是灵活性好和开销更小。BGP 需要交换整个的路由表 (在开始时) 和更新信息,TCP 提供可靠交付以减少带宽的消耗。

RIP 使用不保证可靠交付的 UDP,因此必须不断地 (周期性地) 和邻站交换信息才能使路由信息及时得到更新。但 BGP 使用保证可靠交付的 TCP,因此不需要这样做。

4-41 假定网络中的路由器 B 的路由表有如下的项目:

目的网络距离下一跳路由器N17AN22CN68FN84EN94F

现在 B 收到从 C 发来的路由信息:

目的网络距离N24N38N64N83N95

试求出路由器 B 更新后的路由表 (详细说明每一个步骤)。

解:RIP 的距离向量算法

目的网络距离下一跳路由器说明N17A无信息,不改变。N25C相同的下一跳,更新。N39C新的项目,添加进来。N65C不同的下一跳,距离更短,更新。N84E不同的下一跳,距离一样,不改变。N94F不同的下一跳,距离更大,不改变。

4-42 假定网络中的路由器 A 的路由表有如下的项目:

目的网络距离下一跳路由器N14BN22CN31FN45G

现在 A 收到从 C 发来的路由信息:

目的网络距离N12N21N33N47

试求出路由器 A 更新后的路由表 (详细说明每一个步骤)。

解:RIP 的距离向量算法

目的网络距离下一跳路由器说明N13C不同的下一跳,距离更短,更新。N22C相同的下一跳,更新。N31F不同的下一跳,距离更大,不改变。N45G不同的下一跳,距离更大,不改变。

【计算机网络 (谢希仁) 习题题解】目录



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3