一种实现虚拟网际协议的方法及系统的制作方法

文档序号:7617466阅读:110来源:国知局
专利名称:一种实现虚拟网际协议的方法及系统的制作方法
技术领域
本发明涉及通信和计算机群技术,特别是指一种在数字通信网络中实现虚拟网际协议(IP)的方法及系统。
背景技术
对于数字通信网络,需要提供多种不同应用的业务,从普通业务到智能增值业务,从语音到数据、图像等综合业务,这些业务都需要具有高可服务性。高可服务性的业务经常构筑在具有高可用性的计算机机群系统中。
在计算机机群系统中,实现业务的高可服务性主要是通过增加结点,来使多个结点工作在负荷分担方式下或主备用方式下,当主用结点故障时,备用结点接替主用结点继续提供服务。由于数字通信网络向全IP网络的演变,使得结点的通信方式主要是基于IP的通信。当主用结点故障时,访问主用结点的客户端会继续向主用结点的IP地址索取服务,这就要求备用结点接替主用结点时以同样的IP地址提供服务,这样,将多个结点共用一个IP地址对外提供服务的方法称为虚拟IP(VIP)。
目前,通常在各结点之前增加网络地址转换(NAT,Network AddressTranslation)设备,通过NAT设备对结点的IP地址进行转换,使得多个结点对外呈现一个统一的IP地址,如图1所示。
通过NAT设备进行IP地址转换需要额外增加专门用于实现网络地址转换功能的网络设备,这样就增加了整个数字通信网络的建设和维护成本,并且由于NAT设备协议和算法的复杂性,往往使得NAT设备转换IP地址的速度低于网络速度,这样,对于高性能的数字通信网络就会在NAT设备处形成瓶颈。

