VRRP故障转移是否会导致TCP连接关闭并需要重新连接?

时间:2013-12-10 08:06:22

标签: tcp

我正在使用持久连接连接远程服务器,我和远程服务器之间的网络设备使用VRRP创建VIP,并在一个设备或链接出现故障时进行故障转移。

故障转移是否会导致TCP连接中断,我需要处理这种情况以重新连接远程服务器,或者我可以忽略这一点,就像vmware的VMotion一样?

1 个答案:

答案 0 :(得分:0)

取决于应用程序keepalive和VRRP通告间隔设置。但最有可能忽略它。

故障转移是VRRP最重要的功能,可确保在发生中断时(例如,主VRRP路由器发生故障),使用VIP的主机受到的影响最小。也就是说,仍然存在影响,即通过VIP失去连接。

您可以检查VRRP配置以估计丢失的持续时间。如果VRRP通告间隔(即保持活动间隔)配置为1秒(这是版本2和3的默认值),那么备份节点检测到故障需要1秒* 3 = 3秒,加上一些备份将其状态更改为master的时间。所以总共3-4秒。如果广告间隔短于广告间隔,则无连接的时间也将更短,遵循此处描述的相同公式。

所以真正的问题是,在没有连接局域网之外会发生什么? TCP 一旦建立连接,本质上不介意3秒的空闲时间或任何持续时间,因此只要VRRP故障转移完成,TCP就不会注意到任何事情。

但是,应用程序可以实现自己的keepalive来监视TCP上的连接。如果该间隔短于VRRP通告间隔,则可能认为在VRRP故障转移期间连接断开。但应用程序将其keepalive设置为短至几秒钟的情况应该很少见。例如,对于SSH,它通常设置为60秒。

总之,这应该不是问题。但如果是,请检查应用程序keepalive和VRRP通告间隔的设置,并根据需要进行调整。请注意,您可能不希望VRRP通告间隔太短,因为它会产生比使用LAN带宽所需的更多Keepalive。