CN100493086C - 一种实现虚拟网际协议的方法 - Google Patents
一种实现虚拟网际协议的方法 Download PDFInfo
- Publication number
- CN100493086C CN100493086C CNB2005100661005A CN200510066100A CN100493086C CN 100493086 C CN100493086 C CN 100493086C CN B2005100661005 A CNB2005100661005 A CN B2005100661005A CN 200510066100 A CN200510066100 A CN 200510066100A CN 100493086 C CN100493086 C CN 100493086C
- Authority
- CN
- China
- Prior art keywords
- node
- heartbeat
- standby
- main
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现虚拟网际协议的方法,根据本发明提出的方案,在每个结点上配置对外呈现的虚拟IP地址,主用结点向其所在局域网络中的所有结点广播免费ARP请求,该免费ARP请求中携带有虚拟IP地址和本结点的MAC地址,以通知各结点虚拟IP地址与物理地址之间的对应关系,从而使得主用结点能够对发往虚拟IP地址的ARP请求进行响应,对发往虚拟IP地址的数据进行处理,本发明中省去了NAT设备,降低了整个数字通信网络的建设和维护成本。本发明中设计了有效的切换过程,降低了故障切换时间。本发明提出的主备结构灵活,可根据具体需要进行调整,具有良好的扩展性。
Description
技术领域
本发明涉及通信和计算机群技术,特别是指一种在数字通信网络中实现虚拟网际协议(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地址和本结点的MAC地址,并且主用结点启动心跳发送定时器,在每个心跳发送定时器的时间长度内向备用结点发送心跳;进入备用状态的结点启动心跳检测定时器,判断在心跳检测定时器内是否收到主用结点发送的心跳,如果是,则等待当前心跳检测定时器超时,重新启动心跳检测定时器作为当前心跳检测定时器;否则,
向主用结点发送心跳请求,并启动心跳请求定时器,判断在心跳请求定时器内是否收到主用结点发送的心跳,如果没有,则进入主用状态;如果是,
则进一步判断收到的心跳中是否携带有主用放弃标识,如果没有,等待当前心跳检测定时器超时,重新启动心跳检测定时器作为当前心跳检测定时器;如果是,则进入主用状态。
所述在每个心跳发送定时器的时间长度内向备用结点发送心跳为:判断在心跳发送定时器内是否已向备用结点发送了心跳,如果是,则直接判断是否收到备用结点发送的心跳请求;否则,向备用结点发送心跳,等待当前心跳发送定时器超时,重新启动心跳发送定时器作为当前心跳发送定时器,再判断是否收到备用结点发送的心跳请求。
所述在每个心跳发送定时器的时间长度内向备用结点发送心跳之前,进一步包括:主用结点判断是否收到备用结点发送的心跳请求,如果是,则向备用结点发送心跳;否则,判断在心跳发送定时器内是否已向备用结点发送了心跳。
设置主备结构中各结点的优先级,如果结点进入主用状态或备用状态之前为初始状态结点,则该方法进一步包括:判断结点的优先级是否最高,如果是,则结点进入主用状态;否则,结点进入备用状态。
所述心跳发送定时器的时间长度与所述心跳检测定时器的时间长度相等;或所述心跳发送定时器的长度为所述心跳检测定时器的时间长度与时间偏移量的差。
设置主备结构中各结点的优先级,根据结点的优先级设置所述时间偏移量。
设置主备结构中各结点的优先级,该方法进一步包括:主用结点判断是否收到备用结点发送的心跳,如果是,则继续判断本结点的优先级是否高于收到的心跳中携带的优先级,如果不高于,则结点由主用状态进入备用状态。
如果所述主备结构为1+n备份结构,则设置1+n备份结构中各结点的优先级,根据结点的优先级设置所述心跳请求定时器。
如果所述主备结构为1+n备份结构,则设置1+n备份结构中各结点的优先级,该方法进一步包括:备用结点判断抢占模式是否开启,如果是,则判断本结点的优先级是否高于收到的、来自其他结点的心跳中携带的优先级,如果高于,则结点由备用状态进入主用状态。
所述虚拟IP地址和本结点的MAC地址携带在免费ARP请求中。
通过主用结点与备用结点之间的业务通道传送所述心跳;或通过主用结点与备用结点之间的通信链路L1传送所述心跳;或通过主用结点与备用结点之间的通信链路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来传送。
以上所述结点可为网关设备、服务器或需要和其他结点进行通信的一般结点。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (11)
1、一种实现虚拟网际协议的方法,其特征在于,在主备结构的各结点上配置对外呈现的虚拟IP地址,该方法包含:
进入主用状态的结点向所在局域网络内结点发送虚拟IP地址和本结点的MAC地址,并且主用结点启动心跳发送定时器,在每个心跳发送定时器的时间长度内向备用结点发送心跳;
进入备用状态的结点启动心跳检测定时器,判断在心跳检测定时器内是否收到主用结点发送的心跳,如果是,则等待当前心跳检测定时器超时,重新启动心跳检测定时器作为当前心跳检测定时器;否则,
向主用结点发送心跳请求,并启动心跳请求定时器,判断在心跳请求定时器内是否收到主用结点发送的心跳,如果没有,则进入主用状态;如果是,
则进一步判断收到的心跳中是否携带有主用放弃标识,如果没有,等待当前心跳检测定时器超时,重新启动心跳检测定时器作为当前心跳检测定时器;如果是,则进入主用状态。
2、根据权利要求1所述的方法,其特征在于,所述在每个心跳发送定时器的时间长度内向备用结点发送心跳为:判断在心跳发送定时器内是否已向备用结点发送了心跳,如果是,则直接判断是否收到备用结点发送的心跳请求;否则,向备用结点发送心跳,等待当前心跳发送定时器超时,重新启动心跳发送定时器作为当前心跳发送定时器,再判断是否收到备用结点发送的心跳请求。
3、根据权利要求1所述的方法,其特征在于,所述在每个心跳发送定时器的时间长度内向备用结点发送心跳之前,进一步包括:主用结点判断是否收到备用结点发送的心跳请求,如果是,则向备用结点发送心跳;否则,判断在心跳发送定时器内是否已向备用结点发送了心跳。
4、根据权利要求1所述的方法,其特征在于,设置主备结构中各结点的优先级,如果结点进入主用状态或备用状态之前为初始状态结点,则该方法进一步包括:判断结点的优先级是否最高,如果是,则结点进入主用状态;否则,结点进入备用状态。
5、根据权利要求1或2所述的方法,其特征在于,所述心跳发送定时器的时间长度与所述心跳检测定时器的时间长度相等;或所述心跳发送定时器的长度为所述心跳检测定时器的时间长度与时间偏移量的差。
6、根据权利要求5所述的方法,其特征在于,设置主备结构中各结点的优先级,根据结点的优先级设置所述时间偏移量。
7、根据权利要求1或2所述的方法,其特征在于,设置主备结构中各结点的优先级,该方法进一步包括:主用结点判断是否收到备用结点发送的心跳,如果是,则继续判断本结点的优先级是否高于收到的心跳中携带的优先级,如果不高于,则结点由主用状态进入备用状态。
8、根据权利要求1所述的方法,其特征在于,如果所述主备结构为1+n备份结构,则设置1+n备份结构中各结点的优先级,根据结点的优先级设置所述心跳请求定时器。
9、根据权利要求1或2所述的方法,其特征在于,如果所述主备结构为1+n备份结构,则设置1+n备份结构中各结点的优先级,该方法进一步包括:备用结点判断抢占模式是否开启,如果是,则判断本结点的优先级是否高于收到的、来自其他结点的心跳中携带的优先级,如果高于,则结点由备用状态进入主用状态。
10、根据权利要求1所述的方法,其特征在于,所述虚拟IP地址和本结点的MAC地址携带在免费ARP请求中。
11、根据权利要求1或2所述的方法,其特征在于,通过主用结点与备用结点之间的业务通道传送所述心跳;或通过主用结点与备用结点之间的通信链路传送所述心跳。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100661005A CN100493086C (zh) | 2005-04-20 | 2005-04-20 | 一种实现虚拟网际协议的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100661005A CN100493086C (zh) | 2005-04-20 | 2005-04-20 | 一种实现虚拟网际协议的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1855916A CN1855916A (zh) | 2006-11-01 |
CN100493086C true CN100493086C (zh) | 2009-05-27 |
Family
ID=37195750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100661005A Active CN100493086C (zh) | 2005-04-20 | 2005-04-20 | 一种实现虚拟网际协议的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100493086C (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7840701B2 (en) * | 2007-02-21 | 2010-11-23 | Array Networks, Inc. | Dynamic system and method for virtual private network (VPN) packet level routing using dual-NAT method |
US8300647B2 (en) * | 2007-05-18 | 2012-10-30 | Nvidia Corporation | Intelligent load balancing and failover of network traffic |
CN101483673B (zh) * | 2009-02-20 | 2013-02-13 | 杭州华三通信技术有限公司 | 异地热备实现方法及系统 |
CN102111459B (zh) * | 2009-12-28 | 2013-11-06 | 中兴通讯股份有限公司 | Ip语音设备主备切换中的通话维护方法及装置 |
CN102571372A (zh) * | 2010-12-31 | 2012-07-11 | 北京大唐高鸿数据网络技术有限公司 | 一种ip广播系统的实现方法 |
CN102137017B (zh) * | 2011-03-17 | 2013-10-09 | 华为技术有限公司 | 用于虚拟网络单元的工作方法及装置 |
CN103532843B (zh) * | 2011-03-17 | 2016-12-07 | 华为技术有限公司 | 用于虚拟网络单元的工作方法及装置 |
CN103812957B (zh) * | 2012-11-14 | 2018-02-13 | 华为技术有限公司 | 地址解析协议arp记录管理方法和装置 |
CN103944745B (zh) * | 2013-01-22 | 2018-10-02 | 腾讯科技(深圳)有限公司 | 一种计算机容灾方法及系统 |
CN103560922A (zh) * | 2013-11-18 | 2014-02-05 | 北京特立信电子技术股份有限公司 | 一种容灾方法及系统 |
CN105141445A (zh) * | 2015-07-24 | 2015-12-09 | 广州尚融网络科技有限公司 | 一种实现高可用集群系统中多流量组多备份的方法及装置 |
CN106161670B (zh) * | 2016-06-02 | 2020-09-22 | 黄小勇 | 地址转换处理方法和地址转换处理装置 |
CN108259629B (zh) * | 2016-12-28 | 2021-07-23 | 阿里巴巴集团控股有限公司 | 虚拟互联网协议地址的切换方法及装置 |
CN108023953B (zh) * | 2017-12-04 | 2021-07-09 | 北京星选科技有限公司 | Ftp服务的高可用实现方法和装置 |
CN109995883B (zh) * | 2017-12-29 | 2023-06-30 | 资易国际股份有限公司 | 网络设备实虚地址对应失效的自动修复方法 |
CN111835608B (zh) * | 2020-05-21 | 2022-01-18 | 中国第一汽车股份有限公司 | 车辆控制系统及车辆 |
-
2005
- 2005-04-20 CN CNB2005100661005A patent/CN100493086C/zh active Active
Non-Patent Citations (4)
Title |
---|
VRRP协议与网络安全的高可靠性. 曾志峰.计算机安全,第1期. 2003 |
VRRP协议与网络安全的高可靠性. 曾志峰.计算机安全,第1期. 2003 * |
Web Server集群技术. 姚世勇,徐爱萍.武汉大学学报(信息科学版),第28卷第4期. 2003 |
Web Server集群技术. 姚世勇,徐爱萍.武汉大学学报(信息科学版),第28卷第4期. 2003 * |
Also Published As
Publication number | Publication date |
---|---|
CN1855916A (zh) | 2006-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100493086C (zh) | 一种实现虚拟网际协议的方法 | |
US10116518B2 (en) | Mechanism for management controllers to learn the control plane hierarchy in a data center environment | |
US7904535B2 (en) | Method of cluster management of network devices and apparatus thereof | |
EP2993838B1 (en) | Methods for setting a member identity of gateway device and corresponding management gateway devices | |
EP2853066B1 (en) | Layer-3 overlay gateways | |
CN108075971B (zh) | 一种主备切换方法及装置 | |
CN100407671C (zh) | 实现网络负载分担功能的网络通信方法 | |
CN111638957B (zh) | 一种集群共享式公有云负载均衡的实现方法 | |
CN107919994B (zh) | 实现网络服务双机热备的方法及服务器 | |
WO2014115157A1 (en) | Address resolution in software-defined networks | |
JP2009508420A (ja) | ネットワーク相互接続装置におけるmacアドレステーブルの最適化された同期 | |
US10201033B2 (en) | Method and system for managing network traffic | |
CN101316236A (zh) | Vrrp备份组负载分担方法及路由器 | |
KR20050114568A (ko) | 라우터 이중화 시스템에서 백업 라우터의 상태 천이 방법및 장치 | |
WO2011147312A1 (zh) | 一种业务接入路由器的端口备份方法、装置和系统 | |
US8887237B2 (en) | Multimode authentication | |
US20130094514A1 (en) | Method and switch for sending packet | |
CN100492984C (zh) | 一种通过地址解析协议报文实现数据转发备份的方法 | |
CN102447615A (zh) | 一种切换方法和路由器 | |
EP4164197A1 (en) | Virtual ip management method and apparatus, electronic device and storage medium | |
CN115567486A (zh) | 一种mlag环境下的租约同步方法、装置、设备及介质 | |
CN1319338C (zh) | 网络通信中解决ip地址冲突的方法 | |
JP6445408B2 (ja) | 通信システムおよび設定方法 | |
CN107911495B (zh) | 一种mac地址同步方法和vtep | |
CN109889390B (zh) | 转控分离场景下实现ha热备功能的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |