理想的路由算法:几个特点
1.算法必须是正确和完善的
2.算法在计算上应该简单
3.算法能适应通信量和网络拓扑的变化具有自适应性也称为稳健性
4.算法应该具有稳定性
5。算法应该是公平的
6.算法应该是最佳的
关于“最佳路由”——不存在一种绝对的最佳路由算法。 所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。
路由选择非常复杂:需要所有节点共同协调工作的。 环境不断变化,而这种变化有时无法事先知道。 当网络发生拥塞时,很难获得所需的路由选择信息。
路由算法分类:
静态路由选择策略:非自适应路由选择; 不能及时适应网络状态的变化; 简单,开销较小。
动态路由选择策略:自适应路由选择; 能较好地适应网络状态的变化; 实现较为复杂,开销较大。
2)分层次的路由选择协议
互联网: 采用自适应的(即动态的)、分布式路由选择协议。 把整个互联网划分为许多较小的自治系统 AS,采用分层次的路由选择协议。
分为 2 个层次: 自治系统之间的路由选择 或 域间路由选择;自治系统内部的路由选择 或 域内路由选择。
同时也有两个网关协议,这里主要说明RIP协议即内部网关协议。
内部网关协议RIP协议
路由信息协议 RIP (Routing Information Protocol) 是一种分布式的、基于距离向量的路由选择协议。 互联网的标准协议。 最大优点:简单。 要求网络中的每个路由器都要维护从它自己到其他每一个目的网络的距离记录。
RIP“距离”的定义:路由器到直接连接的网络的距离 = 1。 路由器到非直接连接的网络的距离 = 所经过的路由器数 + 1。 RIP 协议中的“距离”也称为“跳数”,每经过一个路由器,跳数就加 1。
好路由 = “距离短”的路由。最佳路由 = “距离最短”的路由。 一条路径最多只能包含 15 个路由器。 “距离”的最大值为 16 时即相当于不可达。 RIP 不能在两个网络之间同时使用多条路由,只选择距离最短”的路由。
RIP 协议的三个特点
1.仅和相邻路由器交换信息。
2.交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
3.按固定时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。
路由表的建立:
路由器在刚刚开始工作时,路由表是空的。
然后,得到直接连接的网络的距离(此距离定义为 1)。
之后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。
经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。
RIP 协议的收敛 (convergence) 过程较快。“收敛”就是在自治系统中所有的结点都得到正确的路由选择信息的过程。
路由表主要信息和更新规则
路由表更新规则: 使用距离向量算法找出到达每个目的网络的最短距离。然后进行判断更新。
!!!距离向量算法的执行过程!!!
对每个相邻路由器(假设其地址为 X)发送过来的 RIP 报文,路由器:
(1) 修改 RIP 报文中的所有项目(即路由):把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。
(2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤:若路由表中没有目的网络N,则把该项目添加到路由表中。否则若路由表中网络 N 的下一跳路由器为 X,则用收到的项目替换原路由表中的项目。否则若收到项目中的距离小于路由表中的距离,则用收到项目更新原路由表中的项目。否则什么也不做。
(3) 若 3 分钟还未收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为 16(表示不可达)。
(4) 返回。
一个例题:
RIP 协议特点:好消息传播得快,坏消息传播得慢。因为网络出现故障的时候网络传播消息时很慢的所以坏了的消息是很慢才能传播到达的。
RIP协议的优缺点:
优点: 实现简单,开销较小。
缺点: 1.网络规模有限。最大距离为 15(16 表示不可达)。 2.交换的路由信息为完整路由表,开销较大。 3.坏消息传播得慢,收敛时间过长。
路由器的构成
路由器工作在网络层,用于互连网络。 是互联网中的关键设备。 路由器的主要工作:转发分组。 把从某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个合适的输出端口转发给下一跳路由器。
路由器的结构:
“转发”和“路由选择”的区别
转发:根据转发表将用户的 IP 数据报从合适的端口转发出去。 仅涉及到一个路由器。 转发表是从路由表得出的。 转发表必须包含完成转发功能所必需的信息,每一行必须包含从要到达的目的网络到输出端口和某些 MAC 地址信息(如下一跳的以太网地址)的映射。
路由选择:按照路由选择算法,根据网络拓扑的变化情况,动态地改变所选择的路由,并由此构造出整个的路由表。 涉及到很多路由器。 路由表一般仅包含从目的网络到下一跳(用 IP 地址表示)的映射。
常用交换方法有三种:通过存储器、通过总线、通过纵横交换结构。
通过存储器:
(1) 当路由器的某个输入端口收到一个分组时,就用中断方式通知路由选择处理机。然后分组就从输入端口复制到存储器中。 (2) 路由器处理机从分组首部提取目的地址,查找路由表,再将分组复制到合适的输出端口的缓存中。 (3) 若存储器的带宽(读或写)为每秒 M 个分组,那么路由器的交换速率(即分组从输入端口传送到输出端口的速率)一定小于 M/2。
通过总线:
(1) 数据报从输入端口通过共享的总线直接传送到合适的输出端口,而不需要路由选择处理机的干预。 (2) 当分组到达输入端口时若发现总线忙,则被阻塞而不能通过交换结构,并在输入端口排队等待。 (3)因为每一个要转发的分组都要通过这一条总线,因此路由器的转发带宽就受总线速率的限制。
通过纵横交换结构:
(1) 它有 2N 条总线,控制交叉节点可以使 N 个输入端口和 N 个输出端口相连接。 (2) 当输入端口收到一个分组时,就将它发送到水平总线上。 (3) 若通向输出端口的垂直总线空闲,则将垂直总线与水平总线接通,把该分组转发到这个输出端口。若输出端口已被占用,分组在输入端口排队等待。 特点:是一种无阻塞的交换结构,分组可以转发到任何一个输出端口,只要这个输出端口没有被别的分组占用。