CN108600073B - 一种动态隧道建立方法和装置 - Google Patents

一种动态隧道建立方法和装置 Download PDF

Info

Publication number
CN108600073B
CN108600073B CN201810351711.1A CN201810351711A CN108600073B CN 108600073 B CN108600073 B CN 108600073B CN 201810351711 A CN201810351711 A CN 201810351711A CN 108600073 B CN108600073 B CN 108600073B
Authority
CN
China
Prior art keywords
route
address
vtep
vxlan tunnel
equipment
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
CN201810351711.1A
Other languages
English (en)
Other versions
CN108600073A (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.)
Hangzhou H3C 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 CN201810351711.1A priority Critical patent/CN108600073B/zh
Publication of CN108600073A publication Critical patent/CN108600073A/zh
Application granted granted Critical
Publication of CN108600073B publication Critical patent/CN108600073B/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
    • 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]

Landscapes

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

Abstract

本申请提供一种动态隧道建立方法和装置,该方法应用于EVPN中的VTEP设备,该VTEP设备为分布式聚合系统的成员设备,该方法包括:当学习到外部路由时,将该外部路由通过IP前缀通告路由发布出去,以使收到该IP前缀通告路由的其他VTEP设备根据该指定字段中的地址,也即该VTEP设备上建立的IPL VXLAN隧道的源地址,建立到该VTEP设备的VXLAN隧道;或者,当学习到终端的主机路由且该终端单独接入本设备时,将该主机路由通过MAC/IP通告路由发布出去,以使收到该MAC/IP通告路由的其他VTEP设备根据该指定字段中的地址,也即该VTEP设备的EVPN地址,建立到该VTEP设备的VXLAN隧道。

Description

