数据平面的故障检测方法、装置及网关设备与流程

文档序号:17984990发布日期:2019-06-22 00:20阅读:147来源:国知局
数据平面的故障检测方法、装置及网关设备与流程

本发明涉及网络通信技术领域,尤其涉及一种数据平面的故障检测方法、装置及网关设备。



背景技术:

现有网络普遍支持控制平面和数据平面分离。控制平面故障,比如,链路故障、节点故障,会触发控制平面路由收敛,从而保证正常通信。若控制平面正常而数据平面故障,比如,转发性能大幅下降,同样无法满足用户需求。因此,需要对数据平面的故障进行检测,以便及时采取措施,保证通信质量。

目前,针对数据平面的故障检测,主要通过发送探测报文来实现。比如,网关设备通过接口向目标设备发送互联网控制报文协议(英文:internetcontrolmessageprotocol,简称:icmp)请求报文,目标设备基于icmp请求报文回复icmp响应报文。网关设备根据接收icmp响应报文的时间,计算到目标设备的响应时间,从而确定该接口所归属网络的数据平面的性能。

从上述描述可以看出,现有数据平面故障检测,需要额外发送与业务无关的探测报文,占用网络资源。



技术实现要素:

有鉴于此,本发明为了解决现有数据平面故障检测占用网络资源的问题,提出一种数据平面的故障检测方法、装置及网关设备,用以节约网络资源。

为实现上述发明目的,本发明提供了如下技术方案:

第一方面,本发明提供一种数据平面的故障检测方法,应用于网关设备,所述方法包括:

统计预设时间段内第一会话表项的第一数量,所述第一会话表项为所述网关设备接收到第一主机发送的重置(英文:reset,简称:rst)报文时,与所述rst报文对应的老化会话表项,所述rst报文通过所述网关设备的第一接口转发至第二主机;

若所述第一数量达到预设的数量阈值,确定所述第一接口所归属网络的数据平面故障。

可选的,所述若所述第一数量达到预设的数量阈值,确定所述第一接口所归属网络的数据平面故障之前,所述方法还包括:

获取各第一会话表项包括的第一源ip地址;

在达到预设时间段时,统计所述第一源ip地址的第二数量;

获取所述第一接口上所有会话表项包括的第二源ip地址;

根据所述第一源ip地址和所述第二源ip地址,统计所述预设时间段内已建立会话表项的主机的第三数量;

根据所述第二数量和所述第三数量,确定发送rst报文的主机的占比;

所述若所述第一数量达到预设的数量阈值,确定所述第一接口所归属网络的数据平面故障,包括:

若所述第一数量达到预设的数量阈值,且所述占比达到预设的比例阈值,确定所述第一接口所归属网络的数据平面故障。

可选的,所述若所述第一数量达到预设的数量阈值,且所述占比达到预设的比例阈值,确定所述第一接口所归属网络的数据平面故障,包括:

获取所述第一接口的发包流量;

若所述第一数量达到预设的数量阈值,所述占比达到预设的比例阈值,且所述发包流量未达到预设的流量阈值,确定所述第一接口所归属网络的数据平面故障。

可选的,所述网关设备学习有第一路由表项和第二路由表项,所述第一路由表项和所述第二路由表项包括相同的目的网段,所述第一路由表项的出接口为第一接口,所述第二路由表项的出接口为第二接口,所述确定所述第一接口所归属网络的数据平面故障之后,所述方法还包括:

关闭所述第一接口;

删除所述第一路由表项;

基于所述第二路由表项,将所述第一接口承载的流量通过所述第二接口转发;

或者,

设置所述第一路由表项的优先级低于所述第二路由表项的优先级;

基于优先级高的第二路由表项,将所述第一接口承载的流量通过所述第二接口转发。

第二方面,本发明提供一种数据平面的故障检测装置,应用于网关设备,所述装置包括:

表项统计单元,用于统计预设时间段内第一会话表项的第一数量,所述第一会话表项为所述网关设备接收到第一主机发送的rst报文时,与所述rst报文对应的老化会话表项,所述rst报文通过所述网关设备的第一接口转发至第二主机;

故障确定单元,用于若所述第一数量达到预设的数量阈值,确定所述第一接口所归属网络的数据平面故障。

