多局域网地址解析

【多局域网地址解析】介绍
将一组局域网(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”一个回答 。
假如没有收到响应,停止并且不作任何事情——没有回答发给那个“引发”主机
(表项仍然留在搜索列表中) 。
为了终止搜索,停止并且不作任何事情——没有回答发给那个“引发”主机(表
项仍然留在搜索列表中) 。
缓存和搜索列表中的表项很可能超时

推荐阅读