一种动态隧道建立方法和装置
技术领域
本申请涉及通信技术领域,尤其涉及一种动态隧道建立方法和装置。
背景技术
EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)是一种二层VPN技术。为了支持EVPN,BGP EVPN地址族新增了多种EVPN路由,举例来说,EVPN路由中的2类路由(Route Type 2),即MAC/IP通告路由(MAC/IP Advertisement Route),可以用来通告MAC/IP地址信息;EVPN路由中的5类路由(Route Type 5),即IP前缀通告路由(IP PrefixAdvertisementRoute),可以用来以IP前缀的形式通告引入的外部路由。
MLAG(英文:multi-chassis linkaggregation group,简称:跨设备链路聚合组)是一种实现跨设备链路聚合的机制,通过将一台设备与另外两台设备进行跨设备链路聚合,从而把链路可靠性从单板级提高到了设备级,组成双活系统。
EVPN可以利用MLAG机制将两台物理设备连接起来虚拟成一台设备,使用该虚拟设备作为VTEP(VirtualExtensible LAN Tunnel End Point,可扩展虚拟局域网隧道端点)设备,可以避免VTEP设备单点故障对网络造成影响,从而提高EVPN的可靠性。
发明内容
有鉴于此,本申请提供一种动态隧道建立方法和装置。
具体地,本申请是通过如下技术方案实现的:
本申请第一方面,提供了一种动态隧道建立方法,所述方法应用于EVPN中的VTEP设备,所述VTEP设备为分布式聚合系统的成员设备,所述方法包括:
当学习到外部路由时,将所述外部路由通过IP前缀通告路由发布出去,所述IP前缀通告路由的指定字段中携带所述VTEP设备上建立的IPL VXLAN隧道的源地址,以使收到所述IP前缀通告路由的其他VTEP设备根据该指定字段中的地址建立到所述VTEP设备的VXLAN隧道;或者
当学习到终端的主机路由且所述终端单独接入本设备时,将所述主机路由通过MAC/IP通告路由发布出去,所述MAC/IP通告路由的指定字段中携带所述VTEP设备的EVPN地址,以使收到所述MAC/IP通告路由的其他VTEP设备根据该指定字段中的地址建立到所述VTEP设备的VXLAN隧道。
本申请第二方面,提供了一种VTEP设备。所述VTEP设备具有实现上述方法的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能对应的模块或单元。
一种实现方式中,所述VTEP设备可以包括:
路由学习单元,用于学习外部路由和终端的主机路由;
路由发布单元,用于在所述路由学习单元学习到外部路由时,将所述外部路由通过IP前缀通告路由发布出去,所述IP前缀通告路由的指定字段中携带所述VTEP设备上建立的IPL VXLAN隧道的源地址,以使收到所述IP前缀通告路由的其他VTEP设备根据该指定字段中的地址建立到所述VTEP设备的VXLAN隧道;或者,用于在所述路由学习单元学习到终端的主机路由且所述终端单独接入本设备时,将所述主机路由通过MAC/IP通告路由发布出去,所述MAC/IP通告路由的指定字段中携带所述VTEP设备的EVPN地址,以使收到所述MAC/IP通告路由的其他VTEP设备根据该指定字段中的地址建立到所述VTEP设备的VXLAN隧道。
另一种实现方式中,所述VTEP设备可以包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述处理器通过读取所述存储器中存储的逻辑指令,执行本申请第一方面提供的动态隧道建立方法。
本申请中,VTEP设备在根据收到的EVPN路由建立隧道时,通过判断EVPN路由是否携带指定字段,来确定该EVPN路由是否来自于无peer-link组网中的分布式聚合系统的成员设备;如果EVPN路由携带指定字段,则根据该指定字段中携带的IPL VXLAN隧道的实际地址来进行隧道的建立,这样就不会存在向同一个VTEP设备建立多条VXLAN隧道,浪费隧道资源的现象。
附图说明
图1是一种MLAG+EVPN的无peer-link组网示意图;
图2是本申请提供的一种方法流程图;
图3是本申请新定义的扩展团体属性字段的格式示意图;
图4是本申请提供的另一种方法流程图;
图5是本申请提供的装置功能模块框图;
图6是本申请提供的图5所示装置的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,为一种MLAG+EVPN的无peer-link(对等链路)组网。在图1中,VM1通过MLAG机制双归属接入VTEP1和VTEP3,VTEP1和VTEP3跟VM1的连接口称为DR接口(Distributed Relay interface,分布式聚合接口),VTEP1和VTEP3之间的连接口称为IPP(Intra-Portal Port,内部控制链路端口)。
无peer-link指的是,VTEP 1和VTEP 3之间不需要通过物理链路连接,只需建立VXLAN隧道连接,即在VTEP 1和VTEP3上面分别建立VXLAN隧道作为IPL(Intra-PortalLink,内部控制链路)链路,以下将这种MLAG成员之间用来实现peer-link的VXLAN隧道称为IPL VXLAN隧道。图1中,VTEP1上面的IPLVXLAN隧道的源地址为4.4.4.4,目的地址为5.5.5.5;VTEP3上面的IPLVXLAN隧道的源地址为5.5.5.5,目的地址为4.4.4.4。
由于IPL VXLAN隧道的存在,作为MLAG成员的VTEP1和VTEP3各自有1个实地址和1个虚地址。所谓实地址,为组成MLAG的两个VTEP设备作为两个独立设备时对外体现的IP地址;所谓虚地址,为组成MLAG的两个VTEP设备对外体现出一个逻辑设备时的该逻辑设备的地址,也即该两个VTEP设备组成的MLAG的组地址。图1中,VTEP1的实地址为4.4.4.4,虚地址为1.2.3.4;VTEP3的实地址为5.5.5.5,虚地址同样为1.2.3.4。
在图1中,作为EVPN边缘设备的VTEP1和VTEP3,还分别有1个EVPN地址。所谓EVPN地址,为VTEP设备用来与其他VTEP设备建立BGP EVPN邻居关系的地址。VTEP1和VTEP3的EVPN地址可以配置成与实地址相同的IP地址,也可以配置成与实地址不同的IP地址。实际应用中,由于IPL VXLAN隧道是用来传输MLAG协议报文和数据报文,并不为EVPN服务,所以同一个VTEP设备的实地址和EVPN地址通常配置成不同的IP地址,但这样却会带来以下问题:
EVPN构建的是一个私有网络,它也可以通过接入外网,实现跟外网通信的目的。通常在EVPN的Spine-Leaf架构中,会有1台或多台专门接入外网的设备,我们把它叫做BoardLeaf。Board Leaf通过普通接口跟外网建立普通路由协议,学习路由,然后在Board Leaf上EVPN可以引入这些外部路由,形成EVPN5类路由(即IP前缀通告路由),进而通告到EVPN网络中,使其他VTEP设备也能学到这些外部路由,这些外部路由的下一跳均指向通告此路由的Board Leaf。不论是EVPN外部路由还是EVPN内部路由,VTEP设备可以根据路由传递的下一跳来建立VXLAN隧道,以图1中的VTEP2举例来说:
1)VTEP2如果收到了VTEP1和VTEP3同步的VM1的转发表项,则由于VM1双归属接入VTEP1和VTEP3,用于同步VM1转发表项的IP/MAC通告路由的下一跳为VTEP1和VTEP3的虚地址,即1.2.3.4,因此VTEP2上面会建立如下的VXLAN隧道:
tunnel0:源地址为2.2.2.2(VTEP2的EVPN地址),目的地址是1.2.3.4。
2)VTEP2如果收到了VTEP1同步的VM3的转发表项,则由于VM3单独接入VTEP1,用于同步VM1转发表项的IP/MAC通告路由的下一跳为VTEP1上建立的IPL VXLAN隧道的源地址,即VTEP1的实地址4.4.4.4,因此VTEP2上面会建立如下的VXLAN隧道:
tunnel1:源地址为2.2.2.2,目的地址是4.4.4.4。
3)VTEP3如果从VTEP1收到了IP前缀通告路由,则由于IP前缀通告路由引入的是外部路由,VTEP3上面会根据该外部路由的下一跳,即VTEP1的EVPN地址1.1.1.1,建立如下的VXLAN隧道:
tunnel2:源地址为2.2.2.2,目的地址是1.1.1.1。
上述建立的到虚地址1.2.3.4的tunnel0可以起到流量负载分担的作用;而上述建立的到VTEP1的tunnel1和tunnel2,则是向同一个VTEP设备转发的多条VXLAN隧道,这无疑浪费了VTEP2的隧道资源。
针对以上问题,本申请提出了一种优化隧道建立的方案,本方案对EVPN路由中的2类路由(即MAC/IP通告路由)和5类路由(即IP前缀通告路由)进行了扩展,新增了一种扩展字段;如果某个VTEP设备是无peer-link组网中的分布式聚合系统的成员设备,则该VTEP设备可以在对外发布的5类路由或者部分2类路由中携带上述扩展字段;收到这类携带扩展字段的5类路由或者2类路由的VTEP设备,则不必再根据路由传递的下一跳来建立隧道,而是可以根据这个扩展字段中携带的IP地址来建立隧道。通过在5类路由或者2类路由的扩展字段中携带合适的IP地址,便可以避免出现向同一个VTEP设备建立多条VXLAN隧道的情况,达到节省VTEP设备隧道资源的目的。
本申请提出的优化隧道建立的方案可以有两种设计思路,以下分别结合图2和图3对这两种设计思路加以说明。
参见图2,在一个实施方案中,作为分布式聚合系统成员设备的VTEP设备,在运行过程中可以执行如下步骤:
步骤201:当学习到外部路由时,获取本设备上建立的IPL VXLAN隧道的源地址。
这里的外部路由即通过L3VPN引入的路由。
步骤202:将学习到的外部路由通过IP前缀通告路由发布出去,该IP前缀通告路由的指定字段中携带本设备上建立的IPL VXLAN隧道的源地址,以使收到此IP前缀通告路由的其他VTEP设备根据该指定字段中的地址建立到本设备的VXLAN隧道。
这里的指定字段即上文所说的对IP前缀通告路由进行扩展后新增的扩展字段。如果IP前缀通告路由中携带了这个指定字段,则表示发送该IP前缀通告路由的VTEP设备是无peer-link组网中的分布式聚合系统成员设备,接收该IP前缀通告路由的VTEP设备不必再根据路由传递的下一跳来建立隧道,而是可以根据这个指定字段中的IP地址来建立隧道。
作为一个实施例,该指定字段可以是新定义的扩展团体属性(Ext-Community)字段,其格式如图3所示,包括以下内容:
类型(Type)域:其取值可以设置为扩展团体属性字段中未被使用的任意Type值,目前扩展团体属性字段中0x05和0x05之前的Type值均已被使用,作为一个示例图3中将Type域的值设置为0x07;
IP地址(Address)域,在本实施例中用于承载VTEP设备上建立的IPLVXLAN隧道的源地址;
子类型(Sub-Type)域、标记(Flags)域和保留字段(Reserved)域可用于将来的属性扩展。
基于新定义的指定字段,本实施例提供的隧道建立过程可以概括如下:
1)当第一VTEP设备从第二VTEP设备收到针对某个终端的MAC/IP通告路由时,第一VTEP设备可以按照现有机制,建立以本设备的EVPN地址为源地址,以收到的MAC/IP通告路由的下一跳为目的地址的VXLAN隧道。
其中,如果第二VTEP设备不是分布式聚合系统的成员设备,那么该MAC/IP通告路由的下一跳为第二VTEP设备的EVPN地址。
如果第二VTEP设备是分布式聚合系统的成员设备,那么可以再细分为以下两种情况:如果该终端双归属接入第二VTEP设备和另一个VTEP设备,那么该MAC/IP通告路由的下一跳为第二VTEP设备的虚地址;如果该终端单独接入第二VTEP设备,那么该MAC/IP通告路由的下一跳为第二VTEP设备的实地址,即第二VTEP设备上建立的IPL VXLAN隧道的源地址。
2)当第一VTEP设备从第二VTEP设备收到IP前缀通告路由时,第一VTEP设备可以依据该IP前缀通告路由是否携带了指定字段,即本申请新定义的扩展字段,来决定怎么建立VXLAN隧道。
如果第二VTEP设备不是分布式聚合系统的成员设备,那么该IP前缀通告路由不会携带指定字段,从而第一VTEP设备可以按照现有机制,建立以本设备的EVPN地址为源地址,以收到的IP前缀通告路由的下一跳为目的地址的VXLAN隧道。
如果第二VTEP设备是分布式聚合系统的成员设备,那么该IP前缀通告路由会携带指定字段,从而第一VTEP设备可以跳过现有机制,建立以本设备的EVPN地址为源地址、以该指定字段中的地址为目的地址的VXLAN隧道,该指定字段中的地址即为第二VTEP设备建立的IPL VXLAN隧道的源地址。
从上述隧道建立过程可以看到,当第二VTEP设备是分布式聚合系统的成员设备时,第一VTEP设备在收到第二VTEP设备发送的携带指定字段的IP前缀通告路由时所建立的VXLAN隧道,与第一VTEP设备在收到第二VTEP设备发送的针对单挂终端(即单独接入VTEP设备的终端)的MAC/IP通告路由时所建立的VXLAN隧道是相同的,如此避免了向同一个VTEP设备建立多条VXLAN隧道的情况,可以节省VTEP设备的隧道资源。
作为一个实施例,为了防止VTEP设备上建立两个相同的VXLAN隧道导致业务不通,VTEP设备每次在建立VXLAN隧道之前,可以先检查本设备上是否已存在与待建立隧道的目的地址相匹配的VXLAN隧道,如果是,则放弃建立该待建立隧道;如果否,则继续建立该待建立隧道。
作为一个实施例,当VTEP设备上建立的IPL VXLAN隧道的源地址被删除时,该VTEP设备可以向其EVPN邻居发送BGP不可达消息,使其EVPN邻居删除以该IPL VXLAN隧道源地址为目的地址的VXLAN隧道。当VTEP设备上建立的IPL VXLAN隧道的地址发生更新时,该VTEP设备可以先向其EVPN邻居发送BGP不可达消息,再对外发布携带更新后的IPL VXLAN隧道源地址的IP前缀通告路由消息,使其EVPN邻居更新到该VTEP设备的VXLAN隧道。
至此,完成图2所示的流程。
通过图2所示的流程可以看出,VTEP设备在根据IP前缀通告路由建立隧道时,通过判断IP前缀通告路由是否携带指定字段,来确定该IP前缀通告路由是否来自于无peer-link组网中的分布式聚合系统的成员设备;如果IP前缀通告路由携带指定字段,则根据该指定字段中携带的IPL VXLAN隧道的实际地址来进行隧道的建立,这样就不会存在向同一个VTEP设备建立多条VXLAN隧道,浪费隧道资源的现象。
参见图4,在另一个实施方案中,作为分布式聚合系统成员设备的VTEP设备,在运行过程中可以执行如下步骤:
步骤401:当学习到终端的主机路由且该终端单独接入本设备时,将获取本设备的EVPN地址。
步骤402:将学习到的上述主机路由的路由通过MAC/IP通告路由发布出去,该MAC/IP通告路由的指定字段中携带本设备的EVPN地址,以使收到此MAC/IP通告路由的其他VTEP设备根据该指定字段中的地址建立到本设备的VXLAN隧道。
这里的指定字段即本实施例中对MAC/IP通告路由进行扩展后新增的扩展字段。如果MAC/IP通告路由中携带了这个指定字段,则表示发送该MAC/IP通告路由的VTEP设备是无peer-link组网中的分布式聚合系统成员设备,接收该MAC/IP通告路由的VTEP设备不必再根据路由传递的下一跳来建立隧道,而是可以根据这个指定字段中的IP地址来建立隧道。该指定字段的具体格式可以参考图3所示,需要注意的是,本实施例中IP地址域用于承载VTEP设备的EVPN地址。
基于新定义的指定字段,本实施例提供的隧道建立过程可以概括如下:
1)当第一VTEP设备从第二VTEP设备收到针对某个终端的MAC/IP通告路由时,第一VTEP设备可以依据该MAC/IP通告路由是否携带了指定字段,来决定怎么建立VXLAN隧道。
如果第二VTEP设备不是分布式聚合系统的成员设备,那么该MAC/IP通告路由不会携带指定字段,从而第一VTEP设备可以按照现有机制,建立以本设备的EVPN地址为源地址,以收到的MAC/IP通告路由的下一跳为目的地址的VXLAN隧道,该MAC/IP通告路由的下一跳为第二VTEP设备的EVPN地址。
如果第二VTEP设备是分布式聚合系统的成员设备,那么可以再细分为以下两种情况:如果该终端双归属接入第二VTEP设备和另一个VTEP设备,那么该MAC/IP通告路由不会携带指定字段,从而第一VTEP设备可以按照现有机制,建立以本设备的EVPN地址为源地址,以收到的MAC/IP通告路由的下一跳为目的地址的VXLAN隧道,此时该MAC/IP通告路由的下一跳为第二VTEP设备的虚地址;如果该终端单独接入第二VTEP设备,那么该MAC/IP通告路由会携带指定字段,从而第一VTEP设备可以跳过现有机制,建立以本设备的EVPN地址为源地址,以该指定字段中的地址为目的地址的VXLAN隧道,该指定字段中的地址为第二VTEP设备的EVPN地址。
2)当第一VTEP设备从第二VTEP设备收到IP前缀通告路由时,第一VTEP设备可以按照现有机制,建立以本设备的EVPN地址为源地址,以收到的IP前缀通告路由的下一跳,即第二VTEP设备的EVPN地址为目的地址的VXLAN隧道。
从上述隧道建立过程可以看到,当第二VTEP设备是分布式聚合系统的成员设备时,第一VTEP设备在收到第二VTEP设备发送的携带指定字段的MAC/IP通告路由时所建立的VXLAN隧道,与第一VTEP设备在收到第二VTEP设备发送的IP前缀通告路由时所建立的VXLAN隧道是相同的,如此避免了向同一个VTEP设备建立多条VXLAN隧道的情况,可以节省VTEP设备的隧道资源。
同样,为了防止VTEP设备上建立两个相同的VXLAN隧道导致业务不通,VTEP设备每次在建立VXLAN隧道之前,可以先检查本设备上是否已存在与待建立隧道的目的地址相匹配的VXLAN隧道,如果是,则放弃建立该待建立隧道;如果否,则继续建立该待建立隧道。
至此,完成图4所示的流程。
通过图4所示的流程可以看出,VTEP设备在根据MAC/IP通告路由建立隧道时,通过判断MAC/IP通告路由是否携带指定字段,来确定该MAC/IP通告路由是否来自于无peer-link组网中的分布式聚合系统的成员设备;如果MAC/IP通告路由携带指定字段,则根据该指定字段中携带的VTEP设备的EVPN地址来进行隧道的建立,这样就不会存在向同一个VTEP设备建立多条VXLAN隧道,浪费隧道资源的现象。
为了使本领域技术人员更加清楚和明白,下面以图2提出的隧道建立方案为例,结合图1所示的MLAG+EVPN的无peer-link组网说明隧道建立过程。
图1中,VTEP1、VTEP2和VTEP3的EVPN地址分别为1.1.1.1、2.2.2.2和3.3.3.3;VTEP1上面的IPL VXLAN隧道的源地址为4.4.4.4,VTEP3上面的IPL VXLAN隧道的源地址为5.5.5.5;VTEP1和VTEP3组成分布式聚合系统,二者对外的虚地址为1.2.3.4。仍以VTEP2举例来说,其隧道建立方式如下:
1)当VTEP2收到了VTEP1和VTEP3同步的VM1的转发表项时,由于VM1双归属接入VTEP1和VTEP3,用于同步VM1转发表项的IP/MAC通告路由的下一跳为VTEP1和VTEP3的虚地址,即1.2.3.4,因此VTEP2上面会建立如下的VXLAN隧道:
tunnel0:源地址为2.2.2.2(VTEP2的EVPN地址),目的地址是1.2.3.4。
2)当VTEP2收到了VTEP1同步的VM3的转发表项时,由于VM3单挂接入VTEP1,用于同步VM1转发表项的IP/MAC通告路由的下一跳为VTEP1上建立的IPL VXLAN隧道的源地址,即VTEP1的实地址4.4.4.4,因此VTEP2上面会建立如下的VXLAN隧道:
tunnel1:源地址为2.2.2.2,目的地址是4.4.4.4。
3)当VTEP3从VTEP1收到了IP前缀通告路由时,对该IP前缀通告路由进行解析,如果解析发现该IP前缀通告路由携带指定字段,则利用该指定字段中的地址,即VTEP1的IPLVXLAN隧道的源地址4.4.4.4,建立如下的VXLAN隧道:
tunnel2:源地址为2.2.2.2,目的地址是4.4.4.4。
上述建立的到虚地址1.2.3.4的tunnel0可以起到流量负载分担的作用;而上述建立的到VTEP1的tunnel1和tunnel2,则是目的地址相同的VXLAN隧道。当然,为了避免同一个VTEP设备上建立相同的VXLAN隧道导致业务不通,VTEP2在建立tunnel1之前如果发现tunnel2已经存在,则无需再建立tunnel1;同理,如果VTEP2在建立tunnel2之前发现tunnel1已经存在,则无需再建立tunnel2。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述。
参见图5,为本申请提供的一种VTEP设备,该VTEP设备位于EVPN中,该VTEP设备为分布式聚合系统的成员设备。如图5所示,该VTEP设备可以包括以下单元:
路由学习单元501,用于学习外部路由和终端的主机路由;
路由发布单元502,用于在所述路由学习单元501学习到外部路由时,将所述外部路由通过IP前缀通告路由发布出去,所述IP前缀通告路由的指定字段中携带所述VTEP设备上建立的IPL VXLAN隧道的源地址,以使收到所述IP前缀通告路由的其他VTEP设备根据该指定字段中的地址建立到所述VTEP设备的VXLAN隧道;或者,用于在所述路由学习单元501学习到终端的主机路由且所述终端单独接入本设备时,将所述主机路由通过MAC/IP通告路由发布出去,所述MAC/IP通告路由的指定字段中携带所述VTEP设备的EVPN地址,以使收到所述MAC/IP通告路由的其他VTEP设备根据该指定字段中的地址建立到所述VTEP设备的VXLAN隧道。
在其中一种实施方式中,所述VTEP设备还可以包括:
接收单元,用于接收其他VTEP设备发布的IP前缀通告路由或MAC/IP通告路由;
隧道建立单元,用于如果收到的IP前缀通告路由或MAC/IP通告路由中携带指定字段,则建立第一VXLAN隧道,所述第一VXLAN隧道以本设备的EVPN地址为源地址、以该指定字段中的地址为目的地址;如果收到的IP前缀通告路由或MAC/IP通告路由中未携带指定字段,则建立第二VXLAN隧道,所述第二VXLAN隧道以本设备的EVPN地址为源地址、以收到的IP前缀通告路由或MAC/IP通告路由的下一跳为目的地址。
在其中一种实施方式中,如果所述其他VTEP设备发布的IP前缀通告路由携带指定字段,则该指定字段中的地址为所述其他VTEP设备上建立的IPLVXLAN隧道的源地址;如果所述其他VTEP设备发布的MAC/IP通告路由携带指定字段,则该指定字段中的地址为所述其他VTEP设备的EVPN地址。
在其中一种实施方式中,所述指定字段可以为新定义的扩展团体属性字段。
在其中一种实施方式中,所述隧道建立单元,用于在建立第一VXLAN隧道时,判断本设备上是否已存在与所述第一VXLAN隧道的目的地址匹配的VXLAN隧道;如果是,则放弃建立所述第一VXLAN隧道;如果否,则建立所述第一VXLAN隧道;以及,在建立第二VXLAN隧道时,判断本设备上是否已存在与所述第二VXLAN隧道的目的地址匹配的VXLAN隧道;如果是,则放弃建立所述第二VXLAN隧道;如果否,则建立所述所述第二VXLAN隧道。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
至此,完成图5所示的功能模块框图描述。
参见图6,图6为本申请提供的一种VTEP设备的硬件结构示意图,该VTEP设备包括:通信接口601、处理器602、存储器603和总线604;其中,通信接口601、处理器602和存储器603通过总线604完成相互间的通信。
其中,通信接口601,用于发送和接收报文。处理器602可以是一个中央处理器(CPU),存储器603可以是非易失性存储器(non-volatile memory),并且存储器603中存储有建立动态隧道的逻辑指令,处理器602可以执行存储器603中存储的建立动态隧道的逻辑指令,以实现上述图2和图4所示的方法。
至此,完成图6所示的硬件结构描述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种动态隧道建立方法,其特征在于,所述方法应用于以太网虚拟专用网EVPN中的可扩展虚拟局域网络隧道端点VTEP设备,所述VTEP设备为无peer-link组网中的分布式聚合系统的成员设备,所述方法包括:
当学习到外部路由时,将所述外部路由通过IP前缀通告路由发布出去,所述IP前缀通告路由的指定字段中携带所述VTEP设备上建立的内部控制链路IPL可扩展虚拟局域网VXLAN隧道的源地址,以使收到所述IP前缀通告路由的其他VTEP设备根据该指定字段中的地址建立到所述VTEP设备的VXLAN隧道;或者
当学习到终端的主机路由且所述终端单独接入本设备时,将所述主机路由通过MAC/IP通告路由发布出去,所述MAC/IP通告路由的指定字段中携带所述VTEP设备的EVPN地址,以使收到所述MAC/IP通告路由的其他VTEP设备根据该指定字段中的地址建立到所述VTEP设备的VXLAN隧道。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收其他VTEP设备发布的IP前缀通告路由或MAC/IP通告路由;
如果收到的IP前缀通告路由或MAC/IP通告路由中携带指定字段,则建立第一VXLAN隧道,所述第一VXLAN隧道以本设备的EVPN地址为源地址、以该指定字段中的地址为目的地址;
如果收到的IP前缀通告路由或MAC/IP通告路由中未携带指定字段,则建立第二VXLAN隧道,所述第二VXLAN隧道以本设备的EVPN地址为源地址、以收到的IP前缀通告路由或MAC/IP通告路由的下一跳为目的地址。
3.如权利要求2所述的方法,其特征在于,
如果所述其他VTEP设备发布的IP前缀通告路由携带指定字段,则该指定字段中的地址为所述其他VTEP设备上建立的IPL VXLAN隧道的源地址;
如果所述其他VTEP设备发布的MAC/IP通告路由携带指定字段,则该指定字段中的地址为所述其他VTEP设备的EVPN地址。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述指定字段为新定义的扩展团体属性字段。
5.如权利要求2所述的方法,其特征在于,所述建立第一VXLAN隧道,包括:
判断本设备上是否已存在与所述第一VXLAN隧道的目的地址匹配的VXLAN隧道;如果是,则放弃建立所述第一VXLAN隧道;如果否,则建立所述第一VXLAN隧道;
所述建立第二VXLAN隧道,包括:
判断本设备上是否已存在与所述第二VXLAN隧道的目的地址匹配的VXLAN隧道;如果是,则放弃建立所述第二VXLAN隧道;如果否,则建立所述第二VXLAN隧道。
6.一种可扩展虚拟局域网隧道端点VTEP设备,其特征在于,所述VTEP设备位于以太网虚拟专用网EVPN中,所述VTEP设备为无peer-link组网中的分布式聚合系统的成员设备,所述VTEP设备包括:
路由学习单元,用于学习外部路由和终端的主机路由;
路由发布单元,用于在所述路由学习单元学习到外部路由时,将所述外部路由通过IP前缀通告路由发布出去,所述IP前缀通告路由的指定字段中携带所述VTEP设备上建立的内部控制链路IPL可扩展虚拟局域网VXLAN隧道的源地址,以使收到所述IP前缀通告路由的其他VTEP设备根据该指定字段中的地址建立到所述VTEP设备的VXLAN隧道;或者,用于在所述路由学习单元学习到终端的主机路由且所述终端单独接入本设备时,将所述主机路由通过MAC/IP通告路由发布出去,所述MAC/IP通告路由的指定字段中携带所述VTEP设备的EVPN地址,以使收到所述MAC/IP通告路由的其他VTEP设备根据该指定字段中的地址建立到所述VTEP设备的VXLAN隧道。
7.如权利要求6所述的VTEP设备,其特征在于,所述VTEP设备还包括:
接收单元,用于接收其他VTEP设备发布的IP前缀通告路由或MAC/IP通告路由;
隧道建立单元,用于如果收到的IP前缀通告路由或MAC/IP通告路由中携带指定字段,则建立第一VXLAN隧道,所述第一VXLAN隧道以本设备的EVPN地址为源地址、以该指定字段中的地址为目的地址;如果收到的IP前缀通告路由或MAC/IP通告路由中未携带指定字段,则建立第二VXLAN隧道,所述第二VXLAN隧道以本设备的EVPN地址为源地址、以收到的IP前缀通告路由或MAC/IP通告路由的下一跳为目的地址。
8.如权利要求7所述的VTEP设备,其特征在于,
如果所述其他VTEP设备发布的IP前缀通告路由携带指定字段,则该指定字段中的地址为所述其他VTEP设备上建立的IPL VXLAN隧道的源地址;
如果所述其他VTEP设备发布的MAC/IP通告路由携带指定字段,则该指定字段中的地址为所述其他VTEP设备的EVPN地址。
9.如权利要求6-8中任一项所述的VTEP设备,其特征在于,所述指定字段为新定义的扩展团体属性字段。
10.如权利要求7所述的VTEP设备,其特征在于,
所述隧道建立单元,用于在建立第一VXLAN隧道时,判断本设备上是否已存在与所述第一VXLAN隧道的目的地址匹配的VXLAN隧道;如果是,则放弃建立所述第一VXLAN隧道;如果否,则建立所述第一VXLAN隧道;以及,在建立第二VXLAN隧道时,判断本设备上是否已存在与所述第二VXLAN隧道的目的地址匹配的VXLAN隧道;如果是,则放弃建立所述第二VXLAN隧道;如果否,则建立所述第二VXLAN隧道。
CN201810351711.1A 2018-04-19 2018-04-19 一种动态隧道建立方法和装置 Active CN108600073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810351711.1A CN108600073B (zh) 2018-04-19 2018-04-19 一种动态隧道建立方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810351711.1A CN108600073B (zh) 2018-04-19 2018-04-19 一种动态隧道建立方法和装置

Publications (2)

Publication Number Publication Date
CN108600073A CN108600073A (zh) 2018-09-28
CN108600073B true CN108600073B (zh) 2020-12-29

Family

ID=63613618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810351711.1A Active CN108600073B (zh) 2018-04-19 2018-04-19 一种动态隧道建立方法和装置

Country Status (1)

Country Link
CN (1) CN108600073B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430116B (zh) * 2019-07-26 2021-05-07 新华三技术有限公司成都分公司 数据转发方法及装置、边缘设备及可读存储介质
CN112688887B (zh) * 2020-12-23 2022-07-12 新华三技术有限公司 一种隧道的配置方法和节点设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878166A (zh) * 2017-01-22 2017-06-20 新华三技术有限公司 路由通告方法及装置
CN107547402A (zh) * 2017-07-19 2018-01-05 新华三技术有限公司 一种转发表生成方法和装置
CN107612808A (zh) * 2017-09-13 2018-01-19 新华三技术有限公司 隧道建立方法和装置
CN107645433A (zh) * 2017-08-31 2018-01-30 新华三技术有限公司 报文转发方法及装置
CN107733793A (zh) * 2017-11-28 2018-02-23 新华三技术有限公司 一种转发表项维护方法及装置
CN107819677A (zh) * 2017-10-26 2018-03-20 新华三技术有限公司 一种报文转发方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10243916B2 (en) * 2016-04-07 2019-03-26 Cisco Technology, Inc. Control plane based technique for handling multi-destination traffic in overlay networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878166A (zh) * 2017-01-22 2017-06-20 新华三技术有限公司 路由通告方法及装置
CN107547402A (zh) * 2017-07-19 2018-01-05 新华三技术有限公司 一种转发表生成方法和装置
CN107645433A (zh) * 2017-08-31 2018-01-30 新华三技术有限公司 报文转发方法及装置
CN107612808A (zh) * 2017-09-13 2018-01-19 新华三技术有限公司 隧道建立方法和装置
CN107819677A (zh) * 2017-10-26 2018-03-20 新华三技术有限公司 一种报文转发方法及装置
CN107733793A (zh) * 2017-11-28 2018-02-23 新华三技术有限公司 一种转发表项维护方法及装置

