速读原著-TCP/IP(动态选路协议)

第10章 动态选路协议

10.1 引言

在前面各章中,我们讨论了静态选路。在配置接口时,以默认方式生成路由表项(对于直接连接的接口),并通过r o u t e命令增加表项(通常从系统自引导程序文件),或是通过I C M P重定向生成表项(通常是在默认方式出错的情况下)。

在网络很小,且与其他网络只有单个连接点且没有多余路由时(若主路由失败,可以使用备用路由),采用这种方法是可行的。如果上述三种情况不能全部满足,通常使用动态选路。

本章讨论动态选路协议,它用于路由器间的通信。我们主要讨论 R I P,即选路信息协议(Routing Infromation Protocol),大多数T C P / I P实现都提供这个应用广泛的协议。然后讨论两种新的选路协议, O S P F和B G P。本章的最后研究一种名叫无分类域间选路的新的选路技术,现在I n t e r n e t上正在开始采用该协议以保持 B类网络的数量。

10.2 动态选路

当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路。路由器之间必须采用选路协议进行通信,这样的选路协议有很多种。路由器上有一个进程称为路由守护程序( routing daemon),它运行选路协议,并与其相邻的一些路由器进行通信。正如图9 – 1所示,路由守护程序根据它从相邻路由器接收到的信息,更新内核中的路由表。

动态选路并不改变我们在 9 . 2节中所描述的内核在 I P层的选路方式。这种选路方式称为选路机制(routing mechanism)。内核搜索路由表,查找主机路由、网络路由以及默认路由的方式并没有改变。仅仅是放置到路由表中的信息改变了—当路由随时间变化时,路由是由路由守护程序动态地增加或删除,而不是来自于自引导程序文件中的 r o u t e命令。

正如前面所描述的那样,路由守护程序将选路策略( routing policy)加入到系统中,选择路由并加入到内核的路由表中。如果守护程序发现前往同一信宿存在多条路由,那么它(以某种方法)将选择最佳路由并加入内核路由表中。如果路由守护程序发现一条链路已经断开(可能是路由器崩溃或电话线路不好),它可以删除受影响的路由或增加另一条路由以绕过该问题。

在像I n t e r n e t这样的系统中,目前采用了许多不同的选路协议。 I n t e r n e t是以一组自治系统(A S,Autonomous System)的方式组织的,每个自治系统通常由单个实体管理。常常将一个公司或大学校园定义为一个自治系统。 N S F N E T的I n t e r n e t骨干网形成一个自治系统,这是因为骨干网中的所有路由器都在单个的管理控制之下。每个自治系统可以选择该自治系统中各个路由器之间的选路协议。这种协议我们称之为内部网关协议I G P(Interior Gateway Protocol)或域内选路协议(intradomain routing protocol)。

最常用的I G P是选路信息协议 R I P。一种新的 I G P是开放最短路径优先 O S P F(Open ShortestPath First)协议。它意在取代 R I P。另一种1 9 8 6年在原来N S F N E T骨干网上使用的较早的 I G P协议—H E L L O,现在已经不用了。

新的RFC [Almquist 1993]规定,实现任何动态选路协议的路由器必须同时支持OSPF和RIP,还可以支持其他IGP协议。外部网关协议E G P(Exterier Gateway Protocol)或域内选路协议的分隔选路协议用于不同自治系统之间的路由器。在历史上,(令人容易混淆)改进的 E G P有着一个与它名称相同的协议:E G P。新E G P是当前在N S F N E T骨干网和一些连接到骨干网的区域性网络上使用的是边界网关协议B G P(Border Gateway Protocol)。B G P意在取代E G P。