CN106878072B - 一种报文传输方法和装置 - Google Patents

一种报文传输方法和装置 Download PDF

Info

Publication number
CN106878072B
CN106878072B CN201710074204.3A CN201710074204A CN106878072B CN 106878072 B CN106878072 B CN 106878072B CN 201710074204 A CN201710074204 A CN 201710074204A CN 106878072 B CN106878072 B CN 106878072B
Authority
CN
China
Prior art keywords
tunnel
address information
message
state
local
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
Application number
CN201710074204.3A
Other languages
English (en)
Other versions
CN106878072A (zh
Inventor
黄李伟
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201710074204.3A priority Critical patent/CN106878072B/zh
Publication of CN106878072A publication Critical patent/CN106878072A/zh
Application granted granted Critical
Publication of CN106878072B publication Critical patent/CN106878072B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种报文传输方法和装置,该方法包括:建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道;当所述第一隧道发生故障时,将所述第一隧道的状态切换为第一状态;在需要通过所述第一隧道发送报文时,若查询到所述第一隧道的状态为所述第一状态,则通过所述第一隧道对应的第二隧道发送所述报文。通过本申请的技术方案,当BGP邻居出现震荡时,本端设备不会立刻删除第一隧道,并使用第二隧道替代第一隧道来进行报文转发。这样,当BGP邻居恢复后,可以重新通过第一隧道发送报文,而不用重新建立第一隧道,可以避免第一隧道的反复建立和删除,节约本端设备的资源,并可以避免业务中断等问题。

Description

一种报文传输方法和装置
技术领域
本申请涉及通信技术领域,尤其涉及一种报文传输方法和装置。
背景技术
VXLAN(Virtual eXtensible Local Area Network,可扩展虚拟局域网络)是基于IP网络、采用“MAC(Media Access Control,媒体访问控制)in UDP(User DatagramProtocol,用户数据报协议)”封装形式的二层VPN(Virtual Private Network,虚拟专用网络)技术。VXLAN可以基于已有的服务提供商或者企业IP网络,为分散的站点提供二层互联,并能够为不同的租户提供业务隔离。
EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)是二层VPN技术,控制平面采用BGP(Border Gateway Protocol,边界网关协议)通告路由信息,数据平面采用VXLAN封装方式转发报文。EVPN的优势在于:简化配置:通过BGP实现VTEP(VXLANTunnel End Point,VXLAN隧道端点)设备的自动发现、VXLAN隧道的自动建立,无需用户手工配置,降低网络部署难度。分离控制平面与数据平面:控制平面负责发布路由信息,数据平面负责转发报文。
如图1所示,为EVPN的组网示意图,VTEP设备1通过BGP来自动发现BGP邻居,并自动建立VXLAN隧道。具体的,VTEP设备1在接收到来自VTEP设备2的BGP报文(如Open(打开)报文)后,建立VTEP设备1与VTEP设备2的邻居关系,并在VTEP设备1与VTEP设备2之间建立VXLAN隧道。
如果BGP邻居出现震荡,VTEP设备1会删除VXLAN隧道。待BGP邻居恢复后,VTEP设备1会重新建立该VXLAN隧道,以此类推。VXLAN隧道的反复建立和删除,浪费了VTEP设备1的大量资源,而且在VXLAN隧道被删除时,还会导致VTEP设备1无法基于VXLAN隧道转发报文,导致业务中断。
发明内容
本申请提供一种报文传输方法,应用于以太网虚拟专用网络EVPN的本端设备,所述方法包括:
建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道;
当所述第一隧道发生故障时,将所述第一隧道的状态切换为第一状态;
在需要通过所述第一隧道发送报文时,若查询到所述第一隧道的状态为所述第一状态,则通过所述第一隧道对应的第二隧道发送所述报文。
本申请提供一种报文传输装置,应用于以太网虚拟专用网络EVPN的本端设备,所述装置包括:
建立模块,用于建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道;
处理模块,用于当所述第一隧道发生故障时,将所述第一隧道的状态切换为第一状态;
发送模块,用于在需要通过所述第一隧道发送报文时,若查询到所述第一隧道的状态为第一状态,则通过所述第一隧道对应的第二隧道发送所述报文。
基于上述技术方案,本申请实施例中,针对本端设备与对端设备之间建立的第一隧道(如VXLAN隧道),通过建立与该第一隧道对应的第二隧道(如VXLAN隧道),当BGP邻居出现震荡时,本端设备不会立刻删除第一隧道,只是不再通过第一隧道发送报文,而是通过第一隧道对应的第二隧道发送报文,从而使用第二隧道替代第一隧道来进行报文转发。这样当BGP邻居恢复后,可以重新通过第一隧道发送报文,不用重新建立第一隧道,可以避免第一隧道的反复建立和删除,节约本端设备的资源,并可以避免业务中断等问题。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是EVPN的组网示意图;
图2是本申请一种实施方式中的报文传输方法的流程图;
图3是本申请一种实施方式中的应用场景示意图;
图4是本申请一种实施方式中的本端设备的硬件结构图;
图5是本申请一种实施方式中的报文传输装置的结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种报文传输方法,该方法可以应用于包括本端设备和对端设备的网络中,该网络可以为EVPN。在EVPN中,控制平面采用BGP通告路由信息,数据平面采用VXLAN封装方式转发报文。而且,本端设备和对端设备均可以为VTEP设备,本端设备和对端设备是相对的,例如,VTEP设备1和VTEP设备2建立BGP邻居关系后,VTEP设备1是本端设备,VTEP设备2是对端设备,或者,VTEP设备2是本端设备,VTEP设备1是对端设备。
在上述应用场景下,参见图2所示,为本申请实施例中提出的报文传输方法的流程图,该方法可以应用于EVPN的本端设备,该方法可以包括以下步骤:
步骤201,建立本端设备与对端设备之间的第一隧道、该第一隧道对应的第二隧道。其中,该第一隧道和该第二隧道均可以包括但不限于VXLAN隧道,而且,该第一隧道可以为主隧道,该第二隧道可以为主隧道对应的备份隧道。
在一个例子中,该第一隧道的地址信息可以包括源地址信息和目的地址信息。该第二隧道的地址信息可以包括源地址信息和目的地址信息。其中,该源地址信息可以包括源IP地址和源MAC(Media Access Control,介质访问控制)地址,该目的地址信息可以包括目的IP地址和目的MAC地址。
在一个例子中,针对“建立本端设备与对端设备之间的第一隧道、该第一隧道对应的第二隧道”的过程,可以包括但不限于:方式一、获取本端设备的一个地址信息和对端设备的一个地址信息,并将本端设备的一个地址信息确定为该第一隧道和该第二隧道的源地址信息,并将对端设备的一个地址信息确定为该第一隧道和该第二隧道的目的地址信息。方式二、获取本端设备的N个地址信息和对端设备的N个地址信息,并从本端设备的N个地址信息中选取一个地址信息确定为该第一隧道的源地址信息,并将本端设备的剩余地址信息(即本端设备剩余的N-1个地址信息)确定为该第二隧道的源地址信息;以及,从对端设备的N个地址信息中选取一个地址信息确定为该第一隧道的目的地址信息,并将对端设备的剩余地址信息(即对端设备剩余的N-1个地址信息)确定为该第二隧道的目的地址信息。
其中,N为大于等于2的正整数。例如,当N为2时,则剩余地址信息的数量为1,即第二隧道的数量为1,当N为3时,则剩余地址信息的数量为2,即第二隧道的数量为2,以此类推,后续以N的取值为2为例进行说明。
针对方式一,第二隧道的源地址信息与第一隧道的源地址信息相同,第二隧道的目的地址信息与第一隧道的目的地址信息相同。
针对方式二,第二隧道的源地址信息与第一隧道的源地址信息不同,第二隧道的目的地址信息与第一隧道的目的地址信息不同。
针对方式二,在一个例子中,当本端设备配置有多个地址信息时,则本端设备可以直接获取本端设备的N个地址信息。当对端设备配置有多个地址信息时,则本端设备获取对端设备的N个地址信息的过程,可以包括但不限于:
情况1、在本端设备下发携带对端设备的N个地址信息的配置命令,以使本端设备根据该配置命令获取到对端设备的N个地址信息。
情况2、对端设备在向本端设备发送用于建立BGP邻居的BGP报文时,在该BGP报文中添加对端设备的N个地址信息,而本端设备在接收到来自对端设备的BGP报文后,可以从该BGP报文中解析出对端设备的N个地址信息。
情况3、对端设备在向本端设备发送用于建立BGP邻居的BGP报文时,在BGP报文中添加对端设备的一个地址信息,本端设备在接收到来自对端设备的BGP报文后,从BGP报文中解析出对端设备的一个地址信息,根据对端设备的一个地址信息建立第一隧道(参见方式二建立第一隧道的过程)。而且,对端设备也会建立第一隧道,在对端设备建立第一隧道后,向本端设备发送携带对端设备的另(N-1)个地址信息通知报文(可以为BGP类型的报文,或其它类型的报文,对此报文类型不做限制)。本端设备在接收到来自对端设备的通知报文后,从该通知报文中解析出对端设备的另(N-1)个地址信息,根据对端设备的另(N-1)个地址信息建立第二隧道(参见方式二中建立第二隧道的过程)。
其中,上述用于建立BGP邻居的BGP报文可以为BGP打开报文。
步骤202,当第一隧道发生故障时,将第一隧道的状态切换为第一状态。
在一个例子中,当本端设备与对端设备建立BGP邻居后,会建立本端设备与对端设备之间的第一隧道,如果BGP邻居出现震荡,则第一隧道发生故障。其中,BGP邻居出现震荡是指:当本端设备与对端设备建立BGP邻居后,本端设备会通过第一隧道周期性的向对端设备发送BGP保活(Keepalive)报文,对端设备也会通过第一隧道周期性的向本端设备发送BGP保活报文,若本端设备在预设第一时间内未通过第一隧道接收到对端设备发送的BGP保活报文,则确定BGP邻居出现震荡,继而确定第一隧道发生故障(即DOWN)。
在一个例子中,第一隧道的初始状态可以为第二状态(UP状态),当第一隧道发生故障时,并不是立刻删除第一隧道,而是先将第一隧道的状态切换为第一状态(DOWN状态)。当第一隧道为第二状态时,表示允许通过第一隧道发送报文;当第一隧道为第一状态时,表示不允许通过第一隧道发送报文。
步骤203,在需要通过第一隧道发送报文时,若查询到第一隧道的状态为第一状态,则通过该第一隧道对应的第二隧道发送该报文。若查询到第一隧道的状态为第二状态,则通过该第一隧道发送该报文。其中,在需要通过第一隧道发送报文时,并不是直接通过该第一隧道发送报文,而是先查询第一隧道的状态。若第一隧道的状态为第一状态,则表示不允许通过第一隧道发送报文,因此通过该第一隧道对应的第二隧道发送报文。若第一隧道的状态为第二状态,则表示允许通过第一隧道发送报文,因此通过该第一隧道发送报文。
在一个例子中,在“利用该第一隧道的地址信息建立该第一隧道对应的第二隧道”之后,还可以维护第一隧道与第二隧道的绑定关系。而针对“通过该第一隧道对应的第二隧道发送该报文”的过程,可以包括:利用该绑定关系查询到与该第一隧道对应的第二隧道,并通过查询到的第二隧道发送该报文。
在一个例子中,在“将该第一隧道的状态切换为第一状态”之后,本端设备还可以为该第一隧道设置老化定时器,该老化定时器的老化时间可以根据经验进行配置,如3分钟等。基于此,在老化定时器超时时,若该第一隧道仍然没有故障恢复,则可以删除该第一隧道以及该第一隧道对应的第二隧道。而在老化定时器超时之前,若该第一隧道故障恢复,则可以将该第一隧道的状态切换为第二状态,并删除该老化定时器;这样,在需要通过第一隧道发送报文时,若查询到第一隧道的状态为第二状态,则表示允许通过第一隧道发送报文,即可以通过第一隧道发送报文,而不再通过第二隧道发送报文。
其中,第一隧道发生故障后,若BGP邻居恢复,则第一隧道故障恢复。BGP邻居恢复是指:当本端设备与对端设备建立BGP邻居后,本端设备通过第一隧道周期性向对端设备发送BGP保活报文,对端设备也通过第一隧道周期性向本端设备发送BGP保活报文,若本端设备在预设第二时间(预设第二时间与预设第一时间可以相同或不同)内,通过第一隧道接收到对端设备发送的BGP保活报文,则确定BGP邻居恢复,继而确定第一隧道故障恢复。
基于上述技术方案,本申请实施例中,针对本端设备与对端设备之间建立的第一隧道(如VXLAN隧道),通过建立与该第一隧道对应的第二隧道(如VXLAN隧道),当BGP邻居出现震荡时,本端设备不会立刻删除第一隧道,只是不再通过第一隧道发送报文,而是通过第一隧道对应的第二隧道发送报文,从而使用第二隧道替代第一隧道来进行报文转发。这样当BGP邻居恢复后,可以重新通过第一隧道发送报文,不用重新建立第一隧道,可以避免第一隧道的反复建立和删除,节约本端设备的资源,并可以避免业务中断等问题。
以下结合图3所示的应用场景,对本申请实施例的上述方案进行说明。
本应用场景下,以EVPN为例进行说明,控制平面采用BGP(如MP-BGP)通告路由信息,数据平面采用VXLAN封装方式转发报文。VTEP设备1和VTEP设备2可以建立BGP邻居关系(也可以称为EVPN邻居关系),VTEP设备1是本端设备,VTEP设备2是对端设备,或者,VTEP设备2是本端设备,VTEP设备1是对端设备。本应用场景下,VTEP设备1的处理过程与VTEP设备2的处理过程相同,为了方便描述,后续以VTEP设备1的处理为例。
在上述应用场景下,本申请实施例中提出的报文传输方法可以包括:
步骤1,VTEP设备1在接收到VTEP设备2发送的BGP打开报文(如Open报文等)之后,建立VTEP设备1与VTEP设备2的BGP邻居关系。
步骤2,VTEP设备1在建立BGP邻居关系后,自动建立VXLAN隧道,该VXLAN隧道是VTEP设备1与VTEP设备2之间的VXLAN隧道。
在一个例子中,VTEP设备2发送的BGP打开报文中还可以携带VXLAN隧道参数(如VXLAN ID、VTEP设备2的地址信息(如一个地址信息或者N个地址信息)等参数,对此VXLAN隧道参数不做限制),基于此VXLAN隧道参数,VTEP设备1可以自动建立VTEP设备1与VTEP设备2之间的VXLAN隧道,后续过程以VXLAN隧道0为例进行说明。
步骤3,VTEP设备1在建立VXLAN隧道0后,利用VXLAN隧道0的地址信息建立该VXLAN隧道0对应的备份隧道,或者,VTEP设备1利用VTEP设备2的两个地址信息分别建立VXLAN隧道0、以及VXLAN隧道0对应的备份隧道。为例方便描述,后续以该备份隧道为VXLAN隧道1为例。
其中,VXLAN隧道1的地址信息可以与VXLAN隧道0的地址信息相同,或VXLAN隧道1的地址信息可以与VXLAN隧道0的地址信息不同。在后续过程中,以VXLAN隧道1的地址信息可以与VXLAN隧道0的地址信息相同为例进行说明,即利用VXLAN隧道0的地址信息建立VXLAN隧道1。
其中,可以采用静态配置或者动态生成等方式建立VXLAN隧道1,后续以动态生成VXLAN隧道1为例进行说明。具体的,VTEP设备1在建立VXLAN隧道0之后,可以解析出VXLAN隧道0的源IP地址、源MAC地址、目的IP地址、目的MAC地址,并将VXLAN隧道0的源IP地址确定为VXLAN隧道1的源IP地址,将VXLAN隧道0的源MAC地址确定为VXLAN隧道1的源MAC地址,将VXLAN隧道0的目的IP地址确定为VXLAN隧道1的目的IP地址,将VXLAN隧道0的目的MAC地址确定为VXLAN隧道1的目的MAC地址。综上所述,VXLAN隧道0的源IP地址与VXLAN隧道1的源IP地址相同,VXLAN隧道0的源MAC地址与VXLAN隧道1的源MAC地址相同,VXLAN隧道0的目的IP地址与VXLAN隧道1的目的IP地址相同,VXLAN隧道0的目的MAC地址与VXLAN隧道1的目的MAC地址相同。
当然,在建立VXLAN隧道0对应的VXLAN隧道1时,并不局限于上述操作,还可以执行其它操作,例如,可以将VXLAN隧道0的VXLAN ID确定为VXLAN隧道1的VXLAN ID,即二者的VXLAN ID可以相同,对此不做限制,只要保证VXLAN隧道1与VXLAN隧道0相同即可。
步骤4,VTEP设备1维护VXLAN隧道0与VXLAN隧道1的绑定关系。
步骤5,VTEP设备1在建立VXLAN隧道0后,如果BGP邻居出现震荡,则确定VXLAN隧道0发生故障(即VXLAN隧道0已经DOWN)。
其中,BGP邻居出现震荡是指:当VTEP设备1与VTEP设备2建立BGP邻居后,VTEP设备1会通过VXLAN隧道0周期性的向VTEP设备2发送BGP保活报文,VTEP设备2也通过VXLAN隧道0周期性的向VTEP设备1发送BGP保活报文。基于此,若VTEP设备1在预设第一时间内,未通过VXLAN隧道0接收到VTEP设备2发送的BGP保活报文,则确定BGP邻居出现震荡。
步骤6,VTEP设备1将VXLAN隧道0的状态切换为DOWN状态。
在一个例子中,VXLAN隧道0的初始状态可以为UP状态,当VXLAN隧道0发生故障时,VTEP设备1并不是直接删除VXLAN隧道0,而是先将VXLAN隧道0的状态切换为DOWN状态。其中,当VXLAN隧道0的状态为UP状态时,则表示允许通过VXLAN隧道0发送报文;当VXLAN隧道0的状态为DOWN状态时,则表示不允许通过VXLAN隧道0发送报文。
步骤7,VTEP设备1为VXLAN隧道0设置一个老化定时器。其中,该老化定时器的老化时间可以根据实际经验进行配置,如可以为3分钟等。
步骤8,在老化定时器超时时,若VXLAN隧道0仍然没有故障恢复,则VTEP设备1删除VXLAN隧道0和VXLAN隧道0对应的备份隧道(即VXLAN隧道1)。在老化定时器超时之前,若VXLAN隧道0已经故障恢复,则VTEP设备1将VXLAN隧道0的状态切换为UP状态,并删除该老化定时器。
在一个例子中,在VXLAN隧道0发生故障后,若BGP邻居恢复,则说明VXLAN隧道0已经故障恢复(即VXLAN隧道0已经UP)。其中,BGP邻居恢复是指:当VTEP设备1与VTEP设备2建立BGP邻居后,VTEP设备1会通过VXLAN隧道0周期性的向VTEP设备2发送BGP保活报文,VTEP设备2也会通过VXLAN隧道0周期性的向VTEP设备1发送BGP保活报文。基于此,若VTEP设备1在预设第二时间(预设第二时间与预设第一时间可以相同或者不同)内,通过VXLAN隧道0接收到VTEP设备2发送的BGP保活报文,则确定BGP邻居恢复,继而可以确定VXLAN隧道0已经故障恢复。
在一个例子中,在老化定时器超时时,若VXLAN隧道0仍然没有故障恢复,则说明VTEP设备1与VTEP设备2之间的VXLAN隧道0,真的已经发生链路故障,而不是VTEP设备1与VTEP设备2之间的报文拥塞导致的,因此,VTEP设备1删除VXLAN隧道0和VXLAN隧道0对应的备份隧道。
在一个例子中,针对“删除VXLAN隧道0对应的备份隧道”的过程,基于VXLAN隧道0与VXLAN隧道1的绑定关系,可以查询到该VXLAN隧道0对应的备份隧道为VXLAN隧道1,因此VTEP设备1删除VXLAN隧道1。
在一个例子中,在老化定时器超时之前,若VXLAN隧道0已经故障恢复,则说明VTEP设备1与VTEP设备2之间的VXLAN隧道0的故障,是VTEP设备1与VTEP设备2之间的报文拥塞导致的,因此,VTEP设备1恢复VXLAN隧道0,将VXLAN隧道0的状态切换为UP状态,删除老化定时器。
其中,“VTEP设备1与VTEP设备2之间的报文拥塞导致”是指:当VTEP设备2通过VXLAN隧道0向VTEP设备1发送的报文较多时,可能会发生报文拥塞,继而使得BGP保活报文无法及时发送给VTEP设备1,VTEP设备1检测到的BGP邻居出现震荡,可能是这种情况引起的。基于此,本实施例中可以不用删除VXLAN隧道0,避免VXLAN隧道的反复建立和删除。
基于上述处理,本申请实施例提出的报文传输过程还可以包括以下步骤:
步骤9,在需要通过VXLAN隧道0发送报文时,VTEP设备1查询VXLAN隧道0的状态。若为DOWN状态,执行步骤10;若为UP状态,执行步骤11。
步骤10,VTEP设备1可以利用上述绑定关系查询到与VXLAN隧道0对应的VXLAN隧道1,并通过查询到的VXLAN隧道1发送该报文。
步骤11,VTEP设备1可以直接通过VXLAN隧道0发送该报文。
在一个例子中,在需要通过VXLAN隧道0发送报文时,VTEP设备1并不是直接通过VXLAN隧道0发送该报文,而是先查询VXLAN隧道0的状态。若VXLAN隧道0的状态为DOWN状态,则表示不允许通过VXLAN隧道0发送报文,因此,VTEP设备1通过VXLAN隧道0对应的VXLAN隧道1发送该报文。若VXLAN隧道0的状态为UP状态,则表示允许通过VXLAN隧道0发送报文,因此VTEP设备1可以直接通过VXLAN隧道0发送该报文。
在一个例子中,针对VTEP设备1通过VXLAN隧道0/VXLAN隧道1发送报文的过程,VTEP设备1可以基于VXLAN隧道0/VXLAN隧道1,为该报文封装VXLAN头、UDP(User DatagramProtocol,用户数据报协议)头和IP头等内容,对此封装过程不再详加赘述。之后,VTEP设备1可以通过VXLAN隧道0/VXLAN隧道1将报文发送给VTEP设备2,对此不再赘述。
基于上述技术方案,本申请实施例中,针对本端设备与对端设备之间建立的VXLAN隧道,通过建立与该VXLAN隧道对应的备份隧道,当BGP邻居出现震荡时,本端设备不会立刻删除VXLAN隧道,只是不再通过VXLAN隧道发送报文,而是通过该VXLAN隧道对应的备份隧道发送报文,从而使用备份隧道替代VXLAN隧道来进行报文转发。这样,当BGP邻居恢复后,可以重新通过VXLAN隧道发送报,而不用重新建立VXLAN隧道,可以避免VXLAN隧道的反复建立和删除,节约本端设备的资源,并可以避免业务中断等问题。
基于与上述方法同样的申请构思,本申请实施例中还提供了一种报文传输装置,该报文传输装置应用在EVPN的本端设备。该报文传输装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的本端设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为本申请提出的报文传输装置所在的本端设备的一种硬件结构图,除了图4所示的处理器、非易失性存储器外,本端设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该本端设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图5所示,为本申请提出的报文传输装置的结构图,所述装置包括:
建立模块11,用于建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道;
处理模块12,用于当所述第一隧道发生故障时,将所述第一隧道的状态切换为第一状态;
发送模块13,用于在需要通过所述第一隧道发送报文时,若查询到所述第一隧道的状态为第一状态,则通过所述第一隧道对应的第二隧道发送所述报文。
在一个例子中,所述第一隧道和所述第二隧道均包括可扩展虚拟局域网络VXLAN隧道;所述建立模块11,具体用于在建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道的过程中,获取所述本端设备的一个地址信息和所述对端设备的一个地址信息,将所述本端设备的一个地址信息确定为所述第一隧道和所述第二隧道的源地址信息,并将所述对端设备的一个地址信息确定为所述第一隧道和所述第二隧道的目的地址信息;或者,
获取本端设备的N个地址信息和对端设备的N个地址信息,从本端设备的N个地址信息中选取一个地址信息确定为第一隧道的源地址信息,将本端设备的剩余地址信息确定为第二隧道的源地址信息;从对端设备的N个地址信息中选取一个地址信息确定为第一隧道的目的地址信息,将对端设备的剩余地址信息确定为第二隧道的目的地址信息;
其中,所述N为大于等于2的正整数。
在一个例子中,所述建立模块11,具体用于在获取对端设备的N个地址信息的过程中,接收来自对端设备的用于建立边界网关协议BGP邻居的BGP报文,并从所述BGP报文中解析出所述对端设备的N个地址信息。
在一个例子中,所述处理模块12,还用于在所述建立模块11建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道之后,维护所述第一隧道与所述第二隧道的绑定关系;所述发送模块13,具体用于在通过所述第一隧道对应的第二隧道发送所述报文的过程中,利用所述绑定关系查询到与所述第一隧道对应的第二隧道,并通过查询到的第二隧道发送所述报文。
所述处理模块12,还用于在将所述第一隧道的状态切换为第一状态之后,为所述第一隧道设置老化定时器;在所述老化定时器超时时,删除所述第一隧道和所述第二隧道;在所述老化定时器超时之前,若所述第一隧道故障恢复,则将所述第一隧道的状态切换为第二状态,并删除所述老化定时器;
所述发送模块13,还用于在需要通过所述第一隧道发送报文时,若查询到所述第一隧道的状态为第二状态,通过所述第一隧道发送所述报文。
所述处理模块12,还用于若在预设第一时间内,未通过所述第一隧道接收到所述对端设备发送的BGP保活报文,则确定所述第一隧道发生故障;
在所述第一隧道发生故障之后,若在预设第二时间内,通过所述第一隧道接收到所述对端设备发送的BGP保活报文,则确定所述第一隧道故障恢复。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本申请可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种报文传输方法,应用于以太网虚拟专用网络EVPN的本端设备,其特征在于,所述方法包括:
建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道;其中,所述第二隧道是本端设备与对端设备之间的第二隧道;
当所述第一隧道发生故障时,将所述第一隧道的状态切换为第一状态;
在需要通过所述第一隧道发送报文时,若查询到所述第一隧道的状态为所述第一状态,则通过所述第一隧道对应的第二隧道发送所述报文;
所述将所述第一隧道的状态切换为第一状态之后,所述方法还包括:
为所述第一隧道设置老化定时器;
在所述老化定时器超时时,删除所述第一隧道和所述第二隧道。
2.根据权利要求1所述的方法,其特征在于,所述第一隧道和所述第二隧道均包括可扩展虚拟局域网络VXLAN隧道;所述建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道的过程,具体包括:
获取本端设备的一个地址信息和对端设备的一个地址信息,将本端设备的一个地址信息确定为所述第一隧道和所述第二隧道的源地址信息,将对端设备的一个地址信息确定为所述第一隧道和所述第二隧道的目的地址信息;或者,
获取本端设备的N个地址信息和对端设备的N个地址信息,从本端设备的N个地址信息中选取一个地址信息确定为第一隧道的源地址信息,将本端设备的剩余地址信息确定为第二隧道的源地址信息;从对端设备的N个地址信息中选取一个地址信息确定为第一隧道的目的地址信息,将对端设备的剩余地址信息确定为第二隧道的目的地址信息;
其中,所述N为大于等于2的正整数。
3.根据权利要求2所述的方法,其特征在于,
所述获取对端设备的N个地址信息的过程,具体包括:
接收来自对端设备的用于建立边界网关协议BGP邻居的BGP报文,并从所述BGP报文中解析出所述对端设备的N个地址信息。
4.根据权利要求1所述的方法,其特征在于,所述建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道之后,所述方法还包括:
维护所述第一隧道与所述第二隧道的绑定关系;
所述通过所述第一隧道对应的第二隧道发送所述报文的过程,具体包括:
利用所述绑定关系查询到与所述第一隧道对应的第二隧道;
通过查询到的第二隧道发送所述报文。
5.根据权利要求1所述的方法,其特征在于,
所述为所述第一隧道设置老化定时器之后,所述方法还包括:
在所述老化定时器超时之前,若所述第一隧道故障恢复,则将所述第一隧道的状态切换为第二状态,并删除所述老化定时器;在需要通过所述第一隧道发送报文时,若查询到所述第一隧道的状态为第二状态,通过所述第一隧道发送所述报文。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若在预设第一时间内,未通过所述第一隧道接收到所述对端设备发送的BGP保活报文,则确定所述第一隧道发生故障;
在所述第一隧道发生故障之后,若在预设第二时间内,通过所述第一隧道接收到所述对端设备发送的BGP保活报文,则确定所述第一隧道故障恢复。
7.一种报文传输装置,应用于以太网虚拟专用网络EVPN的本端设备,其特征在于,所述装置包括:
建立模块,用于建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道;其中,所述第二隧道是本端设备与对端设备之间的第二隧道;
处理模块,用于当所述第一隧道发生故障时,将所述第一隧道的状态切换为第一状态;
发送模块,用于在需要通过所述第一隧道发送报文时,若查询到所述第一隧道的状态为第一状态,则通过所述第一隧道对应的第二隧道发送所述报文;
所述处理模块,还用于在将所述第一隧道的状态切换为第一状态之后,为所述第一隧道设置老化定时器;在所述老化定时器超时时,删除所述第一隧道和所述第二隧道。
8.根据权利要求7所述的装置,其特征在于,
所述第一隧道和所述第二隧道均包括可扩展虚拟局域网络VXLAN隧道;
所述建立模块,具体用于在建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道的过程中,获取所述本端设备的一个地址信息和所述对端设备的一个地址信息,将所述本端设备的一个地址信息确定为所述第一隧道和所述第二隧道的源地址信息,并将所述对端设备的一个地址信息确定为所述第一隧道和所述第二隧道的目的地址信息;或者,
获取本端设备的N个地址信息和对端设备的N个地址信息,从本端设备的N个地址信息中选取一个地址信息确定为第一隧道的源地址信息,将本端设备的剩余地址信息确定为第二隧道的源地址信息;从对端设备的N个地址信息中选取一个地址信息确定为第一隧道的目的地址信息,将对端设备的剩余地址信息确定为第二隧道的目的地址信息;
其中,所述N为大于等于2的正整数。
9.根据权利要求8所述的装置,其特征在于,
所述建立模块,具体用于在获取对端设备的N个地址信息的过程中,接收来自对端设备的用于建立边界网关协议BGP邻居的BGP报文,并从所述BGP报文中解析出所述对端设备的N个地址信息。
10.根据权利要求7所述的装置,其特征在于,所述处理模块,还用于在所述建立模块建立本端设备与对端设备之间的第一隧道、所述第一隧道对应的第二隧道之后,维护所述第一隧道与所述第二隧道的绑定关系;
所述发送模块,具体用于在通过所述第一隧道对应的第二隧道发送所述报文的过程中,利用所述绑定关系查询到与所述第一隧道对应的第二隧道,并通过查询到的第二隧道发送所述报文。
11.根据权利要求7所述的装置,其特征在于,
所述处理模块,还用于在为所述第一隧道设置老化定时器之后,在所述老化定时器超时之前,若所述第一隧道故障恢复,则将所述第一隧道的状态切换为第二状态,并删除所述老化定时器;
所述发送模块,还用于在需要通过所述第一隧道发送报文时,若查询到所述第一隧道的状态为第二状态,通过所述第一隧道发送所述报文。
12.根据权利要求11所述的装置,其特征在于,
所述处理模块,还用于若在预设第一时间内,未通过所述第一隧道接收到所述对端设备发送的BGP保活报文,则确定所述第一隧道发生故障;
在所述第一隧道发生故障之后,若在预设第二时间内,通过所述第一隧道接收到所述对端设备发送的BGP保活报文,则确定所述第一隧道故障恢复。
CN201710074204.3A 2017-02-10 2017-02-10 一种报文传输方法和装置 Active CN106878072B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710074204.3A CN106878072B (zh) 2017-02-10 2017-02-10 一种报文传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710074204.3A CN106878072B (zh) 2017-02-10 2017-02-10 一种报文传输方法和装置