发明内容
有鉴于此,本发明的一个目的在于提供一种实现虚拟IP的方法,本发明的另一目的在于提供一种实现虚拟IP的系统,降低整个数字通信网络的建设和维护成本。
为了达到上述目的,本发明提供了一种实现虚拟IP的方法,在主备结构的各结点上配置对外呈现的虚拟IP地址,该方法包含进入主用状态的结点向所在局域网络内结点发送虚拟IP地址和本结点的MAC地址,并且主用结点启动心跳发送定时器,在每个心跳发送定时器的时间长度内向备用结点发送心跳;进入备用状态的结点启动心跳检测定时器,在心跳检测定时器超时且未收到主用结点发送的心跳时,进入主用状态。
所述在每个心跳发送定时器的时间长度内向备用结点发送心跳为判断在心跳发送定时器内是否已向备用结点发送了心跳,如果是,则向备用结点发送心跳;否则,等待当前心跳发送定时器超时,重新启动心跳发送定时器作为当前心跳发送定时器。
所述启动心跳检测定时器、在心跳检测定时器超时且未收到主用结点发送的心跳时、进入主用状态,包括备用结点判断在心跳检测定时器内是否收到主用结点发送的心跳,如果是,则等待当前心跳检测定时器超时,重新启动心跳检测定时器作为当前心跳检测定时器;否则,进入主用状态。
所述在心跳检测定时器超时且未收到主用结点发送的心跳时、进入主用状态之前进一步包括备用结点向主用结点发送心跳请求,并启动心跳请求定时器,判断在心跳请求定时器内是否收到主用结点发送的心跳,如果是,则等待当前心跳检测定时器超时,重新启动心跳检测定时器作为当前心跳检测定时器;否则,进入主用状态。
所述在心跳请求定时器内收到主用结点发送的心跳、与等待当前心跳检测定时器超时之间进一步包括备用结点判断收到的心跳中是否携带有主用放弃标识,如果是,则进入主用状态;否则,等待当前心跳检测定时器超时。
所述在每个心跳发送定时器的时间长度内向备用结点发送心跳之前,进一步包括主用结点判断是否收到备用结点发送的心跳请求,如果是,则向备用结点发送心跳请求;否则,判断在心跳发送定时器内是否已向备用结点发送了心跳。
设置主备结构中各结点的优先级,如果所述结点进入主用状态或备用状态之前为初始状态结点,则该方法进一步包括判断本结点的优先级是否最高,如果是,则结点进入主用状态;否则,结点进入备用状态。
所述心跳发送定时器的时间长度与所述心跳检测定时器的时间长度相等;或所述心跳发送定时器的长度为所述心跳检测定时器的时间长度与时间偏移量的和。
设置主备结构中各结点的优先级,根据结点的优先级设置所述时间偏移量。
设置主备结构中各结点的优先级,该方法进一步包括主用结点判断是否收到备用结点发送的心跳,如果是,则继续判断本结点的优先级是否高于收到的心跳中携带的优先级,如果不是,则结点由主用状态进入备用状态。
如果所述主备结构为1+n备份结构,则设置1+n备份结构中各结点的优先级,根据结点的优先级设置所述心跳请求定时器。
如果所述主备结构为1+n备份结构,则设置1+n备份结构中各结点的优先级,该方法进一步包括备用结点判断抢占模式是否开启,如果是,则判断本结点的优先级是否高于收到的、来自其他结点的心跳中携带的优先级,如果是,则结点由备用状态进入主用状态。
所述虚拟IP地址和本结点的MAC地址携带在免费ARP请求中。
通过主用结点与备用结点之间的业务通道传送所述心跳;或通过主用结点与备用结点之间的通信链路L1传送所述心跳;或通过主用结点与备用结点之间的通信链路L2传送所述心跳。
本发明还提出了一种实现虚拟网际协议的系统,该系统包括一个以上的客户端;交换机或集线器;配置一个对外呈现的虚拟IP地址的主用结点和备用结点,其中,主用结点用于向客户端提供服务,备用结点用于在主用结点故障时接替主用结点向客户端提供服务。
所述主用结点与备用结点之间进一步包括用于传送软件心跳和控制命令的通信链路L1。
所述通信链路L1为串口,或为网口。
所述主用结点与备用结点之间进一步包括用于传送硬件心跳和控制命令的通信链路L2。所述通信链路L2为硬件双机信号线。
根据本发明提出的方案,在每个结点上配置对外呈现的虚拟IP地址,主用结点向其所在局域网络中的所有结点广播免费ARP请求,该免费ARP请求中携带有虚拟IP地址和本结点的MAC地址,以通知各结点虚拟IP地址与物理地址之间的对应关系,从而使得主用结点能够对发往虚拟IP地址的ARP请求进行响应,对发往虚拟IP地址的数据进行处理,本发明中省去了NAT设备,降低了整个数字通信网络的建设和维护成本。本发明中设计了有效的切换过程,降低了故障切换时间。本发明提出的主备结构灵活,可根据具体需要进行调整,具有良好的扩展性。


