检测网络链路状态的方法和网络设备与流程

文档序号:20080935发布日期:2020-03-10 10:38阅读:979来源:国知局
检测网络链路状态的方法和网络设备与流程
本申请涉及通信领域,并且更具体地,涉及检测网络链路状态的方法和网络设备。
背景技术
:虚拟局域网扩展方案(virtualextensiblelocalareanetwork,vxlan)是三层网络上的虚拟网络(networkvirtualizationoverlayer3,nvo3)中的一种网络虚拟化技术,vxlan的接入点vxlan隧道端点(vxlantunnelendpoints,vtep)对虚拟机发出的数据包封装在用户数据报协议(userdatagramprotocol,udp)中,并使用物理网络的互联网协议(internetprotocol,ip)、介质访问控制(mediumaccesscontrol,mac)做外层封装,然后在ip网络上传输,到达目的地后由隧道终结点vtep解封装并将数据发送给目标虚拟机。由于具有支持多达16m主机接入、支持虚拟迁移等种种优势,在大型云计算业务部署和数据中心有着广泛应用。随着vxlan技术的演进,vxlan不仅在硬件网络设备上得以部署,在各类基于软转的虚拟设备的i层网络上也得到了广泛应用。虚拟设备具有部署灵活、成本低的优势,硬件设备具有支持特性范围广、能够承担的规格压力大的优势,因此基于软件vxlan和硬件vxlan的混合overlay方案顺势而出,它属于一种相对均衡的组网,可以广泛应用到私有云、公有云等业务上。在网络管理中,快速检测网络链路故障至关重要。但在上述混合vxlan场景中,存在一些网络设备未配有或不支持配置常见的快速检测网络链路故障的协议(例如双向转发检测(bidirectionalforwardingdetection,bfd)协议),没有办法使用常见的快速检测网络链路故障的协议检测网络链路故障,流量大量丢包不可避免。技术实现要素:本申请提供检测网络链路状态的方法和网络设备,能够在通信双方单方配置网络链路故障检测协议的情况下实现网络链路状态检测。第一方面,本申请提供了一种检测网络链路状态的方法,该方法包括:第一设备通过该第一设备和第二设备之间的虚拟局域网扩展方案vxlan隧道向该第二设备发送第一消息,该第一消息携带有效载荷和反馈指示信息,该反馈指示信息用于指示该第二设备将该有效载荷转发给该第一设备;该第一设备根据是否接收到由该第二设备发送的携带该有效载荷的第二消息,确定该第一设备和该第二设备之间的网络链路状态。上述技术方案中,第一设备主动向第二设备发送第一消息,第二设备只需要对第一消息进行转发,使得在第一设备单方支持网络链路故障检测协议的情况下,实现检测网络链路状态,这样能够vxlan网络对低端设备的适应能力。在一种可能的实现方式中,该反馈指示信息包括源互联网协议ip地址和目的ip地址;该反馈指示信息的源ip地址为该第一设备的ip地址,该反馈指示信息的目的ip地址为该第一设备的基于桥域创建的三层逻辑接口vbdifip地址。上述技术方案中,将反馈指示信息的源ip地址为第一设备的ip地址,目的ip地址为第一设备的vbdifip地址,这样,第二设备在接收到反馈指示信息后,根据目的ip查ip路由表,确定目的ip地址的下一跳为第一设备的ip地址,实现对第一消息的转发,使得在第一设备单方支持网络链路故障检测协议的情况下,实现检测网络链路状态,能够vxlan网络对低端设备的适应能力。在一种可能的实现方式中,该第一消息为bfd报文,该bfd报文的源介质访问控制mac地址为该第一设备的mac地址,该bfd报文的目的mac地址为该第二设备的mac地址。上述技术方案中,第一设备主动向第二设备发送第一消息,第二设备只需要对第一消息进行转发,使得在第一设备单方支持bfd协议的情况下,实现检测网络链路状态,可以满足网络链路故障快速检测。在一种可能的实现方式中,该有效载荷包括远端标识符和本地标识符,该远端标识符和该本地标识符一致。上述技术方案中,远端标识符和本地标识符一致,这样在网络链路状态正常的情况下,第一设备收到第二消息后,不会出现由于标识符不相符导致报文丢弃。此外,第一设备还能够根据远端标识符和本地标识符判断该第二消息由第二设备发送,从而判断第一设备和第二设备之间的网络链路状态。在一种可能的实现方式中,该第一消息还包括由vxlan封装形成的第一外层信息;该第一外层信息的源ip地址为该第一设备的ip地址,该第一外层信息的目的ip地址为该第二设备的ip地址,该第一外层信息的源mac地址为该第一设备的mac地址,该第一外层信息的目的mac地址为网络mac地址;该第一外层信息指定该第一设备和该第二设备之间的虚拟网络标识vni。上述技术方案中,提供基于vni粒度的子隧道网络链路检测能力,可以满足故障快速检测,使得流量收敛性能达到毫秒级别。在一种可能的实现方式中,该第二消息中的源ip地址为该第二设备的ip地址,该第二消息中的目的ip地址为该第一设备的vbdif的ip地址,该第二消息中的源mac地址为该第二设备的mac地址,该第二消息中的目的mac地址为该第一设备的mac地址。通过上述技术方案,第二设备可以将第二消息转发给第一设备,使得在第一设备单方支持网络链路故障检测协议的情况下,实现检测网络链路状态,能够vxlan网络对低端设备的适应能力。在一种可能的实现方式中,该第二消息还包括由vxlan封装形成的第二外层信息;该第二外层信息的源ip地址为该第二设备的ip地址,目的ip地址为该第一设备的ip地址,源mac地址为该第二设备的mac地址,目的mac地址为网络mac地址。在一种可能的实现方式中,在该第一设备通过该第一设备和第二设备之间的vxlan隧道向该第二设备发送第一消息之前,该方法还包括:该第一设备接收配置指令,该配置指令用于为该第一设备配置单臂回声bfd会话。上述技术方案中,仅为第一设备配置单臂回声bfd会话,无需为第二设备配置bfd会话,这样,在第二设备未配有或者不支持配置bfd会话的情况下,实现检测网络链路状态,能够vxlan网络对低端设备的适应能力。在一种可能的实现方式中,该配置指令为该第一设备指定的内容包括:vxlan隧道的两端、vxlan网络标识vni信息和该第一设备的vbdif接口信息。在一种可能的实现方式中,该第一设备根据是否接收到由该第二设备发送的携带该有效载荷的第二消息,确定该第一设备和该第二设备之间的网络链路状态,包括:在该第一设备在预设周期内未接收到该第二消息的情况下,确定该第一设备和该第二设备之间的网络链路故障。在一种可能的实现方式中,该第一设备根据是否接收到由该第二设备发送的携带该有效载荷的第二消息,确定该第一设备和该第二设备之间的网络链路状态,包括:在该第一设备在预设周期内接收到该第二消息的情况下,确定该第一设备和该第二设备之间的网络链路状态正常。第二方面,本申请提供了一种提供了一种配置bfd会话的方法,该方法包括:控制设备确定配置指令,该配置指令用于为该网络设备配置单臂回声bfd会话;控制设备向虚拟局域网可扩展方案vxlan隧道一端的通信设备发送该配置指令。在一种可能的实现方式中,该配置指令至少为该通信设备指定vxlan隧道的两端、vxlan网络标识vni的信息和该网络设备上对应的vbdif接口信息。第三方面,本申请提供一种网络设备,该网络设备包括用于实现第一方面或第一方面的任一种可能的实现方式的模块。第四方面,本申请提供一种控制设备,该网络设备包括用于实现第二方面或第二方面的任一种可能的实现方式的模块。第五方面,本申请提供了一种网络设备,该网络设备包括处理器、存储器以及存储在存储器上并可在处理器上运行的指令,当该指令被运行时,使得该网络设备执行第一方面或第一方面任意一种实现方式中的方法。第六方面,本申请提供一种控制设备,该控制设备包括处理器、存储器以及存储在存储器上并可在处理器上运行的指令,当该指令被运行时,使得该控制设备执行第二方面或第二方面任意一种实现方式中的方法。第七方面,本申请提供一种芯片,用于执行第一方面或第一方面的任意一种可能的实现方式中的方法。第八方面,本申请提供一种芯片,用于执行第二方面或第二方面的任意一种可能的实现方式中的方法。第九方面,本申请提供一种计算机可读存储介质,包括指令,当其在网络设备上运行时,使得网络设备执行第一方面或第一方面任意一种实现方式所述的方法。第十方面,本申请提供一种计算机可读存储介质,包括指令,当其在控制设备上运行时,使得控制设备执行第二方面或第二方面任意一种实现方式所述的方法。第十一方面,本申请提供一种包含指令的计算机程序产品,当其在网络设备上运行时,使得网络设备执行第一方面或第一方面任意一种实现方式所述的方法。第十二方面,本申请提供一种包含指令的计算机程序产品,当其在控制设备上运行时,使得控制设备执行第二方面或第二方面任意一种实现方式所述的方法。附图说明图1是基于vxlan隧道的bfd会话三次握手的示意图。图2是基于vxlan隧道的bfd会话建立完成的示意图。图3是主备vxlan故障场景示意图。图4是本申请实施例提供的检测网络链路状态的方法的示意性流程图。图5是本申请实施例提供的经过vxlan封装的bfd报文的示意图。图6是本申请实施例提供的经过vxlan封装的bfd报文的示意图。图7是本申请实施例的单侧配置单臂回声bfd会话的示意图。图8是本申请实施例的网络链路架构的示意图。图9是本申请实施例提供的配置bfd会话的方法的示意性流程图。图10是本申请实施例提供的网络设备的示意性结构图。图11是本申请实施例提供的控制设备的示意性结构图。图12是本申请另一实施例提供的网络设备的示意性结构图。图13是本申请另一实施例提供的控制设备的示意性结构图。具体实施方式下面将结合附图,对本申请中的技术方案进行描述。为了方便理解本申请实施例的方案,首先对本申请涉及到的概念及相关技术进行描述。虚拟扩展局域网:是一种将二层报文用三层协议进行封装的技术。具体地,vxlan将基于mac协议的以太网帧封装在udp报文中。进一步地,将udp报文封装在ip报文中,可以在三层网络中传输ip报文。因此,实现了以太网帧在三层网络中传送。vxlan技术使用vxlan网络标识符(vxlannetworkidentifier,vni)标识vxlan段(vxlansegment)。不同的vxlan段分别对应不同的vni。不同的vxlan段之间是隔离的。同一个vni内的两台虚拟机(virtualmachine,vm)进行通信时不需要经由vxlan三层网关(vxlanl3gateway)。分别位于不同vni中的两台vm通信需要经由vxlan三层网关。vni字段包含24比特。一个管理域最多可以包含216个vxlan段。vtep可以被集成在网络虚拟边缘(networkvirtualizationedge,nve)设备中,作为vxlan中的边缘设备。nve设备通过vxlan隧道传输vxlan的流量。vxlan隧道是指两台nve设备之间的点到点逻辑隧道。虚拟设备:通过虚拟技术将一台独占设备虚拟成多台逻辑设备,供多个用户进程同时使用,通常把这种经过虚拟的设备称为虚拟设备,例如,虚拟交换机(virtualswitch,vswitch),虚拟路由器(virtualrouter,vrouter)、openstack云平台。openstack云平台是一个免费开源的云计算平台。bfd:是一种最常见的快速检测网络链路故障的方法。bfd通过对相邻转发设备之间的通道提供轻负荷、持续时间短的检测,如果一端设备在足够长的时间内未收到对端的检测报文,则认为这条链路的某个部分发生了故障,通知上层业务进行相应的处理。现有的基于vxlan隧道的bfd会话技术,在两边的vxlan隧道端点vtep上配置bfd会话,两边的vtep通过三次握手的方式建立bfdvxlan会话,当中间链路的某处出现故障的时候,bfd能够快速感知链路故障,通知vxlan隧道停用,实现流量ms级切换。具体地,如图1所示,图1是基于vxlan隧道的bfd会话三次握手的示意图。bfd会话有4种状态:down、init、up和admindown。down表明会话是停掉的(或者刚刚才被创建);init表明正在和对端系统通信中,本地系统希望使会话建立起来,但远端系统还没有意识到这种改变;up表明bfd会话已经成功建立起来了,系统之间的连接工作正常;admindown表明会话被管理者强制停掉,这将会使远端系统进入并保持在停用状态。会话状态的变化通过bfd报文的状态对应图2中sta)字段传递,两边的vtep根据自己本地的会话状态和接收到的对端bfd报文驱动状态改变。更具体地,vtep1和vtep2启动bfd,各自初始状态为“down”,发送bfd报文携带状态为“down”;vtep2收到状态为“down”的bfd报文,本地状态切换至“init”,发送bfd报文携带状态为“init”,vtep2本地bfd状态为“init”后,再接收到状态为“down”的报文不做处理,vtep1bfd状态变化过程同vtep2;vtep2收到状态为“init”的bfd报文,本地状态切换至“up”,vtep1bfd状态变化过程同vtep2,本地状态up标志会话建立成功。bfd会话建立成功之后,如图2所示,vtep1和vtep2之间以一定周期持续发送状态为“up”的bfd报文,直到该网络链路故障,改变状态为“down”。上述基于vxlan的bfd方案中,需要vxlan隧道两边均支持bfd协议,而基于软转实现vxlan的虚拟设备是不支持bfd协议的。因此在混合vxlan的场景中,当通信的双方一方为虚拟设备或不支持bfd协议时,没有办法使用该技术检测网络故障,流量大量丢包不可避免。图3是主备vxlan故障场景示意图。以主备vxlan隧道场景为例,如图3所示。当主链路故障(如图3中所示的上方链路)时,流量需要切换到备链路(如图3中所示的下方链路)。在未部署链路检测协议的情况下,流量切换依赖底层网络协议硬收敛,流量丢包时间会长达3~5s,流量丢包时间长,对业务的影响大。本申请实施例提供一种检测网络链路状态的方法和网络设备,能够在通信双方单方配置网络链路故障检测协议的情况下实现网络链路状态检测。本申请实施例的网络设备可以是交换机、路由器、虚拟交换机、虚拟路由器等,本申请实施例对此不做具体限定。下面对本申请实施例提供的检测网络链路状态的方法进行详细描述。图4是本申请实施例提供的检测网络链路状态的方法的示意性流程图。图4的方法可以由网络设备执行,包括以下内容中的至少部分内容。在401中,第一设备通过该第一设备和第二设备之间的vxlan隧道向该第二设备发送第一消息,该第一消息携带有效载荷和反馈指示信息,该反馈指示信息用于指示该第二设备将该有效载荷转发给该第一设备。在402中,该第一设备根据是否接收到由该第二设备发送的携带该有效载荷的第二消息,确定该第一设备和该第二设备之间的网络链路状态。本申请实施例中,第一设备主动向第二设备发送第一消息,第二设备只需要对第一消息进行转发,使得在第一设备单方支持网络链路故障检测协议的情况下,实现检测网络链路状态,这样能够vxlan网络对低端设备的适应能力。下面分别对401和402进行详细描述。在401中,第一设备通过该第一设备和第二设备之间的vxlan隧道向该第二设备发送第一消息,该第一消息携带有效载荷和反馈指示信息,该反馈指示信息用于指示该第二设备将该有效载荷转发给该第一设备。本申请实施例对第一设备的类型不做具体限定,可以是支持网络链路故障检测协议并且能够向第二设备发送消息的任意网络设备。可选地,第一设备可以是支持bfd协议并且能够向第二设备发送bfd报文的网络设备。例如,第一设备可以是支持bfd协议的硬件设备,还可以是支持bfd协议的虚拟设备等。本申请实施例对第二设备的类型不作具体限定,可以是能够进行报文转发的任意网络设备。例如,第二设备可以是支持bfd协议的硬件设备、支持bfd协议的虚拟设备、不支持bfd协议的硬件设备、不支持bfd协议的虚拟设备等。可以看出,本申请实施例仅需要vxlan隧道一端的网络设备支持网络链路故障检测协议即可,对于另一端的网络设备不做具体要求。可选地,第一设备可以主动向第二设备发送第一消息。可选地,第一设备可以按照一定周期向第二设备发送第一消息。可选地,第一消息可以是任意可携带有效载荷和反馈指示信息的形式。例如,第一消息可以是各种报文。可选地,第一设备可以通过第一消息指示该第二设备将该有效载荷转发给该第一设备。可选地,第一设备可以通过第一消息中的反馈指示信息指示该第二设备将该有效载荷转发给该第一设备。可选地,该反馈指示信息可以以任意能够指示该第二设备将该有效载荷转发给该第一设备的形式。可选地,该反馈指示信息可以使用源ip地址和目的ip地址的形式指示该第二设备将该有效载荷转发给该第一设备。具体地,该反馈指示信息的源ip地址为第一设备的ip地址,该反馈指示信息的目的ip地址为第一设备的基于桥域创建的三层逻辑接口vbdifip地址。这样,第二设备在接收到反馈指示信息后,根据目的ip查ip路由表,确定目的ip地址的下一跳为第一设备的ip地址,从而将该有效载荷转发给该第一设备。可选地,第一设备可以通过第一消息中的有效载荷指示该第二设备将该有效载荷转发给该第一设备。例如,可以在有效载荷中携带特定字节,使用该特定字节明示或者隐示该第二设备将该有效载荷转发给该第一设备。可选地,该第一消息可以为bfd报文。该bfd报文的mac地址为该第一设备的mac地址,该bfd报文的目的mac地址为该第二设备的mac地址。可选地,该有效载荷包括远端标识符和本地标识符,并且该远端标识符和本地标识符一致。第一设备可能同时有多个bfd会话,例如5个,那么对于每一个会话会有一对远端标识符和本地标识符,例如0-0,1-1,2-2,3-3,4-4。应理解,上述例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。还应理解,远端标识符和本地标识符有可能是数字以外的其他形式,这里只是为了方便描述。这样,通过远端标识符和本地标识符,第一设备可以确定第二消息是不是发给第一设备的,同时第一设备还可以确定第二消息是不是第二设备发送的。上述技术方案中,远端标识符和本地标识符一致,这样在网络链路状态正常的情况下,第一设备收到第二消息后,不会出现由于标识符不相符导致报文丢弃。可选地,第一设备为vxlan网络中的vtep。vtep是vxlan隧道端点,封装在nve中,用于vxlan报文的封装和解封装。vtep与物理网络相连,分配有物理网络的ip地址,一对vtep地址就对应着一个vxlan隧道。可选地,第一消息还包括由vxlan封装形成的第一外层信息。下面以bfd报文为例,对本申请实施例的经过vxlan封装的第一消息具体报文格式进行描述。图5是本申请实施例提供的经过vxlan封装的bfd报文的示意图。应理解,图5所示的经过vxlan封装的bfd报文仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图5的例子,显然可以进行各种等价的修改或变化,例如顺序改变、名称改变等,这样的修改或变化也落入本申请实施例的范围内。应理解,图5所示的报文可以是上文中经过vxlan封装的bfd报文的部分或全部。如图5所示,本申请实施例对原始报文(即bfd报文)进行了vxlan封装,即在原始报文前增加了外层以太网报头、外层ip报头、外层udp报头和vxlan报头。其中,外层以太网报头至少包括目的mac地址(destinationmac,dmac)、源mac地址(sourcemac,smac)。该dmac为在发送报文的第一设备所属vtep上根据目的vtep地址查找路由表,路由表中下一跳ip地址对应的mac地址;该smac为发送报文的第一设备所属的vtep的mac地址。外层ip报头至少包括目的ip地址(destinationip,dip)和源ip地址(sourceip,sip)。该dip是vxlan隧道远端vtep的ip地址;sip是vxlan隧道本端vtep的ip地址。外层udp报头至少包括目的udp端口(udpdestinationport,udp_dp)和源udp端口(udpsourceport,udp_sp)。该目的udp端口号是4789;该udp_sp是内层以太网报头通过哈希算法计算后的值。vxlan报头至少包括vxlan网络标识vni,该vni用于区分vxlan段。原始报文至少包括内层以太网报头、内层ip报头和有效载荷。其中,内层ip报头可以对应于上文的反馈指示信息。具体地,经过vxlan封装后的bfd报文的第一外层报文的源ip地址为该第一设备的ip地址,目的ip地址为该第二设备的ip地址,源mac地址为该第一设备的mac地址,目的mac地址为网络mac地址。该原始报文的源ip地址为该第一设备的ip地址,目的ip地址为该第一设备的vbdifip地址,源mac地址为该第一设备的mac地址,目的地址mac为该第二设备的mac地址。可以理解地,第一外层报文的源ip地址和源mac地址为第一设备的ip地址和mac地址,目的ip地址和目的mac地址为第二设备的ip地址和mac地址,这样在vxlan隧道传输时,可以实现由第一设备发送给第二设备;而原始报文的目的ip地址为第一设备的vbdifip地址,这样第二设备接收到bfd报文并解封装后,经过查ip路由表可以确定下一跳为第一设备的ip,从而实现报文环回。可选地,该第一外层信息指定该第一设备和该第二设备之间的虚拟网络标识vni。上述技术方案中,提供基于vni粒度的子隧道网络链路检测能力,可以满足故障快速检测,使得流量收敛性能达到毫秒级别。在402中,该第一设备根据是否接收到由该第二设备发送的携带该有效载荷的第二消息,确定该第一设备和该第二设备之间的网络链路状态。本申请实施例对第一消息如何到达第二设备不做具体限定,例如可以是经过正常的三层转发。以进行三层转发为例,经过vxlan封装的第一消息经过查路由表进行三层转发,发送到第二设备上。在第二设备接收到上述报文后,对上述报文进行解封装(即剥去外层以太网报头、外层ip报头、外层udp报头和vxlan报头)。第二设备在接收到第一设备发送的第一消息的情况下,会对收到的第一消息进行转发。具体地,第二设备在收到第一消息后,根据第一消息中反馈指示信息中的目的ip地址,查ip路由表,确定反馈指示信息中的目的ip地址的下一跳,修改第一消息的内层以太网报头(修改源mac地址为所述第二设备的mac地址,目的mac地址为所述第一设备的mac地址)和内层ip报头(修改源ip地址为所述第二设备的ip地址,目的ip地址为所述第一设备在所述第一设备的vbdif的ip地址),对有效载荷不作处理。修改后的第一消息可以称为第二消息,该第二消息的有效载荷与该第一消息的有效载荷相同。可以理解地,由于该第二设备并不对该有效载荷进行处理,因此该第二消息携带的有效载荷中的远端标识符没有发生改变,也就是说有效载荷中的远端标识符与本地标识符仍然一致,这样,在第一设备收到第二消息后不会由于标识符不相符而将报文丢弃。可选地,第二设备为vxlan网络中的vtep。可选地,第二消息还包括由vxlan封装形成的第二外层信息。下面以bfd报文为例,对本申请实施例的经过vxlan封装的第二消息具体报文格式进行描述。图6是本申请实施例提供的经过vxlan封装的bfd报文的示意图。应理解,图6所示的经过vxlan封装的bfd报文仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图6的例子,显然可以进行各种等价的修改或变化,例如顺序改变、名称改变等,这样的修改或变化也落入本申请实施例的范围内。应理解,图6所示的报文可以是上文中经过vxlan封装的bfd报文的部分或全部。具体地,所述第二外层信息的源ip地址为所述第二设备的ip地址,目的ip地址为所述第一设备的ip地址,源mac地址为所述第二设备的mac地址,目的mac地址为网络mac地址。修改后的原始报文的源ip地址为所述第二设备的ip地址,目的ip地址为所述第一设备在所述第一设备的vbdif的ip地址,源mac地址为所述第二设备的mac地址,目的mac地址为所述第一设备的mac地址。可以理解地,第二外层信息的源ip地址和源mac地址为第二设备的ip地址和mac地址,目的ip地址和目的mac地址为第一设备的ip地址和mac地址,这样在vxlan隧道传输时,可以实现由第二设备发送给第一设备;而修改后的原始报文的目的ip地址为第一设备的vbdifip地址,这样第二设备经过查ip路由表可以将第二消息发给第一设备,从而实现报文环回。可以看出,第二设备仅仅将收到的bfd报文重新转发回第一设备。上述技术方案中,第一设备主动向第二设备发送第一消息,第二设备只需要对第一消息进行转发,使得在第一设备单方支持网络链路故障检测协议的情况下,实现检测网络链路状态,这样能够vxlan网络对低端设备的适应能力。可选地,该第一设备和该第二设备之间的网络链路可以是物理网络中的网络链路,也可以是虚拟网络中的网络链路,本申请对此不做限定。可选地,该第一设备和该第二设备之间的网络链路可以是基于vni粒度的子隧道。可选地,在该第一设备在预设周期内未接收到该第二消息的情况下,第一设备确定该第一设备和该第二设备之间的网络链路出现故障。可选地,第一设备在预设周期内未收到该第二消息,可以是第一消息没有到达第二设备。例如,可以是经过vxlan封装的第一消息在进行三层转发的过程出现故障、第二设备存在故障等。可选地,第一设备在预设周期内未收到该第二消息,可以是第二设备收到第一消息,却未发出第二消息。例如,第二设备存在故障等。可选地,第一设备在预设周期内未收到该第二消息,可以是第二设备发出第二消息后,第二消息未到达第一设备。例如,可以是第二消息在进行三层转发的过程出现故障、第一设备存在故障等。可选地,第一设备在预设周期内未收到该第二消息,可以是第一设备至少一次在预设周期内未收到该第二消息。例如,可以是第一设备一次在预设周期内未收到该第二消息,可以是第一设备连续多次在预设周期内为收到该第二消息等,这取决于具体实现。可选地,该预设周期大于第一设备发送第一消息的周期。可选地,在确定该网络链路故障之后,第一设备仍然持续向第二设备发送第一消息。在确定第一设备与第二设备之间的网络链路故障后,第一设备通知上层业务第一设备和第二设备之间的网络链路出现故障,进而上层业务进行处理。对于bfd协议,在确定第一设备与第二设备之间的网络链路故障后,bfd会话停掉,第一设备通知上层业务第一设备和第二设备之间的vxlan隧道存在故障,进而上层业务进行处理。上述技术方案中,第一设备在预设周期内没有接收到第二设备发回来的第二消息的情况下,确定网络链路故障,这样可以快速检测到网络链路故障,能够使得流量收敛性能达到毫秒级别。可选地,在该第一设备收到该回环报文的情况下,确定网络链路状态正常。可选地,在该第一设备通过第一设备和第二设备之间的vxlan隧道向该第二设备发送第一消息之前,该第一设备接收配置指令,该配置指令用于为该第一设备配置单臂回声bfd会话。上述技术方案中,仅为第一设备配置单臂回声bfd会话,无需为第二设备配置bfd会话,这样,在第二设备未配有或者不支持配置bfd会话的情况下,实现检测网络链路状态,能够vxlan网络对低端设备的适应能力。可选地,该配置指令为该第一设备指定的内容包括:vxlan隧道的两端、vxlan网络标识vni信息和该第一设备的vbdif接口信息。其中,vxlan隧道的两端可以分别对应第一设备和第二设备,vni信息可以为第一设备和第二设备之间的隧道的标识,第一设备的vbdif接口信息可以为第一设备的vbdifip。可选地,该配置指令可以是人工输入的配置指令,也可以是由控制设备发出的控制指令,本申请实施例对此不作限定。例如,如图7所示,vtep1对应第一设备,vtep2对应第二设备。对于建立起vxlan隧道的两台网络虚拟边界节点vtep1和vtep2,在vtep1上配置单臂回声bfd会话。上述技术方案中仅为第一设备配置单臂回声bfd会话,无需为第二设备配置bfd会话,这样只需要第一设备单方支持bfd协议,而第二设备只要可以进行报文转发,就可以实现使用bdf检测网络链路状态。下面结合具体例子,更加详细地描述本申请实施例。应注意,下文所涉及的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。应理解,图8中的设备a对应于上文中的第一设备,设备b对应于上文中的第二设备。如图8所示,支持bfd协议的设备a,与不支持bfd协议的虚拟设备b,建立了vxlan隧道,要求设备a和设备b之间的故障检测达到毫秒级别。其中,设备a的vtpeip为1.1.1.1,vbdifip为10.1.1.1,设备b的vtpeip为2.2.2.2,vbdifip为10.1.1.2,设备a和设备b之间建立基于vni10的隧道。在设备a上配置单臂回声bfd会话,会生成原始报文,如表1所示。表1原始报文dmacmacbsmacmacadip10.1.1.1sip1.1.1.1mdayda可以看出,该原始报文源ip地址为该设备a的vtepip地址,目的ip地址为设备a的vbdifip地址,源mac地址为设备a的mac地址,目的地址mac为设备b的mac地址,远端标识符(yourdiscriminator,yd)与本地标识符(mydiscriminator,md)一致,均为设备a的标识符。然后原始报文经过vxlan隧道封装,进入vxlan网络,通过查路由表三层转发到设备b上。经过vxlan隧道封装的bfd报文如表2所示。表2经过vxlan封装的原始报文dmacnetmacsmacmacadip2.2.2.2sip1.1.1.1udp_sphashudp_dp4789vni10内层报文bfdvxlan可以看出,该第一外层报文经过vxlan封装,该第一外层报文的源ip地址为设备a的ip地址,目的ip地址为设备b的ip地址,源mac地址为设备a的mac地址,目的mac地址为网络mac地址。设备b收到报文后,先进行vxlan的解封装,然后设备b查ip路由表,目的ip10.1.1.1的下一跳为隧道1.1.1.1,因此将bfd报文进行vxlan封装后重新送回vxlan隧道,从而实现报文环回。表3环回的报文dmacmacasmacmacbdip10.1.1.1sip2.2.2.2mdayda表3为设备b发回的报文,可以看出,相较于设备a发送的原始报文仅仅源mac地址、目的mac地址、源ip地址发生改变。应理解,表1、表2和表3所示的报文内容可以是相应的报文的部分或全部。上述技术方案中,第一设备主动向第二设备发送bfd报文,并根据是否接收到第二设备发回来的回环报文,这样只需要第一设备单方支持bfd协议,而第二设备只要可以进行报文转发,就可以实现使用bdf检测网络链路状态。在vxlan单边设备不支持bfd的情况下,提供了基于vni粒度的子隧道链路检测能力,满足故障快速检测,流量收敛性能达到毫秒级别。此外,通过上述技术方案能够增强vxlan网络对低端设备的适应能力,能够广泛应用于公有云、私有云网络。本申请实施例还提供了一种配置bfd会话的方法,如图9所示,该方法可以包括以下内容的至少部分内容。在901中,控制设备确定配置指令,该配置指令用于为该网络设备配置单臂回声bfd会话。在902中,控制设备向网络设备发送该配置指令。可选地,控制设备可以通过缓存中读取的配置参数确定该配置指令。可选地,控制设备可以通过接收人工输入的指令或者参数确定该配置指令。可选地,所述配置指令至少为所述网络设备指定vxlan隧道的两端、vxlan网络标识vni信息和所述网络设备的vbdif接口信息。其中,vxlan隧道的两端可以分别对应第一设备和第二设备,vni信息可以为第一设备和第二设备之间的隧道的标识,第一设备的vbdif接口信息可以为第一设备的vbdifip。本申请实施例还提供了一种检测网络链路状态的方法,该方法包括:第一设备通过所述第一设备和第二设备之间的虚拟局域网扩展方案vxlan隧道向所述第二设备发送第一消息,所述第一消息用于指示所述第二设备向所述第一设备发送第二消息;所述第一设备根据是否接收到所述第二消息,确定所述第一设备和所述第二设备之间的网络链路状态。下面对本申请的装置实施例进行描述,由于装置实施例可以执行上述方法,因此未详细描述的部分可以参见前面各方法实施例。图10是本申请实施例提供的网络设备的示意性结构图。图10中的网络设备1000可以对应于上文中的第一设备,可以包括发送模块1001和处理模块1002。发送模块1001,用于通过该网络设备1000和第二设备之间的虚拟局域网扩展方案vxlan隧道向该第二设备发送第一消息,该第一消息携带有效载荷和反馈指示信息,该反馈指示信息用于指示该第二设备将该有效载荷转发给该网络设备1000。处理模块1002,用于根据是否接收到由该第二设备发送的携带该有效载荷的第二消息,确定该网络设备1000和该第二设备之间的网络链路状态。可选地,该反馈指示信息包括源互联网协议ip地址和目的ip地址;该反馈指示信息的源ip地址为网络设备1000的ip地址,该反馈指示信息的目的ip地址为网络设备1000的基于桥域创建的三层逻辑接口vbdifip地址。可选地,该第一消息为bfd报文,该bfd报文的源介质访问控制mac地址为该网络设备1000的mac地址,该bfd报文的目的mac地址为该第二设备的mac地址。可选地,该有效载荷包括远端标识符和本地标识符,该远端标识符和该本地标识符一致。可选地,该第一消息还包括由vxlan封装形成的第一外层信息;该第一外层信息的源ip地址为该网络设备1000的ip地址,该第一外层信息的目的ip地址为该第二设备的ip地址,该第一外层信息的源mac地址为该网络设备1000的mac地址,该第一外层信息的目的mac地址为网络mac地址;该第一外层信息指定该网络设备1000和该第二设备之间的虚拟网络标识vni。可选地,该第二消息中的源ip地址为该第二设备的ip地址,该第二消息中的目的ip地址为该网络设备1000的vbdif的ip地址,该第二消息中的源mac地址为该第二设备的mac地址,该第二消息中的目的mac地址为该网络设备1000的mac地址。可选地,该第二消息还包括由vxlan封装形成的第二外层信息;该第二外层信息的源ip地址为该第二设备的ip地址,目的ip地址为该网络设备1000的ip地址,源mac地址为该第二设备的mac地址,目的mac地址为网络mac地址。可选地,该网络设备1000还包括:接收模块1003,用于接收配置指令,该配置指令用于为该网络设备1000配置单臂回声bfd会话。可选地,该配置指令为该网络设备1000指定的内容包括:vxlan隧道的两端、vxlan网络标识vni信息和该网络设备1000的vbdif接口信息。其中,vxlan隧道的两端可以分别对应第一设备和第二设备,vni信息可以为第一设备和第二设备之间的隧道的标识,第一设备的vbdif接口信息可以为第一设备的vbdifip。可选地,该处理模块1002具体用于在该网络设备1000在预设周期内未接收到该第二消息的情况下,确定该网络设备1000和该第二设备之间的网络链路故障。可选地,该处理模块1002具体用于在该网络设备1000在预设周期内接收到该第二消息的情况下,确定该网络设备1000和该第二设备之间的网络链路状态正常。图11是本申请实施例提供的控制设备的示意性结构图。如图11所示,控制设备1100可以包括处理模块1101和发送模块1102。该处理模块1101,用于确定配置指令,该配置指令用于为该网络设备配置单臂回声bfd会话。该发送模块1102,用于向虚拟局域网扩展方案vxlan隧道一端的网络设备发送配置指令。可选地,该配置指令至少为该网络设备指定vxlan隧道的两端、vxlan网络标识vni的信息和该网络设备的vbdif接口信息。其中,vxlan隧道的两端可以分别对应第一设备和第二设备,vni信息可以为第一设备和第二设备之间的隧道的标识,第一设备的vbdif接口信息可以为第一设备的vbdifip。图12是本申请另一实施例提供的网络设备的示意性结构图。图12中的网络设备1200可以对应于上文的第一设备。如图12所示,网络设备1200包括收发器1201、处理器1202、存储器1203。图12中仅示出了一个存储器和处理器。在实际的网络设备产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本申请实施例对此不做限制。收发器1201、处理器1202、存储器1203之间通过内部连接通路互相通信,传递控制和/或数据信号上述本发明实施例揭示的方法可以应用于处理器1202中,或者由处理器1202实现。处理器1202可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1202中的硬件的集成逻辑电路或者软件形式的指令完成。具体地,收发器1201,用于通过该网络设备1200和第二设备之间的虚拟局域网扩展方案vxlan隧道向该第二设备发送第一消息,该第一消息携带有效载荷和反馈指示信息,该反馈指示信息用于指示该第二设备将该有效载荷转发给该网络设备1200。处理器1202,用于根据收发器1201是否接收到由该第二设备发送的携带该有效载荷的第二消息,确定该网络设备1200和该第二设备之间的网络链路状态。可选地,收发器1201,还可以用于接收配置指令,所述配置指令用于为网络设备1200配置单臂回声bfd会话。网络设备1200的具体工作过程和有益效果可以参见图4所示实施例中的描述。图13是本申请另一实施例提供的控制设备的示意性结构图。如图13所示,控制设备1300可以包括收发器1301、处理器1302、存储器1303。图13中仅示出了一个存储器和处理器。在实际的网络设备产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本申请实施例对此不做限制。收发器1301、处理器1302、存储器1303之间通过内部连接通路互相通信,传递控制和/或数据信号上述本发明实施例揭示的方法可以应用于处理器1302中,或者由处理器1302实现。处理器1302可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1302中的硬件的集成逻辑电路或者软件形式的指令完成。具体地,处理器1302,用于确定配置指令,该配置指令用于为该网络设备配置单臂回声bfd会话。收发器1301,用于控制设备向虚拟局域网可扩展方案vxlan隧道一端的通信设备发送所述配置指令。控制设备1300的具体工作过程和有益效果可以参见图9所示实施例中的描述。本申请各实施例所述的收发器也可以称为收发单元、收发机、收发装置等。处理器也可以称为处理单元,处理单板,处理模块、处理装置等。可选的,可以将收发器中用于实现接收功能的器件视为接收单元,将收发器中用于实现发送功能的器件视为发送单元,即收发器包括接收单元和发送单元。接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。本申请各实施例所述的存储器用于存储处理器运行所需的计算机指令和参数。本申请各实施例所述的处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(randomaccessmemory,ram)、闪存、只读存储器(read-onlymemory,rom)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的指令,结合其硬件完成上述方法的步骤。在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digitalvideodisc,dvd))、或者半导体介质(例如固态硬盘(solidstatedisk,ssd))等。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1