可选的,所述装置还包括:

地址获取单元,用于获取各第一会话表项包括的第一源ip地址;

主机统计单元,用于在达到预设时间段时,统计所述第一源ip地址的第二数量;

所述地址获取单元,还用于获取所述第一接口上所有会话表项包括的第二源ip地址;

所述主机统计单元,用于根据所述第一源ip地址和所述第二源ip地址,统计所述预设时间段内已建立会话表项的主机的第三数量;

占比确定单元,用于根据所述第二数量和所述第三数量,确定发送rst报文的主机的占比;

所述故障确定单元,具体用于若所述第一数量达到预设的数量阈值,且所述占比达到预设的比例阈值,确定所述第一接口所归属网络的数据平面故障。

可选的,所述故障确定单元,具体用于获取所述第一接口的发包流量;若所述第一数量达到预设的数量阈值,所述占比达到预设的比例阈值,且所述发包流量未达到预设的流量阈值,确定所述第一接口所归属网络的数据平面故障。

可选的,所述网关设备学习有第一路由表项和第二路由表项,所述第一路由表项和所述第二路由表项包括相同的目的网段,所述第一路由表项的出接口为第一接口,所述第二路由表项的出接口为第二接口,所述装置还包括:

接口关闭单元,用于关闭所述第一接口;

路由删除单元,用于删除所述第一路由表项;

流量转发单元,用于基于所述第二路由表项,将所述第一接口承载的流量通过所述第二接口转发;

或者,

优先级设置单元,用于设置所述第一路由表项的优先级低于所述第二路由表项的优先级;

流量转发单元,用于基于优先级高的第二路由表项,将所述第一接口承载的流量通过所述第二接口转发。

第三方面,本发明提供一种网关设备,所述设备包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述数据平面的故障检测方法。

第四方面,本发明提供一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上述数据平面的故障检测方法。

由以上描述可以看出,本发明中,网关设备利用网络性能不佳会产生rst报文的特点,统计第一接口上因rst报文老化的会话表项的数量。当统计的数量达到数量阈值时,确定该第一接口所归属网络的数据平面故障。相较于现有技术,本发明实施例无需额外发送探测报文,因此,可节约网络资源。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例示出的一种数据平面的故障检测方法流程图;

图2是本发明实施例示出的确定发送rst报文的主机的占比的实现流程;

图3是本发明实施例示出的一种组网示意图;

图4是本发明实施例示出的一种数据平面的故障检测装置的结构示意图;

图5是本发明实施例示出的一种网关设备的硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在本发明实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明实施例。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本发明实施例提供一种数据平面的故障检测方法。该方法中,网关设备利用网络性能不佳会产生rst报文的特点,统计第一接口上因rst报文老化的会话表项的数量。当统计的数量达到数量阈值时,确定该第一接口所归属网络的数据平面故障。相较于现有技术,本发明实施例无需额外发送探测报文,因此,可节约网络资源。

为了使本发明实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明实施例执行详细描述:

参见图1,为本发明实施例提供的数据平面的故障检测方法流程图。该流程应用于网关设备。比如,数据中心的网关设备。

网关设备通常包括多个接口,且每个接口归属于不同的网络。

如图1所示,该流程可包括以下步骤:

步骤101,统计预设时间段内第一会话表项的第一数量。

该第一会话表项为网关设备接收到第一主机发送的rst报文时,与rst报文对应的老化会话表项。该rst报文通过网关设备的第一接口转发至第二主机。其中,第一接口为网关设备出方向上的接口。

这里,第一会话表项、第一数量、第一主机、第二主机、第一接口只是为便于区分而进行的命名,并非用于限定。

在具体实现时,若第一主机长时间接收不到第二主机发送的流量,则主动发送rst报文,通知第二主机断开连接。

当rst报文经过网关设备时,网关设备根据rst报文的目的ip地址,查询本地路由表项。根据命中的路由表项的出接口(第一接口)转发rst报文。同时,根据rst报文的元组信息,比如,源ip地址、目的ip地址等,查询会话表项,删除(老化)命中的会话表项(第一会话表项)。

网关设备统计预设时间段内第一会话表项的第一数量。

