EVPN隧道监控方法和装置与流程

文档序号:14612663发布日期:2018-06-05 21:13阅读:277来源:国知局
EVPN隧道监控方法和装置与流程

本发明涉及通信技术领域,特别是涉及一种EVPN隧道监控方法和装置。



背景技术:

以太网虚拟专用网络(Ethernet Virtual Private Network,EVPN)是一种二层虚拟专用网络(Virtual Private Network,VPN)技术。EVPN的控制平面采用多协议边界网关协议(Multiprotocol Border Gateway Protocol,MP-BGP)通告EVPN路由信息,数据平面采用虚拟扩展局域网(Virtual extensible Local Area Network,VxLAN)封装方式转发报文。用户的物理站点分散在不同位置时,EVPN可以基于已有的服务提供商或企业网络协议(Internet Protocol,IP)网络,为同一用户的相同子网提供二层网络互联;通过EVPN网关为同一用户的不同子网提供三层网络互联,并为其提供与外部网络的三层网络互联。

EVPN不仅继承了MP-BGP和VxLAN的优势,还提供了新的功能。EVPN分离了控制平面和数据平面,控制平面负责发布路由信息,数据平面负责转发报文,分工明确,易于管理。并且EVPN还可以通过MP-BGP实现VxLAN隧道终端(VxLAN Tunnel End Point,VTEP)自动发现、VxLAN隧道自动建立、VxLAN隧道与VxLAN自动关联,无需用户手动配置,降低了网络的部署难度。

但是由于EVPN的VxLAN隧道是由协议自动创建的,隧道创建对用户透明,用户只能看到隧道的正常和故障信息,但当隧道出现故障时,用户缺乏确定具体故障原因的手段,导致故障恢复效率较低。



技术实现要素:

本发明实施例的目的在于提供一种EVPN隧道监控方法和装置,提高对EVPN隧道的故障恢复效率。

本实施例具体技术方案如下:

为实现上述目的,本发明提供一种EVPN隧道监控方法,应用于EVPN中,该方法包括:

网络控制器获取第一EVPN隧道的状态信息,状态信息存储于第一EVPN隧道封装报文的第一保留字段中;

若第一EVPN隧道的状态信息为故障,网络控制器获取第一EVPN隧道的故障类型,故障类型存储于第一EVPN隧道封装报文的第二保留字段中,状态信息和故障类型是建立第一EVPN隧道封装报文的VTEP在封装第一EVPN隧道封装报文时检测的;

网络控制器向第一EVPN隧道所属用户发送第一EVPN隧道故障告警信息以及故障类型。

为实现上述目的,本发明还提供一种EVPN隧道监控装置,该装置包括:

获取模块,用于获取第一EVPN隧道的状态信息,状态信息存储于第一EVPN隧道封装报文的第一保留字段中;若第一EVPN隧道的状态信息为故障,获取第一EVPN隧道的故障类型,故障类型存储于第一EVPN隧道封装报文的第二保留字段中,状态信息和故障类型是建立第一EVPN隧道封装报文的VTEP在封装第一EVPN隧道封装报文时检测的;

发送模块,用于向第一EVPN隧道所属用户发送第一EVPN隧道故障告警信息以及故障类型。

本发明实施例提供的确定EVPN隧道故障的方法和装置,通过获取第一EVPN隧道的状态信息,当第一EVPN隧道的状态为故障时,进一步地获取第一EVPN隧道的故障类型并发送给第一EVPN隧道所属用户,使得用户能够准确获知EVPN隧道的故障类型,从而提高对EVPN隧道的故障恢复效率。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例提供的EVPN隧道监控方法实施例一的流程图;

图2为本发明实施例提供的EVPN隧道监控方法实施例二的流程图;

图3为本发明实施例提供的EVPN隧道监控装置实施例一的结构示意图;

图4为本发明实施例提供的EVPN隧道监控装置实施例二的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在EVPN中,支持VxLAN隧道自动建立,即网络中的各VTEP之间可以通过MP-BGP建立自动隧道,VTEP之间建立的自动隧道可以与多个VxLAN关联。但VTEP之间建立自动隧道的过程对用户是透明的,即用户无法获知隧道的相关参数,那么当隧道出现故障时,用户也仅能感知到隧道的故障,但无法获知隧道故障的具体原因。本发明实施例提供一种确定EVPN隧道故障的方法,在确定隧道故障的基础上,进一步地确定故障原因,以便进行故障诊断和修复。

