持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第27天,点击查看活动详情
理想的路由算法
路由选择协议的核心是路由算法。即需要何种算法来获得路由表中的各项目。一个理想的路由算法应具有如下的一些特点:
- 算法必须是正确的和完整的
- 算法在计算上应简单
- 算法应能适应通信量和网络拓扑的变化,即自适应性
- 算法应具有稳定性
- 算法应是公平的
- 算法应是最佳的
一个实际的路由选择算法,应尽可能接近理想的算法。在不同的应用条件下,对以上提出的六个方面也可有不同的侧重。
如果从路由算法能否随网络的通信量或拓扑自适应地进行调整变化来划分,则只有两大类,即 静态路由选择策略 与 动态路由选择策略。
- 静态路由选择:也叫做 非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。对于很简单的小网络,完全可以采用静态路由选择,用人工配置每一条路由。
- 动态路由选择:也叫做 自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。因此,动态路由选择适用于较复杂的大网络。
分层次的路由选择协议
互联网采用的路由选择协议主要是自适应的(即动态的)、分布式路由选择协议。由于以下两个原因,互联网采用分层次的路由选择协议:
- 互联网的规模非常大。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使互联网的通信链路饱和。
- 许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议,但同事还希望连接到互联网上。
为此,可以把整个互联网划分为许多较小的自治系统,一般都记为 AS。在目前的互联网中,一个大的 ISP 就是一个自治系统。这样,互联网就把路由选择协议划分为两大类,即:
- 内部网关协议 IGP:即在一个自治系统内部使用的路由选择协议,而这与在互联网中的其他自治系统选用什么路由选择协议无关。目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。
- 外部网关协议 EGP:如果源主机和目的主机处在不同的自治系统中,就需要 EGP 协议使数据能够在这两个系统间传递。目前使用最多的外部网关协议是 BGP 的 4 版本(BGP-4)。
内部网关协议
RIP
工作原理
RIP 是一种分布式的基于距离向量的路由选择协议,是互联网的标准协议,其最大优点就是简单。
RIP 协议要求网络中的每一个路由器都要维护从它自己到其他没一个目的网络的距离记录(因此,这是一组距离,即距离向量)。
RIP 协议的距离也称为 跳数,即每经过一个路由器,跳数就加 1。RIP 认为好的路由就是它通过的路由器的数目少,即距离短。RIP 允许一条路径最多只能包含 15 个路由器。因此距离等于 16 时即相当于不可达。可见 RIP 只适用于小型互联网。
RIP 协议的特点是:
- 仅和相邻路由器交换信息
- 路由器交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表
- 按固定的时间间隔交换路由信息
OSPF
基本特点
OSPF(Open Short Path First),开放最短路径优先。OSPF 最主要的特征就是使用分布式的链路状态协议。而不是像 RIP 那样的距离向量协议。和 RIP 协议相比,OSPF 的三个要点和 RIP 的都不一样:
- 向本自治系统中所有路由器发送信息。这里使用的方法是洪泛法
- 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息
- 只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送信息
OSPF 的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF 的 更新过程收敛得快 是其重要优点;
为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫做区域。划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。为了使每一个区域能够和本区域以外的区域进行通信,OSPF 使用 层次结构 的区域划分,在上层的区域叫做 主干区域买猪肝区域的标识符规定为 0.0.0.0
。主干区域的作用是用来连通其他在下层的区域。从其他区域来的信息都是有区域边界路由器进行概括。每个曲艺至少应当有一个区域边界路由器,在主干区域内的路由器叫做主干路由器。
五种分组类型
OSPF 共有五种分组类型:
- 问候分组
- 数据库描述分组
- 链路状态分组
- 链路状态更新分组
- 链路状态确认分组
外部网关协议 BGP
内部网关协议主要设法使数据报在一个 AS 中尽可能有效的从源站传送到目的站。在一个 AS 内部也不需要考虑其他方面的策略。然而 BGP 使用的环境却不同,这主要是因为以下的两个原因:
- 互联网的规模太大,使得自治系统 AS 之间路由选择非常困难;
- 自治系统 AS 之间的路由选择必须考虑有关策略;
由于上述情况,边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由,而并非要寻找一条最佳路由。
参考文档
- 《计算机网络》—— 谢希仁
往期文章
- 计算机网络学习(一)—— 因特网的组成
- 计算机网络学习(二)—— 网络划分
- 计算机网络学习(三)—— 计算机网络性能
- 计算机网络学习(四)—— 协议分层的原因
- 计算机网络学习(五)—— 协议分层的优缺点及注意事项
- 计算机网络学习(六)—— 信号与信道
- 计算机网络学习(七)—— 频分复用和时分复用
- 计算机网络学习(八)—— ADSL
- 计算机网络学习(九)—— 数据链路层的三个基本问题
- 计算机网络学习(十)—— PPP 协议
- 计算机网络学习(十一)—— 以太网共享信道接入方式
- 计算机网络学习(十二)—— 以太网的扩展
- 计算机网络学习(十三)—— 划分子网
- 计算机网络学习(十四)—— ICMP 协议