步骤102,若第一数量达到预设的数量阈值,确定第一接口所归属网络的数据平面故障。

即,第一接口上因rst报文老化的会话表项较多时,说明该第一接口所归属网络的数据平面性能较差,无法满足通信质量要求,因此,确定该第一接口所归属网络的数据平面故障。

至此,完成图1所示流程。

通过图1所示流程可以看出,本发明实施例,充分利用网络性能不佳时会产生大量rst报文的特点,统计第一接口上因rst报文老化的会话表项的数量。在老化的会话表项的数量达到数量阈值时,确定第一接口所归属网络的数据平面故障。本发明实施例无需额外发送探测报文,因此,可节约网络资源。

可选的,作为一个实施例,在执行步骤102之前还包括确定发送rst报文的主机的占比的过程。参见图2,为本发明实施例示出的确定发送rst报文的主机的占比的实现流程。

如图2所示,该流程可包括以下步骤:

步骤201,获取各第一会话表项包括的第一源ip地址。

在具体实现时,可在rst报文命中第一会话表项时,提取并记录第一会话表项包括的第一源ip地址。

该第一源ip地址为发送rst报文的主机的ip地址。

这里,第一源ip地址只是为区分而进行的命名,并非用于限定。

步骤202,在达到预设时间段时,统计第一源ip地址的第二数量。

这里,第二数量只是为区分而进行的命名,并非用于限定。

本步骤统计发送rst报文的主机的数量。

步骤203,获取第一接口上所有会话表项包括的第二源ip地址。

这里,第二源ip地址只是为区分而进行的命名,并非用于限定。

此时,第一接口上的会话表项为没有被老化的表项。

步骤204,根据第一源ip地址和第二源ip地址,统计预设时间段内已建立会话表项的主机的第三数量。

这里,第三数量只是为便于区分而进行的命名,并非用于限定。

即,统计预设时间段内与外网通信的主机的数量。

步骤205,根据第二数量和第三数量,确定发送rst报文的主机的占比。

即,将第二数量与第三数量的商,作为发送rst报文的主机的占比。

至此,完成图2所示流程。

在通过图2所示流程确定发送rst报文的主机的占比之后,步骤102具体可包括:若第一数量达到预设的数量阈值,且发送rst报文的主机的占比达到预设的比例阈值,确定第一接口所归属网络的数据平面故障。

也就是说,在确定存在大量因rst报文老化的会话表项的情况下,还要进一步确定发送rst报文的主机的数量。若发送rst报文的主机的数量较少,很有可能是存在针对小部分(一个或几个)主机的ddos(distributeddenialofservice,分布式拒绝服务)攻击,导致这部分主机因长时间接收不到业务报文而发送rst报文。这种情况,不认为是数据平面自身性能下降,即,不认为数据平面故障。反之,当因rst报文老化的表项较多,且发送rst报文的主机较多时,说明很有可能由于数据平面性能下降导致大量主机通信质量不佳(长时间接收不到业务报文),因此,确定数据平面故障。

可选的,作为一个实施例,在第一数量达到预设的数量阈值,且占比达到预设的比例阈值的情况下,可进一步获取第一接口的发包流量。若第一接口的发包流量未达到预设的流量阈值,确定第一接口所归属网络的数据平面故障。

也就是说,在确定因rst报文老化的表项较多,且发送rst报文的主机较多的情况下,还要考虑第一接口的实际流量。若第一接口的实际流量较大,说明可能由于数据平面承载的流量过大,导致部分流量传输质量不佳,产生大量rst报文。这种情况,不认为是数据平面自身性能下降,即,不认为数据平面故障。反之,若第一接口的流量较小,则很有可能是数据平面自身性能下降,比如,本应由硬件芯片转发的流量,错误的上送cpu执行软件转发,因此,可确定数据平面故障。

可选的,作为一个实施例,网关设备预先学习有第一路由表项和第二路由表项。其中,第一路由表项的出接口为第一接口,第二路由表项的出接口为第二接口,且第一路由表项和第二路由表项包括相同的目的网段。即,通过第一接口和第二接口均可到达同一目的网段。

这里,第二接口、第一路由表项、第二路由表项只是为便于描述而进行的命名,并非用于限定。