图1为本发明实施例提供的EVPN隧道监控方法实施例一的流程图,如图1所示,本实施例提供的方法包括:

步骤S101,网络控制器获取第一EVPN隧道的状态信息,状态信息存储于第一EVPN隧道封装报文的第一保留字段中。

目前的EVPN中,且为了简化配置流程,可以根据MP-BGP实现VxLAN自动隧道的建立。而由于EVPN的控制平面与数据平面分离,用户仅能感知到隧道的正常(UP)和故障(DOWN)状态。基于这种情况,可以考虑在通过隧道传输的协议报文中增加用于标识隧道故障的信息,通过分析在隧道上传输的协议报文来判断隧道是否出现故障以及出现故障的原因。

在EVPN建立的自动隧道中,采用符合EVPN协议格式的隧道封装报文传输信息,该隧道封装报文由外部二层报文头、外部网络协议(Internet Protocol,IP)报文头、用户数据报文协议(User Datagram Protocol,UDP)报文头、VxLAN报文头、原始数据帧组成,其中外部二层报文头用于在网络中进行二层转发,外部IP报文头用于在网络中进行三层转发,UDP报文头用于进行符合UDP的报文转发,VxLAN报文头用于表示报文所在VxLAN的信息。其中,隧道封装报文的VxLAN报文中包括一个24bit大小的保留字段Resvered_1和一个16bit大小的保留字段Resvered_2。将16bit大小的保留字段Resvered_2称为第一保留字段,将24bit大小的保留字段Resvered_1称为第二保留字段。第一保留字段和第二保留字段就可以用于存储隧道的故障信息。

当EVPN的控制面感知到建立的第一EVPN隧道出现故障时,将进行故障的检查流程,并将检查出的故障类型记录到第一EVPN隧道封装报文的第二保留字段中,以及在第一EVPN隧道封装报文的第一字段中记录隧道故障标识。EVPN的控制面进行故障检查的过程是基于EVPN的相关协议自动执行的,在此不再详述。由于引起隧道出现故障的原因较多,例如VxLAN标识不匹配、VPN目标(VPN Target,VT)不匹配、下一跳不可达等信息,都可能导致隧道出现故障,因此可以为不同的故障原因设置相应的故障代码,例如00表示VxLAN标识不匹配;01表示下一跳不可达;10表示VT不匹配;11表示其它故障。其中,VxLAN标识不匹配表示第一EVPN隧道封装报文中的VxLAN标识与报文所在VxLAN不匹配,下一跳不可达表示第一EVPN隧道封装报文无法到达下一个路由节点,VT为BGP扩展团体属性,用来控制VPN路由信息的发布,VT不匹配表示VT信息与VxLAN不匹配。在确定了隧道的故障原因后,将其对应的故障代码记录到第一EVPN隧道封装报文的第二保留字段中。并且,在第一EVPN隧道封装报文的第一保留字段中记录用于表示隧道故障的状态信息,例如状态信息为“FD”。

状态信息和故障类型是建立第一EVPN隧道封装报文的VTEP在封装第一EVPN隧道封装报文时检测的,在建立第一EVPN隧道封装报文时,若第一EVPN隧道已经发生故障,那么建立第一EVPN隧道封装报文的VTEP能够感知到第一EVPN隧道的故障,例如若VTEP发送的上一个EVPN隧道封装报文没有收到回应,可能意味着下一跳不可达,从而第一EVPN可以确定故障为下一跳不可达。

那么,EVPN的控制面可以通过控制管理通道将包括故障信息的第一EVPN隧道封装报文上报至网络控制器。网络控制器在获取到上报的第一EVPN隧道封装报文后,即可检查其中的第一保留字段中存储的信息,获取第一EVPN隧道的状态信息。当然,网络控制器还可以周期性地或定时地扫描第一EVPN隧道中传输的第一EVPN隧道封装报文,并检查其中的第一保留字段中存储的信息,从而获取第一EVPN隧道的状态信息。

需要说明的是,第一EVPN隧道的状态信息和故障类型的存储位置还可以互换,或者存储于第一EVPN隧道封装报文的其他指定位置。

步骤S102,若第一EVPN隧道的状态信息为故障,网络控制器获取第一EVPN隧道的故障类型,故障类型存储于第一EVPN隧道封装报文的第二保留字段中。

如果网络控制器从第一EVPN隧道封装报文中获取到的状态信息为故障,那么,进一步的,网络控制器再从第一EVPN隧道封装报文中获取第一EVPN隧道的故障类型。即网络控制器从第一EVPN隧道封装报文中的第二保留字段中读取存储的故障代码,通过比较故障代码表,获取第一EVPN隧道的故障类型。

