多局域网地址解析( 三 )


子为搜索列表表项周期性的发送ARP 。
方案中有几个超时 。
首先,主机尽力用ARP来进行地址解析 。假如主机没有被响应,他们可
能在得到之前进行多次尝试 。我们还必须给主机在尝试其间的时间长度
(把它称为时间T1)建立一个好的评估方法 。
其次,还有表项停留在列表中的时间或从盒子产生ARP道地址得到解析
这段时间 。称为时间T2 。
注重:这个时间段T2必须大于局域网最大回路中的T1时间之和 。
再次,表项在每个局域网的缓存中停留时间,称为时间T3 。
他们之间的关系必须满足:T!一个建议是T1小于1分钟,T2小于10分钟,T3小于1小时 。
假如环境非常稳定,使T3变长可以导致搜索次数变少(ARP流量的开
销变小) 。假如环境不很稳定,使得T3变短能更快的适应变化 。
另外一个方案是,每次引用时缓存中表项的计时器,并建立一个较
小的T3值 。这会导致频繁使用的表项停留在缓存中,但很少使用的表项
很快就会被丢掉 。不幸的是,频繁使用和正确性之间不存在必然联系 。
它还会导致缓存中的一个过时表项保存很长一段时间表项,假如今已经
收到地址映射ARP请求正好小于超时周期 。处理定期的数据报时,盒子
回消耗IP数据包的生存时间(TTL)和更新IP数据包的头部校验和 。如
果TTL变成0,数据包就会被丢弃(不转发) 。
ARP(按照当前的定义)最好能得到最多的近期的和过时的信息 。(存在
连通回路的)复杂的多局域网环境中一个位于其他局域网上的主机可能
得到两个(或更多)ARP请求的回答 。第一个回答可能来自盒子,这是
最有效的一个路径 。
这里暗示了一个ARP主机信息的改变,防止更迟的信息替代了第一个回
答 。
可能出现的问题
不合法的缓存表项
假如错误的信息进入了缓存表项,它将逗留一些时间(T3) 。旧信息的存在会
阻止通信(一会儿),假如主机改变了它的HA:IA地址映射 。
取代缓存中的非法或超时表项的方法是,让盒子明确的把广播的ARP应答解
释为请求一个已经用较新的HA:IA映射替换了原有的HA:IA映射的一个表
项 。还要一个重要的服务器,用于在他们出现时发送(广播ARP应答) 。
非ARP主机
在同一局域网上全部为ARP主机或非ARP主机是不太实际的,所以只好寄
希望于他们能够相互通信 。所有主机为非ARP主机的情形将在下一个标题中
得到考察 。
不能实现ARP的主机必须使用其它的地址映射方法 。他们要末保存一个所有
主机的完整表,要么通过某个协议访问服务器中的上述表,要么指望根据地
址域中的分析所做的路由判定 。
非广播局域网
假如盒子所连接的局域网不具备广播能力或者局域网上的主机不能响应
ARP,那么,为那个局域网(或可以从另一个地址算出的地址)建立一个静
态或动态的HA:IA地址表 。域网上的主机必须全部列于表内 。
当盒子可以找到地址映射并将另外发送一个ARP请求进入非广播局域网(只
有在所有主机都列入表内而被寻主机位于非广播局域网上时才有可能发生)
时,它改为专门给那个局域网上的每个盒子发送一个ARP类型请求 。
表的尺寸
盒子中最坏的表尺寸是一个表为所有局域网中的主机数 。即,为每个局域网
接口所维护的表可能(在最坏的情况下)
增大到位整个局域网上的每个主机建立一个表项 。然而,这些表实际上满足
当前通讯活动所需的表项的缓存,并且这个典型化的情况远远不是最坏的 。

推荐阅读