本发明涉及网络通信技术领域,尤其涉及一种设备探测方法及装置。
背景技术:
drni(distributedresilientnetworkinterconnect,分布式弹性网络互连)是一种跨设备链路聚合技术,将两台物理设备在聚合层面虚拟成一台设备来实现跨设备链路聚合,从而提供设备级冗余保护和流量负载分担。
evpn(ethernetvirtualprivatenetwork,以太网虚拟专用网络)是一种二层vpn技术,控制平面采用mp-bgp(multiprotocol-bordergatewayprotocol,多协议边界网关协议)通告路由信息,数据平面采用vxlan(virtualextensiblelan,可扩展虚拟局域网络)封装方式转发报文。
在支持drni的evpn组网中,如图1所示,leaf110和leaf111为evpn分布式网关,且通过drni实现跨设备链路聚合,对外呈现为一台evpn网关。
若leaf110通过ping命令探测下挂设备(比如,图1中的交换设备120),而交换设备120基于哈希运算将探测的响应报文回应给了leaf111(leaf110和leaf111具有相同的网关ip),leaf110未接收到响应报文,导致探测失败。
技术实现要素:
本发明为了解决现有跨设备链路聚合的evpn分布式网关无法探测到下挂设备的问题,提出一种设备探测方法及装置,用以使evpn分布式网关可以探测到下挂的设备。
为实现上述发明目的,本发明提供了如下技术方案:
第一方面,本发明提供一种设备探测方法,应用于第一evpn分布式网关,所述第一evpn分布式网关与第二evpn分布式网关跨设备链路聚合,且聚合口下连接有设备,其中,所述第一evpn分布式网关的标识和所述第二evpn分布式网关的标识不同,所述方法包括:
向所述设备发送用于探测所述设备的探测请求报文,所述探测请求报文中包括本网关的标识,以使所述设备在发送的探测响应报文中包括与接收到的探测请求报文中相同的网关的标识;
若接收到所述第二evpn分布式网关转发的所述探测响应报文,且所述探测响应报文中包括的网关的标识与本网关的标识相同,确定探测到所述设备。
第二方面,本发明提供一种设备探测装置,应用于第一evpn分布式网关,所述第一evpn分布式网关与第二evpn分布式网关跨设备链路聚合,且聚合口下连接有设备,其中,所述第一evpn分布式网关的标识和所述第二evpn分布式网关的标识不同,所述装置包括:
发送单元,用于向所述设备发送用于探测所述设备的探测请求报文,所述探测请求报文中包括本网关的标识,以使所述设备在发送的探测响应报文中包括与接收到的探测请求报文中相同的网关的标识;
确定单元,用于若接收到所述第二evpn分布式网关转发的所述探测响应报文,且所述探测响应报文中包括的网关的标识与本网关的标识相同,确定探测到所述设备。
由以上描述可以看出,本发明中,第一evpn分布式网关向设备发送探测请求报文时,在探测请求报文中包括本网关的标识。若设备回应的探测响应报文被哈希到第二evpn分布式网关,第二evpn分布式网关会将探测响应报文转发给第一evpn分布式网关。第一evpn分布式网关在确认探测响应报文中包括的网关的标识与本网关的标识相同时,确定探测到下挂的设备。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例示出的一种支持drni的evpn组网示意图;
图2是本发明实施例示出的一种设备探测方法流程图;
图3是本发明实施例示出的一种设备探测装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本发明实施例提供一种设备探测方法,该方法中,第一evpn分布式网关向设备发送探测请求报文时,在探测请求报文中包括本网关的标识。若设备回应的探测响应报文被哈希到第二evpn分布式网关,第二evpn分布式网关会将探测响应报文转发给第一evpn分布式网关。第一evpn分布式网关在确认探测响应报文中包括的网关的标识与本网关的标识相同时,确定探测到下挂的设备。
为了使本发明实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明实施例执行详细描述:
参见图2,为本发明实施例提供的设备探测方法的流程图。该流程应用于第一evpn分布式网关。该第一evpn分布式网关与第二evpn分布式网关跨设备链路聚合,且聚合口下连接有设备。
这里,第一evpn分布式网关、第二evpn分布式网关只是为便于描述而进行的命名,并非用于限定。
如图1所示,图1中的leaf110和leaf111为evpn分布式网关,通过drni技术实现跨设备链路聚合;交换设备120为聚合口下连接的设备。
这里,需要说明的是,聚合口下连接的设备除了交换设备,还可以为主机、服务器等,本发明对此不作限定。
如图2所示,该流程可包括以下步骤:
步骤201,第一evpn分布式网关向设备发送用于探测设备的探测请求报文。
探测请求报文中包括本网关(第一evpn分布式网关)的标识。
这里,需要说明的是,第一evpn分布式网关的标识和第二evpn分布式网关的标识不同。
被探测设备接收到探测请求报文后,回应探测响应报文。在探测响应报文中包括与接收到的探测请求报文中相同的网关的标识。
比如,图1中,交换设备120接收到leaf110发送的用于探测本设备的探测请求报文,探测请求报文中包括leaf110的标识。则交换设备120回应探测响应报文时,在探测响应报文中包括leaf110的标识。
步骤202,若接收到第二evpn分布式网关转发的探测响应报文,且探测响应报文中包括的网关的标识与本网关的标识相同,第一evpn分布式网关确定探测到设备。
若被探测设备回应的探测响应报文被哈希到第二evpn分布式网关,第二evpn分布式网关会将探测响应报文转发给第一evpn分布式网关。即第一evpn分布式网关可接收到第二evpn分布式网关转发的探测响应报文。
若探测响应报文中包括的网关的标识与本网关的标识相同,说明该探测响应报文是被探测设备基于本网关发送的探测请求报文回应的探测响应报文,因此,第一evpn分布式网关确定探测到该设备。
至此,完成图2所示流程。
通过图2所示流程可以看出,在本发明实施例中,第一evpn分布式网关向设备发送探测请求报文时,在探测请求报文中包括本网关的标识。若设备回应的探测响应报文被哈希到第二evpn分布式网关,第二evpn分布式网关会将探测响应报文转发给第一evpn分布式网关。第一evpn分布式网关在确认探测响应报文中包括的网关的标识与本网关的标识相同时,确定探测到设备。从而避免了探测响应报文被哈希到第二evpn分布式网关时,第一evpn分布式网关无法探测到设备的问题。
可选的,作为一个实施例,当第一evpn分布式网关通过聚合口接收到被探测设备发送的探测响应报文,且该探测响应报文中包括的网关的标识与本网关的标识不同时,说明第一evpn分布式网关接收到的不是被探测设备针对本网关发送的探测请求报文回应的探测响应报文。而是由于第一evpn分布式网关和第二evpn分布式网关具有相同的网关ip(第一evpn分布式网关和第二evpn分布式网关跨设备链路聚合为一台evpn网关,因此,具有相同的网关ip),导致探测响应报文被哈希到了第一evpn分布式网关。此时,第一evpn分布式网关将接收到的探测响应报文转发给第二evpn分布式网关。
若第二evpn分布式网关确定探测响应报文中包括的网关的标识与第二evpn分布式网关的标识相同,说明是回应给第二evpn分布式网关的探测响应报文,从而使第二evpn分布式网关探测到设备。
可选的,作为一个实施例,当第一evpn分布式网关通过聚合口接收到被探测设备发送的探测响应报文,且该探测响应报文中包括的网关的标识与本网关的标识相同时,说明第一evpn分布式网关接收到的是被探测设备针对本网关发送的探测请求报文回应的探测响应报文。因此,第一evpn分布式网关确定探测到设备。
可选的,作为一个实施例,网关的标识可携带在探测请求报文或探测响应报文的标识字段,即ip报文头中的identification字段。通过在该字段携带不同的标识以区分不同的evpn分布式网关。
比如,标识为0,代表第一evpn分布式网关;标识为1,代表第二evpn分布式网关。若探测请求报文中identification字段的值为0,说明是第一evpn分布式网关发送的探测请求报文;若探测响应报文中identification字段的值为0,说明是被探测设备回应给第一evpn分布式网关的探测响应报文。
在一种可选的实施方式中,可根据identification字段中携带的标识的奇偶性区分evpn分布式网关。比如,标识为偶数时,代表第一evpn分布式网关;标识为奇数时,代表第二evpn分布式网关。若探测请求报文中identification字段的值为偶数,说明是第一evpn分布式网关发送的探测请求报文;若探测响应报文中identification字段的值为偶数,说明是被探测设备回应给第一evpn分布式网关的探测响应报文。
可选的,作为一个实施例,网关的标识可携带在探测请求报文或探测响应报文的选项(option)字段,具体携带在option字段中的记录路由(recordroute)字段。此时,网关的标识为evpn分布式网关的设备ip。
这里,需要说明的是,每一个evpn分布式网关作为独立的设备,都有各自的ip地址。比如,第一evpn分布式网关的设备ip为ip1,第二evpn分布式网关的设备ip为ip2。
若探测请求报文中recordroute字段记录的ip地址是ip1,说明是第一evpn分布式网关发送的探测请求报文;若探测响应报文中recordroute字段记录的ip地址是ip1,说明是被探测设备回应给第一evpn分布式网关的探测响应报文。
下面通过具体实施例对本发明实施例提供的方法进行描述:
仍以图1所示基于drni的evpn组网为例。
其中,leaf110和leaf111为evpn分布式网关,基于drni技术实现跨设备链路聚合;聚合口下连接有交换设备120。
在leaf110上执行ping命令探测交换设备120。
作为一种实施方式,leaf110向交换设备120发送icmp(internetcontrolmessageprotocol,因特网控制报文协议)request报文(即探测请求报文),在icmprequest报文的identification字段携带leaf110的标识(记为g1,比如,g1为0)。
交换设备接收到icmprequest报文后,回应icmpreply报文(即探测响应报文),在icmpreply报文的identification字段携带g1。该icmpreply报文的目的ip地址为leaf110和leaf111共用的网关ip,记为ip12。该icmpreply报文被交换设备120哈希到leaf111,即发送给leaf111。
leaf111通过与交换设备120连接的聚合口接收到icmpreply报文后,确定报文的目的ip地址为自身的网关ip(ip12),但icmpreply报文中的identification字段携带的g1与自身的标识(记为g2,比如,g2为1)不同,说明不是回应给自己的报文,因此,将当前接收的icmpreply报文转发给leaf110。
leaf110接收到leaf111转发的icmpreply报文后,确定icmpreply报文中的identification字段携带的g1与自身的标识相同,说明是回应给自己的报文,因此,确定探测到交换设备120。
作为另一种实施方式,leaf110向交换设备120发送icmprequest报文,在icmprequest报文的recordroute字段携带leaf110的设备ip(记为ip1)。
交换设备接收到icmprequest报文后,回应icmpreply报文,在icmpreply报文的recordroute字段携带ip1。该icmpreply报文的目的ip地址为ip12。该icmpreply报文被交换设备120哈希到leaf111。
leaf111通过与交换设备120连接的聚合口接收到icmpreply报文后,确定报文的目的ip地址为自身的网关ip(ip12),但icmpreply报文中的recordroute字段携带的ip1与自身的设备ip(记为ip2)不同,说明不是回应给自己的报文,因此,将当前接收的icmpreply报文转发给leaf110。
leaf110接收到leaf111转发的icmpreply报文后,确定icmpreply报文中的recordroute字段携带的ip1与自身的设备ip相同,说明是回应给自己的报文,因此,确定探测到交换设备120。
至此,完成对本实施例的描述。
以上对本发明实施例提供的方法进行了描述,下面对本发明实施例提供的装置进行描述:
参见图3,为本发明实施例提供的装置的结构示意图。该设备探测装置包括:发送单元301和确定单元302,其中:
发送单元301,用于向所述设备发送用于探测所述设备的探测请求报文,所述探测请求报文中包括本网关的标识,以使所述设备在发送的探测响应报文中包括与接收到的探测请求报文中相同的网关的标识;
确定单元302,用于若接收到所述第二evpn分布式网关转发的所述探测响应报文,且所述探测响应报文中包括的网关的标识与本网关的标识相同,确定探测到所述设备。
作为一个实施例,所述发送单元301,还用于若通过所述聚合口接收到所述探测响应报文,且所述探测响应报文中包括的网关的标识与本网关的标识不同,向所述第二evpn分布式网关转发所述探测响应报文。
作为一个实施例,所述确定单元302,还用于若通过所述聚合口接收到所述探测响应报文,且所述探测响应报文中包括的网关的标识与本网关的标识相同,确定探测到所述设备。
作为一个实施例,网关的标识携带在探测请求报文或探测响应报文的标识字段。
作为一个实施例,网关的标识为evpn分布式网关的设备ip,携带在探测请求报文或探测响应报文的记录路由字段。
至此,完成图3所示装置的描述。
本发明实施例中,第一evpn分布式网关向设备发送探测请求报文时,在探测请求报文中包括本网关的标识。若设备回应的探测响应报文被哈希到第二evpn分布式网关,第二evpn分布式网关会将探测响应报文转发给第一evpn分布式网关。第一evpn分布式网关在确认探测响应报文中包括的网关的标识与本网关的标识相同时,确定探测到下挂的设备。
以上所述仅为本发明实施例的较佳实施例而已,并不用以限制本发明,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。