步骤S103,网络控制器向第一EVPN隧道所属用户发送第一EVPN隧道故障告警信息以及故障类型。

在获取到第一EVPN隧道的状态信息为故障,并获取到故障类型后,网络控制器即可向第一EVPN隧道所属的用户发送第一EVPN隧道故障的告警信息以及故障类型。第一EVPN隧道所属用户是能够通过第一EVPN隧道进行报文传输的用户,也可以是具有对第一EVPN隧道进行管理权限的用户。当第一EVPN所属用户获取第一EVPN隧道故障的告警信息以及故障类型后,即可根据故障类型对第一EVPN的隧道故障进行诊断和恢复,由于确定了故障类型,对故障进行恢复所需的效率将大大提高。

本发明实施例提供的确定EVPN隧道故障的方法,通过获取第一EVPN隧道的状态信息,当第一EVPN隧道的状态为故障时,进一步地获取第一EVPN隧道的故障类型并发送给第一EVPN隧道所属用户,使得用户能够准确获知EVPN隧道的故障类型,从而提高对EVPN隧道的故障恢复效率。

进一步地,由于EVPN的网络规模很大时,网络中的隧道数量众多,在众多的隧道中,定位故障隧道的位置以及相关设备,目前仅能通过隧道的源端IPv4地址(Source IPv4 Address,SIP)和目的端IPv4地址(Destination IPv4Address,DIP)定位隧道位置。但通过SIP和DIP定位隧道位置的效率较低。因此,还可以在第一EVPN隧道封装报文中存储建立第一EVPN隧道的VTEP的信息,建立第一EVPN隧道的VTEP的信息同样可以存储于第二保留字段中。当网络控制器确定第一EVPN隧道的状态信息为故障,网络控制器还可以进一步地获取第一EVPN隧道的位置信息,并将第一EVPN隧道的故障类型和位置信息同时发送给第一EVPN隧道所属用户。根据建立第一EVPN隧道的VTEP的信息可以迅速、准确地定位第一EVPN隧道的位置,提高了对故障隧道的定位效率。建立第一EVPN隧道的VTEP的信息可以为该VTEP的标识、描述信息等。

EVPN建立的自动隧道能够承载多个VxLAN的转发需求,而由于数据面和控制面分离,用户无法获知EVPN建立的自动隧道的相关参数,那么用户也无法对自动隧道的流量进行监控和控制。本发明实施例还提供一种能够对EVPN隧道进行监控和控制的方法。

当网络控制器获取第一EVPN隧道的状态信息后,确定第一EVPN隧道的状态信息为正常时,那么网络控制器可以通过第一EVPN隧道的MQC接口获取基于第一EVPN隧道的每个VxLAN的流量。模块化QoS(Modular QoS,MQC)是一种获取服务质量(Quality of Service,QoS)的方法。在EVPN中,引入MQC命令行接口后,可以通过MQC命令行接口匹配各VxLAN标识和EVPN隧道标识,从而通过MQC接口读取到各EVPN隧道承载的每个VxLAN的流量。对于第一EVPN隧道,第一EVPN隧道的MQC接口匹配基于第一EVPN隧道的每个VxLAN的标识和第一EVPN隧道标识。网络控制器可以周期性地或定时通过MQC接口读取第一EVPN隧道的MQC报文,并绘制基于第一EVPN隧道的每个VxLAN标识的流量模型图,便于用户查看。用户可以根据第一EVPN隧道的每个VxLAN的流量情况,了解隧道负载,并采用相应策略调整流量。

进一步的,用户还可以通过MQC接口对第一EVPN隧道的各VxLAN的流量进行控制。用户可以向网络控制器发送控制指令,网络控制器即可通过第一EVPN隧道的MQC接口,对第一EVPN隧道的标识对应的各VxLAN的流量进行调整,包括调整各VxLAN的流量优先级,或者调整各VxLAN的最高限速或最低限速等。这样就实现了对EVPN隧道的流量监控和调整。

图2为本发明实施例提供的EVPN隧道监控方法实施例二的流程图,如图2所示,本实施例提供的方法包括:

步骤S201,收到EVPN隧道封装报文。

本实施例提供对EVPN隧道监控的整体流程图,其中,对于网络控制器,通过定时检查,或周期性检查获取EVPN隧道封装报文,或者网络控制器接收EVPN隧道主动发送的EVPN隧道封装报文。

