CN108471374A - 数据报文的转发方法及装置 - Google Patents

数据报文的转发方法及装置 Download PDF

Info

Publication number
CN108471374A
CN108471374A CN201810510071.4A CN201810510071A CN108471374A CN 108471374 A CN108471374 A CN 108471374A CN 201810510071 A CN201810510071 A CN 201810510071A CN 108471374 A CN108471374 A CN 108471374A
Authority
CN
China
Prior art keywords
tunnel
type
data message
address
groups
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.)
Granted
Application number
CN201810510071.4A
Other languages
English (en)
Other versions
CN108471374B (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 Technologies Co Ltd
Original Assignee
New 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201810510071.4A priority Critical patent/CN108471374B/zh
Publication of CN108471374A publication Critical patent/CN108471374A/zh
Application granted granted Critical
Publication of CN108471374B publication Critical patent/CN108471374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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

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

本发明涉及数据报文的转发方法及装置,包括:接收第一网络设备发送的第一数据报文;根据第一数据报文包括的第一IP地址,确定从第一网络设备处传输第一数据报文的第一隧道的第一隧道类型;从第一数据报文中,获取第二数据报文,第二数据报文包括第二网络设备的第二IP地址;根据第二IP地址,确定用于转发第二数据报文的第二隧道的第二隧道类型;当第一隧道类型和第二隧道类型均表示为非ED间隧道,且第一隧道类型与第二隧道类型不同时,通过第二隧道转发第二数据报文。根据本发明实施例提供的数据报文的转发方法及装置,能够使得在第一ED与第一ED组间的其它ED之间建立隧道的情况下,避免出现环路,且能够提高资源的利用率。

Description

数据报文的转发方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种数据报文的转发方法及装置。
背景技术
以太虚拟专用网(英文:Ethernet Virtual Private Network,简称:EVPN) 是一种二层VPN技术,是现代大型企业构建数据中心的一个重要方式。
在EVPN中的数据中心互联(英文:Data Center Interconnect,简称:DCI) 中,两个数据中心通过部署在数据中心边缘的边缘设备(英文:edge device,简称:ED)建立DCI互联隧道。
图1示出了一种EVPN的数据中心的结构示意图。在图1中包括:第一 EVPN和第二EVPN,其中第一EVPN的边缘部署有第一ED组,该第一ED组包括:ED1-1和ED1-2,第二EVPN的边缘部署有第二ED组,该第二ED组包括:ED2-1和ED2-2。
在当前的网络结构中,第一ED组中的ED1-1与ED1-2之间建立隧道连接,第二ED组中的ED2-1与ED2-2之间建立隧道连接,在传输广播数据时,则可能会形成环路(例如:ED1-1-ED1-2-ED2-1-ED2-2-ED1-1),若取消第一ED 组中ED1-1与ED1-2之间的隧道连接,取消第二ED组中的ED2-1与ED2-2之间的隧道连接,则ED1-1、ED1-2、ED2-1、ED2-2不能够接入主机或者服务器等设备,这样一来,ED的资源得不到很好的利用。
发明内容
有鉴于此,本发明提出了一种数据报文的转发方法及装置,能够使得在第一ED与第一ED组间的其它ED之间建立隧道的情况下,避免出现环路,且使得第一ED能够接入主机或者服务器设备,能够提高资源的利用率。
在第一方面,本发明实施例提供了一种数据报文的转发方法,第一边缘设备ED组处于第一以太虚拟私有网络EVPN边缘,第一ED组包括至少两个 ED,两两ED间建立隧道,任一ED与处于所述第一EVPN内的网络设备之间建立隧道,且第一ED组与处于第二EVPN边缘的第二ED组之间建立隧道,所述方法应用于所述第一ED组内第一ED,所述方法包括:
接收第一网络设备发送的第一数据报文,所述第一数据报文包括第一网络设备的第一IP地址;
根据所述第一IP地址,确定从所述第一网络设备处传输所述第一数据报文的第一隧道的第一隧道类型;
从所述第一数据报文中,获取第二数据报文,所述第二数据报文包括第二网络设备的第二IP地址;
根据所述第二IP地址,确定用于转发所述第二数据报文的第二隧道的第二隧道类型;
当所述第一隧道类型和所述第二隧道类型均表示为非ED间隧道,且所述第一隧道类型与所述第二隧道类型不同时,通过所述第二隧道转发所述第二数据报文。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:
当所述第一隧道类型或所述第二隧道类型中任一表示为ED间隧道时,不通过所述第二隧道转发所述第二数据报文;
或者,当所述第一隧道类型与所述第二隧道类型相同时,不通过所述第二隧道转发所述第二数据报文。
结合第一方面,或者结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收第一网络设备发送的第一数据报文之前,所述方法还包括:
当隧道的目的IP地址为所述第一ED组内第二ED的IP地址时,将该隧道的隧道类型设置为第一类型,所述第一类型表征所述隧道为所述第一ED组内第一ED与第二ED之间的隧道;
当所述隧道的目的IP地址不为所述第一ED组内第二ED的IP地址,且所述隧道的隧道端口具有使能标识时,将所述隧道类型设置为第二类型,所述第二类型属性表征所述隧道为所述第一ED组与所述第二ED组之间的隧道;
当所述隧道的目的IP地址不为所述第一ED组内第二ED的IP地址,且所述隧道的隧道端口不具有使能标识时,确定所述隧道的隧道属性为第三类型,所述第三类型表征所述隧道为所述第一ED组内第一ED与所述第一EVPN 内的网络设备之间的隧道。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一类型、第二类型、及第三类型均为包括“1”的二进制数,且所述第二类型与所述第三类型相与为0,所述第一类型与所述第二类型或者所述第三类型相与不为0;
当所述第一隧道类型和所述第二隧道类型均表示为非ED间隧道,且所述第一隧道类型与所述第二隧道类型不同时,通过所述第二隧道转发所述第二数据报文,包括:
在表示所述第一隧道类型的二进制数与表示所述第二隧道类型的二进制数相与为0时,通过所述第二隧道转发所述第二数据报文。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述当所述第一隧道类型或所述第二隧道类型中任一表示为ED间隧道时,不通过所述第二隧道转发所述第二数据报文;
或者,当所述第一隧道类型与所述第二隧道类型相同时,不通过所述第二隧道转发所述第二数据报文,包括:
在表示所述第一隧道类型的二进制数与所述表示所述第二隧道类型的二进制数相与不为0时,不通过所述第二隧道转发所述第二数据报文。
结合第一方面,或者第一方面的第一种、第二种、第三种、第四种可能的实现方式中的任一种实现方式,在第五种可能的实现方式中,所述第一ED 与第一虚拟机VM连接,所述第二ED与第二VM连接;
所述方法还包括:
接收第一VM发送的第三数据报文,所述第三数据报文包括目的VM的IP 地址;
在所述目的VM的IP地址为第二VM的IP地址时,通过所述ED间隧道向所述第二ED转发所述第三数据报文。
结合第一方面,或者第一方面的第一种、第二种、第三种、第四种可能的实现方式中的任一种实现方式,在第六种可能的实现方式中,所述第一数据报文为单播数据报文,或者为广播数据报文。
在第二方面,本发明实施例提供可一种数据报文的转发装置,第一边缘设备ED组处于第一以太虚拟私有网络EVPN边缘,第一ED组包括至少两个 ED,两两ED间建立隧道,任一ED与处于所述第一EVPN内的网络设备之间建立隧道,且第一ED组与处于第二EVPN边缘的第二ED组之间建立隧道,所述方法应用于所述第一ED组内第一ED,所述装置包括:
第一接收模块,用于接收第一网络设备发送的第一数据报文,所述第一数据报文包括第一网络设备的第一IP地址;
第一确定模块,用于根据所述第一IP地址,确定从所述第一网络设备处传输所述第一数据报文的第一隧道的第一隧道类型;
获取模块,用于从所述第一数据报文中,获取第二数据报文,所述第二数据报文包括第二网络设备的第二IP地址;
第二确定模块,用于根据所述第二IP地址,确定用于转发所述第二数据报文的第二隧道的第二隧道类型;
第一处理模块,用于当所述第一隧道类型和所述第二隧道类型均表示为非ED间隧道,且所述第一隧道类型与所述第二隧道类型不同时,通过所述第二隧道转发所述第二数据报文。
结合第二方面,在第一种可能的实现方式中,所述装置还包括:
第二处理模块,用于当所述第一隧道类型或所述第二隧道类型中任一表示为ED间隧道时,不通过所述第二隧道转发所述第二数据报文;
或者,用于当所述第一隧道类型与所述第二隧道类型相同时,不通过所述第二隧道转发所述第二数据报文。
结合第二方面,或者结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:
第一设置模块,用于当隧道的目的IP地址为所述第一ED组内第二ED的 IP地址时,将该隧道的隧道类型设置为第一类型,所述第一类型表征所述隧道为所述第一ED组内第一ED与第二ED之间的隧道;
第二设置模块,用于当所述隧道的目的IP地址不为所述第一ED组内第二 ED的IP地址,且所述隧道的隧道端口具有使能标识时,将所述隧道类型设置为第二类型,所述第二类型属性表征所述隧道为所述第一ED组与所述第二 ED组之间的隧道;
第三设置模块,用于当所述隧道的目的IP地址不为所述第一ED组内第二 ED的IP地址,且所述隧道的隧道端口不具有使能标识时,确定所述隧道的隧道属性为第三类型,所述第三类型表征所述隧道为所述第一ED组内第一ED 与所述第一EVPN内的网络设备之间的隧道。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一类型、第二类型、及第三类型均为包括“1”的二进制数,且所述第二类型与所述第三类型相与为0,所述第一类型与所述第二类型或者所述第三类型相与不为0;
所述第一处理模块,包括:
第一处理子模块,用于在表示所述第一隧道类型的二进制数与表示所述第二隧道类型的二进制数相与为0时,通过所述第二隧道转发所述第二数据报文。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第二处理模块,包括:
第二处理子模块,用于在表示所述第一隧道类型的二进制数与所述表示所述第二隧道类型的二进制数相与不为0时,不通过所述第二隧道转发所述第二数据报文。
结合第二方面,或者结合第二方面的第一种、第二种、第三种、第四种可能的实现方式中的任一种实现方式,在第五种可能的实现方式中,所述第一ED与第一虚拟机VM连接,所述第二ED与第二VM连接;
所述装置还包括:
第二接收模块,用于接收第一VM发送的第三数据报文,所述第三数据报文包括目的VM的IP地址;
第三处理模块,用于在所述目的VM的IP地址为第二VM的IP地址时,通过所述ED间隧道向所述第二ED转发所述第三数据报文。
结合第二方面,或者结合第二方面的第一种、第二种、第三种、第四种可能的实现方式中的任一种实现方式,在第六种可能的实现方式中,所述第一数据报文为单播数据报文,或者为广播数据报文。
根据本发明的另一方面,提供了一种数据报文的转发装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
根据本发明的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
因此,通过应用本发明实施例提供的数据报文的转发方法及装置,第一 ED根据第一数据报文携带的第一网络设备的第一IP地址,确定第一网络设备用于传输第一数据报文的第一隧道的第一隧道类型,并从第一数据报文中,获取第二数据报文,根据第二数据报文中包括的第二网络设备的第二IP地址确定用于转发第二数据报文的第二隧道的第二隧道类型,并在第一隧道类型与第二隧道类型均表示非ED间隧道,且第一隧道类型与第二隧道类型不同时,通过第二隧道转发第二数据报文。
这样一来,在第一隧道类型与第二隧道类型不同,且均表征非ED间隧道时,第一ED允许来自第一隧道的数据报文向第二隧道转发,一方面能够使得在第一ED与第一ED组间的其它ED之间建立隧道的情况下,避免出现环路;另一方面,由于第一ED与第一ED组间的其它ED之间建立隧道,故第一 ED能够接入主机或者服务器设备,能够提高资源的利用率。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出了本发明一实施例中一种数据中心互联的网络结构示意图;
图2示出了本发明一实施例中一种环路的示意图;
图3示出根据本发明一实施例的一种数据报文的转发方法的流程图;
图4示出根据本发明一实施例的一种数据报文的转发方法的流程图;
图5示出根据本发明一实施例的一种数据报文的转发方法的流程图;
图6示出根据本发明一实施例的一种数据报文的转发方法的流程图;
图7示出根据本发明一实施例的一种数据报文的转发装置的结构框图;
图8示出根据本发明一实施例的一种数据报文的转发装置的结构框图;
图9是根据一示例性实施例示出的一种数据报文的转发装置的硬件结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
图1示出了本发明实施例中一种数据中心互联的网络结构示意图。如图1 所示,第一EVPN边缘部署有第一ED组,该第一ED组包括ED1-1及ED1-2。其中,第一EVPN内部包括有网络设备VTEP1及与VTEP 1相连的VM1、网络设备VTEP 2和与VTEP 2相连的VM2,第一ED组分别与VTEP 1和VTEP 2之间建立隧道tunnel。
第二EVPN边缘部署有第二ED组,该第二ED组包括ED2-1及ED2-2。其中,第二EVPN内部包括有网络设备VTEP 3及与VTEP 3相连的VM3、网络设备VTEP 4和与VTEP 4相连的VM4,第二ED组分别与VTEP 3和VTEP 4之间建立隧道tunnel。
第一ED组与第二ED组间建立隧道dci tunnel。若第一ED组中的ED1-1与ED1-2之间建立隧道tunnel,第二ED组中的ED2-1和ED2-2之间也建立隧道 tunnel,对于广播报文,则可能造成如图2所示的环路。
本发明实施例为在不取消ED组内各ED间的隧道的基础上,为ED与网络设备间建立的各个隧道配置对应的隧道类型。根据不同隧道的隧道类型,判断接收到的数据报文是否执行转发操作,进而避免出现环路的状况。
以下通过具体实施例对本发明实施例提供的数据报文的转发方法加以说明。
图3示出根据本发明一实施例的一种数据报文的转发方法的流程图,所述方法应用于所述第一ED组内第一ED,其中,第一边缘设备ED组处于第一以太虚拟私有网络EVPN边缘,第一ED组包括至少两个ED,两两ED间建立隧道,任一ED与处于所述第一EVPN内的网络设备之间建立隧道,且第一ED 组与处于第二EVPN边缘的第二ED组之间建立隧道。如图3所示,所述方法包括以下步骤。
步骤301、接收第一网络设备发送的第一数据报文,所述第一数据报文包括第一网络设备的第一IP地址。
该第一数据报文为第一网络设备对来自上一跳网络设备或者VM的数据报文,进行VXLAN封装后得到的数据报文。故该第一数据报文外层头部中的源IP地址为第一网络设备的第一IP地址,目的IP地址为第一ED的IP地址,该第一数据报文的内层数据报文即上一跳网络设备或者VM发送的数据报文,该内层数据报文头部中的目的IP地址为第二网络设备的第二IP地址。
在一种可能的实现方式中,上述第一数据报文为单播数据报文,或者为广播数据报文,本发明实施例中均以广播数据报文为例。
步骤302、根据所述第一IP地址,确定从所述第一网络设备处传输所述第一数据报文的第一隧道的第一隧道类型。
第一ED接收第一数据报文后,根据第一数据报文外层头部中的源IP地址(第一网络设备的第一IP地址)和目的IP地址(第一ED的IP地址),从本地转发表中确定第一网络设备传输第一数据报文对应的VXLAN隧道。
举例来说,第一ED查询本地转发表中源、目的IP地址与第一ED的IP地址、第一网络设备的IP地址匹配的转发表项,通过该转发表项中记载的出接口信息,确定出接口信息指示的VXLAN隧道为第一网络设备传输第一数据报文的第一隧道,并获取该第一隧道的第一隧道类型,该第一隧道类型用于表征第一隧道的类型。
举例来说,第一隧道类型用于表征第一隧道为第一ED组内第一ED与第二ED之间的隧道;或者,第一隧道类型用于表征第一隧道为第一ED与第一 EVPN内的网络设备之间的隧道;或者,第一隧道类型用于表征第一隧道为第一ED组与第二EVPN边缘部署的第二ED组之间的隧道。
步骤303、从所述第一数据报文中,获取第二数据报文,所述第二数据报文包括第二网络设备的第二IP地址。
上述第二数据报文为第一数据报文包括的内层数据报文。举例来说,第一ED接收到第一数据报文后,对第一数据报文进行解VXLAN封装操作,得到第二数据报文,该第二数据报文头部中的目的IP地址为第二网络设备的第二IP地址。
以图1所示的示例,VM1向VM3发送数据报文,该数据报文的目的地址为VM3的IP地址,VTEP 1(第一网络设备)接收上述数据报文后,根据VM3 的IP地址查询转发表确定该数据报文的出接口信息,该出接口信息指示的 VXLAN隧道为VTEP 1与网络设备为ED1-1(第一ED)之间的隧道,故VTEP 1对该数据报文进行VXLAN封装得到第一数据报文,该第一数据报文外层头部的源IP地址为VTEP 1的IP地址(第一网络设备的第一IP地址),目的地址为ED1-1的IP地址(第一ED的IP地址),VTEP 1通过VTEP 1与ED1-1之间的 VXLAN隧道将该第一数据报文发送至ED1-1。ED1-1接收上述第一数据报文后,对该第一数据报文进行VXLAN解封装操作,得到VM1向VM3发送的数据报文(也即第二数据报文),该第二数据报文头部的目的IP地址:VM3的 IP地址即为第二网络设备的第二IP地址。
步骤304、根据所述第二IP地址,确定用于转发所述第二数据报文的第二隧道的第二隧道类型。
第一ED获得第二网络设备的第二IP地址后,根据该第二IP地址从转发表中确定第二数据报文对应的出接口信息,该出接口信息指示的VXLAN隧道为第二隧道,并获取该第二隧道的第二隧道类型,该第二隧道类型用于表征第二隧道的类型。
举例来说,第二隧道类型用于表征第二隧道为第一ED组内第一ED与第二ED之间的隧道;或者,第二隧道类型用于表征第二隧道为第一ED与第一 EVPN内的网络设备之间的隧道;或者,第二隧道类型用于表征第二隧道为第一ED组与第二EVPN边缘部署的第二ED组之间的隧道。
步骤305、当所述第一隧道类型和所述第二隧道类型均表示为非ED间隧道,且所述第一隧道类型与所述第二隧道类型不同时,通过所述第二隧道转发所述第二数据报文。
其中,所述第一隧道类型和所述第二隧道类型均表示为非ED间隧道(包括:第一隧道类型表征第一隧道为第一ED与第一EVPN内的网络设备之间的隧道,或者第一隧道类型表征第一隧道为第一ED组与第二EVPN边缘部署的第二ED组之间的隧道。
第二隧道类型表征第二隧道为第一ED与第一EVPN内的网络设备之间的隧道,或者第二隧道类型表征第二隧道为第一ED组与第二EVPN边缘部署的第二ED组之间的隧道),且第一隧道类型与第二隧道类型不同(包括:第一隧道类型表征第一隧道为第一ED与第一EVPN内的网络设备之间的隧道,第二隧道类型表征第二隧道为第一ED组与第二EVPN边缘部署的第二ED组之间的隧道,或者第一隧道类型表征第一隧道为第一ED组与第二EVPN边缘部署的第二ED组之间的隧道,第二隧道类型表征第二隧道为第一ED与第一 EVPN内的网络设备之间的隧道)时,第一ED在对第二数据报文进行VXLAN 封装后(封装后的第二数据报文的外层头部的源IP为第二隧道的源IP地址,目的IP为第二隧道的目的IP地址),通过第二隧道转发该封装后的第二数据报文。
因此,通过应用本发明实施例提供的数据报文的转发方法,第一ED根据第一数据报文携带的第一网络设备的第一IP地址确定第一网络设备用于传输第一数据报文的第一隧道的第一隧道类型,并从第一数据报文中,获取第二数据报文,根据第二数据报文中包括的第二网络设备的第二IP地址确定用于转发第二数据报文的第二隧道的第二隧道类型,并在第一隧道类型与第二隧道类型均表示非ED间隧道,且第一隧道类型与第二隧道类型不同时,通过第二隧道转发第二数据报文。
这样一来,在第一隧道类型与第二隧道类型不同,且均表征非ED间隧道时,第一ED允许来自第一隧道的数据报文向第二隧道转发,一方面能够使得在第一ED与第一ED组间的其它ED之间建立隧道的情况下,避免出现环路;另一方面,由于第一ED与第一ED组间的其它ED之间建立隧道,故第一 ED能够接入主机或者服务器设备,能够提高资源的利用率。
在另一个实施例中,若第一隧道类型与第二隧道类型中任一表示为ED 间隧道时,不通过第二隧道转发第二数据报文,或者,在第一隧道类型与第二隧道类型相同时,不通过所述第二隧道转发第二数据报文。以下通过图4 所示的数据报文的转发方法的流程图,对本发明实施例的数据报文的转发方法进行详细描述。
具体地,图4所示的数据报文的转发方法包括以下步骤。
步骤401、接收第一网络设备发送的第一数据报文,所述第一数据报文包括第一网络设备的第一IP地址。
步骤402、根据所述第一IP地址,确定从所述第一网络设备处传输所述第一数据报文的第一隧道的第一隧道类型。
步骤403、从所述第一数据报文中,获取第二数据报文,所述第二数据报文包括第二网络设备的第二IP地址。
步骤404、根据所述第二IP地址,确定用于转发所述第二数据报文的第二隧道的第二隧道类型。
步骤405、当所述第一隧道类型和所述第二隧道类型均表示为非ED间隧道,且所述第一隧道类型与所述第二隧道类型不同时,通过所述第二隧道转发所述第二数据报文。
需要说明的是,本发明实施例中,步骤401至步骤405与上述方法实施例中步骤301至步骤305相类似,本发明实施例在此不再赘述。
步骤406、当所述第一隧道类型或所述第二隧道类型中任一表示为ED间隧道时,不通过所述第二隧道转发所述第二数据报文;或者,
当所述第一隧道类型与所述第二隧道类型相同时,不通过所述第二隧道转发所述第二数据报文。
本发明实施例中,在第一隧道的第一隧道类型表征ED间的隧道时,不通过第二隧道转发第二数据报文,或者,在第二隧道的第二隧道类型表征ED 间的隧道时,不通过第二隧道转发第二数据报文。
在第一隧道类型与第二隧道类型均表征非ED间的隧道时,在第一隧道类型与第二隧道类型相同时,不通过第二隧道转发第二数据报文。
举例来说,隧道类型包括第一类型,用于表征第一ED组内第一ED与第二ED之间的隧道、第二类型,用于表征第一ED组与第二EVPN边缘部署的第二ED组之间的隧道、第三类型,用于表征第一ED与第一EVPN内的网络设备之间的隧道。
在第一隧道类型为第一类型或者第二隧道类型为第一类型时,第一ED 不通过第二隧道转发第二数据报文。或者,在第一隧道类型为第二类型,且第二隧道类型也为第二类型时,不通过第二隧道转发第二数据报文。或者,在第一隧道类型为第三类型,且第二隧道类型也为第三类型时,不通过第二隧道转发第二数据报文。
为使本领域技术人员更好的理解本发明实施例,以下通过具体示例对本发明实施例加以说明。
在第一个示例中,第一ED与第一网络设备均处于第一EVPN中。以图1 所示示例为例,ED1-1接收到VTEP 1发送的广播数据报文后,根据该广播数据报文的源IP地址及目的IP地址确定VTEP 1用于传输该广播数据报文的第一隧道为VTEP 1与ED1-1之间的隧道,而由于VTEP 1与ED1-1之间的隧道为第一ED与第一EVPN内的网络设备之间的隧道,故该第一隧道的隧道类型为第三类型。
ED1-1在对广播数据报文解封装后,确定该解封装后的广播数据报文(以下简称广播数据报文1)的目的IP地址为广播域,根据该广播域确定该广播数据报文1的出接口(第二隧道)包括:ED1-1与ED1-2之间的隧道标识、ED1-1 与第二ED组之间的隧道标识、及ED1-1与VTEP 2之间的隧道标识。
由于ED1-1与ED1-2之间的隧道为第一ED组内第一ED与第二ED之间的隧道,故而该隧道的隧道类型为第一类型,因此,ED1-1不通过ED1-1与ED1-2 之间的隧道转发上述广播数据报文1,这样,能够避免ED1-2接收到广播数据报文1后,又将该广播数据报文1发送至ED1-1造成的环路问题(以及,能够避免图2所示的环路问题),且能够避免ED1-2接收到广播数据报文1后,又将广播数据报文1发送至VTEP 1及第二ED组,造成的数据冗余,浪费数据传输资源的问题。
由于ED1-1与第二ED组之间的隧道为第一ED组与第二EVPN边缘部署的第二ED组之间的隧道,故而该隧道的隧道类型为第二类型,因此ED1-1通过第一ED组与第二ED组之间的隧道转发上述广播数据报文1。
其中,第二ED组的ED2-1及ED2-2对广播数据报文的转发过程与ED1-1 相类似,本发明实施例在此不再赘述。
由于ED1-1与VTEP 2之间的隧道为第一ED与第一EVPN内的网络设备之间的隧道,故而该隧道的隧道类型为第三类型,与第一隧道的隧道类型相同,因此,ED1-1不通过ED1-1与VTEP 2之间的隧道转发上述广播数据报文1。
在第二个示例中,第一ED与第一网络设备位于不同的EVPN中。仍以图 1所示的示例为例,图1中还包括第三EPVN,第三EVPN边缘部署有第三ED 设备组。第一ED设备组与第三ED设备组间建立隧道dci tunnel,第二ED设备组与第三ED设备组间建立隧道dci tunnel。
ED1-1接收到第二ED组发送的广播数据报文后,根据该广播数据报文的源IP地址及目的IP地址确定第二ED组用于出传输该广播数据报文的第一隧道为第二ED组与第一ED组之间的隧道,故而ED1-1确定该第一隧道的隧道类型为第二类型。在对广播数据报文解封装后,确定该解封装的广播数据报文(以下简称广播数据报文2)的目的IP地址为广播域,根据该广播域确定广播数据报文2的出接口(第二隧道)包括:第一ED组与第三ED组之间的隧道标识、ED1-1与VTEP 1之间的隧道标识、ED1-1与VTEP 2之间的隧道标识、及ED1-1与ED1-2之间的隧道标识。
由于第一ED组与第三ED组之间的隧道为第一ED组与第二EVPN边缘部署的第二ED组之间的隧道,故而该第隧道的隧道类型为第二类型,与第一隧道的隧道类型一致,因此,ED1-1不通过第一ED组与第三ED组之间的隧道转发上述广播数据报文2,这样一来,能够避免第三ED组重复接收第一ED 组和第二ED组转发的广播数据报文2的情况。
由于ED1-1与VTEP 1之间的隧道及ED1-1与VTEP 2之间的隧道均为第一ED与第一EVPN内的网络设备之间的隧道,故而隧道的隧道类型均为第三类型,因此ED1-1通过ED1-1与VTEP 1之间的隧道及ED1-1与VTEP 2之间的隧道转发上述广播数据报文2。
由于ED1-1与ED1-2之间的隧道为第一ED组内第一ED与第二ED之间的隧道,故而该隧道的隧道类型为第一类型,因此ED1-1不通过ED1-1与ED1-2 之间的隧道转发上述广播数据报文2,能够避免ED1-2接收到数据报文后,又将该广播数据报文2发送至第二ED组造成的环路问题。
因此,通过应用本发明实施例提供的数据报文的转发方法,在第一隧道类型与第二隧道类型相同,或者第一隧道类型与第二隧道类型中的任一类型表征ED间隧道时,第一ED不允许通过第二隧道转发第二数据报文,一方面能够使得在第一ED与第一ED组间的其它ED之间建立隧道的情况下,避免出现环路;另一方面,由于第一ED与第一ED组间的其它ED之间建立隧道,故第一ED能够接入主机或者服务器设备,能够提高资源的利用率。
在另一个实施例中,第一ED在接收第一数据报文之间,需要设置各个隧道的隧道类型,以下通过图5所示的数据报文的转发方法的流程图,对本发明实施例的数据报文的转发方法进行详细描述。
具体地,图5所示的数据报文的转发方法包括以下步骤。
步骤501、当隧道的所述目的IP地址为所述第一ED组内第二ED的IP地址时,将该隧道的隧道类型设置为第一类型,所述第一类型表征所述隧道为所述第一ED组内第一ED与第二ED之间的隧道。
第一ED在完成隧道的创建后,根据该隧道的目的IP地址确定该隧道的隧道类型。举例来说,第一ED组内的各个ED本地均存储有第一ED组内的各个 ED的IP地址,也即第一ED本地存储有第二ED的IP地址,若隧道的目的地址为第二ED的IP地址,则该隧道为第一ED与第二ED之间的隧道,因此第一ED 可以确定该隧道的隧道类型为第一类型。
步骤502、当所述隧道的目的IP地址不为所述第一ED组内第二ED的IP地址,且所述隧道的隧道端口具有使能标识时,将所述隧道类型设置为第二类型,所述第二类型属性表征所述隧道为所述第一ED组与所述第二ED组之间的隧道。
若隧道的目的IP地址不为第一ED组内的第二ED的IP地址,则第一ED确定该隧道对应的隧道端口是否具有使能标识,该使能标识为预先设置的用于表征该隧道端口为与第二EVPN的连接端口的标识信息。在该隧道端口具有使能标识时,第一ED确定该隧道为第一ED组与所述第二ED组之间的隧道,因此第一ED确定该隧道的隧道类型为第二类型。
步骤503、当所述隧道的目的IP地址不为所述第一ED组内第二ED的IP地址,且所述隧道的隧道端口不具有使能标识时,确定所述隧道的隧道属性为第三类型,所述第三类型表征所述隧道为所述第一ED组内第一ED与所述第一EVPN内的网络设备之间的隧道。
若隧道的目的IP地址不为第一ED组内的第二ED的IP地址,且第一ED确定该隧道对应的隧道端口不具有使能标识,第一ED确定该隧道为第一ED组内第一ED与所述第一EVPN内的网络设备之间的隧道,因此第一ED确定该隧道的隧道类型为第三类型。
这样一来,第一ED根据隧道的目的IP地址及隧道的隧道端口确定隧道的隧道类型,以根据接收数据报文的第一隧道的第一隧道类型及转发数据报文的第二隧道的第二隧道类型确定是否通过第二隧道转发数据报文,在第一隧道类型与第二隧道类型相同,或者第一隧道类型与第二隧道类型中的任一类型为第一类型时,第一ED不允许通过第二隧道转发第二数据报文,一方面能够使得在第一ED与第一ED组间的其它ED之间建立隧道的情况下,避免出现环路;另一方面,由于第一ED与第一ED组间的其它ED之间建立隧道,故第一ED能够接入主机或者服务器设备,能够提高资源的利用率。
在另一个实施例中,所述第一类型、第二类型、及第三类型均为包括“1”的二进制数,且所述第二类型与所述第三类型相与为0,所述第一类型与所述第二类型或者所述第三类型相与不为0,第一ED对第一隧道类型与第二隧道类型进行相与操作,根据相与结果确定是否通过第二隧道转发第二数据报文,则上述步骤305、当所述第一隧道类型和所述第二隧道类型均表示为非 ED间隧道,且所述第一隧道类型与所述第二隧道类型不同时,通过所述第二隧道转发所述第二数据报文,包括以下步骤。
在表示所述第一隧道类型的二进制数与表示所述第二隧道类型的二进制数相与为0时,通过所述第二隧道转发所述第一数据报文。
由于第二类型与所述第三类型相与为0,因此在表示第一隧道的隧道类型的二进制数与表示第二隧道的隧道类型的二进制数相与为0时,表征第一隧道类型及第二隧道类型中包括一个第二类型和一个第三类型,即第一隧道类型为第二类型,第二隧道类型为第三类型,或者第一隧道类型为第三类型,第二隧道类型为第二类型。因此,在相与结果为0时,第一ED通过第二隧道转发第二数据报文。
在另一个实施例中,上述步骤406、当所述第一隧道类型或所述第二隧道类型中任一表示为ED间隧道时,不通过所述第二隧道转发所述第二数据报文;或者,当所述第一隧道类型与所述第二隧道类型相同时,不通过所述第二隧道转发所述第二数据报文,包括:
在表示所述第一隧道类型的二进数与表示所述第二隧道类型的二进制数相与不为0时,不通过所述第二隧道转发所述第二数据报文。
由于第一类型、第二类型及第三类型均为包含“1”的二进制数,因此,第二类型与第二类型相与不为0,第三类型与第三类型相与不为0,且由于第一类型与第二类型相与不为0,第一类型与第三类型相与不为0,则当表示第一隧道类型的二进数数与表示第二隧道类型的二进制数相与不为0时,表征上述第一隧道类型与第二隧道类型相同或者表征第一隧道类型与第二隧道类型中包括至少一个第一类型,因此,因此,在相与结果不为0时,第一ED 不通过第二隧道转发第二数据报文。
举例来说,第一类型表示为“00000011”,第二类型表示为“00000001”,第二类型表示为“00000010”,仍以图1中的示例为例,ED1-1接收到第二ED 组发送的数据报文后,确定该数据报文对应的出接口信息包括:ED1-1与第三ED组之间的隧道标识、ED1-1与ED1-2之间的隧道标识、ED1-1与VTEP 1 之间的隧道标识和ED1-1与VTEP 2之间的隧道标识。由于ED1-1与第二ED组之间的隧道1的隧道类型为第二类型:00000001,ED1-1与第三ED组之间的隧道2的隧道类型为第二类型:00000001,隧道1的隧道类型与隧道2的隧道类型相与结果不为0,因此,ED1-1不通过ED1-1与第三ED组之间的隧道2转发上述数据报文。
由于ED1-1与ED1-2之间的隧道3为第一类型:00000011,隧道1的隧道类型与隧道3的隧道类型相与结果不为0,因此ED1-1不通过ED1-1与ED1-2之间的隧道3转发上述数据报文。
由于ED1-1与VTEP 1之间的隧道4为第三类型:00000010,ED1-1与VTEP 2之间的隧道5为第三类型:00000010,隧道1的隧道类型与隧道4的隧道类型相与结果为0,隧道1的隧道类型与隧道5的隧道类型相与结果为0,因此ED1-1 通过ED1-1与VTEP 1之间的隧道4和ED1-1与VTEP 2之间的隧道5转发上述数据报文。
在另一个实施例中,所述第一ED与第一虚拟机VM连接,所述第二ED 与第二VM连接,第一ED对第一VM发送至第二VM的第三数据报文进行转发处理。以下通过图6所示的数据报文的转发方法的流程图,对本发明实施例的数据报文的转发方法进行详细描述。
具体地,图6所示的数据报文的转发方法包括以下步骤。
步骤601、接收第一网络设备发送的第一数据报文,所述第一数据报文包括第一网络设备的第一IP地址;
步骤602、根据所述第一IP地址,确定从所述第一网络设备处传输所述第一数据报文的第一隧道的第一隧道类型;
步骤603、从所述第一数据报文中,获取第二数据报文,所述第二数据报文包括第二网络设备的第二IP地址;
步骤604、根据所述第二IP地址,确定用于转发所述第二数据报文的第二隧道的第二隧道类型;
步骤605、当所述第一隧道类型和所述第二隧道类型均表示为非ED间隧道,且所述第一隧道类型与所述第二隧道类型不同时,通过所述第二隧道转发所述第二数据报文。
需要说明的是,本发明实施例中步骤601至步骤605与上述方法实施例中步骤301至步骤305相类似,本发明实施例在此不再赘述。
步骤606、接收第一VM发送的第三数据报文,所述第三数据报文包括目的VM的IP地址。
第一ED接收来自第二VM的第三数据报文,该第三数据报文中包括目的 VM的IP地址,第一ED可以根据目的VM的IP地址转发该第三数据报文。
步骤607、在所述目的VM的IP地址为第二VM的IP地址时,通过所述ED 间隧道向所述第二ED转发所述第三数据报文。
在目的VM的IP地址为第二VM的IP地址时,第一ED通过第一ED与第二 ED间的隧道向第二ED转发第三数据报文。
举例来说,第一ED根据第二VM的IP地址确定第三数据报文对应的出接口信息,该出接口信息指示的第一ED与第二ED之间的隧道为用于转发第三数据报文的隧道,则第一ED对第三数据报文进行VXLAN封装后,通过第一 ED与第二ED间的隧道将封装后的第三数据报文转发至第二ED。
在目的VM的IP地址为非第二VM的IP地址时,第一ED通过目的VM的IP 地址确定第三数据报文对应的出接口信息,该出接口信息指示的第一ED与下一跳网络设备之间的隧道为用于转发第三数据报文的隧道,则第一ED对该第三数据报文进行VXLAN封装后,通过第一ED与下一跳网络设备间的隧道将封装后的第三数据报文转发至下一跳网络设备。
需要说明的是,上述步骤606至步骤607可以在步骤601之前执行,或者可以与步骤601至步骤605并列执行,本发明实施例在此不做限定。
这样一来,第一ED与第一ED组间的第二ED之间建立隧道,使得VM能够接入第一ED及第二ED,进而第一ED不仅可以转发来自网络设备的数据报文,还可以转发来自VM的数据报文,能够提高资源利用率,且不会产生环路问题。
图7示出根据本发明一实施例的一种数据报文的转发装置的结构框图。第一边缘设备ED组处于第一以太虚拟私有网络EVPN边缘,第一ED组包括至少两个ED,两两ED间建立隧道,任一ED与处于所述第一EVPN内的网络设备之间建立隧道,且第一ED组与处于第二EVPN边缘的第二ED组之间建立隧道,所述方法应用于所述第一ED组内第一ED。如图7所示,所述装置包括:
第一接收模块701,用于接收第一网络设备发送的第一数据报文,所述第一数据报文包括第一网络设备的第一IP地址;
第一确定模块702,用于根据所述第一IP地址,确定从所述第一网络设备处传输所述第一数据报文的第一隧道的第一隧道类型;
获取模块703,用于从所述第一数据报文中,获取第二数据报文,所述第二数据报文包括第二网络设备的第二IP地址;
第二确定模块704,用于根据所述第二IP地址,确定用于转发所述第二数据报文的第二隧道的第二隧道类型;
第一处理模块705,用于当所述第一隧道类型和所述第二隧道类型均表示为非ED间隧道,且所述第一隧道类型与所述第二隧道类型不同时,通过所述第二隧道转发所述第二数据报文。
在一种可能的实现方式中,所述第一数据报文为单播数据报文,或者为广播数据报文。
因此,通过应用本发明实施例提供的数据报文的转发装置,第一ED根据第一数据报文携带的第一网络设备的第一IP地址,确定第一网络设备用于传输第一数据报文的第一隧道的第一隧道类型,并从第一数据报文中,获取第二数据报文,根据第二数据报文中包括的第二网络设备的第二IP地址确定用于转发第二数据报文的第二隧道的第二隧道类型,并在第一隧道类型与第二隧道类型均表示非ED间隧道,且第一隧道类型与第二隧道类型不同时,通过第二隧道转发第二数据报文。
这样一来,在第一隧道类型与第二隧道类型不同,且均表征非ED间隧道时,第一ED允许来自第一隧道的数据报文向第二隧道转发,一方面能够使得在第一ED与第一ED组间的其它ED之间建立隧道的情况下,避免出现环路;另一方面,由于第一ED与第一ED组间的其它ED之间建立隧道,故第一 ED能够接入主机或者服务器设备,能够提高资源的利用率。
图8示出根据本发明一实施例的一种数据报文的转发装置的结构框图。其中,第一接收模块801、第一确定模块802、获取模块803、第二确定模块 804及第一处理模块805与上述实施例中第一接收模块701、第一确定模块 702、获取模块703、第二确定模块704及第一处理模块705相类似,本发明实施例在此不再赘述。
在一种可能的实现方式中,参照图8,所述装置还包括:
第二处理模块806,用于当所述第一隧道类型或所述第二隧道类型中任一表示为ED间隧道时,不通过所述第二隧道转发所述第二数据报文;
或者,用于当所述第一隧道类型与所述第二隧道类型相同时,不通过所述第二隧道转发所述第二数据报文。
在一种可能的实现方式中,参照图8,所述装置还包括:
第一设置模块807,用于当隧道的目的IP地址为所述第一ED组内第二ED 的IP地址时,将该隧道的隧道类型设置为第一类型,所述第一类型表征所述隧道为所述第一ED组内第一ED与第二ED之间的隧道;
第二设置模块808,用于当所述隧道的目的IP地址不为所述第一ED组内第二ED的IP地址,且所述隧道的隧道端口具有使能标识时,将所述隧道类型设置为第二类型,所述第二类型属性表征所述隧道为所述第一ED组与所述第二ED组之间的隧道;
第三设置模块809,用于当所述隧道的目的IP地址不为所述第一ED组内第二ED的IP地址,且所述隧道的隧道端口不具有使能标识时,确定所述隧道的隧道属性为第三类型,所述第三类型表征所述隧道为所述第一ED组内第一ED与所述第一EVPN内的网络设备之间的隧道。
在一种可能的实现方式中,所述第一类型、第二类型、及第三类型均为包括“1”的二进制数,且所述第二类型与所述第三类型相与为0,所述第一类型与所述第二类型或者所述第三类型相与不为0,参照图8,所述第一处理模块805包括:
第一处理子模块8051,用于在表示所述第一隧道类型的二进制数与表示所述第二隧道类型的二进制数相与为0时,通过所述第二隧道转发所述第二数据报文。
在一种可能的实现方式中,参照图8,所述第二处理模块806,包括:
第二处理子模块8061,用于在表示所述第一隧道类型的二进制数与所述表示所述第二隧道类型的二进制数相与不为0时,不通过所述第二隧道转发所述第二数据报文。
在一种可能的实现方式中,所述第一ED与第一虚拟机VM连接,所述第二ED与第二VM连接;参照图8,所述装置还包括:
第二接收模块810,用于接收第一VM发送的第三数据报文,所述第三数据报文包括目的VM的IP地址;
第三处理模块811,用于在所述目的VM的IP地址为第二VM的IP地址时,通过所述ED间隧道向所述第二ED转发所述第三数据报文。
图9是根据一示例性实施例示出的一种数据报文的转发装置的硬件结构框图。在实际应用中,该装置可通过服务器实现。参照图9,该装置1300可包括处理器1301、存储有机器可执行指令的机器可读存储介质1302。处理器 1301与机器可读存储介质1302可经由系统总线1303通信。并且,处理器1301 通过读取机器可读存储介质1302中与数据报文的转发逻辑对应的机器可执行指令以执行上文所述的数据报文的转发方法。
本文中提到的机器可读存储介质1302可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:随机存取存储器(英文:Radom Access Memory,简称:RAM)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (14)

1.一种数据报文的转发方法,其特征在于,第一边缘设备ED组处于第一以太虚拟私有网络EVPN边缘,第一ED组包括至少两个ED,两两ED间建立隧道,任一ED与处于所述第一EVPN内的网络设备之间建立隧道,且第一ED组与处于第二EVPN边缘的第二ED组之间建立隧道,所述方法应用于所述第一ED组内第一ED,所述方法包括:
接收第一网络设备发送的第一数据报文,所述第一数据报文包括第一网络设备的第一IP地址;
根据所述第一IP地址,确定从所述第一网络设备处传输所述第一数据报文的第一隧道的第一隧道类型;
从所述第一数据报文中,获取第二数据报文,所述第二数据报文包括第二网络设备的第二IP地址;
根据所述第二IP地址,确定用于转发所述第二数据报文的第二隧道的第二隧道类型;
当所述第一隧道类型和所述第二隧道类型均表示为非ED间隧道,且所述第一隧道类型与所述第二隧道类型不同时,通过所述第二隧道转发所述第二数据报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一隧道类型或所述第二隧道类型中任一表示为ED间隧道时,不通过所述第二隧道转发所述第二数据报文;
或者,当所述第一隧道类型与所述第二隧道类型相同时,不通过所述第二隧道转发所述第二数据报文。
3.根据权利要求1或2所述的方法,其特征在于,所述接收第一网络设备发送的第一数据报文之前,所述方法还包括:
当隧道的目的IP地址为所述第一ED组内第二ED的IP地址时,将该隧道的隧道类型设置为第一类型,所述第一类型表征所述隧道为所述第一ED组内第一ED与第二ED之间的隧道;
当所述隧道的目的IP地址不为所述第一ED组内第二ED的IP地址,且所述隧道的隧道端口具有使能标识时,将所述隧道类型设置为第二类型,所述第二类型属性表征所述隧道为所述第一ED组与所述第二ED组之间的隧道;
当所述隧道的目的IP地址不为所述第一ED组内第二ED的IP地址,且所述隧道的隧道端口不具有使能标识时,确定所述隧道的隧道属性为第三类型,所述第三类型表征所述隧道为所述第一ED组内第一ED与所述第一EVPN内的网络设备之间的隧道。
4.根据权利要求3所述的方法,其特征在于,所述第一类型、第二类型、及第三类型均为包括“1”的二进制数,且所述第二类型与所述第三类型相与为0,所述第一类型与所述第二类型或者所述第三类型相与不为0;
当所述第一隧道类型和所述第二隧道类型均表示为非ED间隧道,且所述第一隧道类型与所述第二隧道类型不同时,通过所述第二隧道转发所述第二数据报文,包括:
在表示所述第一隧道类型的二进制数与表示所述第二隧道类型的二进制数相与为0时,通过所述第二隧道转发所述第二数据报文。
5.根据权利要求4所述的方法,其特征在于,
所述当所述第一隧道类型或所述第二隧道类型中任一表示为ED间隧道时,不通过所述第二隧道转发所述第二数据报文;
或者,当所述第一隧道类型与所述第二隧道类型相同时,不通过所述第二隧道转发所述第二数据报文,包括:
在表示所述第一隧道类型的二进制数与所述表示所述第二隧道类型的二进制数相与不为0时,不通过所述第二隧道转发所述第二数据报文。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一ED与第一虚拟机VM连接,所述第二ED与第二VM连接;
所述方法还包括:
接收第一VM发送的第三数据报文,所述第三数据报文包括目的VM的IP地址;
在所述目的VM的IP地址为第二VM的IP地址时,通过所述ED间隧道向所述第二ED转发所述第三数据报文。
7.根据权利要求1-5任一所述的方法,其特征在于,所述第一数据报文为单播数据报文,或者为广播数据报文。
8.一种数据报文的转发装置,其特征在于,第一边缘设备ED组处于第一以太虚拟私有网络EVPN边缘,第一ED组包括至少两个ED,两两ED间建立隧道,任一ED与处于所述第一EVPN内的网络设备之间建立隧道,且第一ED组与处于第二EVPN边缘的第二ED组之间建立隧道,所述方法应用于所述第一ED组内第一ED,所述装置包括:
第一接收模块,用于接收第一网络设备发送的第一数据报文,所述第一数据报文包括第一网络设备的第一IP地址;
第一确定模块,用于根据所述第一IP地址,确定从所述第一网络设备处传输所述第一数据报文的第一隧道的第一隧道类型;
获取模块,用于从所述第一数据报文中,获取第二数据报文,所述第二数据报文包括第二网络设备的第二IP地址;
第二确定模块,用于根据所述第二IP地址,确定用于转发所述第二数据报文的第二隧道的第二隧道类型;
第一处理模块,用于当所述第一隧道类型和所述第二隧道类型均表示为非ED间隧道,且所述第一隧道类型与所述第二隧道类型不同时,通过所述第二隧道转发所述第二数据报文。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二处理模块,用于当所述第一隧道类型或所述第二隧道类型中任一表示为ED间隧道时,不通过所述第二隧道转发所述第二数据报文;
或者,用于当所述第一隧道类型与所述第二隧道类型相同时,不通过所述第二隧道转发所述第二数据报文。
10.根据权利要求8或者9所述的装置,其特征在于,所述装置还包括:
第一设置模块,用于当隧道的目的IP地址为所述第一ED组内第二ED的IP地址时,将该隧道的隧道类型设置为第一类型,所述第一类型表征所述隧道为所述第一ED组内第一ED与第二ED之间的隧道;
第二设置模块,用于当所述隧道的目的IP地址不为所述第一ED组内第二ED的IP地址,且所述隧道的隧道端口具有使能标识时,将所述隧道类型设置为第二类型,所述第二类型属性表征所述隧道为所述第一ED组与所述第二ED组之间的隧道;
第三设置模块,用于当所述隧道的目的IP地址不为所述第一ED组内第二ED的IP地址,且所述隧道的隧道端口不具有使能标识时,确定所述隧道的隧道属性为第三类型,所述第三类型表征所述隧道为所述第一ED组内第一ED与所述第一EVPN内的网络设备之间的隧道。
11.根据权利要求10所述的装置,其特征在于,所述第一类型、第二类型、及第三类型均为包括“1”的二进制数,且所述第二类型与所述第三类型相与为0,所述第一类型与所述第二类型或者所述第三类型相与不为0;
所述第一处理模块,包括:
第一处理子模块,用于在表示所述第一隧道类型的二进制数与表示所述第二隧道类型的二进制数相与为0时,通过所述第二隧道转发所述第二数据报文。
12.根据权利要求11所述的装置,其特征在于,所述第二处理模块,包括:
第二处理子模块,用于在表示所述第一隧道类型的二进制数与所述表示所述第二隧道类型的二进制数相与不为0时,不通过所述第二隧道转发所述第二数据报文。
13.根据权利要求8至12任一项所述的装置,其特征在于,所述第一ED与第一虚拟机VM连接,所述第二ED与第二VM连接;
所述装置还包括:
第二接收模块,用于接收第一VM发送的第三数据报文,所述第三数据报文包括目的VM的IP地址;
第三处理模块,用于在所述目的VM的IP地址为第二VM的IP地址时,通过所述ED间隧道向所述第二ED转发所述第三数据报文。
14.根据权利要求8-12任一所述的方法,其特征在于,所述第一数据报文为单播数据报文,或者为广播数据报文。
CN201810510071.4A 2018-05-24 2018-05-24 数据报文的转发方法及装置 Active CN108471374B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810510071.4A CN108471374B (zh) 2018-05-24 2018-05-24 数据报文的转发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810510071.4A CN108471374B (zh) 2018-05-24 2018-05-24 数据报文的转发方法及装置

Publications (2)

Publication Number Publication Date
CN108471374A true CN108471374A (zh) 2018-08-31
CN108471374B CN108471374B (zh) 2020-11-27

Family

ID=63261567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810510071.4A Active CN108471374B (zh) 2018-05-24 2018-05-24 数据报文的转发方法及装置

Country Status (1)

Country Link
CN (1) CN108471374B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311645A (zh) * 2019-07-31 2021-02-02 中兴通讯股份有限公司 一种实现dci三层通信的方法、系统及第一gw
WO2021139288A1 (zh) * 2020-01-08 2021-07-15 华为技术有限公司 报文发送方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184279A (zh) * 2007-12-11 2008-05-21 中兴通讯股份有限公司 一种实现gsm系统码型变换的方法及系统
CN102685271A (zh) * 2012-05-30 2012-09-19 北京星网锐捷网络技术有限公司 一种防止自动隧道环路生成的方法及装置
US20130266002A1 (en) * 2006-07-17 2013-10-10 Camiant, Inc. COMBOPHONE WITH QoS ON CABLE ACCESS
CN105591982A (zh) * 2015-07-24 2016-05-18 杭州华三通信技术有限公司 一种报文传输的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130266002A1 (en) * 2006-07-17 2013-10-10 Camiant, Inc. COMBOPHONE WITH QoS ON CABLE ACCESS
CN101184279A (zh) * 2007-12-11 2008-05-21 中兴通讯股份有限公司 一种实现gsm系统码型变换的方法及系统
CN102685271A (zh) * 2012-05-30 2012-09-19 北京星网锐捷网络技术有限公司 一种防止自动隧道环路生成的方法及装置
CN105591982A (zh) * 2015-07-24 2016-05-18 杭州华三通信技术有限公司 一种报文传输的方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311645A (zh) * 2019-07-31 2021-02-02 中兴通讯股份有限公司 一种实现dci三层通信的方法、系统及第一gw
WO2021017590A1 (zh) * 2019-07-31 2021-02-04 中兴通讯股份有限公司 一种实现dci三层通信的方法、系统及第一gw
WO2021139288A1 (zh) * 2020-01-08 2021-07-15 华为技术有限公司 报文发送方法、装置及存储介质

Also Published As

Publication number Publication date
CN108471374B (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
US10116559B2 (en) Operations, administration and management (OAM) in overlay data center environments
US9628295B2 (en) Method, device, and routing system for data transmission of network virtualization
US20200396162A1 (en) Service function chain sfc-based communication method, and apparatus
EP2579544B1 (en) Methods and apparatus for a scalable network with efficient link utilization
US11750515B2 (en) Data transmission method and apparatus
CN108718269B (zh) 报文处理方法及装置
CN108964940B (zh) 消息发送方法及装置、存储介质
CN106559292A (zh) 一种宽带接入方法和装置
WO2014169782A1 (en) Virtual machine migration
EP3863233B1 (en) Method and device used for ethernet virtual private network
CN104022936B (zh) 一种隧道建立方法和装置
CN110324159B (zh) 链路配置方法、控制器和存储介质
CN110875855A (zh) 检测网络链路状态的方法和网络设备
CN109412922B (zh) 一种传输报文的方法、转发设备、控制器及系统
CN105187311B (zh) 一种报文转发方法及装置
CN106878136A (zh) 一种报文转发方法及装置
CN107645433A (zh) 报文转发方法及装置
CN107547340A (zh) 一种报文转发方法和装置
US20230336377A1 (en) Packet forwarding method and apparatus, and network system
CN108471374A (zh) 数据报文的转发方法及装置
WO2015090087A1 (zh) 路由扩散的方法及装置
CN110391984B (zh) 一种报文转发方法及装置
CN107659436A (zh) 一种防止业务中断的方法及装置
CN110572326A (zh) 转发路径的建立方法、装置、网络设备及系统
US20220247598A1 (en) Packet Detection Method, Connectivity Negotiation Relationship Establishment Method, and Related Device

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