组织:中国互动出版网(http://www.china-pub.com/) RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm) E-mail:ouyang@china-pub.com 译者:15222775@61. (15222775@61. hbzzx2001@yahoo.com.cn) 译文发布时间:2001-11-24 版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载, 但必须保留本文档的翻译及版权信息。 Network Working Group J. Postel Request for Comments: 925 ISI October 1984 多局域网地址解析 (RFC925——Multi-LAN Address Resolution) 备忘录状态 此备忘录受Jeffery Mogul 在关于“互联网自网”的RFC917触发而作。在那个备 忘录中,Mogul创建了一个多局域网环境下的“显式子网”应用案例。本备忘录中, 我力求建造一个“透明子网”的案例。这个RFC建立了一个由ARP网组织提交的协 议,并请求讨论和提交意见以便进一步改善。本备忘录的发行不受约束。 目录 介绍 1 概论 1 总结 6 术语表 6 参考文献: 8 介绍 将一组局域网(LAN)作为单个互联网处理的问题已经引起广泛关注和兴趣。在 同一地点内的局域网都给与一个截然不盒子同的网络号,这是不妥当的。令人满意的 做法是,对人员,网关和外部主机而言,地点内各局域网间的细节是隐蔽的。面临的 问题是最好怎么做,甚至上究竟怎么做。一个建议是使用“显式子网[1]"。显式子网方 案是一个把互联网用于管理多个网络的机制应用到在一个网络内的各局域网的管理问 题上的一个叫法。请注意,我强烈推荐另一个方法:使用一个由多局域网地址解析协 议扩展所支持的“透明子网”。 概论 迅速复习一下地址解析协议(ARP)。广播型局域网上的每个主机不但知道它的局 域网物理地址(HA)同时还知道它的互联网地址(IA)。当主机A得到主机B的IA 地址并向他发送一个数据报时,主机A必需知道与主机B相对应的HA。为了达到这 个目的,ARP包A产生一个ARP包,其中含有它自身的IA和HA地址以及目标主机 (主机B)的IA。主机A广播这个ARP包。收到此ARP包的主机检查此包,以确定 它们是否为被寻主机。如果是,他们(实际只有主机B)发送一个地址指向发出请求 者(主机A)的提供所需的HA地址的应答。现在,主机A已经取得了目的地(主机 B)的所有IA,HA地址了。为了将来使用,主机A将这条消息加到它的缓存中。 注意,ARP实际上比这个简要概述更为概括。此备忘录的观点是扩展ARP,使得 它能够在一个局域网互联环境中工作。 为了弄明白他是怎样工作的,我们试想有一个“魔盒”,他就像一个平常主机一样 连在两个或多个LAN上。 各主机的行为应该与在基本ARP中的行为严格一致。 当任何主机广播一个ARP请求时,盒子读取它(如同局域网上所有主机一样), 盒子检查它的缓存,缓存中保存了每个局域网的IA:HA地址映射,然后判断它是否为 正在寻找的那个(是,就给以答复)。 情况1:要是在发出请求的局域网所对应的缓存中找到了这个主机映射时,盒子 不应答。 情况2:要是在非发出请求的局域网所对应的缓存中找到了这个主机映射时,盒 子发出一个应答,给出他自己在发出请求的局域网内的HA地址。盒子作为目的主机 的一个代理。 情况3:要是任何缓存中都找不到那个映射,盒子必须尽力找出这个地址,然后 象情况1或情况2那样做出反应。 在情况3中,盒子不得不表演一些魔术: 盒子保持一张被寻主机搜索表。每个表项包含被寻主机的HA地址以及原始请求 主机的源地址和接收此ARP的接口。当情况3发生时,就检查这个搜索列表。如果被 寻主机已经列入此搜索列表中,就结束;否则,传播此表。 为了传播此搜索列表,先把一个表项写在这个搜索列表上,然后组织并在除了收 到“引起搜索的ARP”包的接口之外的所有接口上发出这个ARP包。如果收到一个应 答,信息会被输入到相应相应缓存中,相应表项在搜索列表中删除,然后象情况1或 情况2那样给那个“引起搜索的ARP”一个回答。 如果没有收到响应,停止并且不作任何事情——没有回答发给那个“引发”主机 (表项仍然留在搜索列表中)。 为了终止搜索,停止并且不作任何事情——没有回答发给那个“引发”主机(表 项仍然留在搜索列表中)。 缓存和搜索列表中的表项很可能超时 。 对于收到的每一个ARP请求,盒子还必须把发送主机的IA:HA地址映射放入接 收它的局域网所对应的缓存中。 多局域网地址解析 这个计划使用的还是ARP,新的成分不过是“魔盒”(“基于ARP 的桥"),它将ARP 请求中继到相邻局域网,以便将数据报中继到其他局域网上的主机而充当代理。 细节 主机的行为应该与在基本ARP中的行为严格一致。 局域网由“魔盒”(一些象主机一样连到局域网上的与两个或更多局域网连接 的计算机)。盒子执行一下程序。 各个盒子为它所连接的每个局域网(或每个局域网接口)保持一个列表。因 为表项回超时,所以表项应当是近期信息的缓存。这些表项是各个局域网的 IA:HA地址对。 当一个ARP请求被任意一个主机广播时,盒子读取它(如同局域网上所有主 机所作的那样)。另外,还要进行检查,看看他是否为被寻找机(如果是就应 答)。盒子检查它为每个所连局域网保持的IA:HA地址映射表的缓存。 情况1:要是在发出请求的局域网所对应的缓存中找到了这个主机映射时, 盒子不应答(让被寻主机自己响应)。表项超时不再重置。 情况2:要是在非发出请求的局域网所对应的缓存中找到了这个主机映射时, 盒子发出一个应答,给出他自己在发出请求的局域网内的HA地址。表项超 时不再重置。 在这种情况下,盒子作为目的主机的一个代理。当一个IP数据报道打 这个盒子时,盒子必须尽力用地址映射缓存中的信息去转发它。 情况3:要是任何缓存中都找不到那个映射,盒子必须尽力找出这个地址, 然后象情况1或情况2那样做出反应。 盒子保持一张被寻主机(但没找到)搜索表。每个表项包含被寻主机 的HA地址以及原始请求主机的源地址和接收此ARP的接口。当情况 3发生时,就检查这个搜索列表。如果被寻主机已经列入此搜索列表 中,就结束;否则,传播此表。 为了传播此搜索列表,先把一个表项写在这个搜索列表上,然后组织 并在所有接口上发出这个ARP包。这些ARP请求含有盒子的HA,IA 地址,被寻主机的IA地址以及对被寻主机HA地址的请求。如果收到 此ARP应答,此信息会被输入到相应缓存中,将相应表项在搜索列表 中删除,然后象情况1或情况2那样给那个“引起搜索的ARP”主机 一个回答。如果没有收到响应,停止并且不作任何事情——没有回答 发给那个“引发”主机(表项仍然留在搜索列表中)。 注意:盒子必须用它的ARP请求进行适当次数的尝试,如果普通 主机ARP请求通常进行5次尝试,那么它也应为此ARP进行5 次尝试。 为了终止搜索,停止并且不作任何事情——没有回答发给那个“引发” 主机(表项仍然留在搜索列表中)。不存在发送给ARP请求的否定性 反馈信息,所以除了超时手段以外没法判断搜索的成功情况。 对于收到的每一个ARP请求,盒子还必须把发送主机的IA:HA地址映射放 入接收它的局域网所对应的缓存中。 缓存和搜索列表中的表项可能超时。 为了维护搜索列表而必须遵循的终止原则是:避免为一个没有响应的主机无 穷尽地中继ARP请求。一旦主机列入搜索列表,ARP请求讲不被中继。如 果一个停机的(或其他不响应ARP请求的)主机开机(或开始响应ARP请 求),那末,在表项超时之前,对其他网络上的主机而言它一直是不可用的。 对此问题有两个办法:第一是搜索列表表项超时周期变短。第二是让盒 子为搜索列表表项周期性的发送ARP。 方案中有几个超时。 首先,主机尽力用ARP来进行地址解析。如果主机没有被响应,他们可 能在得到之前进行多次尝试。我们还必须给主机在尝试其间的时间长度 (把它称为时间T1)建立一个好的评估方法。 其次,还有表项停留在列表中的时间或从盒子产生ARP道地址得到解析 这段时间。称为时间T2。 注意:这个时间段T2必须大于局域网最大回路中的T1时间之和。 再次,表项在每个局域网的缓存中停留时间,称为时间T3。 他们之间的关系必须满足:T!