CN111934939B - 一种网络节点故障检测方法、装置及系统 - Google Patents
一种网络节点故障检测方法、装置及系统 Download PDFInfo
- Publication number
- CN111934939B CN111934939B CN202010979356.XA CN202010979356A CN111934939B CN 111934939 B CN111934939 B CN 111934939B CN 202010979356 A CN202010979356 A CN 202010979356A CN 111934939 B CN111934939 B CN 111934939B
- Authority
- CN
- China
- Prior art keywords
- network node
- switch
- control message
- session connection
- session
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Abstract
本申请公开了一种网络节点故障检测方法、装置及系统,其中,应用于网络节点的方法包括:在所述网络节点与交换机之间的会话连接建立完成的情况下,所述网络节点利用所述会话连接向所述交换机发送第一控制报文,所述第一控制报文至少用于所述交换机监测所述网络节点是否出现故障;所述网络节点监测在预设的第一时长内是否接收到所述交换机通过所述会话连接发送的第二控制报文;所述网络节点在所述第一时长内没有接收到所述交换机通过所述会话连接发送的第二控制报文的情况下,所述网络节点向所述交换机输出第一检测结果,所述第一检测结果表征所述网络节点出现故障。
Description
技术领域
本申请涉及计算机网络技术领域,尤其涉及一种网络节点故障检测方法、装置及系统。
背景技术
通常DPDK(Intel Data Plane Development Kit)服务是作为集群统一整体向外提供服务。其中,DPDK集群由一组运行DPDK服务的网络结点组成。具体的,三层交换机与DPDK集群基于等价多路径路由ECMP(Equal-Cost Multipath Routing)和开放式最短路径优先OSPF(Open Shortest Path First)方式进行部署,基于此,在三层交换机上通过ECMP进行负载均衡,并将流量均衡导入到DPDK集群中的网络节点,并且,在三层交换机上通过OSPF协议可以动态感知DPDK集群中出现故障的网络节点,当网络节点上出现服务故障时,从路由表中摘掉该节点并将流量导到其他节点上,从而保证流量不被中断。
但是根据OSPF的Hello协议检测机制,三层交换机上通过OSPF会周期性地发送和接收报文,来发现和检测邻居是否存在。如果连续四个Hello时间周期内,没有收到邻居的Hello报文,则宣布和邻居直连的链路失效。Hello缺省时间为10秒,默认需要4 * 10秒(即40秒)时间才能检测出来。如果还有另外加上更新和传递时间,以及防止网络震荡设置的算法延迟时间,那么检测故障的耗时会更长。
因此,亟需一种能够快速检测网络节点故障的技术方案。
发明内容
有鉴于此,本申请提供一种网络节点故障检测方法、装置及系统,包括:
一种网络节点故障检测方法,其特征在于,应用于网络节点,所述方法包括:
在所述网络节点与交换机之间的会话连接建立完成的情况下,所述网络节点利用所述会话连接向所述交换机发送第一控制报文,所述第一控制报文至少用于所述交换机监测所述网络节点是否出现故障;
所述网络节点监测在预设的第一时长内是否接收到所述交换机通过所述会话连接发送的第二控制报文;
所述网络节点在所述第一时长内没有接收到所述交换机通过所述会话连接发送的第二控制报文的情况下,所述网络节点向OSPF进程输出第一检测结果,所述第一检测结果表征所述网络节点出现故障。
上述方法,优选的,在所述网络节点利用所述会话连接向所述交换机发送第一控制报文之前,所述方法还包括:
所述网络节点建立与所述交换机之间的所述会话连接;
其中,所述网络节点建立与所述交换机之间的所述会话连接,包括:
所述网络节点向所述交换机发送第三控制报文,所述第三控制报文至少包含所述网络节点处于默认会话状态的信息;
所述网络节点在接收到所述交换机发送的第四控制报文的情况下,所述网络节点向所述交换机发送第五控制报文,所述第四控制报文至少包含所述交换机处于所述默认会话状态的信息,所述第五控制报文至少包含所述网络节点处于初始化会话状态的信息;
所述网络节点在接收到所述交换机发送的第六控制报文的情况下,所述网络节点向所述交换机发送第七控制报文,以建立所述网络节点与所述交换机之间的会话连接,所述第七控制报文至少包含所述网络节点处于正常会话状态的信息;所述第六控制报文中至少包含所述交换机处于所述初始化会话状态的信息。
上述方法,优选的,所述网络节点在预设时长内没有接收到所述交换机通过所述会话连接发送的第二控制报文的情况下,所述方法还包括:
所述网络节点重新建立与所述交换机之间的所述会话连接。
一种网络节点故障检测方法,应用于交换机,所述方法包括:
在所述交换机与网络节点之间的会话连接建立完成的情况下,所述交换机利用所述会话连接向所述网络节点发送第二控制报文,所述第二控制报文至少用于所述网络节点监测是否出现故障;
所述交换机监测在预设的第二时长内是否接收到所述网络节点通过所述会话连接发送的第一控制报文;
所述交换机在所述第二时长内没有接收到所述网络节点通过所述会话连接发送的第一控制报文的情况下,所述交换机生成第二检测结果,所述第二检测结果表征所述网络节点出现故障。
上述方法,优选的,在生成第二检测结果之后,所述方法还包括:
所述交换机删除与出现故障的网络节点相对应的路由信息。
上述方法,优选的,在所述交换机利用所述会话连接向所述网络节点发送第二控制报文之前,所述方法还包括:
所述交换机建立与所述网络节点之间的所述会话连接;
其中,所述交换机建立与所述网络节点之间的所述会话连接,包括:
所述交换机在接收到所述网络节点发送的第三控制报文的情况下,所述交换机向所述网络节点发送第四控制报文,所述第三控制报文至少包含所述网络节点处于默认会话状态的信息,所述第四控制报文至少包含所述交换机处于所述默认会话状态的信息;
所述交换机在接收到所述网络节点发送的第五控制报文的情况下,所述交换机向所述网络节点发送第六控制报文,所述第五控制报文至少包含所述网络节点处于初始化会话状态的信息,所述第六控制报文至少包含所述交换机处于所述初始化会话状态的信息;
所述交换机在接收到所述网络节点发送的第七控制报文的情况下,所述交换机设置处于正常会话状态,以建立所述交换机与所述网络节点之间的会话连接;所述第七控制报文至少包含所述网络节点处于所述正常会话状态的信息。
上述方法,优选的,所述交换机在所述第二时长内没有接收到所述网络节点通过所述会话连接发送的第一控制报文的情况下,所述方法还包括:
所述交换机重新建立与所述网络节点之间的所述会话连接。
一种网络节点故障检测装置,应用于网络节点,所述装置包括:
第一发送单元,用于在所述网络节点与交换机之间的会话连接建立完成的情况下,利用所述会话连接向所述交换机发送第一控制报文,所述第一控制报文至少用于所述交换机监测所述网络节点是否出现故障;
第一监测单元,用于监测在预设的第一时长内是否接收到所述交换机通过所述会话连接发送的第二控制报文;
结果输出单元,用于在所述第一监测单元在所述第一时长内没有接收到所述交换机通过所述会话连接发送的第二控制报文的情况下,向OSPF进程输出第一检测结果,所述第一检测结果表征所述网络节点出现故障。
一种网络节点故障检测装置,应用于交换机,所述装置包括:
第二发送单元,用于在所述交换机与网络节点之间的会话连接建立完成的情况下,利用所述会话连接向所述网络节点发送第二控制报文,所述第二控制报文至少用于所述网络节点监测是否出现故障;
第二监测单元,用于监测在预设的第二时长内是否接收到所述网络节点通过所述会话连接发送的第一控制报文;
结果生成单元,用于在所述第二监测单元在所述第二时长内没有接收到所述网络节点通过所述会话连接发送的第一控制报文的情况下,生成第二检测结果,所述第二检测结果表征所述网络节点出现故障。
一种网络节点故障检测系统,包括:
交换机和至少一个网络节点,在所述网络节点与交换机之间的会话连接建立完成的情况下,所述网络节点用于利用所述会话连接向所述交换机发送第一控制报文,所述交换机用于利用所述会话连接向所述网络节点发送第二控制报文,所述第一控制报文至少用于所述交换机监测所述网络节点是否出现故障,所述第二控制报文至少用于所述网络节点监测是否出现故障;
其中,所述网络节点还用于:监测在预设的第一时长内是否接收到所述交换机通过所述会话连接发送的第二控制报文;在所述第一时长内没有接收到所述交换机通过所述会话连接发送的第二控制报文的情况下,向OSPF进程输出第一检测结果,所述第一检测结果表征所述网络节点出现故障;
所述交换机还用于:监测在预设的第二时长内是否接收到所述网络节点通过所述会话连接发送的第一控制报文;在所述第二时长内没有接收到所述网络节点通过所述会话连接发送的第一控制报文的情况下,生成第二检测结果,所述第二检测结果表征所述网络节点出现故障。
从上述技术方案可以看出,本申请公开的一种网络节点故障检测方法、装置及系统中,在网络节点和交换机之间的会话连接建立之后,通过在网络节点和交换机两侧分别向对方发送控制报文,进而在任一方监测到在预设的时长内没有接收到对方发送的控制报文时就可以确定网络节点出现故障。由此,本申请中通过网络节点和交换机之间的会话连接互相发送控制报文来节省报文的反复传输耗时,从而在发现控制报文接收超时的情况下能够及时检测到网络节点的故障,从而实现快速的网络节点故障检测。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为DPDK集群与三层交换机的示意图;
图2为本申请实施例一提供的一种网络节点故障检测方法中网络节点和交换机之间的交互示意图;
图3为本申请实施例二提供的一种适用于网络节点的网络节点故障检测装置的结构示意图;
图4为本申请实施例三提供的一种适用于交换机的网络节点故障检测装置的结构示意图;
图5为本申请实施例四提供的一种网络节点故障检测系统的架构图。
具体实施方式
在计算机网络中,DPDK服务专注于网络应用中数据包的高性能处理。具体体现在DPDK应用程序是运行在用户空间上利用自身提供的数据平面库来收发数据。与传统的数据包处理方式相比,DPDK服务具有多种优势。因此,DPDK服务通常用来被实现Linux虚拟服务器LVS(LinuxVirtualServer)、源网络地址转换SNAT(Source Network AddressTranslation)等服务,部署通常与三层交换机L3_Switch互联。三层交换机和DPDK集群采用OSPF和ECMP协议进行部署。如图1中所示,通过ECMP实现三层交换机到多个DPDK节点间的负载均衡,如DPDK1和DPDK2,通过OSPF协议感知DPDK节点的服务状态,当服务故障时,从路由表中摘掉该结点并将流量导到其他节点,从而保证流量不被中断。
本申请的发明人经过研究发现:目前基于DPDK服务的就是通过原始的OSPF协议来进行检测网络问题的。但是根据OSPF Hello协议检测机制,OSPF会周期性地发送和接收报文,来发现和检测邻居是否存在。如果连续四个Hello时间周期内,没有收到邻居的Hello报文,则宣布和邻居直连的链路失效。Hello缺省时间为10秒,默认需要4 * 10秒(即40秒)时间才能检测出来。如果还有另外加上LSA UPDATE传递时间,加上防止网络震荡设置的SPF算法延迟时间,收敛时间会更大。即便将Hello时间周期设置为最小的1秒,通过计算,收敛时间也接近10秒,这个时间无法满足对可靠性要求高的网络环境。
鉴于以上缺陷,本申请的发明人经过进一步研究,提出一种能够加速网络节点故障检测的技术方案,当DPDK服务节点出现故障之后,能加速故障检测,进而加速故障联动,使三层交换机上的OSPF协议尽快感知,尽快改变路由条目,将流量切换到其余服务正常节点,将服务出问题的时间降到最低。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图2所示,为本申请实施例一提供的一种网络节点故障检测方法中网络节点和交换机之间的交互示意图,该方法适用于具有网络节点和交换机的计算机网络中,如链接有三层交换机的DPDK集群,DPDK集群中包含有一个或多个实现DPDK服务的节点,可以简称为DPDK节点。本申请中的技术方案主要用于快速检测网络节点的故障,从而改善DPDK服务质量。
具体的,本实施例中的方法可以包括以下流程:
步骤201:网络节点利用会话连接向交换机发送第一控制报文。
其中,第一控制报文至少用于交换机监测网络节点是否出现故障。
需要说明的是,步骤201是在网络节点与交换机之间的会话连接建立完成的情况下被执行。
具体的,在会话连接建立完成的情况下,网络节点生成第一控制报文并利用会话连接向交换机发送第一控制报文。例如,网络节点可以按照预设的报文发送间隔利用会话连接向交换机发送第一控制报文。
其中,第一控制报文中可以包含有网络节点当前所处的会话连接状态,如默认会话状态、初始化会话状态或正常会话状态等,其中,默认会话状态是指会话连接的默认初始状态,可以记为DOWN状态,初始化会话状态是指会话连接在默认初始状态进行初始化后的状态,可以记为INIT状态,而正常会话状态是指会话连接的能够进行报文传输的状态,可以记为UP状态。另外,第一控制报文中还可以包含有用于检测报文是否超时的时长配置信息,如第二时长的配置信息。
步骤202:交换机利用会话连接向网络节点发送第二控制报文。
其中,第二控制报文至少用于网络节点监测是否出现故障。
需要说明的是,步骤202是在网络节点与交换机之间的会话连接建立完成的情况下被执行。
具体的,在会话连接建立完成的情况下,交换机生成第二控制报文并利用会话连接向网络节点发送第二控制报文。例如,交换机可以按照预设的报文发送间隔利用会话连接向网络节点发送第二控制报文。
其中,第二控制报文中可以包含有交换机当前所处的会话连接状态,如默认会话状态、初始化会话状态或正常会话状态等,第二控制报文中还可以包含有用于检测报文是否超时的时长配置信息,如第一时长的配置信息。
需要说明的是,步骤201和步骤202的执行顺序不受序号的大小限制,也可以先执行步骤202,再执行步骤201,或者同时执行,也就是说,网络节点发送第一控制报文和交换机发送第二控制报文,两者之间互不影响。
步骤203:网络节点监测在第一时长内是否接收到交换机通过会话连接发送的第二控制报文。
其中,第一时长可以为预先设置的数值。具体的,网络节点在上一次接收到交换机发送的第二控制报文之后就开始计时,例如可以重置检测时间定时器,由此,在定时器所记录的时长到达第一时长而网络节点仍然没有接收到交换机发送的新的第二控制报文的情况下,即在第一时长内网络节点没有接收到交换机通过会话连接发送的第二控制报文,那么就可以执行后续步骤204,而如果定时器所记录的时长到达第一时长之前网络节点就接收到交换机发送的第二控制报文,那么就可以重新开始计时,以继续监测接收交换机发送的第二控制报文是否超时。
需要说明的是,网络节点在监测到第一时长内没有接收到交换机通过会话连接发送的第二控制报文的情况下,可以设置网络节点处于默认会话状态,在默认会话状态下,网络节点与交换机之间的会话连接处于非正常状态,以表征网络节点无法与交换机之间进行报文传输,因此,在步骤203中在监测到第一时长内没有接收到交换机通过会话连接发送的第二控制报文时,可以执行步骤205。
步骤204:网络节点向OSPF进程输出第一检测结果。
其中,第一检测结果表征网络节点出现故障。
步骤205:网络节点重新建立与交换机之间的所述会话连接。
步骤206:OSPF进程在接收到网络节点输出的第一检测结果之后,删除与出现故障的网络节点相对应的路由信息。
步骤207:交换机监测在预设的第二时长内是否接收到网络节点通过会话连接发送的第一控制报文;
其中,第二时长可以为预先设置的数值,第二时长可以与第一时长相同,也可以不同。具体的,交换机在上一次接收到网络节点发送的第一控制报文之后就开始计时,例如可以重置检测时间定时器,由此,在定时器所记录的时长到达第二时长而交换机仍然没有接收到网络节点发送的新的第一控制报文的情况下,即在第二时长内交换机没有接收到网络节点通过会话连接发送的第一控制报文,那么就可以执行后续步骤208,而如果定时器所记录的时长到达第二时长之前交换机就接收到网络节点发送的第一控制报文,那么就可以重新开始计时,以继续监测接收网络节点发送的第一控制报文是否超时。
需要说明的是,交换机在监测到第二时长内没有接收到网络节点通过会话连接发送的第一控制报文的情况下,可以设置交换机处于默认会话状态,在默认会话状态下,网络节点与交换机之间的会话连接处于非正常状态,以表征交换机无法与网络节点之间进行报文传输,因此,在步骤207中在监测到第二时长内没有接收到网络节点通过会话连接发送的第一控制报文时,可以执行步骤209。
步骤208:交换机生成第二检测结果,执行步骤210。
其中,第二检测结果表征网络节点出现故障。
步骤209:交换机重新建立与网络节点之间的会话连接。
步骤210:交换机删除与出现故障的网络节点相对应的路由信息。
由上述方案可知,本申请实施例一提供的一种网络节点故障检测方法中,在网络节点和交换机之间的会话连接建立之后,通过在网络节点和交换机两侧分别向对方发送控制报文,进而在任一方监测到在预设的时长内没有接收到对方发送的控制报文时就可以确定网络节点出现故障。由此,本实施例中通过网络节点和交换机之间的会话连接互相发送控制报文来节省报文的反复传输耗时,从而在发现控制报文接收超时的情况下能够及时检测到网络节点的故障,从而实现快速的网络节点故障检测。
具体实现中,在步骤201之前,网络节点需要先建立与交换机之前的会话连接,同样的,在步骤202之前,交换机需要建立与网络节点之间的会话连接,具体如图2中所示:
步骤211:网络节点向交换机发送第三控制报文。
其中,网络节点在初始状态下设置处于默认会话状态,此时,网络节点生成第三控制报文,这里的第三控制报文中可以包含网络节点处于默认会话状态的信息,还可以包含有其他信息。
具体的,网络节点可以利用交换机的IP地址向交换机发送第三控制报文。例如,网络节点通过监听本地OSPF进程的Neighbour IP地址信息,获取到交换机的IP地址,进而发送第三控制报文。
步骤212:交换机在接收到网络节点发送的第三控制报文的情况下,交换机向网络节点发送第四控制报文。
其中,交换机在接收到网络节点发送的包含网络节点处于默认会话状态的信息的第三控制报文之后,交换机设置处于会话连接的默认会话状态,基于此,交换机生成第四控制报文,这里的第四控制报文中可以包含交换机处于默认会话状态的信息,还可以包含其他信息。
步骤213:网络节点在接收到交换机发送的第四控制报文的情况下,网络节点向交换机发送第五控制报文。
其中,网络节点在接收到交换机发送的包含交换机处于默认会话状态的信息的第四控制报文之后,网络节点设置处于会话连接的初始化状态,基于此,网络节点生成第五控制报文,这里的第五控制报文中可以包含网络节点处于初始化会话状态的信息,还可以包含有其他信息。
步骤214:交换机在接收到网络节点发送的第五控制报文的情况下,交换机向网络节点发送第六控制报文。
其中,交换机在接收到网络节点发送的包含网络节点处于初始化会话状态的信息的第五控制报文之后,交换机设置处于会话连接的初始化会话状态,基于此,交换机生成第六控制报文,这里的第六控制报文中可以包含交换机处于初始化会话状态的信息,还可以包含其他信息。
步骤215:网络节点在接收到交换机发送的第六控制报文的情况下,网络节点向交换机发送第七控制报文。
其中,网络节点在接收到交换机发送的包含交换机处于初始化会话状态的信息的第六控制报文之后,网络节点设置处于会话连接的正常会话状态,基于此,网络节点生成第七控制报文,这里的第七控制报文中可以包含网络节点处于正常会话状态的信息,还可以包含其他信息。
步骤216:交换机在接收到网络节点发送的第七控制报文的情况下,交换机设置处于正常会话状态。
由此,网络节点和交换机之间建立完成两者之间的会话连接。
参考图3,为本申请实施例二提供的一种网络节点故障检测装置的结构示意图,该装置可以配置在图2所示交互图中的网络节点中,用以实现图2中网络节点所执行的功能,如链接有三层交换机的DPDK集群中的节点。本申请中的技术方案主要用于快速检测网络节点的故障,从而改善DPDK服务质量。
具体的,本实施例所述装置包括以下功能单元:
第一发送单元301,用于在所述网络节点与交换机之间的会话连接建立完成的情况下,利用所述会话连接向所述交换机发送第一控制报文,所述第一控制报文至少用于所述交换机监测所述网络节点是否出现故障;
第一监测单元302,用于监测在预设的第一时长内是否接收到所述交换机通过所述会话连接发送的第二控制报文;
结果输出单元303,用于在所述第一监测单元302在所述第一时长内没有接收到所述交换机通过所述会话连接发送的第二控制报文的情况下,向OSPF进程输出第一检测结果,所述第一检测结果表征所述网络节点出现故障。
由上述方案可知,本申请实施例二提供的一种网络节点故障检测装置中,在网络节点和交换机之间的会话连接建立之后,通过在网络节点和交换机两侧分别向对方发送控制报文,进而在任一方监测到在预设的时长内没有接收到对方发送的控制报文时就可以确定网络节点出现故障。由此,本实施例中通过网络节点和交换机之间的会话连接互相发送控制报文来节省报文的反复传输耗时,从而在发现控制报文接收超时的情况下能够及时检测到网络节点的故障,从而实现快速的网络节点故障检测。
需要说明的是,本实施例中的网络节点故障检测装置可以是芯片,组件或模块,网络节点故障检测装置包括处理器和存储器,第一发送单元301、第一监测单元302和结果输出单元303等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中可以包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或多个,通过调整内核参数来实现以下方案:
在所述网络节点与交换机之间的会话连接建立完成的情况下,所述网络节点利用所述会话连接向所述交换机发送第一控制报文,所述第一控制报文至少用于所述交换机监测所述网络节点是否出现故障;
所述网络节点监测在预设的第一时长内是否接收到所述交换机通过所述会话连接发送的第二控制报文;
所述网络节点在所述第一时长内没有接收到所述交换机通过所述会话连接发送的第二控制报文的情况下,所述网络节点向OSPF进程输出第一检测结果,所述第一检测结果表征所述网络节点出现故障。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
参考图4,为本申请实施例三提供的一种网络节点故障检测装置的结构示意图,该装置可以配置在图2所示交互图中的交换机中,用以实现图2中交换机所执行的功能,如三层交换机。本申请中的技术方案主要用于快速检测网络节点的故障,从而改善DPDK服务质量。
具体的,本实施例中的装置可以包括以下功能单元:
第二发送单元401,用于在所述交换机与网络节点之间的会话连接建立完成的情况下,利用所述会话连接向所述网络节点发送第二控制报文,所述第二控制报文至少用于所述网络节点监测是否出现故障;
第二监测单元402,用于监测在预设的第二时长内是否接收到所述网络节点通过所述会话连接发送的第一控制报文;
结果生成单元403,用于在所述第二监测单元402在所述第二时长内没有接收到所述网络节点通过所述会话连接发送的第一控制报文的情况下,生成第二检测结果,所述第二检测结果表征所述网络节点出现故障。
由上述方案可知,本申请实施例三提供的一种网络节点故障检测装置中,在网络节点和交换机之间的会话连接建立之后,通过在网络节点和交换机两侧分别向对方发送控制报文,进而在任一方监测到在预设的时长内没有接收到对方发送的控制报文时就可以确定网络节点出现故障。由此,本实施例中通过网络节点和交换机之间的会话连接互相发送控制报文来节省报文的反复传输耗时,从而在发现控制报文接收超时的情况下能够及时检测到网络节点的故障,从而实现快速的网络节点故障检测。
需要说明的是,本实施例中的网络节点故障检测装置可以是芯片,组件或模块,网络节点故障检测装置包括处理器和存储器,第二发送单元401、第二监测单元402和结果生成单元403等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中可以包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或多个,通过调整内核参数来实现以下方案:
在所述交换机与网络节点之间的会话连接建立完成的情况下,所述交换机利用所述会话连接向所述网络节点发送第二控制报文,所述第二控制报文至少用于所述网络节点监测是否出现故障;
所述交换机监测在预设的第二时长内是否接收到所述网络节点通过所述会话连接发送的第一控制报文;
所述交换机在所述第二时长内没有接收到所述网络节点通过所述会话连接发送的第一控制报文的情况下,所述交换机生成第二检测结果,所述第二检测结果表征所述网络节点出现故障。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
参考图5,为本申请实施例四提供的一种网络节点故障检测系统的架构图,该系统中可以包括以下终端:
交换机501和至少一个网络节点502。
其中,交换机501可以为三层交换机,网络节点502是指DPDK集群中的节点。
具体的,在交换机501中配置能够实现网络节点故障检测的检测程序,并在网络节点502中配置能够实现网络节点故障检测的检测程序,基于此,交换机501与各个网络节点502之间通过各自的检测程序建立交换机501与各个网络节点502之间的会话连接,如下:
网络节点向交换机发送第三控制报文,这里的第三控制报文中可以包含网络节点处于默认会话状态的信息,还可以包含有其他信息;
交换机在接收到网络节点发送的第三控制报文的情况下,交换机设置处于会话连接的默认会话状态,交换机向网络节点发送第四控制报文,这里的第四控制报文中可以包含交换机处于默认会话状态的信息,还可以包含其他信息。
网络节点在接收到交换机发送的第四控制报文的情况下,网络节点设置处于会话连接的初始化状态,网络节点向交换机发送第五控制报文,这里的第五控制报文中可以包含网络节点处于初始化会话状态的信息,还可以包含有其他信息;
交换机在接收到网络节点发送的第五控制报文的情况下,交换机设置处于会话连接的初始化会话状态,交换机向网络节点发送第六控制报文,这里的第六控制报文中可以包含交换机处于初始化会话状态的信息,还可以包含其他信息;
网络节点在接收到交换机发送的第六控制报文的情况下,网络节点设置处于会话连接的正常会话状态,网络节点向交换机发送第七控制报文,这里的第七控制报文中可以包含网络节点处于正常会话状态的信息,还可以包含其他信息;
交换机在接收到网络节点发送的第七控制报文的情况下,交换机设置处于正常会话状态。由此,网络节点和交换机之间建立完成两者之间的会话连接。
而在网络节点502与交换机501之间的会话连接建立完成的情况下,网络节点502用于利用会话连接向交换机501发送第一控制报文,交换机501用于利用会话连接向网络节点502发送第二控制报文,第一控制报文至少用于交换机501监测网络节点502是否出现故障,第二控制报文至少用于网络节点502监测是否出现故障;
具体的,网络节点502还用于:监测在预设的第一时长内是否接收到交换机501通过会话连接发送的第二控制报文;在第一时长内没有接收到交换机501通过会话连接发送的第二控制报文的情况下,向OSPF进程输出第一检测结果,第一检测结果表征网络节点502出现故障;
交换机501还用于:监测在预设的第二时长内是否接收到网络节点502通过会话连接发送的第一控制报文;在第二时长内没有接收到网络节点502通过会话连接发送的第一控制报文的情况下,生成第二检测结果,第二检测结果表征网络节点502出现故障。
从上述技术方案可以看出,本申请实施例四提供的一种网络节点故障检测系统中,在网络节点和交换机之间的会话连接建立之后,通过在网络节点和交换机两侧分别向对方发送控制报文,进而在任一方监测到在预设的时长内没有接收到对方发送的控制报文时就可以确定网络节点出现故障。由此,本实施例中通过网络节点和交换机之间的会话连接互相发送控制报文来节省报文的反复传输耗时,从而在发现控制报文接收超时的情况下能够及时检测到网络节点的故障,从而实现快速的网络节点故障检测。
以下以DPDK节点的故障检测为例,对本申请的技术方案进行说明:
首先,本申请中在DPDK节点上实现单独运行的双向检测程序,并与三层交换机上的双向检测程序进行通信,来快速检测链路状态,当链路出现故障的时候,能及时通告三层交换机上的OSPF进程,从而实现路由快速变更,网络迅速达到收敛的目标。
需要说明的是,DPDK节点连接的对端是三层交换机,通常都是包含BFD协议,基于此,本申请在DPDK节点启动检测程序之前,将对端三层交换机BFD协议预先配置好,然后将检测程序在DPDK结点上作为单独进程运行。
以下将DPDK节点简称为本端,将三层交换机简称为对端,将DPDK节点上运行的检测程序简称为程序,对本申请的技术方案进行举例说明:
首先,程序所在节点或交换机具有三种状态,如下:
DOWN状态,即程序的初始默认状态;
INIT状态,即程序收到对端携带状态DOWN的报文后,程序进入INIT状态,即初始化状态;
UP状态,即程序收到对端携带状态INIT的报文后,程序进入UP状态,即为正常工作,常规发送检测报文的状态。
其中,控制报文为本端检测程序与对端BFD程序之间的交互报文,携带程序状态字段、报文发送间隔信息等。
详细的工作流程如下:
1、程序启动,监听本地OSPF进程的Neighbour IP地址信息,即三层交换机的IP地址,作为检测程序通信的目的地址;
2、程序本地会话进入默认的DOWN状态,发送控制报文,携带自身的状态。
3、程序收到对端发送的状态为DOWN的控制报文后,程序本地会话状态进入INIT状态,并且将发出本地状态为INIT的控制报文。对端程序经过相应的流程。
4、程序收到对端状态为INIT的控制报文后,本地会话状态进入UP状态。对端程序经过相应的流程。
5、双方进入UP状态,两端会话建立成功,同时通过上层OSPF进程对端状态为UP,并开始通过发送检测报文来检测链路状态。
6、双方在控制报文中填入通过配置的报文发送间隔、本端程序状态,并按配置指定的发包间隔(报文发送间隔)发送控制报文,同时每当收到对端发出的控制报文,就会重置检测时间定时器,保持会话为UP状态。
7、如果双方检测时间超时仍未收到对端的控制报文,会话进入DOWN状态,并且通告OSPF进程链路检测失败。
8、OSPF进程会立即联动相应删除对应的路由,实现故障的快速收敛。
9、协议状态恢复到步骤2。
可见,本申请中,当DPDK服务节点出现故障之后,能够实现一种链路检测机制,并且快速通过OSPF协议进行联动,将服务受影响的时间降到最低。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种网络节点故障检测方法,其特征在于,应用于网络节点,所述方法包括:
在所述网络节点与交换机之间的会话连接建立完成的情况下,所述网络节点利用所述会话连接向所述交换机发送第一控制报文,所述第一控制报文至少用于所述交换机监测所述网络节点是否出现故障,所述第一控制报文中至少包含网络节点当前所处的会话连接状态;
所述网络节点在上一次接收到交换机发送的第二控制报文之后开始计时,监测在预设的第一时长内是否接收到所述交换机通过所述会话连接发送的第二控制报文;
所述网络节点在所计时长到达第一时长而网络节点仍然没有接收到交换机发送的新的第二控制报文的情况下,所述网络节点向OSPF进程输出第一检测结果,所述第一检测结果表征所述网络节点出现故障。
2.根据权利要求1所述的方法,其特征在于,在所述网络节点利用所述会话连接向所述交换机发送第一控制报文之前,所述方法还包括:
所述网络节点建立与所述交换机之间的所述会话连接;
其中,所述网络节点建立与所述交换机之间的所述会话连接,包括:
所述网络节点向所述交换机发送第三控制报文,所述第三控制报文至少包含所述网络节点处于默认会话状态的信息;
所述网络节点在接收到所述交换机发送的第四控制报文的情况下,所述网络节点向所述交换机发送第五控制报文,所述第四控制报文至少包含所述交换机处于所述默认会话状态的信息,所述第五控制报文至少包含所述网络节点处于初始化会话状态的信息;
所述网络节点在接收到所述交换机发送的第六控制报文的情况下,所述网络节点向所述交换机发送第七控制报文,以建立所述网络节点与所述交换机之间的会话连接,所述第七控制报文至少包含所述网络节点处于正常会话状态的信息;所述第六控制报文中至少包含所述交换机处于所述初始化会话状态的信息。
3.根据权利要求2所述的方法,其特征在于,所述网络节点在预设时长内没有接收到所述交换机通过所述会话连接发送的第二控制报文的情况下,所述方法还包括:
所述网络节点重新建立与所述交换机之间的所述会话连接。
4.一种网络节点故障检测方法,其特征在于,应用于交换机,所述方法包括:
在所述交换机与网络节点之间的会话连接建立完成的情况下,所述交换机利用所述会话连接向所述网络节点发送第二控制报文,所述第二控制报文至少用于所述网络节点监测是否出现故障,所述第二控制报文中至少包含网络节点当前所处的会话连接状态;
所述交换机在上一次接收到网络节点发送的第一控制报文之后开始计时,监测在预设的第二时长内是否接收到所述网络节点通过所述会话连接发送的第一控制报文;
所述交换机在所计时长到达第二时长而交换机仍然没有接收到网络节点发送的新的第一控制报文的情况下,所述交换机生成第二检测结果,所述第二检测结果表征所述网络节点出现故障。
5.根据权利要求4所述的方法,其特征在于,在生成第二检测结果之后,所述方法还包括:
所述交换机删除与出现故障的网络节点相对应的路由信息。
6.根据权利要求4所述的方法,其特征在于,在所述交换机利用所述会话连接向所述网络节点发送第二控制报文之前,所述方法还包括:
所述交换机建立与所述网络节点之间的所述会话连接;
其中,所述交换机建立与所述网络节点之间的所述会话连接,包括:
所述交换机在接收到所述网络节点发送的第三控制报文的情况下,所述交换机向所述网络节点发送第四控制报文,所述第三控制报文至少包含所述网络节点处于默认会话状态的信息,所述第四控制报文至少包含所述交换机处于所述默认会话状态的信息;
所述交换机在接收到所述网络节点发送的第五控制报文的情况下,所述交换机向所述网络节点发送第六控制报文,所述第五控制报文至少包含所述网络节点处于初始化会话状态的信息,所述第六控制报文至少包含所述交换机处于所述初始化会话状态的信息;
所述交换机在接收到所述网络节点发送的第七控制报文的情况下,所述交换机设置处于正常会话状态,以建立所述交换机与所述网络节点之间的会话连接;所述第七控制报文至少包含所述网络节点处于所述正常会话状态的信息。
7.根据权利要求6所述的方法,其特征在于,所述交换机在所述第二时长内没有接收到所述网络节点通过所述会话连接发送的第一控制报文的情况下,所述方法还包括:
所述交换机重新建立与所述网络节点之间的所述会话连接。
8.一种网络节点故障检测装置,其特征在于,应用于网络节点,所述装置包括:
第一发送单元,用于在所述网络节点与交换机之间的会话连接建立完成的情况下,利用所述会话连接向所述交换机发送第一控制报文,所述第一控制报文至少用于所述交换机监测所述网络节点是否出现故障,所述第一控制报文中至少包含网络节点当前所处的会话连接状态;
第一监测单元,用于在上一次接收到交换机发送的第二控制报文之后开始计时,监测在预设的第一时长内是否接收到所述交换机通过所述会话连接发送的第二控制报文;
结果输出单元,用于在所述第一监测单元在所计时长到达第一时长而网络节点仍然没有接收到交换机发送的新的第二控制报文的情况下,向OSPF进程输出第一检测结果,所述第一检测结果表征所述网络节点出现故障。
9.一种网络节点故障检测装置,其特征在于,应用于交换机,所述装置包括:
第二发送单元,用于在所述交换机与网络节点之间的会话连接建立完成的情况下,利用所述会话连接向所述网络节点发送第二控制报文,所述第二控制报文至少用于所述网络节点监测是否出现故障,所述第二控制报文中至少包含网络节点当前所处的会话连接状态;
第二监测单元,用于在上一次接收到网络节点发送的第一控制报文之后开始计时,监测在预设的第二时长内是否接收到所述网络节点通过所述会话连接发送的第一控制报文;
结果生成单元,用于在所计时长到达第二时长而交换机仍然没有接收到网络节点发送的新的第一控制报文的情况下,生成第二检测结果,所述第二检测结果表征所述网络节点出现故障。
10.一种网络节点故障检测系统,其特征在于,包括:
交换机和至少一个网络节点,在所述网络节点与交换机之间的会话连接建立完成的情况下,所述网络节点用于利用所述会话连接向所述交换机发送第一控制报文,所述第一控制报文中至少包含网络节点当前所处的会话连接状态, 所述交换机用于利用所述会话连接向所述网络节点发送第二控制报文,所述第二控制报文中至少包含网络节点当前所处的会话连接状态,所述第一控制报文至少用于所述交换机监测所述网络节点是否出现故障,所述第二控制报文至少用于所述网络节点监测是否出现故障;
其中,所述网络节点还用于:在上一次接收到交换机发送的第二控制报文之后开始计时,监测在预设的第一时长内是否接收到所述交换机通过所述会话连接发送的第二控制报文;在所计时长到达第一时长而网络节点仍然没有接收到交换机发送的新的第二控制报文的情况下,向OSPF进程输出第一检测结果,所述第一检测结果表征所述网络节点出现故障;
所述交换机还用于:在上一次接收到网络节点发送的第一控制报文之后开始计时,监测在预设的第二时长内是否接收到所述网络节点通过所述会话连接发送的第一控制报文;在所计时长到达第二时长而交换机仍然没有接收到网络节点发送的新的第一控制报文的情况下,生成第二检测结果,所述第二检测结果表征所述网络节点出现故障。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010979356.XA CN111934939B (zh) | 2020-09-17 | 2020-09-17 | 一种网络节点故障检测方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010979356.XA CN111934939B (zh) | 2020-09-17 | 2020-09-17 | 一种网络节点故障检测方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111934939A CN111934939A (zh) | 2020-11-13 |
CN111934939B true CN111934939B (zh) | 2021-02-02 |
Family
ID=73335296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010979356.XA Active CN111934939B (zh) | 2020-09-17 | 2020-09-17 | 一种网络节点故障检测方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111934939B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769698B (zh) * | 2021-01-06 | 2022-12-02 | 网宿科技股份有限公司 | 一种路由实现方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7561527B1 (en) * | 2003-05-02 | 2009-07-14 | David Katz | Bidirectional forwarding detection |
US7961601B2 (en) * | 2007-08-16 | 2011-06-14 | Ericsson Ab | Lesser disruptive open shortest path first handling of bidirectional forwarding detection state changes |
CN101459547B (zh) * | 2007-12-13 | 2012-09-05 | 华为技术有限公司 | 标签转发路径故障的检测方法及系统 |
CN101808022B (zh) * | 2010-04-22 | 2014-08-13 | 中兴通讯股份有限公司 | 双向转发检测的实现方法及装置 |
CN105591768B (zh) * | 2014-10-21 | 2019-11-29 | 中兴通讯股份有限公司 | 故障检测方法及装置 |
CN106487696B (zh) * | 2015-08-28 | 2019-07-23 | 中兴通讯股份有限公司 | 链路故障检测方法及装置 |
CN113114528A (zh) * | 2017-09-22 | 2021-07-13 | 华为技术有限公司 | 一种通信连接检测方法及装置 |
-
2020
- 2020-09-17 CN CN202010979356.XA patent/CN111934939B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111934939A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8570857B2 (en) | Resilient IP ring protocol and architecture | |
US7561527B1 (en) | Bidirectional forwarding detection | |
CN102480753B (zh) | 链路状态检测方法和装置 | |
CN110113259B (zh) | 路径状态通知方法、路径切换方法、转发设备及系统 | |
EP2642691A1 (en) | Method and device for link fault detecting and recovering based on arp interaction | |
CN1889579B (zh) | 提高路由信息协议路由收敛速度的方法及装置 | |
CN106878072B (zh) | 一种报文传输方法和装置 | |
US9584405B2 (en) | Application layer session routing | |
CN111447101B (zh) | 链路检测方法、装置、计算机设备及存储介质 | |
JP7430224B2 (ja) | パケット処理方法およびゲートウェイ・デバイス | |
CN111934939B (zh) | 一种网络节点故障检测方法、装置及系统 | |
EP1964330B1 (en) | Method for reducing fault detection time in a telecommunication network | |
Cisco | Access and Communication Servers Release Notes for Cisco IOS Release 10.2 | |
Cisco | Access and Communication Servers Release Notes for Cisco IOS Release 10.2 | |
Cisco | Access and Communication Servers Release Notes for Cisco IOS Release 10.2 | |
Cisco | Access and Communication Servers Release Notes for Cisco IOS Release 10.2 | |
Cisco | Access and Communication Servers Release Notes for Cisco IOS Release 10.2 | |
Cisco | Access and Communication Servers Release Notes for Cisco IOS Release 10.2 | |
Cisco | Access and Communication Servers Release Notes for Cisco IOS Release 10.2 | |
Cisco | Access and Communication Servers Release Notes for Cisco IOS Release 10.2 | |
Cisco | Access and Communication Servers Release Notes for Cisco IOS Release 10.2 | |
Cisco | Access and Communication Servers Release Notes for Cisco IOS Release 10.2 | |
Cisco | Access and Communication Servers Release Notes for Cisco IOS Release 10.2 | |
Cisco | Router Products Release Notes for Cisco IOS Release 10.3 | |
Cisco | Access and Communication Servers Release Notes |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |