- 论坛徽章:
- 0
|
本备忘录描述了一个已经存在的协议,它用以在网关(gateways)和其他主机(hosts)间交换路由信息。它被作为在Internet开发网关软件的基础。引用本备忘录没有限制。
目录
1. 简介
1.1. 协议的局限性
1.2. 本文档的组成
2. 距离向量算法
2.1. 拓扑结构改变时的处理
2.2. 避免不稳定性
2.2.1. 水平分割
2.2.2. 触发更新
3. 协议详述
3.1. 信息格式
3.2. 考虑地址
3.3. 记时器
3.4. 输入进程
3.4.1. 请求
3.4.2. 回应
3.5. 输出进程
3.6. 兼容性
4. 控制功能
综述
本备忘录包含以下内容:
- 说明一种已经被广泛使用而没有被正式成文的路由协议和算法,
- 改进算法以提高其在大型网络中的稳定性。这些改进不会引起已有网络的不兼容,这些改进可以和原有的实现方式容为一体。
- 建议一些功能以提供更好的配置和控制,这些功能用以解决在NSFnet通讯中显示出的问题。当然,它们应当提供更通用的功能。
这里提到的路由信息协议(RIP),是由伯克莱(Berkeley)4.3的“routed”项目发布的。当然还有很多其他的实现方式。很不幸,多种实现在细节上有很多不同。这里描述的是各个实现功能上的组合。我们相信根据本文设计的程序可以和其他RIP的实现协同工作。
本文对尺度(metrics)增加采取了与大多数实现不同的视角。通过对本地网段的尺度做相应的调整,保持了和其他实现方式的兼容性。详见3.6节
1. 简介
本备忘录描述了一种使用Bellman-Ford(或称为距离向量)算法的协议。这种算法早先在ARPANET上被用于计算网络路由信息。具体的协议描述、包格式是基于伯克莱(Berkeley) UNIX的“routed”项目。这已经成为了网关和主机间交换路由信息的事实标准,用以不同厂商的网关产品间通讯。虽然,同一厂商的产品往往使用其自己的协议。
这个协议是作为“内部网关协议(interior gateway protocol)”而使用的。如当前Internet般的大型网络,是不可能在整个网络上使用一种单一的路由协议的。网络将被分成为一系列的“自治系统(autonomous systems)”。每个自治系统都被赋予为一个实体,提供技术上和管理上的控制。每个自治系统可以有不同的路由方式。在自治系统中使用的路由协议被称为内部网关协议(IGR)。另一种路由协议面向自治系统,最早的这类协议是“EGP(外部网关协议/exterior gateway protocol)”,目前还在Internet上使用。这些协议现在被叫做自治系统间(inter-AS)路由协议。RIP在同类协议中被设计为适合于中等规模网络使用。适合于那些网络间连接线路的速度差别不大的网络作为IGP。关于RIP适用条件的详细说明见:[3] Braden and Postel。
RIP使用一类叫做“距离向量”的算法。这类算法最早是由Ford and Fulkerson [6]提出的。所以这也被称为Ford-Fulkerson算法。有时也被称为Bellman-Ford算法,这是因为这一描述是基于Bellman公式。(这一领域的介绍见[1])其描述文档见[2],该文讲述了路由算法的数学模型,并描述且证明了算法中的变量,及其他相关内容。该算法的最初实现在1969年被用于ARPANET。这一协议家族还包括Xerox网络协议(XNS),PUP协议(见[4])。一个较新的版本使用了XNS的结构,并更名为路由信息协议(见[7])。Berkeley的算法与其大致相同,不过将XNS的地址转换为一种更通用的格式用以包括IP等地址,并将路由更新时间限定在30秒。因为其相似性,RIP这一名称被用于XNS协议和其他协议中。
RIP被设计为在基于IP的Internet中使用。Internet可以被理解成通过网关相连的一系列网络。在这里网络可以是点对点的连接,或复杂些的网络如以太网或ARPANET。主机和网关使用IP地址在网络中出现。路由是指主机和网关决定向何处发送包的方法。当目标在主机或网关直接相连的网络时,包将被直接发送到目标。令人感兴趣的是,当目标不直接可达时,主机或网关将试图将包发往更靠近目标的网关。路由协议的目标很简单:支持需要被路由的信息。
1.1. 协议的局限性
本协议不解决所有的路由问题。如上所述,是被设计为适合中等规模网络做为IGP使用。另外,还要注意一下限制:
- 协议限定网络最大路径为15跳。设计者认为这一协议不适合于大型网络。注意,这一限定声明是在假设经过每个网络的成本(cost)为1,正如RIP一般配置的情况。如果管理员选择了较大的成本,15的上限可能成为问题。
- 协议使用“记数到无穷大”表示一些特殊情况(将在下一节中说明)。如果系统中有几百个网络,路由回路(routing loop)将会充斥其间。解决路由回路或需要很多时间(如果路由更新的频率受到限制),或需要很多带宽(如果每次改变都发送更新)。这样在回路被纠正前会消耗很多带宽。我们相信,在现实情况下,这不会产生问题(除非是低速线路)。即使这样,这个问题还需要被认真对待,而且使用多种预防措施来避免在大多数情况下出现这样的问题。
- 协议使用固定的“尺度(metrics)”来描述不同的路径。当路径选择需要基于实时参数,如:延迟、可靠性、负载时是不适合的。使用这类实时参数会明显产生不稳定性。
1.2. 本文档的组成
本文档的主体内容分为两部分,占据下面两章:
2 从概念上了解距离向量算法的发展和原理。
3 实际协议的描述
这两章大致按这样的范围叙述。第2章给出了算法大致的数学模型,一开始先描述简单算法,然后再逐渐细致,呈“螺旋上升”的方法。第3章描述实际的协议,将第2章的内容具体化。通过第3章的描述,就可以实现整个RIP。 |
|