步骤S202,检查EVPN隧道封装报文的状态信息。

当网络控制器接收到EVPN隧道封装报文后,检查其中存储的状态信息。例如在EVPN隧道封装报文的第一保留字段中,即“Reserved_2”字段中检查状态信息。若发现其中存储的状态信息为故障,例如“FD”标识故障状态,检查发现“FD”状态置位,那么网络控制器确定EVPN隧道故障,将执行步骤S203,否则执行步骤S205。

步骤S203,获取EVPN隧道的故障类型。

在确定EVPN隧道出现故障后,网络控制器再次在EVPN隧道封装报文中获取EVPN隧道的故障状态。网络控制器通过解析EVPN隧道封装报文,在EVPN封装报文的第二保留字段中,即“Reserved_1”字段中检查故障类型。通过匹配故障类型代码和故障类型对照表,确定EVPN隧道的故障类型。

步骤S204,根据故障类型进行告警。

网络控制器在获取到故障类型后,即可进行告警,使用户获知EVPN隧道的故障类型,使得用户可以准确获知隧道的故障原因,便于故障恢复。进一步的,网络控制器还可以获取故障的EVPN隧道的位置信息,然后网络控制器可以将故障EVPN隧道的位置信息也发送同时发送给客户,进一步地提高故障恢复的效率。

步骤S205,MQC配置VxLAN标识、隧道标识下发到新增EVPN隧道接口。

若网络控制器确定EVPN隧道的状态为正常,且EVPN隧道为新增的EVPN隧道,那么可以通过MQC为EVPN隧道配置VxLAN标识、隧道标识,并下发到新增的EVPN隧道。

步骤S206,定时查询EVPN隧道MQC接口,绘制不同VxLAN的流量模型。

为EVPN隧道通过MQC配置了VxLAN标识、隧道标识后,网络控制器可以周期性地或定时查看EVPN隧道的MQC接口,根据获取到的MQC报文,获取EVPN隧道上承载的各VxLAN的流量信息,从而绘制每个EVPN隧道上不同VxLAN的流量模型。用户即可通过网络控制器查看各EVPN隧道的VxLAN流量模型,进一步的,还可以通过MQC接口调整EVPN隧道上各VxLAN的流量优先级、流量速度等信息。实现对EVPN隧道流量的监控和控制。

图3为本发明实施例提供的EVPN隧道监控装置实施例一的结构示意图,如图3所示,本实施例提供的EVPN隧道监控装置包括:

获取模块31,用于获取第一EVPN隧道的状态信息,状态信息存储于第一EVPN隧道封装报文的第一保留字段中;若第一EVPN隧道的状态信息为故障,获取第一EVPN隧道的故障类型,故障类型存储于第一EVPN隧道封装报文的第二保留字段中,状态信息和故障类型是建立第一EVPN隧道封装报文的VTEP在封装第一EVPN隧道封装报文时检测的。

发送模块32,用于向第一EVPN隧道所属用户发送第一EVPN隧道故障告警信息以及故障类型。

本实施例提供的EVPN隧道监控装置用于实现图1所示EVPN隧道监控方法的技术方案,其实现原理和技术效果类似,此处不再赘述。

进一步的,在图3所示实施例中,获取模块31,具体用于定时扫描第一EVPN隧道封装报文的第一保留字段,获取第一保留字段中存储的第一EVPN隧道的状态信息。

进一步的,在图3所示实施例中,若第一EVPN隧道的状态信息为故障,获取模块31,还用于获取第一EVPN隧道的位置信息,位置信息存储于第一EVPN隧道封装报文的第二保留字段中,位置信息包括建立第一EVPN隧道的VTEP的信息;发送模块32,具体用于向第一EVPN隧道所属用户发送故障类型和位置信息。

进一步的,在图3所示实施例中,若第一EVPN隧道的状态信息为正常,获取模块31,还用于通过第一EVPN隧道的MQC接口获取基于第一EVPN隧道的每个VxLAN的流量,第一EVPN隧道的MQC接口匹配基于第一EVPN隧道的每个VxLAN的标识和第一EVPN隧道标识。

图4为本发明实施例提供的EVPN隧道监控装置实施例二的结构示意图,如图4所示,本实施例提供的EVPN隧道监控装置在图3的基础上,还包括:

控制模块33,用于根据用户发送的控制指令,通过第一EVPN隧道的MQC接口,对基于第一EVPN隧道的每个VxLAN的流量进行控制,控制指令包括调整流量优先级或调整速度。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

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