图1示出了现有技术中实现虚拟IP的结构示意图;图2A示出了本发明中1+1备份实现虚拟IP的结构示意图;图2B示出了本发明中多个1+1备份实现虚拟IP的结构示意图;图2C示出了本发明中1+n备份实现虚拟IP的结构示意图;图2D示出了本发明中n+1备份实现虚拟IP的结构示意图;图3示出了本发明中结点状态切换示意图;图4示出了本发明中主用结点实现虚拟IP流程图;图5示出了本发明中备用结点实现虚拟IP流程图;图6示出了本发明中1+n备份结构主用结点实现虚拟IP流程图;
图7示出了本发明中1+n备份结构备用结点实现虚拟IP流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明中,在每个结点上配置对外呈现的虚拟IP地址,主用结点向其所在局域网络中的所有结点广播免费地址解析协议(ARP,AddressResolution Protocol)请求,该免费ARP请求中携带有虚拟IP地址和本结点的以太网卡硬件(MAC)地址,以通知各结点虚拟IP地址与物理地址之间的对应关系,从而使得主用结点能够对发往虚拟IP地址的ARP请求进行响应,对发往虚拟IP地址的数据进行处理,如进行转发、或根据客户端的要求对数据进行处理等,这些操作与现有节点所进行的完全一致,在此不再赘述;备用结点无法对发往虚拟IP地址的ARP请求进行响应,也无法对发往虚拟IP地址的数据进行处理。以上局域网络中的所有结点包括端结点和交换结点,端结点可为各客户端,交换结点可为交换机或集线器等。免费ARP请求是以虚拟IP地址为源IP地址,发送请求对应于虚拟IP地址的MAC地址的ARP请求。
图2A示出了本发明中1+1备份实现虚拟IP的结构示意图,如图2A所示,各结点通过交换机(Switch)或集线器(HUB)与客户端相连,结点A也通过交换机或集线器与结点B相连,结点A和结点B组成1+1备份结构,在各结点上配置对外呈现的虚拟IP地址,其中一个结点作为主用结点,另一结点作为备用结点,主用结点发生故障时,结点由备用状态进入主用状态,向所在局域网络中的所有结点广播免费ARP请求,该ARP请求中携带有虚拟IP地址和本结点的MAC地址,通知各结点更新虚拟IP地址与MAC地址之间的对应关系。结点A与结点B之间还可增加通信链路L1,L1可为一条单独的以太网连接,也可为专用通信链路,如串口,L1用于传送软件心跳、控制命令和结点之间需要备份的数据;结点A与结点B之间也可增加通信链路L2,L2用于传送结点之间的硬件心跳和控制命令。L1与L2之间的区别为L1可为通用的通信接口,如串口、网口等,由软件进行控制,用于传输数据等信息;L2为硬件双机信号线,由用户自己定义,如可以定义act、standby信号线,两个结点的act、standby信号线交叉相连,通过硬件连线指示单板的工作状态。L1和L2不是必需的,是否增加通信链路L1或硬件双机信号线L2可根据结点以及整个网络的具体情况决定,例如,如果结点有多余的串口,则可将结点的串口相连作为通信链路L1。
图2B示出了本发明中多个1+1备份实现虚拟IP的结构示意图,如图2B所示,对1+1备份结构进行扩展,在网络中包括多个1+1备份结构,每一组构成备份结构的结点上配置该组对外呈现的虚拟IP地址,在每一组中一个结点作为主用结点,另一结点作为备用结点,一组中的主用结点发生故障时,该组中的结点由备用状态进入主用状态,向所在局域网络中的所有结点广播免费ARP请求,该ARP请求中携带有虚拟IP地址和本结点的MAC地址,通知各结点更新虚拟IP地址与MAC地址之间的对应关系。每一组的结点之间也可增加通信链路L1和/或通信链路L2。
图2C示出了本发明中1+n备份实现虚拟IP的结构示意图,如图2C所示,在各结点上配置对外呈现的虚拟IP地址,其中一个结点作为主用结点,其余结点作为备用结点,形成具有高可用性的计算机机群,对外提供更高的可用性。主用结点向客户端提供服务,备用结点在主用结点故障时接替主用结点向客户端提供服务。主用结点发生故障时,各备用结点可根据预先设置的优先级抢占主用位置,即优先级越高的结点越容易进入主用状态,结点由备用状态进入主用状态,向所在局域网络中的所有结点广播免费ARP请求,该ARP请求中携带有虚拟IP地址和本结点的MAC地址,通知各结点更新虚拟IP地址与MAC地址之间的对应关系。各结点之间可进一步增加通信链路L1和/或通信链路L2。
图2D示出了本发明中n+1备份实现虚拟IP的结构示意图,如图2D所示,结点A和结点B组成一组主备结构,对外呈现一个虚拟IP地址,结点B和结点C组成另一组主备结构,对外呈现另一个虚拟IP地址。结点A和结点C分别作为主用结点,结点B作为结点A和结点C的备用结点,当结点A或结点C发生故障时,结点B进入主用状态,向所在局域网络中的所有结点广播免费ARP请求,该ARP请求中携带有虚拟IP地址和本结点的MAC地址,通知各结点更新虚拟IP地址与MAC地址之间的对应关系。
每组主备结构中,各结点之间需要通过来自其他结点的心跳来检测相应结点的工作状态,可带内传送心跳,即通过结点的业务通道来传送心跳,针对不同虚拟IP地址选择不同的IP组播地址,结点通过IP组播的方式将心跳传送给其他结点,由于IP组播地址的选择与本发明的实现不具有直接联系,且为现有的公知技术,因此不再赘述;也可通过新增的通信链路L1或L2传送心跳。
以上所述各种主备结构中的各结点还可具有自身结点的IP地址,并将相应IP地址对外呈现,以实现对发往自身结点IP地址的ARP请求的响应或数据的处理。
图3示出了本发明中结点状态切换示意图,如图3所示,系统上电后,所有结点均处于初始状态,抢占到主用位置的结点由初始状态进入主用状态,向所在局域网络中的所有结点广播免费ARP请求,该免费ARP请求中携带有对外呈现的虚拟IP地址和本结点MAC地址,其余结点则由初始状态进入备用状态。主用结点定时向备用结点发送心跳,备用结点接受心跳。由于主用结点发送的心跳可能会因为多种原因而丢失,因此,如果备用结点在设定的时间内没有收到主用结点发送的心跳,则向主用结点发送心跳请求,主用结点收到心跳请求后,向备用结点发送心跳;如果备用结点发送心跳请求后,在设定的时间内仍未收到主用结点发送的心跳,则结点由备用状态进入主用状态,向所在局域网络中的所有结点广播免费ARP请求,该免费ARP请求中携带有对外呈现的虚拟IP地址和本结点MAC地址,通知各结点更新虚拟IP地址与MAC地址之间的对应关系。通过上层发送的禁用(Shut Down)消息,可使各结点进入初始状态。
图4示出了本发明中主用结点实现虚拟IP流程图,如图4所示,主用结点实现虚拟IP的过程包括以下步骤步骤401~步骤402结点进入主用状态,主用结点向其所在局域网络中的所有结点广播免费ARP请求,该免费ARP请求中携带有对外呈现的虚拟IP地址和本结点的MAC地址,通知各结点虚拟IP地址与MAC地址之间的对应关系,这样,主用结点就能够对发往虚拟IP地址的数据进行处理,并对发往虚拟IP地址的ARP请求进行响应。主用结点启动心跳发送定时器,该心跳发送定时器用于控制主用结点定时向备用结点发送心跳。以上所述结点进入主用状态既可指结点由初始状态进入主用状态,也可指结点由备用状态进入主用状态。初始状态的结点可根据预先设置直接由初始状态进入主用状态,也可根据设置的优先级抢占主用位置。
步骤403主用结点判断是否收到备用结点发送的心跳请求,如果是,则执行步骤405;否则,执行步骤404。由于主用结点发送的心跳可能会因为多种原因而丢失,因此,备用结点在设定的时间内未收到主用结点发送的心跳的情况下,会向主用结点发送心跳请求。
步骤404主用结点判断心跳发送定时器内是否已向备用结点发送了心跳,如果是,则返回执行步骤403;否则,执行步骤405。心跳发送定时器是用于控制主用结点定时向备用结点发送心跳的,主用结点应保证在每个心跳发送定时器的周期内向备用结点发送一次心跳。
步骤405~步骤406主用结点向备用结点发送心跳,然后在当前心跳发送定时器超时时,主用结点重新启动心跳发送定时器,作为当前心跳发送定时器,并返回执行步骤403。
图5示出了本发明中备用结点实现虚拟IP流程图,如图5所示,备用结点实现虚拟IP的过程包括以下步骤
步骤501~步骤502结点进入备用状态,启动心跳检测定时器,该心跳检测定时器用于备用结点检测是否在指定时间内收到主用结点发送的心跳。以上所述结点进入备用状态既可指结点由初始状态进入主用状态,也可指结点由备用状态进入主用状态。以上所述心跳检测定时器的时间长度可与心跳发送定时器的时间长度相等,也可比心跳发送定时器的时间长度长一些,如将心跳发送定时器的时间长度与时间偏移量的组合作为心跳检测定时器的时间长度。
步骤503备用结点判断心跳检测定时器内是否收到主用结点发送的心跳,如果是,则执行步骤508;否则,执行步骤504。心跳检测定时器是用于备用结点检测主用结点发送的心跳,备用结点应在每个心跳检测定时器的周期内收到主用结点发送的一次心跳,否则就要执行步骤504。
步骤504~步骤505备用结点向主用结点发送心跳请求,并启动心跳请求定时器,该心跳请求定时器用于备用结点发送心跳请求后检测主用结点发送的心跳,备用结点应在心跳请求定时器内收到主用结点发送的心跳,否则就要执行步骤509。
步骤506备用结点判断心跳请求定时器内是否收到主用结点发送的心跳,如果是,则执行步骤507;否则,执行步骤509。
步骤507备用结点判断主用结点发送的心跳中是否携带有主用放弃标识,如果是,则执行步骤509;否则,执行步骤508。主用结点可主动放弃其主用位置,这样,主用结点向备用结点发送的心跳中就可携带有主用放弃标识,例如心跳中携带有0,以通知备用结点其主动放弃主用位置。另外,主用结点也可通过通信链路L1或L2发送切换命令,来主动放弃自身的主用位置。
步骤508在当前心跳检测定时器超时时,备用结点重新启动心跳检测定时器,作为当前心跳检测定时器,并返回执行步骤503。
步骤509结点由备用状态进入主用状态,向其所在局域网络中的所有结点发送免费ARP请求,该免费ARP请求中携带有虚拟IP地址和本结点的MAC地址,通知各结点更新虚拟IP地址与MAC地址之间的对应关系,如通知交换结点更新交换表,通知其他结点的ARP高速缓存器(Cache)更新IP地址与物理地址之间的对应关系,这样,进入主用状态的结点就能够对发往虚拟IP地址的数据进行处理,并对发往虚拟IP地址的ARP请求进行响应。
在1+n备份结构中,由于存在多个备用结点,因此,在结点的状态进行切换时,各结点就会抢占主用位置,因此,本发明中通过设置各结点的优先级,使得优先级越高的结点越容易抢占到主用位置。
图6示出了本发明中1+n备份结构主用结点实现虚拟IP流程图,如图6所示,1+n备份结构中主用结点实现虚拟IP的过程包括以下步骤步骤601初始状态结点判断本结点的优先级是否最高,如果是,则执行步骤603;否则,执行步骤602。
步骤602结点由初始状态进入备用状态,启动心跳检测定时器,结束当前流程。
步骤603~步骤604结点由初始状态进入主用状态,主用结点向其所在局域网络中的所有结点广播免费ARP请求,该免费ARP请求中携带有对外呈现的虚拟IP地址和本结点的MAC地址,通知各结点虚拟IP地址与MAC地址之间的对应关系,并且主用结点启动心跳发送定时器。
步骤605主用结点判断是否收到备用结点发送的心跳请求,如果是,则执行步骤611;否则,执行步骤606。
步骤606主用结点判断心跳发送定时器内是否已向备用结点发送了心跳,如果是,则执行步骤607;否则,执行步骤611。
步骤607主用结点判断抢占模式是否开启,如果是,则执行步骤608;否则,执行步骤612。通过开启抢占模式来使高优先级的备用结点抢占到主用位置。另外,步骤607可不需要,而是主用结点在步骤606中判断出心跳发送定时器内已向备用结点发送了心跳后,直接执行步骤608,这是因为如果抢占模式未开启,主用结点就不会收到备用结点发送的心跳,如果主用结点收到备用结点发送的心跳,则必然是开启了抢占模式。
步骤608主用结点判断是否收到备用结点发送的心跳,如果是,则执行步骤609;否则,返回执行步骤605。
步骤609主用结点判断本结点的优先级是否高于收到的心跳中携带的优先级,如果是,则返回执行步骤605;否则,执行步骤610。该心跳可包括所有备用结点发送的心跳。
步骤610结点由主用状态进入备用状态,启动心跳检测定时器,结束当前流程。
开启抢占模式时,各结点间可通过发送携带有优先级的心跳,通知其他结点本结点的优先级,主用结点将本结点的优先级与收到的心跳中携带的优先级进行比较,如果本结点的优先级高,则继续保持本结点的主用位置;如果收到的心跳中携带的优先级高,则放弃本结点的主用位置,该主用位置将由发送心跳的优先级最高的结点抢占。
步骤611主用结点向备用结点发送心跳,该心跳中可携带有本结点的优先级。
步骤612在当前心跳发送定时器超时时,主用结点重新启动心跳发送定时器,作为当前心跳发送定时器,并返回执行步骤605。
实际应用中,步骤607~步骤610或步骤608~步骤610可在步骤604之后的任一时刻执行,这样,如果本结点的优先级高于收到的心跳中携带的优先级,则主用结点不进行任何操作。另外,步骤607~步骤610或步骤608~步骤610所描述的执行过程同样适用于非1+n备份结构,只要是设置了各结点的优先级即可。
图7示出了本发明中1+n备份结构备用结点实现虚拟IP流程图,如图7所示,1+n备份结构中备用结点实现虚拟IP的过程包括以下步骤
步骤701初始状态结点判断本结点的优先级是否最高,如果是,则执行步骤702;否则,执行步骤703。
步骤702结点由初始状态进入主用状态,主用结点向其所在局域网络中的所有结点广播免费ARP请求,该免费ARP请求中携带有对外呈现的虚拟IP地址和本结点的MAC地址,通知各结点虚拟IP地址与MAC地址之间的对应关系,并且主用结点启动心跳发送定时器,结束当前流程。
步骤703~步骤704结点由初始状态进入备用状态,启动心跳检测定时器。心跳检测定时器的时间长度可与心跳发送定时器的时间长度相等,也可比心跳发送定时器的时间长度长一些,如将心跳发送定时器的时间长度与时间偏移量的组合作为心跳检测定时器的时间长度,可根据结点的优先级高低设置时间偏移量,结点的优先级越高可设置越小的时间偏移量,例如,如果设置255为最高优先级,则时间偏移量可为(256-结点优先级)/256,如果设置1为最高优先级,则时间偏移量可为结点优先级/256。
步骤705备用结点判断心跳检测定时器内是否收到主用结点发送的心跳,如果是,则执行步骤710;否则,执行步骤706。
步骤706~步骤707备用结点向主用结点发送心跳请求,并启动心跳请求定时器。可根据结点的优先级高低设置心跳请求定时器的时间长度,结点的优先级越高可设置越小的心跳请求定时器时间长度,例如,如果设置255为最高优先级,则心跳请求定时器的时间长度可为(256-结点优先级)/256,如果设置1为最高优先级,则心跳请求定时器的时间长度可为结点优先级/256。
步骤708备用结点判断心跳请求定时器内是否收到主用结点发送的心跳,如果是,则执行步骤709;否则,执行步骤712。
步骤709备用结点判断主用结点发送的心跳中是否携带有主用放弃标识,如果是,则执行步骤712;否则,执行步骤713。
步骤710备用结点判断抢占模式是否开启,如果是,则执行步骤711;否则,执行步骤713。
步骤711备用结点判断本结点的优先级是否高于收到的心跳中携带的优先级,如果是,则执行步骤712;否则,执行步骤713。该心跳包括主用结点发送的心跳,也包括其他备用结点发送的心跳。
步骤712结点由备用状态进入主用状态,向其所在局域网络中的所有结点发送免费ARP请求,该免费ARP请求中携带有虚拟IP地址和本结点的MAC地址,通知各结点更新虚拟IP地址与MAC地址之间的对应关系,如通知交换结点更新交换表,通知其他结点的ARP高速缓存器更新IP地址与物理地址之间的对应关系,结束当前流程。
步骤713在当前心跳检测定时器超时时,备用结点重新启动心跳检测定时器,作为当前心跳检测定时器,并返回执行步骤705。
实际应用中,步骤710~步骤712可在步骤704之后的任一时刻执行,这样,如果本结点的优先级低于收到的心跳中携带的优先级,则备用结点不进行任何操作。
通过心跳请求定时器或心跳请求定时器与时间偏移量的结合,来保证优先级越高的结点越容易抢占到主用位置,因为,与优先级高的结点相对应的心跳请求定时器的时间长度越短,或心跳请求定时器的时间长度及时间偏移量的结合就越短,因此,在主用结点故障时,优先级越高的结点就越容易抢占到主用位置。
以上主备结构中的数据备份,可根据实际需要进行数据备份,需要备份的数据可通过业务通道来传送,也可通过新增的通信链路L1或L2来传送。
以上所述结点可为网关设备、服务器或需要和其他结点进行通信的一般结点。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种实现虚拟网际协议的方法,其特征在于,在主备结构的各结点上配置对外呈现的虚拟IP地址,该方法包含进入主用状态的结点向所在局域网络内结点发送虚拟IP地址和本结点的MAC地址,并且主用结点启动心跳发送定时器,在每个心跳发送定时器的时间长度内向备用结点发送心跳;进入备用状态的结点启动心跳检测定时器,在心跳检测定时器超时且未收到主用结点发送的心跳时,进入主用状态。
2.根据权利要求1所述的方法,其特征在于,所述在每个心跳发送定时器的时间长度内向备用结点发送心跳为判断在心跳发送定时器内是否已向备用结点发送了心跳,如果是,则向备用结点发送心跳;否则,等待当前心跳发送定时器超时,重新启动心跳发送定时器作为当前心跳发送定时器。
3.根据权利要求1或2所述的方法,其特征在于,所述启动心跳检测定时器、在心跳检测定时器超时且未收到主用结点发送的心跳时、进入主用状态,包括备用结点判断在心跳检测定时器内是否收到主用结点发送的心跳,如果是,则等待当前心跳检测定时器超时,重新启动心跳检测定时器作为当前心跳检测定时器;否则,进入主用状态。
4.根据权利要求3所述的方法,其特征在于,所述在心跳检测定时器超时且未收到主用结点发送的心跳时、进入主用状态之前进一步包括备用结点向主用结点发送心跳请求,并启动心跳请求定时器,判断在心跳请求定时器内是否收到主用结点发送的心跳,如果是,则等待当前心跳检测定时器超时,重新启动心跳检测定时器作为当前心跳检测定时器;否则,进入主用状态。
5.根据权利要求4所述的方法,其特征在于,所述在心跳请求定时器内收到主用结点发送的心跳、与等待当前心跳检测定时器超时之间进一步包括备用结点判断收到的心跳中是否携带有主用放弃标识,如果是,则进入主用状态;否则,等待当前心跳检测定时器超时。
6.根据权利要求4所述的方法,其特征在于,所述在每个心跳发送定时器的时间长度内向备用结点发送心跳之前,进一步包括主用结点判断是否收到备用结点发送的心跳请求,如果是,则向备用结点发送心跳请求;否则,判断在心跳发送定时器内是否已向备用结点发送了心跳。
7.根据权利要求1所述的方法,其特征在于,设置主备结构中各结点的优先级,如果所述结点进入主用状态或备用状态之前为初始状态结点,则该方法进一步包括判断本结点的优先级是否最高,如果是,则结点进入主用状态;否则,结点进入备用状态。
8.根据权利要求1或2所述的方法,其特征在于,所述心跳发送定时器的时间长度与所述心跳检测定时器的时间长度相等;或所述心跳发送定时器的长度为所述心跳检测定时器的时间长度与时间偏移量的和。
9.根据权利要求8所述的方法,其特征在于,设置主备结构中各结点的优先级,根据结点的优先级设置所述时间偏移量。
10.根据权利要求1或2所述的方法,其特征在于,设置主备结构中各结点的优先级,该方法进一步包括主用结点判断是否收到备用结点发送的心跳,如果是,则继续判断本结点的优先级是否高于收到的心跳中携带的优先级,如果不是,则结点由主用状态进入备用状态。
11.根据权利要求4所述的方法,其特征在于,如果所述主备结构为1+n备份结构,则设置1+n备份结构中各结点的优先级,根据结点的优先级设置所述心跳请求定时器。
12.根据权利要求1或2所述的方法,其特征在于,如果所述主备结构为1+n备份结构,则设置1+n备份结构中各结点的优先级,该方法进一步包括备用结点判断抢占模式是否开启,如果是,则判断本结点的优先级是否高于收到的、来自其他结点的心跳中携带的优先级,如果是,则结点由备用状态进入主用状态。
13.根据权利要求1所述的方法,其特征在于,所述虚拟IP地址和本结点的MAC地址携带在免费ARP请求中。
14.根据权利要求1或2所述的方法,其特征在于,通过主用结点与备用结点之间的业务通道传送所述心跳;或通过主用结点与备用结点之间的通信链路L1传送所述心跳;或通过主用结点与备用结点之间的通信链路L2传送所述心跳。
15.一种实现虚拟网际协议的系统,其特征在于,该系统包括一个以上的客户端;交换机或集线器;配置一个对外呈现的虚拟IP地址的主用结点和备用结点,其中,主用结点用于向客户端提供服务,备用结点用于在主用结点故障时接替主用结点向客户端提供服务。
16.根据权利要求15所述的系统,其特征在于,所述主用结点与备用结点之间进一步包括用于传送软件心跳和控制命令的通信链路L1。
17.根据权利要求16所述的系统,其特征在于,所述通信链路L1为串口,或为网口。
18.根据权利要求15所述的系统,其特征在于,所述主用结点与备用结点之间进一步包括用于传送硬件心跳和控制命令的通信链路L2。
19.根据权利要求18所述的系统,其特征在于,所述通信链路L2为硬件双机信号线。
全文摘要
本发明公开了一种实现虚拟网际协议的方法及系统,根据本发明提出的方案,在每个结点上配置对外呈现的虚拟IP地址,主用结点向其所在局域网络中的所有结点广播免费ARP请求,该免费ARP请求中携带有虚拟IP地址和本结点的MAC地址,以通知各结点虚拟IP地址与物理地址之间的对应关系,从而使得主用结点能够对发往虚拟IP地址的ARP请求进行响应,对发往虚拟IP地址的数据进行处理,本发明中省去了NAT设备,降低了整个数字通信网络的建设和维护成本。本发明中设计了有效的切换过程,降低了故障切换时间。本发明提出的主备结构灵活,可根据具体需要进行调整,具有良好的扩展性。
文档编号H04B1/74GK1855916SQ200510066100
公开日2006年11月1日 申请日期2005年4月20日 优先权日2005年4月20日
发明者刘燕青, 赵保卫 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1