当网关设备通过步骤102确定第一接口所归属网络的数据平面故障之后,可通过如下方式将第一接口承载的流量通过第二接口转发,以保证流量传输的质量。

方式一:

网关设备关闭第一接口,并删除第一路由表项。此时,指向目的网段的路由表项仅剩下第二路由表项。网关设备基于第二路由表项,将第一接口承载的流量通过第二接口转发。

方式二:

网关设备设置第一路由表项的优先级低于第二路由表项的优先级。这样,网关设备会选择优先级较高的第二路由表项的出接口(第二接口),将第一接口承载的流量通过第二接口转发。

下面通过一个具体实施例描述本发明提供的方法。

参见图3,为本发明实施例示出的一种组网示意图。其中,网关设备300连接有主机1~主机n。网关设备300可分别通过接口s1所归属网络(比如,运营商1的网络),以及接口s2所归属网络(比如,运营商2的网络),与外网通信。

本实施例以网关设备300的接口s1为例,检测s1所归属网络的数据平面是否故障。

首先,预设检测时间段,比如,10s。

接口s1上已有会话表项,如表1所示。

表1

当然,会话表项中还可包括其它匹配信息,比如,源端口、目的端口号等,这里,为了描述方便,简化处理。

在预设时间段内,若网关设备300接收到主机1发往目的ip地址1的rst报文(记为rst1),查询本地路由表(本实施例未示出),基于命中的路由表项确定转发rst1的出接口为s1。网关设备查询接口s1的会话表(表1),根据rst1的源ip地址(主机1的ip地址)、目的ip地址(目的ip地址1)命中表1中的第1条会话表项。网关设备获取并记录第1条会话表项包括的源ip地址(主机1的ip地址),并删除(老化)第1条会话表项。累计因rst报文老化的会话表项的数量为1个。

删除第1条会话表项后,接口s1的会话表,如表2所示。

表2

同理,若网关设备300接收到主机2发往目的ip地址3的rst报文,主机2发往目的ip地址4的rst报文,主机3发往目的ip地址5的rst报文,主机4发往目的ip地址6的rst报文,主机5发往目的ip地址7的rst报文,分别命中表2中第2条会话表项~第6条会话表项。网关设备300记录第2条会话表项~第6条会话表项包括的源ip地址(主机2的ip地址~主机5的ip地址),并删除第2条会话表项~第6条会话表项。累计因rst报文老化的会话表项的数量为6个。

删除会话表项后,接口s1上的会话表,如表3所示。

表3

若此时达到预设时间段,网关设备300获取预设的老化数量阈值(比如,5个),同时,获取已累计的老化会话表项的数量(6个)。该累计的老化会话表项的数量大于预设的老化数量阈值,说明因rst老化的表项过多,可初步确定s1所归属网络的数据平面性能不佳。

在初步确定数据平面性能不佳的基础上,网关设备300可进一步获取已记录的老化会话表项的源ip地址(主机1的ip地址~主机5的ip地址),可确定在预设时间段内有5个主机对外发送rst报文。

网关设备300查询表3,获取当前接口s1上会话表项包括的源ip地址(主机1的ip地址、主机6的ip地址~主机10的ip地址)。网关设备300根据已记录的老化会话表项包括的源ip地址(主机1的ip地址~主机5的ip地址),以及当前接口s1的会话表项的源ip地址(主机1的ip地址、主机6的ip地址~主机10的ip地址),确定在预设时间段内已建立会话表项的主机的数量为10个。

网关设备300计算预设时间段内通过接口s1发送rst报文的主机的占比为5/10=50%。即,通过接口s1访问外网的主机中,已有50%的主机因长时间接收不到流量而发送rst报文。若该占比大于预设比例阈值(比如,30%),可进一步确定s1所归属网络的数据平面性能较差。

此时,网关设备300可获取接口s1的发包流量,若发包流量小于预设的流量阈值,则可确定接口s1所归属网络的数据平面故障。

由于网关设备300通过s1和s2连接到同一外网,因此,针对同一外网网段可学习到两条路由表项。一条路由表项的出接口为s1,另一条路由表项的出接口为s2。若接口s1所归属网络的数据平面故障,网关设备300可设置出接口为s1的路由表项的优先级低于出接口为s2的路由表项的优先级。这样,网关设备300可基于优先级较高的路由表项,将接口s1承载的流量通过接口s2转发,以保证流量的传输质量。

