所以情况是我们有一个Web服务器在我们的托pipe。 在该Web服务器的前面有两个SonicWalls和两个非堆叠的pipe理型交换机。 我们试图find一种有效的方法来在我们已经拥有的设备(路由器,交换机,机器)上build立所有级别的冗余(所以请不要“去买X”答案)。 SonicWalls有一个主动/被动的HA链路,交换机没有任何东西,机器有双NIC组成的IP地址(不同的MAC)。
所以每个路由器都有一个链接到每个交换机。 交换机之间有一个中继链路,每个交换机都连接到PC上的双网卡。 现在,冗余工作,我可以杀死路由器/交换机或交换机/ PC之间的链接,我仍然有networking访问。 为了达到这个目的,我把SonicWalls上的ARP刷新设置为2分钟(最低会去),在交换机上设置为60秒。 我可以在机器上设置一个常量PING,然后删除其中一个链接。 我通常有20-30秒的停机时间,然后ping重新开始。
我的问题是,这个低的ARP冲洗时间有什么负面影响? 服务器运行人们使用的在线testing平台,在某些情况下,他们将下载audio文件。 同行告诉我,如果他们正在下载一个文件,并在路由器上刷新arpcaching,他们将失去下载。 我对TCP的理解是,如果它没有得到一个ACK的响应,它会继续重发同一个包,直到它呢? 有了这些信息,你能看到我遇到的任何问题吗?
在过去曾经在冗余链路上使用过的服务器上,两个链路的MAC地址都是相同的MAC地址,MAC地址用于到达和来自服务器的主要数据stream,而本地MAC地址用于链接。 该方法消除了对常量ARPcaching清除的需要。
无论如何,在回答你的问题时,是的TCP会在必要时重试,但可能不会被要求,因为刚刚有ARPcaching清空的设备只会发送一个ARP请求,就像它第一次尝试联系具有未caching地址的设备。 在交换机上,您可能已经知道,地址caching几乎立即被重新填充,因为一旦有未知MAC的stream量stream过,地址caching就会学习到地址。