以下内容可翻阅第六版谢希仁版的《计算机网路》和《路由与交换技术》书查看具体协议信息
首先路由表有以下几项形成
•网络号
•下一跳地址
•接口
•Metric:跳数、延迟、费用
例如:
路由表项
特定主机路由 前缀长度为32比特的路由表项。
网络前缀路由 前缀长度为1~31比特的路由表项。
缺省路由 前缀长度为0比特的路由表项。
减少路由表所占用的空间和搜索路由表所用的 时间; 经常使用;
IP报文转发
1)取出收到的分组中的目的IP地址;
2) 用目的IP地址在路由表中查找:
1> 与路由表项的掩码相与,计算出网络地址,判断是否与路由表项的 网络地址相同
a)不相同匹配下一个路由表项,
b)如果匹配,具体如下 处理:
. 若目的网络与路由器直接相连,则“直接交付”;
. 如果找到匹配的表项,则将分组发送到该表项指定的下一跳路 由器;
. 路由表中有“default”的表项,则匹配肯定成功;
2>如果未找到,发送一个“主机不可达”或“网络不可达”的出错信息给发出该 分组的计算机。
那么就得分析,收到的分组的目的地址 D= 206.0.71.128路由表中的项目 206.0.68.0/22 206.0.71.128/25 应选择哪条路由? 最长匹配优先(最长前缀匹配)
使用二叉线索查找路由表
当路由表的项目数很大时,怎样设法减小路由表的查 找时间就成为一个非常重要的问题? 最常用的就是二叉线索(binary trie)。
IP 地址中从左到右的比特值决定了从根结点逐层向下 层延伸的路径,而二叉线索中的各个路径就代表路由 表中存放的各个地址。
路由表的维护
路由表如何建立?如何根据网络的变化进行更新?
• 静态路由:由网络管理员设置并随时更新 网络管理员的工作负担重,容易出错,无法根据网络状态,进行调 整,适应性差; 简单、开销小,只适用于小型网络。
• 动态路由:路由器运行过程中根据网络情况动态地维护 减轻了网络管理员的工作负担重; 实时性好,适应性好; 能够满足大型网络的需要; 因要搜集网络运行状态,网络开销有所增加,实现也比较复杂。
常见路由协议及其优先级
首先介绍RIP协议:
RIP特点
距离定义为跳数,路由器到直接连接网络的距离定义为1。
路由器到非直接连接的网络的距离定义为所经过的路由器数加 1,即:每经过一个路由器,跳数就加1。
最佳路由是通过的路由器的数目最少,即“距离短”; RIP 允许一条路径最多只能包含15 个路由器,“距离”的最大 值为16 时即相当于不可达。
可见RIP 只适用于小型互联网。
RIP 不能在两个网络之间同时使用多条路由。
RIP 选择一个具 有最少路由器的路由(即最短路由),哪怕还存在另一条高速( 低时延)但路由器较多的路由。
RIP工作原理
路由器按固定间隔与相邻路由器交换路由信息
按固定的时间间隔交换路由信息,如:每隔30 秒。
仅和相邻路由器交换信息;
交换的信息是当前本路由器所知道的全部信息,即自 己的路由表
距离向量算法(RIP) 收到相邻路由器(其地址为X)的一个RIP 报文:
(1) 先修改此RIP 报文中的所有项目:把“下一跳”字段中的地址都 改为 X,并把所有的“距离”字段的值加1。(源于相邻路由器)
(2) 对修改后的RIP 报文中的每一个项目,重复以下步骤:
若项目中的目的网络不在路由表中,则把该项目加到路由表中。
否则 若下一跳字段给出的路由器地址是同样的,则把收到的项目 替换原路由表中的项目。 (网络拓扑发生变化)
否则 若收到项目中的距离小于路由表中的距离,则进行更新,
否则,什么也不做。(不是佳路由)
(3) 若3 分钟还没有收到相邻路由器的更新路由表,则把此相邻 路由器记为不可达路由器,即将距离置为 16(距离为16表示不可 达)。
(4) 返回。
路由表的建立
路由器在刚刚开始工作时,只知道到直接连接的网络 的距离(此距离定义为1)。
以后,每一个路由器也只和数目非常有限的相邻路由 器交换并更新路由信息。
经过若干次更新后,所有的路由器最终都会知道到达 本自治系统中任何一个网络的最短距离和下一跳路由 器的地址。
RIP 协议的收敛(convergence)过程较快,即在自治系 统中所有的结点都得到正确的路由选择信息的过程。
在这只介绍了简单的路由表建立过程,事宜RIP协议为例的,当然还有RIGRP、OSPF协议,具体协议内容请查阅相关资料