Publications (2)

Publication Number Publication Date
CN106878072A CN106878072A (zh) 2017-06-20
CN106878072B true CN106878072B (zh) 2020-04-03

Family

ID=59166585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710074204.3A Active CN106878072B (zh) 2017-02-10 2017-02-10 一种报文传输方法和装置

Country Status (1)

Country Link
CN (1) CN106878072B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259301B (zh) * 2017-08-16 2020-09-25 新华三技术有限公司 一种隧道上线方法及装置
CN107483339B (zh) * 2017-09-15 2020-03-13 中国联合网络通信集团有限公司 一种云平台及视频监控方法
CN108337118B (zh) * 2018-01-31 2021-01-26 新华三技术有限公司 报文转发方法及装置
CN109005097B (zh) * 2018-06-29 2020-12-01 新华三技术有限公司 报文转发方法及装置
CN109347717B (zh) * 2018-09-26 2021-06-08 新华三技术有限公司 Vxlan隧道切换方法及装置
CN111683160B (zh) * 2020-04-01 2022-07-12 新华三信息安全技术有限公司 Mac地址回收方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101072157A (zh) * 2007-06-08 2007-11-14 迈普(四川)通信技术有限公司 虚拟专用网负载备份系统及其建立方法与数据转发方法
EP2928123B1 (en) * 2014-04-02 2019-11-06 6Wind Method for processing VXLAN data units
CN105634770B (zh) * 2014-10-29 2019-05-07 新华三技术有限公司 部署虚拟扩展局域网的方法和装置
CN104468394B (zh) * 2014-12-04 2018-02-09 新华三技术有限公司 一种vxlan网络中报文转发方法及装置
CN104486228B (zh) * 2014-12-25 2017-12-08 新华三技术有限公司 一种路由更新的方法及路由更新装置
US9667538B2 (en) * 2015-01-30 2017-05-30 Telefonaktiebolget L M Ericsson (Publ) Method and apparatus for connecting a gateway router to a set of scalable virtual IP network appliances in overlay networks
CN106230727B (zh) * 2016-07-20 2019-09-17 新华三技术有限公司 报文转发方法及装置

Also Published As

Publication number Publication date
CN106878072A (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
CN106878072B (zh) 一种报文传输方法和装置
JP5727055B2 (ja) 地理的冗長ゲートウェイでのセッション復元性のためのシステムおよび方法
CN102035676B (zh) 基于arp协议交互的链路故障检测与恢复的方法和设备
CN109495345B (zh) 一种bfd处理方法及网络设备
CN112039769B (zh) 一种处理路由的方法及网络设备
CN111447101B (zh) 链路检测方法、装置、计算机设备及存储介质
CN111327524B (zh) 流量转发方法、系统、sdn控制器及计算机可读存储介质
US11245615B2 (en) Method for determining link state, and device
US11477109B2 (en) Method for synchronizing topology information in SFC network, and routing network element
CN105471725A (zh) 穿越自治系统的路由方法和装置
CN101909006A (zh) 双向转发检测报文发送、接收方法及其装置与通信系统
CN111327527B (zh) 流量转发方法、系统、sdn控制器及计算机可读存储介质
CN107086958B (zh) 一种数据传输方法、wap网关及系统
EP3537671B1 (en) Protection switching method and system, and nodes
CN110740094B (zh) 一种网络设备、bfd报文的传输方法及装置
WO2018077313A1 (zh) 连接能力的通告方法及装置
CN106130783B (zh) 一种端口故障处理方法及装置
CN109067647B (zh) 路由信息维护方法及装置
CN105765903A (zh) 一种拓扑发现方法及设备
CN109120519B (zh) 基于isis协议的邻居状态处理方法及装置
CN110784410A (zh) 一种路由建立方法及相关设备
CN109218135B (zh) 一种bfd检测方法和装置
CN111327537B (zh) 流量转发方法、系统、sdn控制器及计算机可读存储介质
CN111917808B (zh) 负荷控制方法、服务提供者nf及服务使用者nf
CN115334139B (zh) 通信连接控制方法及装置

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230602

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.