至此,完成本具体实施例的描述。

以上对本发明实施例提供的方法进行了描述,下面对本发明实施例提供的装置进行描述:

参见图4,为本发明实施例提供的装置的结构示意图。该装置包括:表项统计单元401和故障确定单元402,其中:

表项统计单元401,用于统计预设时间段内第一会话表项的第一数量,所述第一会话表项为所述网关设备接收到第一主机发送的rst报文时,与所述rst报文对应的老化会话表项,所述rst报文通过所述网关设备的第一接口转发至第二主机;

故障确定单元402,用于若所述第一数量达到预设的数量阈值,确定所述第一接口所归属网络的数据平面故障。

作为一个实施例,所述装置还包括:

地址获取单元,用于获取各第一会话表项包括的第一源ip地址;

主机统计单元,用于在达到预设时间段时,统计所述第一源ip地址的第二数量;

所述地址获取单元,还用于获取所述第一接口上所有会话表项包括的第二源ip地址;

所述主机统计单元,用于根据所述第一源ip地址和所述第二源ip地址,统计所述预设时间段内已建立会话表项的主机的第三数量;

占比确定单元,用于根据所述第二数量和所述第三数量,确定发送rst报文的主机的占比;

所述故障确定单元402,具体用于若所述第一数量达到预设的数量阈值,且所述占比达到预设的比例阈值,确定所述第一接口所归属网络的数据平面故障。

作为一个实施例,所述故障确定单元402,具体用于获取所述第一接口的发包流量;若所述第一数量达到预设的数量阈值,所述占比达到预设的比例阈值,且所述发包流量未达到预设的流量阈值,确定所述第一接口所归属网络的数据平面故障。

作为一个实施例,所述网关设备学习有第一路由表项和第二路由表项,所述第一路由表项和所述第二路由表项包括相同的目的网段,所述第一路由表项的出接口为第一接口,所述第二路由表项的出接口为第二接口,所述装置还包括:

接口关闭单元,用于关闭所述第一接口;

路由删除单元,用于删除所述第一路由表项;

流量转发单元,用于基于所述第二路由表项,将所述第一接口承载的流量通过所述第二接口转发;

或者,

优先级设置单元,用于设置所述第一路由表项的优先级低于所述第二路由表项的优先级;

流量转发单元,用于基于优先级高的第二路由表项,将所述第一接口承载的流量通过所述第二接口转发。

至此,完成图4所示装置的描述。

本发明实施例,充分利用网络性能不佳会产生大量rst报文的特点,统计第一接口上因rst报文老化的会话表项的数量。在老化的会话表项的数量达到数量阈值时,确定第一接口所归属网络的数据平面故障。本发明实施例无需额外发送探测报文,因此,可节约网络资源。

下面对本发明实施例提供的网关设备进行描述:

参见图5,为本发明实施例提供的一种网关设备的硬件结构示意图。该网关设备可包括处理器501、存储有机器可执行指令的机器可读存储介质502。处理器501与机器可读存储介质502可经由系统总线503通信。并且,通过读取并执行机器可读存储介质502中与数据平面的故障检测逻辑对应的机器可执行指令,处理器501可执行上文描述的数据平面的故障检测方法。

本文提到的机器可读存储介质502可以是任何电子、磁性、光学或其他物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,所述机器可读存储介质502可以包括如下至少一个种存储介质:易失存储器、非易失性存储器、其它类型存储介质。其中,易失性存储器可为ram(randomaccessmemory,随机存取存储器),非易失性存储器可为闪存、存储驱动器(如硬盘驱动器)、固态硬盘、存储盘(如光盘、dvd等)。

本发明实施例还提供一种包括机器可执行指令的机器可读存储介质,例如图5中的机器可读存储介质502,所述机器可执行指令可由网关设备中的处理器501执行,以实现以上描述的数据平面的故障检测方法。

至此,完成图5所示设备的描述。

以上所述仅为本发明实施例的较佳实施例而已,并不用以限制本发明,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1