CN107872368B - 一种网络节点集群中网关可达性的检测方法、装置及终端 - Google Patents

一种网络节点集群中网关可达性的检测方法、装置及终端 Download PDF

Info

Publication number
CN107872368B
CN107872368B CN201711172921.6A CN201711172921A CN107872368B CN 107872368 B CN107872368 B CN 107872368B CN 201711172921 A CN201711172921 A CN 201711172921A CN 107872368 B CN107872368 B CN 107872368B
Authority
CN
China
Prior art keywords
network node
arp
target field
field value
gateway
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
Application number
CN201711172921.6A
Other languages
English (en)
Other versions
CN107872368A (zh
Inventor
于成波
陈光辉
徐聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711172921.6A priority Critical patent/CN107872368B/zh
Publication of CN107872368A publication Critical patent/CN107872368A/zh
Application granted granted Critical
Publication of CN107872368B publication Critical patent/CN107872368B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity

Abstract

本申请公开了一种网络节点集群中网关可达性的检测方法、装置及终端,应用于网络节点集群中的网络节点,所述方法包括:接收所述网络节点集群的网关发送的ARP报文;基于所述ARP报文,获得所述网络节点的ARP检测流表中的目标字段值;基于所述目标字段值,确定所述网络节点对所述网关的可达性状态;将所述ARP报文或者所述目标字段值传输给所述网络节点集群中的其他节点,以使得所述其他节点基于所述ARP报文或者所述目标字段值确定其对所述网关的可达性状态。

Description

一种网络节点集群中网关可达性的检测方法、装置及终端
技术领域
本申请涉及计算机网络技术领域,特别涉及一种网络节点集群中网关可达性的检测方法、装置及终端。
背景技术
在公有云场景中,IPSec(IP Secruity)硬件网关与作为虚拟专用网络(VirtualPrivate Network,VPN)出口的网络节点集群通过虚拟网络与IPSec网关连通,为保证IPSec网关的高可靠性,虚拟网络节点集群需要实时检测IPSec网关的可达性,在一个IPSec网关不可达时,将VPN流量实时切换到另一个IPSec网关,如图1中所示,VPN的网络节点集群实时探测主备IPSec网关的可达性,主IPSec网关正常可达时,虚拟网络节点选择IPSec网关作为VPN流量出口;主IPSec网关不可达时,流量切换到备用的IPEec网关。
现有的IPSec网关可达性检测方案中,有基于“请求-应答”的主动可达性检测方案和基于定时地址解析协议(Address Resolution Protocol,ARP)监听的被动可达性检测方案。如图2中所示,在主动可达性检测方案中,网络节点集群中的每个节点都需要有唯一IP(Internet Protocol)地址,由于需要满足租户粒度的可达性检测,该IP与IPSec网关应链路层可达;每个节点都定时发送检测报文并侦听是否有应答,如带箭头的粗实线所示,若超过应答次数阈值后没有收到应答,则判定不可达;如图3中所示,在被动可达性检测方案中,IPSec网关定时发送免费ARP,网络节点集群中的每个节点有唯一的IP且与IPSec网关链路层可达;每个节点定时检测收到免费ARP的间隔是否超过阈值,若超过间隔阈值仍未受到免费ARP报文,则判定IPSec网关不可达。
由上述方案中可知,传统的可达性检测方案均需要节点有唯一IP地址,是有状态的,但是对于链路汇聚控制协议(Link Aggregation Control Protocol,LACP)网络中聚合后的节点是无状态的,对外呈现为唯一IP和媒体介质访问控制(Media Access Control,MAC)地址,因此,传统的可达性检测方案无法在基于LACP的网络中实现租户粒度上即节点粒度上对IPSec网关的可达性进行有效检测。
发明内容
有鉴于此,本申请的目的是提供一种网络节点集群中网关可达性的检测方法、装置及终端,用以解决现有技术中传统的可达性检测方案无法在基于LACP的网络中实现租户粒度上对网关的可达性检测的技术问题。
本申请的第一方面提供了一种网络节点集群中网关可达性的监测方法,其中包含以下步骤:接收网络节点集群的网关发送的ARP报文,再基于ARP报文获得网络节点的ARP检测流表中的目标字段值后,基于目标字段值确定网络节点对网关的可达性状态,与此同时,网络节点将ARP报文或者目标字段值传输给网络节点集群中的其他节点,以使得其他节点基于ARP报文或者目标字段值确定其对网关的可达性状态。可见,本申请中通过对网络节点的ARP检测流表与网关发送的ARP报文进行匹配,得到表征网络节点对网关的可达性状态的目标字段值之后,可以在确定网络节点对网关的可达性状态的同时,将ARP报文或目标字段值传输给网络节点集群中的其他节点,使得其他节点也能够根据ARP报文或目标字段值来进行可达性状态的检测,这一过程中,无需网络节点集群中的节点各自有唯一的IP,也不需要有状态,从而本申请中的技术方案在基于LACP负载均衡的网络节点集群中也能够实现租户粒度上的可达性状态检测,实现本申请目的。
本申请的第二方面提供了一种网络节点集群中网关可达性的检测装置,该装置包括以下结构:接收网关发送的ARP报文的报文接收单元、基于所述ARP报文,获得所述网络节点的ARP检测流表中的目标字段值的字段获得单元、基于所述目标字段值,确定所述网络节点对所述网关的可达性状态的单点检测单元以及将所述ARP报文或者所述目标字段值传输给所述网络节点集群中的其他节点,以使得所述其他节点基于所述ARP报文或者所述目标字段值确定其对所述网关的可达性状态的状态同步单元。可见,本申请中通过字段获得单元对网络节点的ARP检测流表与网关发送的ARP报文进行匹配,得到表征网络节点对网关的可达性状态的目标字段值之后,可以在单点检测单元确定网络节点对网关的可达性状态的同时,通过状态同步单元将ARP报文或目标字段值传输给网络节点集群中的其他节点,使得其他节点也能够根据ARP报文或目标字段值来进行可达性状态的检测,这一方案中,无需网络节点集群中的节点各自有唯一的IP,也不需要有状态,从而本申请中的技术方案在基于LACP负载均衡的网络节点集群中也能够实现租户粒度上的可达性状态检测,实现本申请目的。
本申请的第三方面提供了一种终端,该终端作为网络节点集群中的网络节点,包含以下结构:存储应用程序及应用程序运行所产生的数据的存储器以及处理器,该处理器用于执行存储器中的应用程序,以实现以下步骤:接收所述网络节点集群的网关发送的ARP报文,基于所述ARP报文,获得所述网络节点的ARP检测流表中的目标字段值,再基于所述目标字段值,确定所述网络节点的可达性状态,将所述ARP报文或者所述目标字段值传输给所述网络节点集群中的其他节点,以使得所述其他节点基于所述ARP报文或者所述目标字段值确定其对所述网关的可达性状态。可见,本申请中通过对网络节点的ARP检测流表与网关发送的ARP报文进行匹配,得到表征网络节点对网关的可达性状态的目标字段值之后,可以在确定网络节点对网关的可达性状态的同时,将ARP报文或目标字段值传输给网络节点集群中的其他节点,使得其他节点也能够根据ARP报文或目标字段值来进行可达性状态的检测,这一过程中,无需网络节点集群中的节点各自有唯一的IP,也不需要有状态,从而本申请中的技术方案在基于LACP负载均衡的网络节点集群中也能够实现租户粒度上的可达性状态检测,实现本申请目的。
在一个实现方式中,将所述目标字段值传输给所述网络节点集群中的其他节点,包括:将所述目标字段值写入所述网络节点集群中的共享内存,以使得所述其他节点读取所述共享内存中的目标字段值,并基于所述目标字段值确定所述其他节点对所述网关的可达性状态。可见,本申请中通过将目标字段值写入网络节点集群中的共享内存的方式来实现目标字段值的传输,从而实现对网络节点集群中其他网络节点对网关的可达性状态的检测,实现本申请目的。
在一种实现方式中,将所述ARP报文传输给所述网络节点集群中的其他节点,包括:将所述ARP报文通过预设的网络平面广播给所述网络节点集群中的其他节点,以使得所述网络节点集群中的其他节点基于所述ARP报文确定所述其他节点对所述网关的可达性状态。可见,本申请中通过将ARP报文利用网络平面转发给网络节点集群中的其他节点的方式来实现ARP报文的传输,从而实现对网络节点集群中其他网络节点对网关的可达性状态的检测,实现本申请目的。
在一种实现方式中,基于所述目标字段值,确定所述网络节点对所述网关的可达性状态,包括:判断所述目标字段值中是否存在至少一个值小于预设的超时阈值,如果是,确定所述网络节点对所述网关的可达性状态为可达,否则,确定所述网络节点对所述网关的可达性状态为不可达。可见,本申请中通过判定目标字段值中的大小来实现对网络节点对网关的可达性状态的检测,进一步的才能实现其他节点的状态同步,实现本申请目的。
在一个实现方式中,基于所述ARP报文,获得所述网络节点的ARP检测刘表中的目标字段值,包括:将所述网络节点的ARP检测流表与所述ARP报文进行流表匹配,得到所述ARP检测流表中的目标字段值。可见,本申请中利用流表匹配的能力来得到目标字段值,进而才能基于目标字段值实现网络节点对网关的可达性状态检测,进一步的才能实现其他节点的状态同步,实现本申请目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为VPN的网络节点集群探测主备网关可达性状态的示意图;
图2为主动可达性检测方案示意图;
图3为被动可达性检测方案示意图;
图4为网络节点集群基于LACP进行负载均衡的示意图;
图5为LACP链路聚合示意图;
图6为本申请实施例提供的一种网络节点集群中网关可达性的检测方法的流程图;
图7及图8分别为本申请实施例的应用示例图;
图9为本申请实施例提供的一种网络节点集群中网关可达性的检测方法的另一流程图;
图10及图11分别为本申请实施例的其他示例图;
图12为本申请实施例提供的一种网络节点集群中网关可达性的检测装置的结构示意图;
图13为本申请实施例提供的一种终端的结构示意图。
具体实施方式
图4所示为虚拟网络节点集群通过基于交换机switch的LACP进行负载均衡的示意图。在虚拟网络节点集群中,每个网络节点C1-C4都是一台物理服务器,网络节点通过交换机接入具有主IPSec网关和备IPSec网关的网络。在网络节点集群中,为了将流量均衡的分配到每个网络节点,选择基于交换机的LACP即链路聚合方式进行负载均衡。如图5中所示,通过LACP链路聚合,交换机可以将流量通过交换机和node上各自的LACP bond均衡地分配到node1和node2中,相比与三层的负载均衡,如等价路由(Equal-CostMultipathRouting,ECMP),该种链路层上的负载均衡在IP规划、交换机配置、主机节点配置上都更简单:对交换机,只需要将主机的接口加入一个trunk;而对主机,只需要将多个网卡做Linux bond。在链路聚合后,虚拟网络的网络节点集群对外体现为一个IP和MAC地址,可以通过添加主机很方便的进行横向扩展,提升网络节点集群的包转发能力。
而传统的可达性检测方案,如图2及图3中所示的主动和被动可达性检测方案,均需要节点有唯一的IP,是需要有状态的,而在基于交换机的LACP进行流量均衡的网络节点集群中的节点是无状态的,所有节点对外呈现唯一的IP和MAC地址,这样传统的可达性检测方案无法适用于LACP网络节点集群中与IPSec网关的可达性检测。
本申请为了解决以上问题,提出一种基于ARP的LACP网络节点集群与IPSec网关可达性的检测方案,在本方案中基于流表匹配的流量转发能力实时检测IPSec网关定期发送的免费ARP报文,在读取匹配流表中的字段值如idle_age字段就可以确定上次收到目标侦听报文的时间,完成单节点可达性检测,之后,再通过共享存储或ARP报文转发等方式进行网络节点集群内的状态同步,实现每个节点与IPSec网关的可达性检测。
以下对本申请中的检测方案进行说明:
参考图6,为本申请实施例提供的一种网络节点集群中网关可达性的检测方法的实现流程图,该网络节点集群中可以包含多个网络节点,每个网络节点均可以为一台物理服务器,网络节点集群中通过LACP实现链路聚合进行流量负载均衡。本实施例可以应用在网络节点集群中的某个网络节点上,以用于对网络节点集群中各网络节点对网关如IPSec网关可达性的检测,具体包含以下步骤:
步骤601:接收IPSec网关发送的ARP报文。
其中,所述ARP报文是指由IPSec网关定时发送的免费ARP报文,该ARP报文在经过网络节点集群的LACP负载均衡后被本实施例中的网络节点接收。
步骤602:基于所述ARP报文,获得网络节点对IPSec网关的定时任务查询流表即ARP检测流表中的目标字段值。
其中,IPSec网关发送的ARP报文中至少包含接收到该网关所连接的网络节点集群的VLAN信息、网络节点集群的MAC地址及IP地址,本实施例中在获得所述ARP报文之后,可以利用OpenVswitch将该网络节点的网桥上的APR检测流表与所述ARP报文进行流表匹配,从而匹配出流表中的多个目标字段值,如多个idle_age值,这些目标字段值能够表征网络节点集群中各节点到IPSec网关的可达性状态。
如图7中所示,在网络节点集群中,每个网络节点上均创建有网桥结构,br-gw及br-bond网桥为网络节点的网卡流量接入网桥,对应于每个网络节点的网卡会有一个Linuxveth pair绑定为一个Linux bond,网络节点集群交换机上的配置对应为trunk。其中,br-gw网桥上会生成APR检测流表,本实施例中,在接收到IPSec网关发送的ARP报文的网络节点上,将APR检测流表与IPSec网关发送的ARP报文进行匹配,可以得到表征节点到IPSec网关可达性状态的字段值。
其中,交换机上的配置如下:
Figure BDA0001477602710000051
步骤603:基于所述目标字段值,确定当前的网络节点对IPSec网关的可达性。
在一种实现方式中,目标字段值如idle_age值可以表示网络节点集群中节点上次收到IPSec网关的侦听报文的时间值,本实施例中,在获得目标字段值之后,判断这些目标字段值中是否存在一个值小于预设的超时阈值,如果这些目标字段值中有一个值是小于超时阈值的,那么则判定该网络节点收到了ARP报文并确定该网络节点对IPSec网关的可达性状态为可达,否则,如果目标字段值中所有的值均不小于超时阈值,那么确定该网络节点对IPSec网关的可达性状态为不可达。
步骤604:将所述目标字段值写入所述网络节点集群的共享内存中,以使得所述网络节点集群中的其他节点基于所述共享内存中的目标字段值判定对IPSec网关的可达性状态。
其中,在网络节点集群中,其他节点通过读取共享内存中的目标字段值,判断这些目标字段值中是否存在一个值小于预设的超时阈值,如果这些目标字段值中有一个值是小于超时阈值的,那么判定该节点收到了ARP报文并确定该节点对IPSec网关的可达性状态为可达,否则,如果目标字段值中所有的值均不小于超时阈值,那么确定该节点对IPSec网关的可达性状态为不可达。
在本实施例中实现其他节点对IPSec网关的可达性状态同步时,接收到IPSec网关发送的ARP报文的网络节点复用网络节点集群中已经建立好的管理网络,用读写共享内存的方式实现其他节点对IPSec网关可达性状态的同步,例如:接收到IPSec网关发送的ARP报文的网络节点在通过判断目标字段值完成其对IPSec网关可达性状态的检测判定之后,将表征其他节点对IPSec网关可达性状态的目标字段值写入共享内存的数据库中,其他节点读取这些目标字段值完成对IPSec网关可达性状态的同步,而其他节点通过判断目标字段值实现其对IPSec网关可达性状态的检测判定的技术方案可以与接收到IPSec网关的ARP报文的网络节点基于目标字段值进行网关可达性检测的技术方案相同,如判断目标字段值中是否存在至少一个值小于超时阈值,只要有一个值小于超时阈值,那么确定其他节点对IPSec网关的可达性状态为可达,否则,为不可达。
以上状态同步方案中不需要在网络节点网络中配置新的物理网络,不会为无状态的节点引入状态,执行起来简单可靠。
以下结合图7中节点网桥结构,对以上网络节点集群中节点对IPSec网关可达性检测的实现方案进行举例说明:
如图8中所示,网络节点集群中包含C1-C4四个节点,主IPSec网关定时免费发送ARP报文,在ARP报文通过交换机后经过LACP负载均衡被节点C1收到,C1在接收到ARP报文后,基于OpenVswitch,将Br-gw网桥上的ARP检测流表对ARP报文进行流表匹配,得到流表中的各个idle_age字段,其中,Br-gw网桥上的ARP检测流表内容如下所示:
cookie=0x0,duration=22.656s,table=0,n_packets=5,n_bytes=350,idle_age=1,priority=101,arp,dl_vlan=3503,dl_src=f0:2f:a7:7e:3d:15,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=169.254.195.1,arp_tpa=169.254.195.1,arp_op=2actions=drop。
而节点C1所接收到的ARP报文中包含VLAN、IP和MAC地址等信息,如下(即IPSec网关对象状态模型):
id varchar(36) //IPSec网关对象ID
mac_address varchar(48) //IPSec网关对象MAC地址
ip_address varchar(32) //IPSec网关对象IP地址
相应的,节点C1用Br-gw网桥上的ARP检测流表中arp_spa,arp_tpa,dl_vlan,dl_src匹配其受到的ARP报文,得到idle_age字段,并将这些字段写入共享内存后,其他节点可以通过读取共享内存中的idle_age字段,如下:
Figure BDA0001477602710000061
其中,这里的共享内存可以为Infinispan网格数据库实现。
之后,每个节点通过对idle_age字段的值大小进行判断当前节点是否对主IPSec网关可达,例如,以下代码为刷新逻辑及判断逻辑的执行代码:
Set idle_age_x=idle_age//刷新当前网络节点维护的idle_age
for idle_age in idle_age_list://只要有一个网络节点的idle_age小于超时阈值就可判定为可达
if idle_age<timeout:
return True
return False
最后,网络节点集群中的节点发现主IPSec网关不可达时,更换备IPSec网关进行流量传输。
也就是说,网络节点集群内部通过infinispan网格数据库进行状态同步,节点C1在检测ARP报文后将保证可达性状态的目标字段值写入共享内存,该目标字段值被集群内的其他节点C2、C3及C4同步,实现集群内节点对IPSec网关的可达性状态同步。
在另一种实现方式中,本实施例中也可以通过以下步骤605来实现所述网络节点集群中其他节点对IPSec网关可达性的检测,如图9中所示,在步骤601之后,所述方法还可以包括:
步骤605:将所述ARP报文通过预设的网络平面广播给所述网络节点集群中的其他节点,以使得所述网络节点集群中的其他节点基于接收到的ARP报文判定对IPSec网关的可达性。
其中,网络节点集群中的其他节点还可能会接收到IPSec网关直接发送来的ARP报文。因此,网络节点集群中的其他节点在接收到集群中广播来的ARP报文之后,基于广播来的ARP报文及节点接收到的IPSec网关发送的免费ARP报文,获得节点中网桥上与IPSec网关相关的定时任务查询流表即ARP检测流表中的目标字段值,这里的目标字段值是包含IPSec网关发送的免费ARP报文中匹配来的字段值,也包含广播来的ARP报文中匹配来的字段值,最后通过判断这些目标字段值中是否存在一个值小于预设的超时阈值,如果这些目标字段值中有一个值是小于超时阈值的,那么则判定该节点收到了ARP报文并确定该节点对IPSec网关的可达性状态为可达,否则,如果目标字段值中所有的值均不小于超时阈值,那么确定该节点对IPSec网关的可达性状态为不可达。
在本实施例中实现对IPSec网关可达性状态同步时,通过在网络节点集群中心配置一个隔离的状态同步网络,ARP报文在该网络平面上以有状态的方式进行换发,实现对IPSec网关可达性状态的同步。例如,在网络节点集群中,其中一个网络节点在接收到IPSec网关发送的ARP报文之后,网络节点自身可以基于该ARP报文实现自己对IPSec网关的可达性状态检测,并且,该网络节点在收到ARP报文之后,通过预先建立的网络平面即状态同步网络去转发该ARP报文,使得ARP报文能够通过该网络达到集群中的其他所有节点,每个其他节点以是否收到该报文的方式判定是否可达,如通过流表匹配得出报文中的目标字段值,再判断目标字段值中是否有一个值小于超时阈值,从而在目标字段值中有一个值小于超时阈值时,确定该节点收到了ARP报文并确定该节点对IPSec网关的可达性状态为可达。
在以上实现方案中,在无节点状态的网络节点集群中引入一个有状态网络去进行报文的转发,从而实现各节点对IPSec网关的可达性检测。
以下结合图7中节点的网桥结构,对以上网络节点集群中节点对IPSec网关可达性检测的实现方案进行举例说明:
如图10中所示,在网络节点集群中新增一个网络平面,即状态同步网络平面,该网络平面用于集群状态同步,不加入LACP集群,相应,如图11中所示,为新增网络平面后的节点网桥结构,网络节点集群中,每个网络节点的br-status网桥通过状态同步网络平面互联,转发该节点收到的ARP报文,而IPSec网关发出的ARP报文通过LACP聚合接口进入网络节点。
为了实现状态同步网络平面与IPSec业务平面的隔离,可以为状态同步网络平面配置不同的VLAN,而为了实现不同节点对IPSec网关检测报文在状态同步网络平面转发,可以将ARP报文的VLAN转为该平面的VLAN,由于根据ARP波阿文的目的地址可以识别不同的IPSec网关,因而ARP报文的源MAC可以用来存放ARP报文转换前的VLAN。其中,具体实现方案如下:
主IPSec网关定时免费发送ARP报文,在ARP报文通过交换机后经过LACP负载均衡被节点C1收到,C1在接收到ARP报文后,基于OpenVswitch,将Br-gw网桥上的ARP检测流表对ARP报文进行流表匹配,得到流表中的各个idle_age字段,并将ARP报文通过网络平面转发给网络节点集群中的其他节点,如C2、C3、C4,由此,这些节点基于转发来的ARP报文及从IPSec网关发送来的ARP报文与网桥上的检测流表进行匹配,得到各个idle_age字段。其中,br-gw网桥上的ARP检测流表如下:
⑴cookie=0x0,duration=22.656s,table=0,n_packets=5,n_bytes=350,idle_age=1,priority=101,in_port=br-bond,arp,dl_vlan=3503,dl_src=f0:2f:a7:7e:3d:15,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=169.254.195.1,arp_tpa=169.254.195.1,arp_op=2actions=resubmit(,br-status)#从br-bond口收到的报文未IPSec网关发送的ARP报文,匹配后转至br-status网桥
(2)cookie=0x0,duration=22.656s,table=0,n_packets=5,n_bytes=350,idle_age=1,priority=101,in_port=br-status,arp,dl_vlan=3503,dl_src=f0:2f:a7:7e:3d:15,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=169.254.195.1,arp_tpa=169.254.195.1,arp_op=2actions=drop#br-status收入的报文为其他网络节点转发的报文,匹配后drop掉,不再转发
而br-status网桥上的转换流表如下:
⑴cookie=0x0,duration=22.656s,table=0,n_packets=5,n_bytes=350,idle_age=1,priority=101,arp,dl_vlan=3503,in_port=br-gw,dl_src=f0:2f:a7:7e:3d:15,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=169.254.195.1,arp_tpa=169.254.195.1,arp_op=2actions=mod_dl_vlan:500,mod_dl_src:da:ff:a7:7e:3d:15,output:eth6#从br-gw收入的报文进行VLAN转换,转为状态同步平面的VLAN,同时将原VLAN存入源MAC地址的高12位,从状态同步网络平面转发
(2)cookie=0x0,duration=22.656s,table=0,n_packets=5,n_bytes=350,idle_age=1,priority=101,arp,dl_vlan=500,in_port=eth6,dl_src=da:ff:a7:7e:3d:15,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=169.254.195.1,arp_tpa=169.254.195.1,arp_op=2actions=mod_dl_vlan:3503,mod_dl_src:f0:2f:a7:7e:3d:15,output:br-gw#从状态同步平面收到的报文进行VLAN转换,感觉源MAC,将VLAN还原为原业务VLAN,转发到br-gw进行状态检测匹配
之后,每个节点通过对idle_age字段的值大小进行判断当前节点是否对主IPSec网关可达,例如,以下代码为判断逻辑的执行代码:
Sudo ovs-ofctl dump-flows br-gw table=0,
dl_src=f0:2f:a7:7e:3d:15,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=169.254.195.1,arp_tpa=169.254.195.1,arp_op=2,vlan=3503//查看匹配免费ARP报文的流表,获取idle_age
For flow in flow_list://只要有一个网络节点的idle_age小于超时阈值就可判定为可达
If flow.idle_age<timeout:
Return True
Return False
最后,网络节点集群中的节点发现主IPSec网关不可达时,更换备IPSec网关进行流量传输。
也就是说,网络节点集群中的节点通过新增一个网络平面,进行集群状态同步。
图12所示为网络节点集群中网络节点上所设置的装置的结构示意图,该装置为网络节点集群中网关可达性的检测装置,主要用于实现图6中所示的技术方案,以实现对网络节点集群中各网络节点对网关可达性状态的检测。其中,以上检测装置可以包括以下结构:
报文接收单元1201,用于接收网关发送的ARP报文。
字段获得单元1202,用于基于所述ARP报文,获得所述网络节点的ARP检测流表中的目标字段值。
其中,所述字段获得单元1202可以通过以下方式实现:
将所述网络节点的ARP检测流表与所述ARP报文进行流表匹配,得到所述ARP检测流表中的目标字段值。
单点检测单元1203,用于基于所述目标字段值,确定所述网络节点对所述网关的可达性状态。
其中,所述单点检测单元1203可以通过以下方式实现:
判断所述目标字段值中是否存在一个值小于预设的超时阈值,如果是,确定所述网络节点对所述网关的可达性状态为可达,否则,确定所述网络节点对所述网关的可达性状态为不可达。
状态同步单元1204,用于将所述ARP报文或者所述目标字段值传输给所述网络节点集群中的其他节点,以使得所述其他节点基于所述ARP报文或者所述目标字段值确定其对所述网关的可达性状态。
其中,所述状态同步单元1204可以通过以下方式实现:
将所述目标字段值写入所述网络节点集群中的共享内存,以使得所述其他节点读取所述共享内存中的目标字段值,并基于所述目标字段值确定所述其他节点对所述网关的可达性状态。
或者,所述状态同步单元1204也可以通过以下方式实现:
将所述ARP报文通过预设的网络平面广播给所述网络节点集群中的其他节点,以使得所述网络节点集群中的其他节点基于所述ARP报文确定所述其他节点对所述网关的可达性状态。
以上检测装置中的各个结构单元的具体实现方式可以参考前文中相应技术实现,此处不再详述。
可见,本实施例中通过对网络节点的ARP检测流表与网关发送的ARP报文进行匹配,得到表征网络节点对网关的可达性状态的目标字段值之后,可以在确定网络节点对网关的可达性状态的同时,将ARP报文或目标字段值传输给网络节点集群中的其他节点,使得其他节点也能够根据ARP报文或目标字段值来进行可达性状态的检测,这一过程中,无需网络节点集群中的节点各自有唯一的IP,也不需要有状态,从而在基于LACP负载均衡的网络节点集群中也能够实现租户粒度上的可达性状态检测。
图13所示为图1中网络节点的结构示意图,网络节点由终端实现,如各种物理服务器等,该终端在具体实现中可以包含以下结构:
存储器1301,用于存储应用程序及应用程序运行所产生的数据。
其中,存储器1301可以包括存储程序区和存储数据区,其中,存储程序区可以存储操作系统、应用程序等,存储数据区可以存储操作系统及应用程序运行所产生的数据。
处理器1302,用于接收所述网络节点集群的网关发送的ARP报文,基于所述ARP报文,获得所述网络节点的ARP检测流表中的目标字段值,再基于所述目标字段值,确定所述网络节点的可达性状态,将所述ARP报文或者所述目标字段值传输给所述网络节点集群中的其他节点,以使得所述其他节点基于所述ARP报文或者所述目标字段值确定其对所述网关的可达性状态。
本实施例中处理器1302的具体实现方式可以参考前文中相应内容,此处不再详述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

Claims (7)

1.一种网络节点集群中网关可达性的检测方法,其特征在于,应用于网络节点集群中的网络节点,所述方法包括:
接收所述网络节点集群的网关发送的ARP报文;
基于所述ARP报文,获得所述网络节点的ARP检测流表中的目标字段值;
基于所述目标字段值,确定所述网络节点对所述网关的可达性状态;
将所述ARP报文或者所述目标字段值传输给所述网络节点集群中的其他节点,以使得所述其他节点基于所述ARP报文或者所述目标字段值确定其对所述网关的可达性状态;
所述基于所述ARP报文,获得所述网络节点的ARP检测流表中的目标字段值,包括:
将所述网络节点的ARP检测流表与所述ARP报文进行流表匹配,得到所述ARP检测流表中的目标字段值;
所述基于所述目标字段值,确定所述网络节点对所述网关的可达性状态,包括:
判断所述目标字段值中是否存在至少一个值小于预设的超时阈值,如果是,确定所述网络节点对所述网关的可达性状态为可达,否则,确定所述网络节点对所述网关的可达性状态为不可达。
2.根据权利要求1所述的网络节点集群中网关可达性的检测方法,其特征在于,所述将所述目标字段值传输给所述网络节点集群中的其他节点,包括:
将所述目标字段值写入所述网络节点集群中的共享内存,以使得所述其他节点读取所述共享内存中的目标字段值,并基于所述目标字段值确定所述其他节点对所述网关的可达性状态。
3.根据权利要求1所述的网络节点集群中网关可达性的检测方法,其特征在于,所述将所述ARP报文传输给所述网络节点集群中的其他节点,包括:
将所述ARP报文通过预设的网络平面广播给所述网络节点集群中的其他节点,以使得所述网络节点集群中的其他节点基于所述ARP报文确定所述其他节点对所述网关的可达性状态。
4.一种网络节点集群中网关可达性的检测装置,其特征在于,应用于网络节点集群中的网络节点,所述装置包括:
报文接收单元,用于接收网关发送的ARP报文;
字段获得单元,用于基于所述ARP报文,获得所述网络节点的ARP检测流表中的目标字段值;
单点检测单元,用于基于所述目标字段值,确定所述网络节点对所述网关的可达性状态;
状态同步单元,用于将所述ARP报文或者所述目标字段值传输给所述网络节点集群中的其他节点,以使得所述其他节点基于所述ARP报文或者所述目标字段值确定其对所述网关的可达性状态;
所述字段获得单元具体用于:将所述网络节点的ARP检测流表与所述ARP报文进行流表匹配,得到所述ARP检测流表中的目标字段值;
所述单点检测单元具体用于:判断所述目标字段值中是否存在一个值小于预设的超时阈值,如果是,确定所述网络节点对所述网关的可达性状态为可达,否则,确定所述网络节点对所述网关的可达性状态为不可达。
5.根据权利要求4所述的网络节点集群中网关可达性的检测装置,其特征在于,所述状态同步单元具体用于:将所述目标字段值写入所述网络节点集群中的共享内存,以使得所述其他节点读取所述共享内存中的目标字段值,并基于所述目标字段值确定所述其他节点对所述网关的可达性状态。
6.根据权利要求4所述的网络节点集群中网关可达性的检测装置,其特征在于,所述状态同步单元具体用于:将所述ARP报文通过预设的网络平面广播给所述网络节点集群中的其他节点,以使得所述网络节点集群中的其他节点基于所述ARP报文确定所述其他节点对所述网关的可达性状态。
7.一种终端,其特征在于,所述终端为网络节点集群中的网络节点,所述终端包括:
存储器,用于存储应用程序及应用程序运行所产生的数据;
处理器,用于执行所述存储器中的应用程序,以实现以下步骤:接收所述网络节点集群的网关发送的ARP报文,基于所述ARP报文,获得所述网络节点的ARP检测流表中的目标字段值,再基于所述目标字段值,确定所述网络节点的可达性状态,将所述ARP报文或者所述目标字段值传输给所述网络节点集群中的其他节点,以使得所述其他节点基于所述ARP报文或者所述目标字段值确定其对所述网关的可达性状态;
所述基于所述ARP报文,获得所述网络节点的ARP检测流表中的目标字段值,包括:
将所述网络节点的ARP检测流表与所述ARP报文进行流表匹配,得到所述ARP检测流表中的目标字段值;
所述基于所述目标字段值,确定所述网络节点对所述网关的可达性状态,包括:
判断所述目标字段值中是否存在至少一个值小于预设的超时阈值,如果是,确定所述网络节点对所述网关的可达性状态为可达,否则,确定所述网络节点对所述网关的可达性状态为不可达。
CN201711172921.6A 2017-11-22 2017-11-22 一种网络节点集群中网关可达性的检测方法、装置及终端 Active CN107872368B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711172921.6A CN107872368B (zh) 2017-11-22 2017-11-22 一种网络节点集群中网关可达性的检测方法、装置及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711172921.6A CN107872368B (zh) 2017-11-22 2017-11-22 一种网络节点集群中网关可达性的检测方法、装置及终端

Publications (2)

Publication Number Publication Date
CN107872368A CN107872368A (zh) 2018-04-03
CN107872368B true CN107872368B (zh) 2020-06-16

Family

ID=61754487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711172921.6A Active CN107872368B (zh) 2017-11-22 2017-11-22 一种网络节点集群中网关可达性的检测方法、装置及终端

Country Status (1)

Country Link
CN (1) CN107872368B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144415B (zh) * 2018-08-01 2022-05-06 新华三云计算技术有限公司 节点检测方法及共享存储装置
CN111181746A (zh) * 2018-11-09 2020-05-19 中波动光工业通信(江苏)有限公司 一种工业网路多节点故障断网问题的备援解决方法
CN110995545B (zh) * 2019-12-19 2022-03-08 腾讯科技(深圳)有限公司 云网络配置测试方法及装置
CN112165447B (zh) * 2020-08-21 2023-12-19 杭州安恒信息技术股份有限公司 基于waf设备的网络安全监测方法、系统和电子装置
CN113141400B (zh) * 2021-04-14 2023-04-07 网宿科技股份有限公司 一种网络服务的访问方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882789A (zh) * 2012-09-17 2013-01-16 华为技术有限公司 一种数据报文处理方法、系统及设备
CN104219340A (zh) * 2014-09-25 2014-12-17 杭州华三通信技术有限公司 一种arp应答代理方法以及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432575B2 (en) * 2015-12-21 2019-10-01 Verizon Patent And Licensing Inc. Configuring a protocol address of a network device using an address resolution protocol request
US10230609B2 (en) * 2016-04-18 2019-03-12 Nyansa, Inc. System and method for using real-time packet data to detect and manage network issues

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882789A (zh) * 2012-09-17 2013-01-16 华为技术有限公司 一种数据报文处理方法、系统及设备
CN104219340A (zh) * 2014-09-25 2014-12-17 杭州华三通信技术有限公司 一种arp应答代理方法以及装置

Also Published As

Publication number Publication date
CN107872368A (zh) 2018-04-03

Similar Documents

Publication Publication Date Title
CN107872368B (zh) 一种网络节点集群中网关可达性的检测方法、装置及终端
JP6445621B2 (ja) 分散型ロードバランサ
US9590903B2 (en) Systems and methods for optimizing layer three routing in an information handling system
US8694664B2 (en) Active-active multi-homing support for overlay transport protocol
CN107454155B (zh) 一种基于负载均衡集群的故障处理方法、装置以及系统
US9553809B2 (en) Asymmetric packet flow in a distributed load balancer
WO2018077238A1 (zh) 一种基于交换机的负载均衡系统及方法
CN102726021B (zh) 灵活的数据中心网络体系结构
US9614759B2 (en) Systems and methods for providing anycast MAC addressing in an information handling system
US11917262B2 (en) Dynamic designated forwarder election per multicast stream for EVPN all-active homing
JP2018082497A (ja) 分散型ロード・バランサでの多重パス経路指定
CN107078963B (zh) 虚拟可扩展局域网中的路由追踪
US9819574B2 (en) Concerted multi-destination forwarding in a joint TRILL fabric and VXLAN/IP fabric data center
EP3251304A1 (en) Method and apparatus for connecting a gateway router to a set of scalable virtual ip network appliances in overlay networks
US10523464B2 (en) Multi-homed access
EP3175590A1 (en) Bridging clouds
EP2845372A1 (en) Two level packet distribution with stateless first level packet distribution to a group of servers and stateful second level packet distribution to a server within the group
WO2017071328A1 (zh) 一种负载分担方法以及相关装置
CN103401781A (zh) 应用于多链路透明互联网络的接入方法和设备
JP2015534150A (ja) ミドルウェアマシン環境で高可用性(ha)ネットワーク通信をサポートするためのシステムおよび方法
CN104618243A (zh) 路由方法、装置及系统、网关调度方法及装置
WO2022253087A1 (zh) 一种数据传输方法、节点、网络管理器及系统
CN107786386B (zh) 对用于验证多播连接的双向转发检测(bfd)消息的选择性传输
Alvarez-Horcajo et al. Improving multipath routing of TCP flows by network exploration
CN117596284B (zh) 数据传输的方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200416

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 301, A building, room 3, building 301, foreshore Road, No. 310052, Binjiang District, Zhejiang, Hangzhou

Applicant before: Huawei Technologies Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220215

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right