前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

网络层路由选择协议(上)(网络层路由协议分析)

qiguaw 2024-10-30 03:17:31 资源文章 21 ℃ 0 评论

网络层(或者说路由器)可以划分为数据层面控制层面。路由器的数据层面负责把收到的IP分组按转发表转发?下?跳路由器,而控制层面负责与其他邻近的路由器交换路由信息。本文将介绍控制层面路由器如何交换路由信息以及路由选择协议。


自治系统与路由选择协议

路由选择协议规定了路由器如何交换信息生成路由表。

我们知道互联网的路由选择协议是动态的、分层次的、分布式路由选择协议。动态是因为协议的自适应选择,分层次是因为网络的数量很大,不可能让所有路由器都记录所有网络的路由,这点和DNS服务是一个道理。

在介绍 RIP、OSPF、BGP 等协议之前,我们必须先介绍一下互联网中的两大类路由选择协议。而在这之前又必须简单介绍一下自治系统AS

自治系统AS就是几个路由器组成了一个小团体 ,小团体内部使用专用的协议进行通信,而小团体和小团体之间也使用专用的协议进行通信(自治系统之间的路由选择也叫作域间路由选择,在自治系统内部的路由选择叫作域内路由选择)。通俗的来说互联网上的路由选择协议整体思路是把整个互联网分为多个较小的自治系统 AS。一个AS包含多个路由器,是由多个最小单位的局域网组成的。


互联网中有两大类路由选择协议,他们分别是:

内部网关协议 IGP用于自治系统内部路由器交换路由。内部网关协议用的最多的是RIPOSPF协议。

外部网关协议EGP:用于自治系统之间交换路由。用的最多的是BGP协议。

每一个AS都要同时运行一套内部网关协议外部网关协议


RIP协议

RIP是一种分布式的、基于距离向量的路由选择协议。(分布式是指一个路由器不记录所有路由,而是部分路由;基于距离是指路由器只选择IP分组到达目的地时经过路由器最少的路径)。

运行RIP协议的路由器维护从它自己到AS内每个网络的距离记录。

距离的定义:

距离是指从本主机或路由器到某个网络的跳数,也等于从A到B(A和B可能是主机或路由器)中间经过的路由器(不含A和B)个数+1。

相邻的定义:

R1和R2相隔一个局域网(无论局域网内有无主机)就是相邻。

RIP特点

1、RIP允许一条路径最多只包含15个路由器(距离为16表示不可达),因此RIP只适合小型互联网(小型AS)。

2、RIP不能在两个网络之间同时使用多条路由(因为RIP只选择最短路径,但RIP2可以支持负载均衡,能根据负载选择多条路径)。

因此RIP的缺点是只选择具有最少跳数的路由,哪怕还存在另一条高速(低时延大带宽)但经过路由器较多的路径。

3、“好消息”(网络未故障)传播快,“坏消息”(网络出故障)传播慢。

无论是什么路由选择协议,都需要解决3个问题:和谁交换路由信息、交换什么信息、什么时候交换

对于RIP而言:

和谁交换路由信息:只和相邻路由器交换信息;

交换什么信息:交换的信息是当前本路由器所知道的全部信息;即交换自己的完整路由表给对方;

什么时候交换:按固定的时间间隔交换路由信息,例如每隔 30 秒;本路由器会向所有相邻的路由器发送一个RIP报文;二是当网络拓扑发生变化(比如有一个路由器从链路中移除了),路由器会及时向相邻路由器发送RIP报文通告自己的新完整路由。


RIP协议下路由表的建立

1、路由器刚开始?作时,只知道到自己连接的?络的距离和下一跳地址。

例如 路由器A有3个接口,分别连接到 192.168.0.10/24、192.168.0.20/24、192.168.0.30/24这三个网络,所以路由表A启动后就有这3条路由记录。

2、以后,每?个路由器只和相邻路由器交换并更新路由信息。

3、经过若干次更新后,所有的路由器最终都会知道 ”从本路由器到达本?治系统中 任何?个?络的最短距离和下?跳路由器的地址“。

RIP路由表项:?的?络,距离(跳数,且是最小跳数),下?跳IP地址。

RIP收敛速度比较快(正确信息收敛快,错误信息收敛慢):即一个AS内所有路由器得到所有正确路由的速度比较快。


距离向量算法

RIP使用的算法是距离向量算法。距离向量算法的基础就是 Bellman-Ford 算法(或 Ford-Fulkerson 算法)。这是一种贪心算法。可以理解为:假设X是结点 A 到 B 的最短路径上的一个结点。若把路径 A → B 拆成两段路径 A → X 和 X → B ,则每一段路径 A → X和 X → B也都分别是结点 A 到 X 和结点 X 到 B 的最短路径。

举个例子:

我们假设一个路由器收到相邻路由器(其地址为 X)的一个 RIP 报文:

1.先修改此 RIP 报文中的所有信息:把“下一跳”字段中的地址都改为 X,并把所有的 “距离” 字段的值加 1。

2.对修改后的 RIP 报文中的每一个信息,重复以下步骤:

若信息中的目的网络不在路由表中,则把该信息加到路由表中。

若下一跳字段给出的路由器地址是同样的,则把收到的项目替换原路由表中的项目。

若收到信息中的距离小于路由表中的距离,则进行更新


3.若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为 16(表示不可达)。

3、若3分钟还没有收到X的RIP报文则把X置为不可达的路由器,即把距离置为16。


RIP报文

RIP报文作为数据被封装在UDP报文段中,端口为520。一个RIP报文最多只能通告25条路由,如超过则要再用一个RIP报文传。RIP报文的头部固定为20字节,头部的路由标记是自治系统号,需要这个字段是考虑到一个路由器可能收到其他AS的RIP报文。

RIP的优点:

实现简单,开销较?。

RIP的缺点:

RIP 限制了?络的规模,它能使?的最?距离为 15(16 表 示不可达);

路由器之间交换的是完整路由表,因?随着?络规模的扩大,交换路由信息的开销增加(网络中的RIP报文会增多);

“坏消息传播得慢”,即网络出故障的传播时间往往需要较长的时间(例如数分钟),使更新过程的收敛时间过?。

只以最短路径为最优路径,可能错过一些更长但更优的路径。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表