论文部分内容阅读
随着网络的快速普及和应用的日益深入,各种增值业务在网络上得到了广泛部署,网络短时间的中断就可能造成重大损失。因此,网络的高可用性HA日益成为关注的焦点。
作为网络高可用性技术之一的冗余网关技术是为了解决局域网内主机静态配置缺省网关时,存在单点故障问题而提出的。目前已经存在多种冗余网关技术,但是普遍存在的问题是,在状态检测的安全模式下,主备切换后冗余组只能响应新的TCP连接请求,而不能转发已经建立的TCP连接下的数据包。这样导致了大量服务的中断。本文提出的传输控制协议连接不中断技术Non-Stop TCP(简称NST)能够解决这一问题。NST定义了一种具有更高可用性的冗余组,是一种能够保证局域网内主机在任何时候通过冗余组与外部网络建立的TCP连接,不因冗余组内主备切换而中断的技术,包括在主备切换时正在建立或已经建立的连接。
本文根据功能将NST划分为切换模块和同步模块。为切换模块定义了通告报文、定时器以及NST状态机,实现主备切换和NST地址组的学习,完成基本冗余网关功能:为同步模块设计了同步报文、状态同步的两种模式以及配置同步的两种模式,实现成员之间状态和配置的备份,完成主备切换后TCP连接不中断的功能。本文还为NST定义了两种工作模式,即主备模式和负载分担模式。此外,在状态同步方面,本文还提出了通过注册和调用回调函数的方法实现同步的思想。FTP根据该思想实现了FTP状态的同步。即,FTP向NST注册状态变化处理函数,FTP状态发生变化的成员发送状态同步报文;接收到同步报文时调用对应处理回调函数,实现本地状态与同步报文发送方的同步。
经过测试,本文设计和实现的NST完成了基本的主备切换和TCP状态同步功能,做NAT的TCP连接在主备切换后能够正常维持。