Also Published As

Publication number Publication date
CN108600073A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
US11012355B2 (en) Route processing method, device, and system
EP3065342B1 (en) Update of mac routes in evpn single-active topology
CN111865779B (zh) 一种路由同步方法及跨设备链路聚合组
EP2853066B1 (en) Layer-3 overlay gateways
CN111740899B (zh) 一种arp请求报文转发方法、跨设备链路聚合组及网络设备
US9300524B2 (en) Message forwarding between geographically dispersed network sites
CN107612808B (zh) 隧道建立方法和装置
WO2021077768A1 (zh) 路由信息的处理方法和装置
CN111736958A (zh) 虚拟机迁移方法、系统、计算机设备及存储介质
EP3605959A1 (en) Method, device and computer storage medium for implementing double control plane
CN113746717B (zh) 网络设备通信方法及网络设备通信装置
EP3301868B1 (en) Symmetric intersubnet traffic load balancing in multihomed networks
EP3588868B1 (en) Coordinating pseudowire connection characteristics and multi-homed provider edge device capabilities
US20160205033A1 (en) Pool element status information synchronization method, pool register, and pool element
CN108833272B (zh) 一种路由管理方法和装置
EP3541026A1 (en) Assisted replication with multi-homing and local bias
CN108600073B (zh) 一种动态隧道建立方法和装置
CN113037883B (zh) 一种mac地址表项的更新方法及装置
CN112995027B (zh) 路由发布方法及vtep节点
CN107911495B (zh) 一种mac地址同步方法和vtep
US10917378B1 (en) Facilitating communication between network devices of a virtual router redundancy protocol (VRRP) group
CN108768845B (zh) 一种多归属主机路由同步方法及装置
CN108600075B (zh) 一种故障处理方法及装置
CN111565141B (zh) 数据传输方法、第一pe和第二pe
WO2023169364A1 (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