CN106612224A - 应用于vxlan的报文转发方法和装置 - Google Patents

应用于vxlan的报文转发方法和装置 Download PDF

Info

Publication number
CN106612224A
CN106612224A CN201510701615.1A CN201510701615A CN106612224A CN 106612224 A CN106612224 A CN 106612224A CN 201510701615 A CN201510701615 A CN 201510701615A CN 106612224 A CN106612224 A CN 106612224A
Authority
CN
China
Prior art keywords
vxlan
address
vtep
arp
tunnel
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
CN201510701615.1A
Other languages
English (en)
Other versions
CN106612224B (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 CN201510701615.1A priority Critical patent/CN106612224B/zh
Priority to PCT/CN2016/103152 priority patent/WO2017071547A1/zh
Priority to JP2018521516A priority patent/JP6557415B2/ja
Priority to EP16858982.8A priority patent/EP3370385B1/en
Priority to US15/770,545 priority patent/US10868791B2/en
Publication of CN106612224A publication Critical patent/CN106612224A/zh
Application granted granted Critical
Publication of CN106612224B publication Critical patent/CN106612224B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • 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
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

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

Abstract

本申请提供了应用于VXLAN中的报文转发方法和装置。本发明中,通过在VXLAN部署VXLAN IP网关组,实现了对VXLAN IP网关进行冗余保护,并且VXLAN中第一VTEP通过建立从本VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,以及建立从本VTEP至VXLAN IP网关组的VXLAN数据隧道,能够保证VXLAN IP网关组中的每一VXLAN IP网关学习到同一VM的ARP表项,保证VXLAN IP网关正确转发业务报文。

Description

应用于VXLAN的报文转发方法和装置
技术领域
本申请涉及网络通信技术,特别涉及应用于虚拟扩展局域网(VXLAN:Virtual eXtensible LAN)的报文转发方法和装置。
背景技术
VXLAN,基于IP网络、采用“MAC in UDP”封装形式的二层VPN技术。VXLAN基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。VXLAN作为网络虚拟化的核心技术,正在与SDN一起被越来越多的运用于大型数据中心网络。
VXLAN通过VXLAN标识(ID)标识,VXLAN ID又称VXLAN网络标识符(VNI:VXLAN Network Identifier),其长度为24比特。
图1简单示出了VXLAN的组成部分:
虚拟机(VM:Virtual Machine):一台服务器(Server)上可以创建多台VM,不同的VM可以属于不同的VXLAN。属于相同VXLAN的VM处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的VM之间二层隔离。
VXLAN隧道端点(VTEP:VXLAN Tunnel End Point):VXLAN的边缘设备。VXLAN的处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、VXLAN封装、VXLAN解封装报文等。VTEP可为一台独立的物理设备,也可为VM所在的服务器。
VXLAN隧道(tunnel):两个VTEP之间的点到点逻辑隧道。VTEP对数据帧进行VXLAN封装(包含VXLAN头、UDP头、IP头等)后,通过VXLAN隧道将封装后的报文转发。
核心设备:IP核心网络中的设备,如图1中的骨干网(P:Provider)设备。核心设备不参与VXLAN处理,仅需要根据封装后报文的目的IP地址对报文进行三层转发。
VXLAN IP网关:用于转发VXLAN用户与数据中心外部网络交互的流量,同时也用于转发VXLAN用户之间跨VXLAN交互的流量。
发明内容
本申请提供了应用于VXLAN中的报文转发方法和装置,以实现对VXLANIP网关设备进行冗余保护。
本申请提供的技术方案包括:
一种应用于虚拟扩展局域网VXLAN的报文转发方法,该方法应用于第一VTEP,包括:
建立从第一VTEP至VXLAN IP网关组的VXLAN数据隧道,VXLAN数据隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关组的VTEP组IP地址;VXLAN IP网关组由VXLAN中N个VXLAN IP网关组成,N大于1,VXLAN IP网关为VXLAN中的第二VTEP,各VXLAN IP网关具有不同的VTEP IP地址;
建立从第一VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,VXLAN控制隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关的VTEP IP地址,VXLAN控制隧道与VXLAN数据隧道关联相同的VXLAN标识;
分别通过VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
一种应用于虚拟扩展局域网VXLAN的报文转发方法,VXLAN内存在由N个VXLAN IP网关组成的VXLAN IP网关组,VXLAN IP网关组被配置VXLAN隧道端点VTEP组IP地址,VXLAN IP网关组中各VXLAN IP网关具有不同的IP地址,VXLAN IP网关为VXLAN中的第二VTEP,所述VXLAN中还存在第 一VTEP,该方法应用于VXLAN IP网关,包括:
接收第一VTEP发送的ARP报文;
识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的VTEP IP地址;
如果否,依据所述ARP报文进行ARP表项学习;
如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
一种应用于虚拟扩展局域网VXLAN的报文转发装置,该装置应用于第一VXLAN隧道端点VTEP,包括:
隧道单元,用于建立从第一VTEP至VXLAN IP网关组的VXLAN数据隧道,VXLAN数据隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关组的VTEP组IP地址;VXLAN IP网关组由VXLAN中N个VXLAN IP网关组成,N大于1,VXLAN IP网关为VXLAN中的第二VTEP,各VXLAN IP网关具有不同的VTEP IP地址;以及,
用于建立从第一VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,VXLAN控制隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关的VTEP IP地址,VXLAN控制隧道与VXLAN数据隧道关联相同的VXLAN标识;
报文单元,用于分别通过所述VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
一种应用于虚拟扩展局域网VXLAN的报文转发装置,VXLAN内存在由N个VXLAN IP网关组成的VXLAN IP网关组,VXLAN IP网关组被配置VXLAN隧道端点VTEP组IP地址,VXLAN IP网关组中各VXLAN IP网关具有不同的IP地址,VXLAN IP网关为VXLAN中的第二VTEP,所述VXLAN中还存在第一VTEP,该装置应用于VXLAN IP网关,包括:
接收单元,用于接收第一VTEP发送的ARP报文;
ARP表项单元,用于识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的VTEPIP地址;
如果否,依据所述ARP报文进行ARP表项学习;
如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
由以上技术方案可以看出,本发明中,在VXLAN部署多个VTEP作为VXLAN IP网关,并且,VXLAN中除VXLAN IP网关外的VTEP建立从本VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,以及建立从本VTEP至VXLAN IP网关组的VXLAN数据隧道,并分别通过VXLAN数据隧道和VXLAN控制隧道发送ARP报文,以使各个VXLAN IP网关学习到同一主机匹配的ARP表项,相当于各个VXLAN IP网关相互备份,实现了VXLANIP网关设备的冗余保护,并且基于ARP表项能够保证每一VXLAN IP网关正确转发业务报文。
附图说明
图1为VXLAN的结构图;
图2为本发明提供的方法流程图;
图3为本发明提供的实施例1的应用组网图;
图4为本发明提供的实施例2的应用组网图;
图5为本发明提供的装置结构示意图;
图6为本发明提供的图5所示装置的硬件结构示意图;
图7为本发明提供的另一装置结构示意图;
图8为本发明提供的图7所示装置的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在VXLAN中,大量业务通过VXLAN IP网关转发,因此,VXLAN IP网关的冗余备份保护显得尤其重要。本发明提供的方法能够对VXLAN中的VXLAN IP网关进行冗余保护,提高网络的健壮性和容错能力。
下面对本发明提供的方法进行描述:
参见图2,图2为本发明提供的方法流程图。本发明提供的方法中,在VXLAN内部署N个VTEP作为VXLAN IP网关,N大于1,作为VXLAN IP网关的N个VTEP组成了一个VXLAN IP网关组。在VXLAN内除了作为VXLAN IP网关的VTEP,还有未作为VXLAN IP网关的VTEP,为便于描述,这里将未作为VXLAN IP网关的VTEP称为第一VTEP,而作为VXLAN IP网关的VTEP,则为和第一VTEP区分,称为第二VTEP。
在本发明中,VXLAN IP网关组对第一VTEP而言相当于一台设备,在本发明中,VXLAN IP网关组被配置一个VTEP组IP地址,而VXLAN IP网关组中的各个VXLAN IP网关也被配置了VTEP IP地址,其中,VXLAN IP网关组中不同VXLAN IP网关配置不同的VTEP IP地址。需要解释的是,;VXLAN IP网关组被配置的VTEP组IP地址、VXLAN IP网关组中不同VXLAN IP网关被配置的不同VTEP IP地址,并不是网关IP地址,VXLAN IP网关组被配置的VTEP组IP地址只是为了标识VXLAN IP网关组,VXLAN IP网关被配置的不同VTEP IP地址只是为了标识VXLAN IP网关,与网关IP地址无关。
在本发明中,VXLAN IP网关组中的各个VXLAN IP网关在配置上述的VTEP IP地址之外,还需要额外配置网关IP地址和虚MAC地址。其中,为了实现对VM透明,各个VXLAN IP网关配置的网关IP地址和虚MAC地址相同。
如图2所示,该流程可包括以下步骤:
步骤201,第一VTEP建立从本VTEP至VXLAN IP网关组的VXLAN数据隧道,VXLAN数据隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关组的VTEP组IP地址。
作为本发明的一个实施例,VXLAN IP网关组的VTEP组IP地址会在VXLAN IP网关组的VXLAN IP网关的环回口上进行配置,并且通过路由协议发布到网络中,这样第一VTEP基于VXLAN IP网关的发布很容易获取到VXLAN IP网关组的VTEP组IP地址,继而根据获取的VTEP组IP地址建立从本VTEP至VXLAN IP网关组的VXLAN数据隧道。
本发明中,第一VTEP建立的从本VTEP至VXLAN IP网关组的VXLAN数据隧道关联N个隧道端口。N如上所述,具体为VXLAN IP网关组中VXLAN IP网关的数量。N个隧道端口分别指向上述的N个VXLAN IP网关。如此,当第一VTEP后续通过该VXLAN数据隧道发送VXLAN业务时,会从上述的N个隧道端口选择一个隧道端口发送VXLAN业务,这里选择隧道端口的方式有多种,比如等价路由负载分担方式等,第一VTEP按照等价路由负载分担方式选择一个隧道端口并发送VXLAN业务,能够最终保证VXLAN IP网关组中VXLAN IP网关之间的负载分担均衡。
步骤202,第一VTEP建立从本VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,VXLAN控制隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关的VTEP IP地址,VXLAN控制隧道与VXLAN数据隧道关联相同的VXLAN标识。
这里的VXLAN控制隧道不进行数据报文的转发,只执行协议控制报文比如ARP报文的转发。
在本发明中,第一VTEP之所以建立从本VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,其目的是在后续进行ARP表项学习过程中,通过建立的VXLAN控制隧道发送ARP报文,以实现VXLAN IP网关组中每一VXLAN IP网关学习到租户内主机的ARP表项,避免以下缺陷:某些租 户内的ARP报文无法在每台VXLAN IP网关上接收,例如租户内的VM发送的ARP报文无法在每台VXLAN IP网关上接收,会导致网关上无法学习到VM的ARP表项,进而导致VXLAN IP网关无法转发VXLAN业务报文。
需要说明的是,在本发明中,步骤201和步骤202并不具备固定的时间先后顺序,比如,在应用中,可以先执行步骤202再执行步骤201,或者步骤201、步骤202同时执行等,本发明并不具体限定。
步骤203,第一VTEP分别通过VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
如上所述,第一VTEP上有与VXLAN数据隧道关联的N个隧道端口,则具体地,步骤203中第一VTEP通过VXLAN数据隧道发送ARP报文可包括步骤a1和步骤a2:
步骤a1,第一VTEP依据VXLAN数据隧道对ARP报文进行VXLAN封装。
VXLAN封装主要包含UDP头、VXLAN头、IP头等。UDP头在本专利不涉及,这里不赘述。VXLAN头至少包含VNI,在步骤a1中,该VNI具体为VXLAN数据隧道关联的VNI;IP头至少包含外层源IP地址、外层目的IP地址等,在步骤a1中,外层源IP地址为VXLAN数据隧道的源地址即第一VTEP的VTEP IP地址,外层目的IP地址为VXLAN数据隧道的目的地址即VXLAN IP网关组的VTEP组IP地址。
步骤a2,第一VTEP从本VTEP上与VXLAN数据隧道关联的N个隧道端口中选择一个隧道端口,通过选择的隧道端口转发VXLAN封装后的ARP报文。
作为本发明的一个实施例,这里从本VTEP上与VXLAN数据隧道关联的N个隧道端口中选择一个隧道端口在具体实现时可有多种实现方式,比如,通过对ARP报文的主机信息比如源IP地址、源MAC地址进行哈希运算,依据哈希运算结果从本VTEP上与VXLAN数据隧道关联的N个隧道端口中选择一个隧道端口。
具体地,步骤203中第一VTEP通过VXLAN控制隧道发送ARP报文可包括如下的步骤b1和步骤b2:
步骤b1,第一VTEP依据VXLAN控制隧道对ARP报文进行VXLAN封装。
如上所述,VXLAN封装主要包含UDP头、VXLAN头、IP头等。UDP头在本专利不涉及,这里不赘述。VXLAN头至少包含VNI,在步骤b1中,该VNI具体为VXLAN控制隧道关联的VNI;IP头至少包含外层源IP地址、外层目的IP地址等,在步骤b1中,外层源IP地址为VXLAN控制隧道的源地址即第一VTEP的IP地址,外层目的IP地址为VXLAN控制隧道的目的地址即VXLAN IP网关的VTEP IP地址。
步骤b2,第一VTEP通过本VTEP上连接VXLAN控制隧道的隧道端口转发VXLAN封装后的ARP报文。
至此,通过步骤b1和步骤b2实现第一VTEP通过VXLAN控制隧道发送ARP报文。
需要解释的是,在本发明中,VXLAN控制隧道、VXLAN数据隧道是两种类型完全不同的隧道,因此,VXLAN控制隧道的隧道端口、VXLAN数据隧道关联的隧道端口是两种完全不同的端口。
步骤204,VXLAN IP网关接收来自第一VTEP的ARP报文,识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的IP地址;如果否,依据所述ARP报文进行ARP表项学习;如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
在步骤204中的ARP报文为ARP请求报文,或者为ARP响应报文,本发明并不具体限定。
通过步骤204可以看出,本发明中,当VXLAN IP网关发现来自第一VTEP的ARP报文的VXLAN封装中外层目的IP地址为本网关的IP地址,基于步骤303的描述,则意味着ARP报文是由第一VTEP是通过VXLAN控制隧道发送的,基于此,如步骤304的描述,VXLAN IP网关会修改外层目的IP地址为VXLAN IP网关组的VTEP组IP地址,之后依据修改后的ARP报文进行ARP表项学习,这能够保证VXLAN IP网关最终会将第一VTEP通过VXLAN控制隧道发送的ARP报文对应的ARP表项学习到VXLAN IP网关至第一VTEP的 VXLAN数据隧道上,具体见下文通过实施例描述的如何学习ARP表项的描述。
至此,完成图2所示的流程。
基于图2所示的流程可以看出,本发明中,在VXLAN部署多个VTEP作为VXLAN IP网关,并且,VXLAN中除VXLAN IP网关外的VTEP建立从本VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,以及建立从本VTEP至VXLAN IP网关组的VXLAN数据隧道,并分别通过VXLAN数据隧道和VXLAN控制隧道发送ARP报文,以使各个VXLAN IP网关学习到同一ARP表项,这相当于VXLAN IP网关组中的VXLAN IP网关之间相互备份,实现了VXLAN IP网关设备的冗余保护,并且基于VXLAN IP网关能学习到每一租户内VM的ARP表项,能够保证每一VXLAN IP网关正确转发VXLAN业务报文。
本发明中,为了保证VXLAN IP网关组中各VXLAN IP网关向各个第一VTEP发送报文,VXLAN IP网关中每一VXLAN IP网关还进一步执行以下步骤:
建立从本网关至各个第一VTEP的VXLAN数据隧道;
这里建立的VXLAN数据隧道的源地址为VXLAN IP网关组的VTEP组IP地址,目的地址为第一VTEP的IP地址,其中,从本网关至不同第一VTEP的VXLAN数据隧道具有不同的VXLAN数据隧道标识。
当VXLAN IP网关组中的每一VXLAN IP网关建立了从本网关至各个第一VTEP的VXLAN数据隧道后,每一VXLAN IP网关就可以通过建立的至各个第一VTEP的VXLAN数据隧道实现本网关到各第一VTEP的报文传送,如主动向第一VTEP发送ARP请求报文以主动学习ARP表项,或者发送ARP响应报文或者数据报文等。
优选地,作为本发明的一个实施例,基于上述VXLAN IP网关建立的从本网关至各个第一VTEP的VXLAN数据隧道,上述步骤204中,VXLAN IP网关依据ARP报文进行ARP表项学习包括:
步骤c1,检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;
步骤c2,在步骤c1检查结果为否时,学习包含上述内容的ARP表项。
作为本发明的一个实施例,在步骤c1检查结果为是时,为避免重复建立ARP表项,则可忽略ARP报文。
至此,通过步骤c1至步骤c2实现了上述步骤204中如何依据接收的ARP报文进行ARP表项学习。
类似地,在步骤204中,所述依据修改后的ARP报文进行ARP表项学习可包括步骤d1和步骤d2:
步骤d1,检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址。
步骤d2,在步骤d1检查结果为否时,学习包含上述内容的ARP表项。
作为本发明的一个实施例,在步骤d1检查结果为是时,为避免重复建立ARP表项,则可忽略ARP报文。
至此,通过步骤d1至步骤d2实现了上述步骤204中如何依据修改后的ARP报文进行ARP表项学习。
需要说明的是,在上面步骤c1或步骤d2中,ARP报文中的主机信息主要是指ARP报文在内层封装中携带的主机相关信息,比如源IP地址、源MAC地址等。
本发明中,当VXLAN IP网关基于上面描述建立ARP表项后,则当VXLANIP网关向第一VTEP发送数据报文时,在本地已学习的ARP表项中匹配用于转发数据报文的ARP表项,通过匹配的ARP表项中的VXLAN数据隧道标识对应的VXLAN数据隧道转发数据报文,最终实现了VXLAN IP网关正确转发 VXLAN业务的目的。
以上对本发明提供的方法进行了概括描述,下面通过两个实施例对图2所示的流程进行描述:
实施例1:
图3为本发明提供的实施例1的应用组网图。在图3中,部署VTEP4_1、VTEP4_2、VTEP4_3作为VXLAN IP网关,VTEP4_1、VTEP4_2、VTEP4_3也称为第二VTEP,图3中剩余的VTEP4_4至VTEP4_7为第一VTEP。
VTEP4_1、VTEP4_2、VTEP4_3组成一个VXLAN IP网关组。VXLAN IP网关组中的VTEP4_1、VTEP4_2、VTEP4_3地位对等,不会进行角色选举,因此,VXLAN IP网关组称为无状态VXLAN IP网关组。VXLAN IP网关组对于第一VTEP而言是透明的,被当作一台设备处理。
VXLAN IP网关组被配置了一个VTEP组IP地址(称为GroupIP1),VXLAN IP网关组中的VTEP4_1至VTEP4_3,相当于VXLAN IP网关组的成员,其具有不同的VTEP IP地址(也称为组成员IP地址),VTEP4_1至VTEP4_3的组成员IP地址分别记为MemberIP4_1、MemberIP4_2、MemberIP4_3。表41示出了VXLAN IP网关组与VXLAN IP网关组中组成员的IP地址:
表41
在图3中的第一VTEP,以VTEP4_4为例,VTEP4_4建立从VTEP4_4至VXLAN IP网关组的VXLAN数据隧道,记为VXLAN数据隧道4_41。VXLAN数据隧道41关联的VXLAN记为VXLAN A。VXLAN数据隧道4_41的源地址为VTEP4_4的VTEP IP地址(记为IP4_4),目的地址为VXLAN IP网关组的IP地址GroupIP1。VTEP4_4本地存在VXLAN数据隧道4_41关联 的3个隧道端口,分别记为端口41、端口42、端口43(图3未示出),其中,端口41指向VTEP4_1,端口42指向VTEP4_2,端口43指向VTEP4_3。
在图3中,VTEP4_4建立从VTEP4_4至VTEP4_1的VXLAN控制隧道,记为VXLAN控制隧道4_41,VXLAN控制隧道4_41关联的VXLAN为VXLAN A。VXLAN控制隧道4_41的源地址为VTEP4_4的VTEP IP地址IP4_4,目的地址为VTEP4_1的组成员IP地址MemberIP4_1;
VTEP4_4建立从VTEP4_4至VTEP4_2的VXLAN控制隧道,记为VXLAN控制隧道4_42,VXLAN控制隧道4_42关联的VXLAN为VXLAN A。VXLAN控制隧道4_42的源地址为VTEP4_4的VTEP IP地址IP4_4,目的地址为VTEP4_2的组成员IP地址MemberIP4_2;
VTEP4_4建立从VTEP4_4至VTEP4_3的VXLAN控制隧道,记为VXLAN控制隧道4_43,VXLAN控制隧道4_43关联的VXLAN为VXLAN A。VXLAN控制隧道4_43的源地址为VTEP4_4的VTEP IP地址IP4_4,目的地址为VTEP4_3的组成员IP地址MemberIP4_3。
表42示出了VTEP4_4建立的VXLAN数据隧道和VXLAN控制隧道:
表42
图3中的第一VTEP如VTEP4_5至VTEP4_7,其按照类似VTEP4_4建立VXLAN数据隧道和VXLAN控制隧道的原理建立VXLAN数据隧道和VXLAN控制隧道,这里不再赘述。
在图3中,作为VXLAN IP网关的VTEP4_1建立从VTEP4_1至VTEP4_4的VXLAN数据隧道,记为VXLAN数据隧道4_14,VXLAN数据隧道4_14关联的VXLAN为上述的VXLAN A,VXLAN数据隧道4_14的源地址为GroupIP1,目的地址为VTEP4_4的IP地址IP4_4。
VTEP4_1建立从VTEP4_1至VTEP4_5的VXLAN数据隧道,记为VXLAN数据隧道4_15,VXLAN数据隧道4_15关联的VXLAN为上述的VXLAN A,VXLAN数据隧道15的源地址为GroupIP1,目的地址为VTEP4_5的IP地址IP4_5。
VTEP4_1建立从VTEP_1至VTEP4_6的VXLAN数据隧道,记为VXLAN数据隧道4_16,VXLAN数据隧道4_16关联的VXLAN为上述的VXLAN A,VXLAN数据隧道4_16的源地址为GroupIP1,目的地址为VTEP4_5的IP地址IP4_6。
VTEP4_1建立从VTEP4_1至VTEP4_7的VXLAN数据隧道,记为VXLAN数据隧道4_17,VXLAN数据隧道4_17关联的VXLAN为上述的VXLAN A,VXLAN数据隧道4_17的源地址为GroupIP1,目的地址为VTEP4_7的IP地址IP4_7。
表43示出了VTEP4_1建立的VXLAN数据隧道(图3为画图简单没有示出):
表43
在图3中,作为VXLAN IP网关的VTEP4_2按照类似VTEP4_1建立VXLAN数据隧道的方式建立如表44所示的VXLAN数据隧道;
表44
在图3中,作为VXLAN IP网关VTEP4_3按照类似VTEP4_1建立VXLAN数据隧道的方式建立如表45所示的VXLAN数据隧道。
表45
基于上面描述的VXLAN数据隧道、VXLAN控制隧道的建立,下面描述基于VXLAN数据隧道、VXLAN控制隧道的报文转发:
以如图3所示的VM1广播免费ARP请求报文为例,其中,ARP请求报文的源IP地址为VM1的IP地址IP1,源MAC地址为VM1的MAC地址MAC1。
VTEP4_4收到VM1广播的免费ARP请求报文,发现本地存在如表42所示的4条隧道,则复制4份ARP请求报文,记为ARP请求报文01至ARP请求报文04。
VTEP4_4依据VXLAN数据隧道4_41对ARP请求报文01进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN A,VXLAN封装中IP头内的外层源IP地址为VXLAN数据隧道4_41的源地址IP4_4,外层目的IP地址为VXLAN数据隧道4_41的目的地址GroupIP1。VTEP4_4从本地与VXLAN数据隧道4_41关联的3个隧道端口即端口41至端口43中选择一个端口,这里以选择端口41为例,VTEP4_4通过端口41发送VXLAN封装后的ARP请求报文01。为便于描述,这里将VXLAN封装后的ARP请求报文01称为ARP请求报文11。
VTEP4_4依据VXLAN控制隧道4_41对ARP请求报文02进行VXLAN 封装,VXLAN封装中VXLAN头内的VNI为VXLAN A,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道4_41的源地址IP4_4,外层目的IP地址为VXLAN控制隧道4_41的目的地址MemberIP4_1。VTEP4_4通过VXLAN控制隧道4_41发送VXLAN封装后的ARP请求报文02。为便于描述,这里将VXLAN封装后的ARP请求报文02称为ARP请求报文12。
VTEP4_4依据VXLAN控制隧道4_42对ARP请求报文03进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN A,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道4_42的源地址IP4_4,外层目的IP地址为VXLAN控制隧道4_42的目的地址MemberIP4_2。VTEP4_4通过VXLAN控制隧道4_42发送VXLAN封装后的ARP请求报文03。为便于描述,这里将VXLAN封装后的ARP请求报文03称为ARP请求报文13。
VTEP4_4依据VXLAN控制隧道4_43对ARP请求报文04进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN A,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道4_43的源地址IP4_4,外层目的IP地址为VXLAN控制隧道4_43的目的地址MemberIP4_3。VTEP4_4通过VXLAN控制隧道4_43发送VXLAN封装后的ARP请求报文04。为便于描述,这里将VXLAN封装后的ARP请求报文04称为ARP请求报文14。
VTEP4_1接收到VTEP4_4发送的ARP请求报文11,发现ARP请求报文11的VXLAN封装中IP头内的外层目的IP地址为VXLAN IP网关组的IP地址GroupIP1,则检查本地是否存在包含如表46所示内容的ARP表项:
表46
如果存在,忽略ARP请求报文11,如果不存在,则学习如表46所示的ARP表项。
VTEP4_1接收到VTEP4_4发送的ARP请求报文12,发现ARP请求报文12的VXLAN封装中IP头内的外层目的IP地址为本VTEP4_1的VTEP IP地址,则修改外层目的IP地址为VXLAN IP网关组的IP地址GroupIP1,之后检查本地是否存在包含如表46所示内容的ARP表项,如果存在,忽略ARP请求报文12,如果不存在,则学习如表46所示的ARP表项。
VTEP4_2接收到VTEP4_4发送的ARP请求报文13,发现ARP请求报文13的VXLAN封装中IP头内的外层目的IP地址为本VTEP4_2的VTEP IP地址,则修改外层目的IP地址为VXLAN IP网关组的IP地址GroupIP1,之后检查本地是否存在包含如表47所示内容的ARP表项:
表47
如果存在,忽略ARP请求报文13,如果不存在,则学习如表47所示的ARP表项。
VTEP4_3接收到VTEP4_4发送的ARP请求报文14,发现ARP请求报文14的VXLAN封装中IP头内的外层目的IP地址为本VTEP4_3的VTEP IP地址,则修改外层目的IP地址为VXLAN IP网关组的IP地址GroupIP1,之后检查本地是否存在包含如表48所示内容的ARP表项:
表48
如果存在,忽略ARP请求报文14,如果不存在,则学习如表48所示的ARP表项。
至此,完成实施例1的描述。
通过实施例1,VXLAN IP网关组中作为VXLAN IP网关的VTEP4_1至VTEP4_3都会学习到VM1匹配的ARP表项(其包含了VM1的MAC地址MAC1、IP地址IP1)。之后,不管是VXLAN IP网关组中作为VXLAN IP网关的VTEP4_1、VTEP4_2、还是VTEP4_3,其在收到发向VM1的业务报文时,就会基于本地已学习的与VM1匹配的ARP表项进行业务报文转发,避免现有VXLAN IP网关可能无法顺利转发业务报文的缺陷。
实施例2:
图4为本发明提供的实施例2的应用组网图。在图4中,部署VTEP5_1、VTEP5_2、VTEP5_3作为VXLAN IP网关,VTEP5_1、VTEP5_2、VTEP5_3也称为第二VTEP,图4中剩余的VTEP 5_4至VTEP5_6为第一VTEP。
VTEP5_1、VTEP5_2、VTEP5_3组成一个VXLAN IP网关组。VXLAN IP网关组中的VTEP5_1、VTEP5_2、VTEP5_3地位对等,不会进行角色选举,因此,VXLAN IP网关组称为无状态VXLAN IP网关组。VXLAN IP网关组对于第一VTEP而言是透明的,被当作一台设备处理。
VXLAN IP网关组被配置了一个VTEP组IP地址(称为GroupIP2),VXLAN IP网关组中的VTEP5_1至VTEP5_3,相当于VXLAN IP网关组的成员,其具有不同的VTEP IP地址(也称为组成员IP地址),VTEP5_1至VTEP5_3的组成员IP地址分别记为MemberIP5_1、MemberIP5_2、MemberIP5_3。表51示出了VXLAN IP网关组与VXLAN IP网关组中组成员的IP地址:
表51
在图4中,以作为VXLANIP网关的VTEP5_1为例描述,VTEP5_1建立从VTEP5_1至VTEP5_4的VXLAN数据隧道,为VXLAN数据隧道5_14,VXLAN数据隧道5_14关联的VXLAN为VXLAN B,VXLAN数据隧道5_14的源地址为GroupIP2,目的地址为VTEP5_4的IP地址IP5_4。
VTEP5_1建立从VTEP5_1至VTEP5_5的VXLAN数据隧道,记为VXLAN数据隧道5_15,VXLAN数据隧道5_15关联的VXLAN为VXLAN B,VXLAN数据隧道5_15的源地址为GroupIP2,目的地址为VTEP5_5的IP地址IP5_5。
VTEP5_1建立从VTEP5_1至VTEP5_6的VXLAN数据隧道,记为VXLAN数据隧道5_16,VXLAN数据隧道5_16关联的VXLAN为VXLAN B,VXLAN数据隧道5_16的源地址为GroupIP2,目的地址为VTEP4_6的IP地址IP4_6。
表52示出了VTEP 5_1建立的VXLAN数据隧道:
表52
在图4中,作为VXLAN IP网关的VTEP5_2会按照类似VTEP5_1建立VXLAN数据隧道的方式在本地建立如下表53所示的VXLAN数据隧道。
表53
在图4中,作为VXLAN IP网关的VTEP5_3会按照类似VTEP5_1建立VXLAN数据隧道的方式在本地建立如下表54所示的VXLAN数据隧道。
表54
以图4中的第一VTEP即VTEP5_4为例描述,VTEP5_4建立从VTEP5_4至VXLAN IP网关组的VXLAN数据隧道,记为VXLAN数据隧道5_41。VXLAN数据隧道5_41关联的VXLAN为VXLAN B。VXLAN数据隧道VXLAN数据隧道5_41的源地址为VTEP5_4的VTEP IP地址(记为IP5_4),目的地址为VXLAN IP网关组的IP地址GroupIP2。VTEP5_4本地存在VXLAN数据隧道41关联的3个隧道端口,分别记为端口51、端口52、端口53(图4 未示出),其中,端口51指向VTEP5_1,端口52指向VTEP5_2,端口53指向VTEP5_3。
在图4中,VTEP5_4建立从VTEP5_4至VTEP5_1的VXLAN控制隧道,记为VXLAN控制隧道5_41,VXLAN控制隧道5_41关联的VXLAN为VXLAN B。VXLAN控制隧道5_41的源地址为VTEP5_4的VTEP IP地址IP5_4,目的地址为VTEP5_1的组成员IP地址MemberIP5_1;
VTEP5_4建立从VTEP5_4至VTEP5_2的VXLAN控制隧道,记为VXLAN控制隧道5_42,VXLAN控制隧道5_42关联的VXLAN为VXLAN B。VXLAN控制隧道5_42的源地址为VTEP5_4的VTEP IP地址IP5_4,目的地址为VTEP5_2的组成员IP地址MemberIP5_2;
VTEP5_4建立从VTEP5_4至VTEP5_3的VXLAN控制隧道,记为VXLAN控制隧道5_43,VXLAN控制隧道5_43关联的VXLAN为VXLAN B。VXLAN控制隧道5_43的源地址为VTEP5_4的VTEP IP地址IP5_4,目的地址为VTEP5_3的组成员IP地址MemberIP5_3。
表55示出了VTEP4_4建立的VXLAN数据隧道和VXLAN控制隧道:
表55
在图4中的第一VTEP诸如VTEP5_5、VTEP5_6也会按照类似VTEP5_4的方式建立VXLAN数据隧道和VXLAN控制隧道,这里不再赘述。
基于上面描述的VXLAN数据隧道、VXLAN控制隧道的建立,下面描述基于VXLAN数据隧道、VXLAN控制隧道的报文转发:
在图4中,VTEP5_1在转发目的IP地址为VM2的IP地址IP2的数据报文时,检查本地不存在IP2匹配的ARP表项,则基于本地如表52所示存在的三条VXLAN数据隧道复制3份ARP请求报文,记为ARP请求报文21至ARP请求报文23。
VTEP5_1依据VXLAN数据隧道5_14对ARP请求报文21进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN数据隧道5_14的源地址GroupIP2,外层目的IP地址为VXLAN数据隧道5_14的目的地址IP5_4。为便于描述,这里将VXLAN封装后的ARP请求报文21称为ARP请求报文31。VTEP5_1通过本地VXLAN数据隧道5_14发送ARP请求报文31。
VTEP5_1依据VXLAN数据隧道5_15对ARP请求报文22进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN数据隧道5_15的源地址GroupIP2,外层目的IP地址为VXLAN数据隧道5_15的目的地址IP5_5。为便于描述,这里将VXLAN封装后的ARP请求报文22称为ARP请求报文32。VTEP5_1通过本地VXLAN数据隧道5_15发送ARP请求报文32。
VTEP5_1依据VXLAN数据隧道5_16对ARP请求报文23进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN数据隧道5_16的源地址GroupIP2,外层目的IP地址为VXLAN数据隧道5_16的目的地址IP5_6。为便于描述,这里将 VXLAN封装后的ARP请求报文23称为ARP请求报文33。VTEP5_1通过本地VXLAN数据隧道5_16发送ARP请求报文33。
VTEP5_4收到ARP请求报文31后,对ARP请求报文31进行VXLAN解封装(即恢复上述的ARP请求报文21),检查ARP请求报文21的目的IP地址IP2是否为本地主机的IP地址,如果是,向目的IP地址发送ARP请求报文21,否则,可忽略ARP请求报文21。VTEP5_5收到ARP请求报文32、VTEP5_6收到ARP请求报文33的处理方式类似VTEP5_4收到ARP请求报文31的处理方式。这里假如ARP请求报文21的目的IP地址IP2为VTEP5_4本地主机VM2的IP地址。
当VM2收到ARP请求报文21后,发现ARP请求报文21的目的IP地址为本地IP地址,则返回ARP响应报文。ARP响应报文的源IP地址为IP2,源MAC地址为MAC2。
VTEP5_4收到ARP响应报文后,发现本地存在如表55所示的4条隧道,则复制4份ARP响应报文,记为ARP响应报文41至ARP响应报文44。
VTEP5_4依据VXLAN数据隧道5_41对ARP响应报文41进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN数据隧道5_41的源地址IP5_4,外层目的IP地址为VXLAN数据隧道5_41的目的地址GroupIP2。VTEP4_4从本地与VXLAN数据隧道5_41关联的3个隧道端口即端口51至端口53中选择一个端口(这里以端口51为例),VTEP5_4通过端口51发送VXLAN封装后的ARP响应报文41。为便于描述,这里将VXLAN封装后的ARP响应报文41称为ARP响应报文51。
VTEP5_4依据VXLAN控制隧道5_41对ARP响应报文42进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道5_41的源地址IP5_4,外层目的IP地址为VXLAN控制隧道5_41的目的地址MemberIP5_1。VTEP5_4通过本地VXLAN控制隧道5_41发送VXLAN封装后的ARP响应报文42。为便 于描述,这里将VXLAN封装后的ARP响应报文42称为ARP响应报文52。
VTEP5_4依据VXLAN控制隧道5_42对ARP响应报文43进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道5_42的源地址IP5_4,外层目的IP地址为VXLAN控制隧道5_42的目的地址MemberIP5_2。VTEP5_4通过本地VXLAN控制隧道5_42发送VXLAN封装后的ARP响应报文43。为便于描述,这里将VXLAN封装后的ARP响应报文43称为ARP响应报文53。
VTEP5_4依据VXLAN控制隧道5_43对ARP响应报文44进行VXLAN封装,VXLAN封装中VXLAN头内的VNI为VXLAN B,VXLAN封装中IP头内的外层源IP地址为VXLAN控制隧道5_43的源地址IP5_4,外层目的IP地址为VXLAN控制隧道5_43的目的地址MemberIP5_3。VTEP5_4通过本地VXLAN控制隧道5_43发送VXLAN封装后的ARP响应报文44。为便于描述,这里将VXLAN封装后的ARP响应报文44称为ARP响应报文54。
VTEP5_1接收到VTEP5_4发送的ARP响应报文51,发现ARP响应报文51的VXLAN封装中IP头内的外层目的IP地址为VXLAN IP网关组的IP地址GroupIP2,则检查本地是否存在包含如表56所示内容的ARP表项:
表56
如果存在,忽略ARP响应报文51,如果不存在,则学习如表56所示的ARP表项。
VTEP5_1接收到VTEP5_4发送的ARP响应报文52,发现ARP响应报文52的VXLAN封装中IP头内的外层目的IP地址为本VTEP5_1的VTEP IP地址IP5_1,则修改外层目的IP地址为VXLAN IP网关组的IP地址GroupIP2, 之后检查本地是否存在包含如表56所示内容的ARP表项,如果存在,忽略ARP响应报文52,如果不存在,则学习如表56所示的ARP表项。
VTEP5_2接收到VTEP5_4发送的ARP响应报文53,发现ARP响应报文53的VXLAN封装中IP头内的外层目的IP地址为本VTEP5_2的VTEP IP地址IP5_2,则修改外层目的IP地址为VXLAN IP网关组的IP地址GroupIP2,之后检查本地是否存在包含如表57所示内容的ARP表项,如果存在,忽略ARP响应报文53,如果不存在,则学习如表57所示的ARP表项。
表57
VTEP5_3接收到VTEP5_4发送的ARP响应报文54,发现ARP响应报文54的VXLAN封装中IP头内的外层目的IP地址为本VTEP5_3的VTEP IP地址IP5_3,则修改外层目的IP地址为VXLAN IP网关组的IP地址GroupIP2,之后检查本地是否存在包含如表58所示内容的ARP表项,如果存在,忽略ARP响应报文54,如果不存在,则学习如表58所示的ARP表项。
表58
之后,VTEP5_1按照学习的如表56所示的ARP表项对上述的数据报文继续进行转发。
至此,完成实施例2的描述。
通过实施例2,VXLAN IP网关组中作为VXLAN IP网关的VTEP5_1至VTEP5_3都会通过主动发送ARP请求报文学习到VM2匹配的ARP表项(其包含了VM2的MAC地址MAC2、IP地址IP2)。之后,不管是VXLAN IP网关组中作为VXLAN IP网关的VTEP5_1、VTEP5_2、还是VTEP5_3,其在收到发向VM2的业务报文时,就会基于本地已学习的与VM2匹配的ARP表项进行业务报文转发,避免现有VXLAN IP网关可能无法顺利转发业务报文的缺陷。
以上对本发明提供的方法进行了描述,下面对本发明提供的装置进行描述:
参见图5,图5为本发明提供的装置结构示意图。该装置应用于第一VTEP,如图5所示,该装置可包括:
隧道单元,用于建立从第一VTEP至VXLAN IP网关组的VXLAN数据隧道,VXLAN数据隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关组的VTEP组IP地址;VXLAN IP网关组由VXLAN中N个VXLAN IP网关组成,N大于1,VXLAN IP网关为VXLAN中的第二VTEP,各VXLAN IP网关具有不同的VTEP IP地址;以及,
用于建立从第一VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,VXLAN控制隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关的VTEP IP地址,VXLAN控制隧道与VXLAN数据隧道关联相同的VXLAN标识;
报文单元,用于分别通过所述VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
优选地,本发明中,第一VTEP上有与所述VXLAN数据隧道关联的N个隧道端口;
基于此,所述报文单元通过VXLAN数据隧道发送ARP报文包括:
依据所述VXLAN数据隧道对所述ARP报文进行VXLAN封装,从所述N 个隧道端口中选择一个隧道端口转发VXLAN封装后的ARP报文。这里从N个隧道端口中选择一个隧道端口的方法有多种,比如哈希算法等,本发明并不具体限定。
这里,依据VXLAN数据隧道对ARP报文进行的VXLAN封装具体可包括:UDP头、VXLAN头、IP头等。其中,UDP头在本专利不涉及,这里不赘述。VXLAN头至少包含VNI,该VNI具体为VXLAN数据隧道关联的VNI;IP头至少包含外层源IP地址、外层目的IP地址等,其中,外层源IP地址为VXLAN数据隧道的源地址即第一VTEP的VTEP IP地址,外层目的IP地址为VXLAN数据隧道的目的地址即VXLAN IP网关组的VTEP组IP地址。
优选地,本发明中,所述报文单元通过VXLAN控制隧道发送ARP报文包括:
依据VXLAN控制隧道对ARP报文进行VXLAN封装,通过本VTEP上连接VXLAN控制隧道的隧道端口转发VXLAN封装后的ARP报文。
这里,依据VXLAN控制隧道对ARP报文进行的VXLAN封装具体可包括:UDP头、VXLAN头、IP头等。其中,UDP头在本专利不涉及,这里不赘述。VXLAN头至少包含VNI,该VNI具体为VXLAN控制隧道关联的VNI;IP头至少包含外层源IP地址、外层目的IP地址等,其中,外层源IP地址为VXLAN控制隧道的源地址即第一VTEP的VTEP IP地址,外层目的IP地址为VXLAN控制隧道的目的地址即VXLAN IP网关的VTEP IP地址。
至此,完成图5所示的装置描述。
本申请还提供了图5所示装置的硬件结构。参见图6,图6为本发明提供的图5所示装置的硬件结构示意图。如图6所示,该装置可包括:
CPU和存储器。
其中,存储器,用于存放隧道单元、报文单元;
CPU,用于存放隧道单元运行的控制程序以控制存储器中的隧道单元执行以下操作:建立从第一VTEP至VXLAN IP网关组的VXLAN数据隧道,建 立从第一VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,这里建立的VXLAN数据隧道和VXLAN控制隧道如上所述;以及,
用于存放报文单元运行的控制程序以控制存储器中的报文单元执行如下操作:分别通过VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
至此,完成图6所示的硬件结构描述。
参见图7,图7为本发明提供的另一装置结构示意图。该装置应用的VXLAN内存在由N个不同VXLAN IP网关组成的VXLAN IP网关组,VXLANIP网关组被配置VTEP组IP地址,VXLAN IP网关组中各个VXLAN IP网关具有不同的IP地址,VXLAN IP网关为VXLAN中的第二VTEP,所述VXLAN中还存在第一VTEP,该装置应用于VXLAN IP网关,如图7所示,该装置可包括:
接收单元,用于接收第一VTEP发送的ARP报文;这里接收的ARP报文为ARP请求报文或者为ARP响应报文,本发明并不具体限定;
ARP表项单元,用于识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的IP地址;
如果否,依据所述ARP报文进行ARP表项学习;
如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
优选地,如图7所示,该装置进一步包括:
隧道单元,用于建立从本网关至各个第一VTEP的VXLAN数据隧道;VXLAN数据隧道的源地址为所述VTEP组IP地址,目的地址为第一VTEP的IP地址,其中,建立的至各个第一VTEP的VXLAN数据隧道具有不同的VXLAN数据隧道标识;
转发单元,用于通过已建立的从本网关至第一VTEP的VXLAN数据隧道向第一VTEP发送报文。
优选地,所述ARP表项单元依据ARP报文进行ARP表项学习包括:
检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;如果否,学习包含所述内容的ARP表项。
优选地,所述ARP表项单元依据修改后的ARP报文进行ARP表项学习包括:
检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;
如果否,学习包含所述内容的ARP表项。
至此,完成图7所示装置的结构描述。
本申请还提供了图7所示装置的硬件结构。参见图8,图8为本发明提供的图7所示装置的硬件结构示意图。如图8所示,该装置可包括:
CPU和存储器。
其中,存储器,用于存放接收单元、ARP表项单元;
CPU,用于存放接收单元运行的控制程序以控制存储器中的接收单元执行以下操作:接收第一VTEP发送的ARP报文;以及,
用于存放ARP表项单元运行的控制程序以控制存储器中的ARP表项单元执行如下操作:识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的IP地址;如果否,依据所述ARP报文进行ARP表项学习;如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
优选地,存储器进一步存放隧道单元、转发单元;
CPU,用于存放隧道单元运行的控制程序以控制存储器中的隧道单元执 行以下操作:建立从本VXLAN IP网关至每一个第一VTEP的VXLAN数据隧道;VXLAN数据隧道的源地址为所述VTEP组IP地址、目的地址为所述第一VTEP的IP地址,其中,建立的从VXLAN IP网关至不同第一VTEP的VXLAN数据隧道具有不同的VXLAN数据隧道标识;以及,
存放转发单元运行的控制程序以控制存储器中的转发单元执行以下操作:当向第一VTEP发送ARP报文或者数据报文时,通过已建立的从本VXLAN IP网关至该第一VTEP的VXLAN数据隧道发送。
至此,完成图8所示的硬件结构描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种应用于虚拟扩展局域网VXLAN的报文转发方法,其特征在于,该方法应用于第一VXLAN隧道端点VTEP,包括:
建立从第一VTEP至VXLAN IP网关组的VXLAN数据隧道,VXLAN数据隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关组的VTEP组IP地址;VXLAN IP网关组由VXLAN中N个VXLAN IP网关组成,N大于1,VXLAN IP网关为VXLAN中的第二VTEP,各VXLAN IP网关具有不同的VTEP IP地址;
建立从第一VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,VXLAN控制隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关的VTEP IP地址,VXLAN控制隧道与VXLAN数据隧道关联相同的VXLAN标识;
分别通过VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
2.根据权利要求1所述的方法,其特征在于,第一VTEP上有与所述VXLAN数据隧道关联的N个隧道端口;
通过所述VXLAN数据隧道发送ARP报文包括:
依据所述VXLAN数据隧道对所述ARP报文进行VXLAN封装,从所述N个隧道端口中选择一个隧道端口转发VXLAN封装后的ARP报文。
3.一种应用于虚拟扩展局域网VXLAN的报文转发方法,其特征在于,VXLAN内存在由N个VXLAN IP网关组成的VXLAN IP网关组,VXLAN IP网关组被配置VXLAN隧道端点VTEP组IP地址,VXLAN IP网关组中各VXLAN IP网关具有不同的IP地址,VXLAN IP网关为VXLAN中的第二VTEP,所述VXLAN中还存在第一VTEP,该方法应用于VXLAN IP网关,包括:
接收第一VTEP发送的ARP报文;
识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的VTEP IP地址;
如果否,依据所述ARP报文进行ARP表项学习;
如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
4.根据权利要求3所述的方法,其特征在于,该方法进一步包括:
建立从本网关至各个第一VTEP的VXLAN数据隧道;VXLAN数据隧道的源地址为所述VTEP组IP地址,目的地址为第一VTEP的IP地址,其中,建立的至各个第一VTEP的VXLAN数据隧道具有不同的VXLAN数据隧道标识;
通过已建立的从本网关至第一VTEP的VXLAN数据隧道向第一VTEP发送报文。
5.根据权利要求3或4所述的方法,其特征在于,所述依据ARP报文进行ARP表项学习包括:
检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;如果否,学习包含所述内容的ARP表项;
所述依据修改后的ARP报文进行ARP表项学习包括:
检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;
如果否,学习包含所述内容的ARP表项。
6.一种应用于虚拟扩展局域网VXLAN的报文转发装置,其特征在于,该装置应用于第一VXLAN隧道端点VTEP,包括:
隧道单元,用于建立从第一VTEP至VXLAN IP网关组的VXLAN数据隧道,VXLAN数据隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关组的VTEP组IP地址;VXLAN IP网关组由VXLAN中N个VXLAN IP网关组成,N大于1,VXLAN IP网关为VXLAN中的第二VTEP,各VXLAN IP网关具有不同的VTEP IP地址;以及,
用于建立从第一VTEP至VXLAN IP网关组中每一VXLAN IP网关的VXLAN控制隧道,VXLAN控制隧道的源地址为第一VTEP的VTEP IP地址、目的地址为VXLAN IP网关的VTEP IP地址,VXLAN控制隧道与VXLAN数据隧道关联相同的VXLAN标识;
报文单元,用于分别通过所述VXLAN数据隧道和VXLAN控制隧道发送ARP报文。
7.根据权利要求6所述的装置,其特征在于,第一VTEP上有与所述VXLAN数据隧道关联的N个隧道端口;
所述报文单元通过VXLAN数据隧道发送ARP报文包括:
依据所述VXLAN数据隧道对所述ARP报文进行VXLAN封装,从所述N个隧道端口中选择一个隧道端口转发VXLAN封装后的ARP报文。
8.一种应用于虚拟扩展局域网VXLAN的报文转发装置,其特征在于,VXLAN内存在由N个VXLAN IP网关组成的VXLAN IP网关组,VXLAN IP网关组被配置VXLAN隧道端点VTEP组IP地址,VXLAN IP网关组中各VXLAN IP网关具有不同的IP地址,VXLAN IP网关为VXLAN中的第二VTEP,所述VXLAN中还存在第一VTEP,该装置应用于VXLAN IP网关,包括:
接收单元,用于接收第一VTEP发送的ARP报文;
ARP表项单元,用于识别ARP报文的VXLAN封装中外层目的IP地址是否为本网关的VTEPIP地址;
如果否,依据所述ARP报文进行ARP表项学习;
如果是,修改所述外层目的IP地址为所述VTEP组IP地址,并依据修改后的ARP报文进行ARP表项学习。
9.根据权利要求8所述的装置,其特征在于,该装置进一步包括:
隧道单元,用于建立从本网关至各个第一VTEP的VXLAN数据隧道;VXLAN数据隧道的源地址为所述VTEP组IP地址,目的地址为第一VTEP的IP地址,其中,建立的至各个第一VTEP的VXLAN数据隧道具有不同的VXLAN数据隧道标识;
转发单元,用于通过已建立的从本网关至第一VTEP的VXLAN数据隧道向第一VTEP发送报文。
10.根据权利要求8或9所述的装置,其特征在于,所述ARP表项单元依据ARP报文进行ARP表项学习包括:
检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;如果否,学习包含所述内容的ARP表项;
所述ARP表项单元依据修改后的ARP报文进行ARP表项学习包括:
检查本地是否存在包含以下内容的ARP表项:
VXLAN封装中VXLAN标识VNID、ARP报文中的主机信息、满足以下条件的VXLAN数据隧道的标识:源地址为VXLAN封装中外层目的IP地址、目的地址为VXLAN封装中外层源IP地址;
如果否,学习包含所述内容的ARP表项。
CN201510701615.1A 2015-10-26 2015-10-26 应用于vxlan的报文转发方法和装置 Active CN106612224B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201510701615.1A CN106612224B (zh) 2015-10-26 2015-10-26 应用于vxlan的报文转发方法和装置
PCT/CN2016/103152 WO2017071547A1 (zh) 2015-10-26 2016-10-25 应用于vxlan的报文转发
JP2018521516A JP6557415B2 (ja) 2015-10-26 2016-10-25 Vxlanに用いられるパケット転送
EP16858982.8A EP3370385B1 (en) 2015-10-26 2016-10-25 Packet forwarding applied to vxlan
US15/770,545 US10868791B2 (en) 2015-10-26 2016-10-25 Packet forwarding applied to VXLAN

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510701615.1A CN106612224B (zh) 2015-10-26 2015-10-26 应用于vxlan的报文转发方法和装置

Publications (2)

Publication Number Publication Date
CN106612224A true CN106612224A (zh) 2017-05-03
CN106612224B CN106612224B (zh) 2019-11-01

Family

ID=58613501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510701615.1A Active CN106612224B (zh) 2015-10-26 2015-10-26 应用于vxlan的报文转发方法和装置

Country Status (5)

Country Link
US (1) US10868791B2 (zh)
EP (1) EP3370385B1 (zh)
JP (1) JP6557415B2 (zh)
CN (1) CN106612224B (zh)
WO (1) WO2017071547A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360096A (zh) * 2017-08-14 2017-11-17 北京优帆科技有限公司 一种vxlan报文的转发方法及系统
CN107743095A (zh) * 2017-11-30 2018-02-27 新华三技术有限公司 报文转发方法和装置
CN107948041A (zh) * 2017-11-22 2018-04-20 锐捷网络股份有限公司 构建vxlan集中式多活网关的方法和设备
CN108259302A (zh) * 2017-10-31 2018-07-06 新华三技术有限公司 一种集中式网关组网实现方法及装置
CN109995638A (zh) * 2018-01-02 2019-07-09 中国移动通信有限公司研究院 一种进行二层互通的方法及设备
CN110620715A (zh) * 2018-06-20 2019-12-27 中国电信股份有限公司 虚拟扩展局域网通信方法、隧道端点和控制器

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107846342B (zh) * 2016-09-20 2020-11-06 华为技术有限公司 一种vxlan报文的转发方法、设备及系统
CN107770298B (zh) * 2017-09-30 2020-07-28 华为技术有限公司 传输数据的方法和装置
CN108199967B (zh) * 2018-03-30 2020-08-11 新华三技术有限公司 路由处理方法及装置
US10778464B2 (en) * 2018-04-20 2020-09-15 Futurewei Technologies, Inc. NSH encapsulation for traffic steering establishing a tunnel between virtual extensible local area network (VxLAN) tunnel end points (VTEPS) using a NSH encapsulation header comprising a VxLAN header whose VNI field has been replaced by an NSH shim
US10992543B1 (en) 2019-03-21 2021-04-27 Apstra, Inc. Automatically generating an intent-based network model of an existing computer network
CN112422397B (zh) * 2020-11-05 2022-04-08 中国联合网络通信集团有限公司 业务转发方法及通信装置
CN113037883B (zh) * 2021-02-23 2022-06-10 中国联合网络通信集团有限公司 一种mac地址表项的更新方法及装置
CN113726632B (zh) * 2021-07-31 2023-04-18 新华三信息安全技术有限公司 一种报文转发方法及设备
CN114301868B (zh) * 2021-12-30 2023-07-11 上海观安信息技术股份有限公司 快速生成虚拟容器浮动ip的方法及网络直通的方法和装置
CN115190100A (zh) * 2022-07-04 2022-10-14 中国联合网络通信集团有限公司 数据转发方法、vtep网关、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104115453A (zh) * 2013-12-31 2014-10-22 华为技术有限公司 一种实现虚拟机通信的方法和装置
CN104272668A (zh) * 2012-05-23 2015-01-07 博科通讯系统有限公司 层3覆盖网关

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4728511B2 (ja) * 2001-06-14 2011-07-20 古河電気工業株式会社 データ中継方法、その装置およびその装置を用いたデータ中継システム
US7830787B1 (en) * 2001-09-25 2010-11-09 Cisco Technology, Inc. Flooding control for multicast distribution tunnel
CN100574247C (zh) 2007-12-04 2009-12-23 华为技术有限公司 以太网隧道处理方法及通讯系统以及相关设备
CN101917439A (zh) 2010-08-24 2010-12-15 杭州华三通信技术有限公司 一种数据的传输方法和设备
CN108601043B (zh) * 2012-09-28 2022-01-14 瞻博网络公司 用于控制无线接入点的方法和设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104272668A (zh) * 2012-05-23 2015-01-07 博科通讯系统有限公司 层3覆盖网关
CN104115453A (zh) * 2013-12-31 2014-10-22 华为技术有限公司 一种实现虚拟机通信的方法和装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360096A (zh) * 2017-08-14 2017-11-17 北京优帆科技有限公司 一种vxlan报文的转发方法及系统
CN107360096B (zh) * 2017-08-14 2020-08-25 北京青云科技股份有限公司 一种vxlan报文的转发方法及系统
CN108259302A (zh) * 2017-10-31 2018-07-06 新华三技术有限公司 一种集中式网关组网实现方法及装置
CN108259302B (zh) * 2017-10-31 2021-04-27 新华三技术有限公司 一种集中式网关组网实现方法及装置
CN107948041A (zh) * 2017-11-22 2018-04-20 锐捷网络股份有限公司 构建vxlan集中式多活网关的方法和设备
CN107948041B (zh) * 2017-11-22 2020-12-18 锐捷网络股份有限公司 构建vxlan集中式多活网关的方法和设备
CN107743095A (zh) * 2017-11-30 2018-02-27 新华三技术有限公司 报文转发方法和装置
CN109995638A (zh) * 2018-01-02 2019-07-09 中国移动通信有限公司研究院 一种进行二层互通的方法及设备
CN110620715A (zh) * 2018-06-20 2019-12-27 中国电信股份有限公司 虚拟扩展局域网通信方法、隧道端点和控制器
CN110620715B (zh) * 2018-06-20 2021-10-22 中国电信股份有限公司 虚拟扩展局域网通信方法、隧道端点和控制器

Also Published As

Publication number Publication date
US10868791B2 (en) 2020-12-15
JP2018532342A (ja) 2018-11-01
EP3370385A1 (en) 2018-09-05
CN106612224B (zh) 2019-11-01
EP3370385B1 (en) 2023-11-15
US20190068543A1 (en) 2019-02-28
JP6557415B2 (ja) 2019-08-07
EP3370385A4 (en) 2018-12-12
WO2017071547A1 (zh) 2017-05-04

Similar Documents

Publication Publication Date Title
CN106612224A (zh) 应用于vxlan的报文转发方法和装置
CN109218178B (zh) 一种报文处理方法及网络设备
US10320664B2 (en) Cloud overlay for operations administration and management
EP3275132B1 (en) Scalable handling of bgp route information in vxlan with evpn control plane
CN105684363B (zh) 逻辑路由器
CN104285416B (zh) 在存储区域网络中端接覆盖隧道的虚拟路由器
CN104704778B (zh) 用于虚拟和物理网络集成的方法和系统
US8675522B2 (en) Conveying the VLAN/L2 VSN/bridging-domain of the incoming interface (IIF) when transporting multicast traffic over a shortest path bridged (SPB) network
CN103200069B (zh) 一种报文处理的方法和设备
US8767749B2 (en) Method and system for transparent LAN services in a packet network
EP3197107B1 (en) Message transmission method and apparatus
CN104579954B (zh) 报文跨域转发方法、装置及通信设备
CN103227757A (zh) 一种报文转发方法及设备
CN104660469B (zh) 一种二层网络的连通性检测方法及相关设备
CN108075969A (zh) 报文转发方法和装置
JP2019521619A (ja) パケット転送
CN106209648A (zh) 跨虚拟可扩展局域网的组播数据报文转发方法和设备
US8867406B2 (en) System and method for automated discovery of customer-edge devices and interface connections in a virtual-private-networking environment
CN106209689A (zh) 从vxlan至vlan的组播数据报文转发方法和设备
CN106209638A (zh) 从虚拟局域网至虚拟可扩展局域网的报文转发方法和设备
CN106878136A (zh) 一种报文转发方法及装置
CN107547404A (zh) 流表生成方法及装置以及报文转发方法及装置
CN108259295B (zh) Mac地址同步方法及装置
CN106209637A (zh) 从虚拟可扩展局域网至虚拟局域网的报文转发方法和设备
CN112929284A (zh) 一种IPv6 VXLAN场景下的ND报文识别方法与系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

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

Applicant before: Huasan Communication Technology Co., Ltd.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant