• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

20-VXLAN配置指导

目录

01-VXLAN配置

本章节下载 01-VXLAN配置  (436.65 KB)

01-VXLAN配置


1 VXLAN概述

VXLAN(Virtual eXtensible LAN,可扩展虚拟局域网络)是基于IP网络、采用“MAC in UDP”封装形式的二层VPN技术。VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。VXLAN主要应用于数据中心网络。

目前,设备只支持基于IPv4网络的VXLAN技术,不支持基于IPv6网络的VXLAN技术。

1.1  VXLAN与硬件适配关系

本特性的支持情况与设备型号有关,请以设备的实际情况为准。

设备型号

业务板类型

说明

M9006

M9010

M9014

Blade IV防火墙业务板

支持

Blade V防火墙业务板

支持

NAT业务板

支持

应用交付业务板

支持

异常流量清洗业务板

不支持

M9010-GM

加密业务板

支持

M9016-V

Blade V防火墙业务板

支持

M9008-S

M9012-S

Blade IV防火墙业务板

支持

应用交付业务板

支持

入侵防御业务板

支持

视频网关业务板

支持

异常流量清洗业务板

不支持

M9008-S-6GW

IPv6业务板

支持

M9008-S-V

Blade IV防火墙业务板

支持

M9000-AI-E8

Blade V防火墙业务板

支持

应用交付业务板

支持

M9000-AI-E16

Blade V防火墙业务板

支持

 

1.2  VXLAN的优点

VXLAN具有如下优点:

·     支持大量的租户:使用24位的标识符,最多可支持2的24次方(16777216)个VXLAN,使支持的租户数目大规模增加,解决了传统二层网络VLAN资源不足的问题。

·     易于维护:基于IP网络组建大二层网络,使得网络部署和维护更加容易,并且可以充分地利用现有的IP网络技术,例如利用等价路由进行负载分担等;只有IP核心网络的边缘设备需要进行VXLAN处理,网络中间设备只需根据IP头转发报文,降低了网络部署的难度和费用。

1.3  VXLAN网络模型

VXLAN技术将已有的三层物理网络作为Underlay网络,在其上构建出虚拟的二层网络,即Overlay网络。Overlay网络通过封装技术、利用Underlay网络提供的三层转发路径,实现租户二层报文跨越三层网络在不同站点间传递。对于租户来说,Underlay网络是透明的,同一租户的不同站点就像工作在一个局域网中。

图1-1 VXLAN网络模型示意图

 

图1-1所示,VXLAN的典型网络模型中包括如下几部分:

·     用户终端(Terminal):用户终端设备可以是PC机、无线终端设备、服务器上创建的VM(Virtual Machine,虚拟机)等。不同的用户终端可以属于不同的VXLAN。属于相同VXLAN的用户终端处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的用户终端之间二层隔离。VXLAN通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN Network Identifier,VXLAN网络标识符),其长度为24比特。

说明

本文档中如无特殊说明,均以VM为例介绍VXLAN工作机制。采用其他类型用户终端时,VXLAN工作机制与VM相同,不再赘述。

 

·     VTEP(VXLAN Tunnel End Point,VXLAN隧道端点):VXLAN的边缘设备。VXLAN的相关处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等。

·     VXLAN隧道:两个VTEP之间的点到点逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头和IP头后,通过VXLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装。

·     核心设备:IP核心网络中的设备(如图1-1中的P设备)。核心设备不参与VXLAN处理,仅需要根据封装后报文的目的IP地址对报文进行三层转发。

·     VSI(Virtual Switch Instance,虚拟交换实例):VTEP上为一个VXLAN提供二层交换服务的虚拟交换实例。VSI可以看作是VTEP上的一台基于VXLAN进行二层转发的虚拟交换机,它具有传统以太网交换机的所有功能,包括源MAC地址学习、MAC地址老化、泛洪等。VSI与VXLAN一一对应。

·     AC(Attachment Circuit,接入电路):VTEP连接本地站点的物理电路或虚拟电路。在VTEP上,与VSI关联的三层接口或以太网服务实例(service instance)称为AC。其中,以太网服务实例在二层以太网接口上创建,它定义了一系列匹配规则,用来匹配从该二层以太网接口上接收到的数据帧。

1.4  VXLAN报文封装格式

图1-2所示,VXLAN报文的封装格式为:在原始二层数据帧外添加8字节VXLAN头、8字节UDP头和20字节IP头。其中,UDP头的目的端口号为VXLAN UDP端口号(缺省为4789)。VXLAN头主要包括两部分:

·     标记位:“I”位为1时,表示VXLAN头中的VXLAN ID有效;为0,表示VXLAN ID无效。其他位保留未用,设置为0。

·     VXLAN ID:用来标识一个VXLAN网络,长度为24比特。

图1-2 VXLAN报文封装示意图

 

1.5  VXLAN运行机制

1.5.1  运行机制概述

VXLAN运行机制可以概括为:

(1)     发现远端VTEP,在VTEP之间建立VXLAN隧道,并将VXLAN隧道与VXLAN关联。

(2)     识别接收到的报文所属的VXLAN,以便将报文的源MAC地址学习到VXLAN对应的VSI,并在该VSI内转发该报文。

(3)     学习虚拟机的MAC地址。

(4)     根据学习到的MAC地址表项转发报文。

1.5.2  建立VXLAN隧道并将其与VXLAN关联

为了将VXLAN报文传递到远端VTEP,需要创建VXLAN隧道,并将VXLAN隧道与VXLAN关联。

1. 创建VXLAN隧道

通过手工方式创建VXLAN隧道,手工配置Tunnel接口,并指定隧道的源和目的IP地址分别为本端和远端VTEP的IP地址。

2. 关联VXLAN隧道与VXLAN

通过手工方式将VXLAN隧道与VXLAN关联。

1.5.3  识别报文所属的VXLAN

1. 本地站点内接收到数据帧的识别

VTEP采用如下几种方式在数据帧和VXLAN之间建立关联:

·     将三层接口与VSI关联:从该三层接口接收到的数据帧均属于指定的VSI。VSI内创建的VXLAN即为该数据帧所属的VXLAN。

·     将以太网服务实例与VSI关联:以太网服务实例定义了一系列匹配规则,如匹配指定VLAN的报文、匹配接口接收到的所有报文等。从二层以太网接口上接收到的、与规则匹配的数据帧均属于指定的VSI/VXLAN。

VTEP从三层接口或以太网服务实例接收到数据帧后,根据关联方式判断报文所属的VXLAN。

图1-3所示,VM 1属于VLAN 2,在VTEP上配置以太网服务实例1匹配VLAN 2的报文,将以太网服务实例1与VSI A绑定,并在VSI A内创建VXLAN 10,则VTEP接收到VM 1发送的数据帧后,可以判定该数据帧属于VXLAN 10。

图1-3 二层数据帧所属VXLAN识别

2. VXLAN隧道上接收报文的识别

对于从VXLAN隧道上接收到的VXLAN报文,VTEP根据报文中携带的VXLAN ID判断该报文所属的VXLAN。

1.5.4  学习MAC地址

MAC地址学习分为本地MAC地址学习和远端MAC地址学习两部分:

·     本地MAC地址学习

是指VTEP对本地站点内虚拟机MAC地址的学习。VTEP接收到本地虚拟机发送的数据帧后,判断该数据帧所属的VSI,并将数据帧中的源MAC地址(本地虚拟机的MAC地址)添加到该VSI的MAC地址表中,该MAC地址对应的接口为接收到数据帧的接口。

VXLAN不支持静态配置本地MAC地址。

·     远端MAC地址学习

是指VTEP对远端站点内虚拟机MAC地址的学习。通过报文中的源MAC地址动态学习:VTEP从VXLAN隧道上接收到远端VTEP发送的VXLAN报文后,根据VXLAN ID判断报文所属的VXLAN,对报文进行解封装,还原二层数据帧,并将数据帧中的源MAC地址(远端虚拟机的MAC地址)添加到所属VXLAN对应VSI的MAC地址表中,该MAC地址对应的接口为VXLAN隧道接口。

1.5.5  转发单播流量

完成本地和远端MAC地址学习后,VTEP在VXLAN内转发单播流量的过程如下所述。

1. 站点内流量

对于站点内流量,VTEP判断出报文所属的VSI后,根据目的MAC地址查找该VSI的MAC地址表,从相应的本地接口转发给目的VM。

图1-4所示,VM 1(MAC地址为MAC 1)发送以太网帧到VM 4(MAC地址为MAC 4)时,VTEP 1从接口Interface A收到该以太网帧后,判断该数据帧属于VSI A(VXLAN 10),查找VSI A的MAC地址表,得到MAC 4的出接口为Interface B,所在VLAN为VLAN 10,则将以太网帧从接口Interface B的VLAN 10内发送给VM 4。

图1-4 站点内单播流量转发

2. 站点间流量

图1-5所示,以VM 1(MAC地址为MAC 1)发送以太网帧给VM 7(MAC地址为MAC 7)为例,站点间单播流量的转发过程为:

(1)     VM 1发送以太网数据帧给VM 7,数据帧的源MAC地址为MAC 1,目的MAC为MAC 7,VLAN ID为2。

(2)     VTEP 1从接口Interface A(所在VLAN为VLAN 2)收到该数据帧后,判断该数据帧属于VSI A(VXLAN 10),查找VSI A的MAC地址表,得到MAC 7的出端口为Tunnel1。

(3)     VTEP 1为数据帧封装VXLAN头、UDP头和IP头后,将封装好的报文通过VXLAN隧道Tunnel1、经由P设备发送给VTEP 2。

(4)     VTEP 2接收到报文后,根据报文中的VXLAN ID判断该报文属于VXLAN 10,并剥离VXLAN头、UDP头和IP头,还原出原始的数据帧。

(5)     VTEP 2查找与VXLAN 10对应的VSI A的MAC地址表,得到MAC 7的出端口为Interface A(所在VLAN为VLAN 20)。

(6)     VTEP 2从接口Interface A的VLAN 20内将数据帧发送给VM 7。

图1-5 站点间单播流量转发

1.5.6  转发泛洪流量

VTEP从本地站点接收到泛洪流量(组播、广播和未知单播流量)后,将其转发给除接收接口外的所有本地接口和VXLAN隧道。为了避免环路,VTEP从VXLAN隧道上接收到报文后,不会再将其泛洪到其他的VXLAN隧道,只会转发给所有本地接口。

根据复制方式的不同,流量泛洪方式分为单播路由方式(头端复制)、组播路由方式(核心复制)和泛洪代理方式(服务器复制)。设备暂不支持组播路由方式(核心复制)。

1. 单播路由方式(头端复制)

图1-6所示,VTEP负责复制报文,采用单播方式将复制后的报文通过本地接口发送给本地站点,并通过VXLAN隧道发送给VXLAN内的所有远端VTEP。

图1-6 单播路由方式转发示意图

 

 

2. 组播路由方式(核心复制)

数据中心网络中需要通过IP核心网络进行二层互联的站点较多时,采用组播路由方式可以节省泛洪流量对核心网络带宽资源的占用。

图1-7所示,在组播路由方式下,同一个VXLAN内的所有VTEP都加入同一个组播组,利用组播路由协议(如PIM)在IP核心网上为该组播组建立组播转发表项。VTEP接收到泛洪流量后,不仅在本地站点内泛洪,还会为其封装组播目的IP地址,封装后的报文根据已建立的组播转发表项转发到远端VTEP。

图1-7 组播路由方式转发示意图

 

 

3. 泛洪代理方式(服务器复制)

数据中心网络中需要通过IP核心网络进行二层互联的站点较多时,采用泛洪代理方式可以在没有组播协议参与的情况下,节省泛洪流量对核心网络带宽资源的占用。

图1-8所示,在泛洪代理方式下,同一个VXLAN内的所有VTEP都通过手工方式与代理服务器建立隧道。VTEP接收到泛洪流量后,不仅在本地站点内泛洪,还会将其发送到代理服务器,由代理服务器转发到其他远端VTEP。

图1-8 泛洪代理方式转发示意图

 

 

1.5.7  接入模式

接入模式分为VLAN接入模式和Ethernet接入模式两种。

1. VLAN接入模式

在该模式下,从本地站点接收到的和发送给本地站点的以太网帧必须带有VLAN Tag。

·     VTEP从本地站点接收到以太网帧后,删除该帧的所有VLAN Tag,再转发该数据帧;

·     VTEP发送以太网帧到本地站点时,为其添加本地站点的VLAN Tag。

采用该模式时,VTEP不会传递VLAN Tag信息,不同站点可以独立地规划自己的VLAN,不同站点的不同VLAN之间可以互通。

2. Ethernet接入模式

在该模式下,从本地站点接收到的和发送给本地站点的以太网帧可以携带VLAN Tag,也可以不携带VLAN Tag。

·     VTEP从本地站点接收到以太网帧后,保持该帧的VLAN Tag信息不变,转发该数据帧;

·     VTEP发送以太网帧到本地站点时,不会为其添加VLAN Tag。

采用该模式时,VTEP会在不同站点间传递VLAN Tag信息,不同站点的VLAN需要统一规划,否则无法互通。

1.6  协议规范

与VXLAN相关的协议规范有:

RFC 7348:Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks


2 配置VXLAN

2.1  VXLAN配置任务简介

VXLAN组网中,需要在VTEP上进行如下配置:

(1)     创建VSI和VXLAN

(2)     配置VXLAN隧道

(3)     手工关联VXLAN与VXLAN隧道

(4)     建立数据帧与VSI的关联

(5)     (可选)配置VXLAN报文相关功能

¡     配置VXLAN报文的目的UDP端口号

¡     配置VXLAN报文检查功能

(6)     (可选)开启VXLAN软件快速转发功能

2.2  VXLAN配置准备

在VXLAN组网中,IP核心网络中的设备上需要配置路由协议,确保VTEP之间路由可达。

2.3  创建VSI和VXLAN

(1)     进入系统视图。

system-view

(2)     开启L2VPN功能。

l2vpn enable

缺省情况下,L2VPN功能处于关闭状态。

(3)     创建VSI,并进入VSI视图。

vsi vsi-name

(4)     开启VSI。

undo shutdown

缺省情况下,VSI处于开启状态。

(5)     创建VXLAN,并进入VXLAN视图。

vxlan vxlan-id

在一个VSI下只能创建一个VXLAN。

不同VSI下创建的VXLAN,其VXLAN ID不能相同。

(6)     (可选)配置VSI相关参数。

a.     退回VSI视图。

quit

b.     配置VSI的描述信息。

description text

缺省情况下,未配置VSI的描述信息。

c.     配置VSI的MTU值。

mtu mtu

缺省情况下,VSI的MTU值为1500字节。

VSI的MTU值是指从AC上接收且通过VXLAN隧道转发的用户报文的最大长度。VSI内的其他报文不受该MTU值的限制。

d.     开启VSI的MAC地址学习功能。

mac-learning enable

缺省情况下,VSI的MAC地址学习功能处于开启状态。

2.4  配置VXLAN隧道

2.4.1  手工创建VXLAN隧道

1. 功能简介

手工创建VXLAN隧道时,隧道的源端地址和目的端地址需要分别手工指定为本地和远端VTEP的接口地址。

2. 配置限制和指导

在同一台设备上,VXLAN隧道模式的不同Tunnel接口建议不要同时配置完全相同的源端地址和目的端地址。

关于隧道的详细介绍及Tunnel接口下的更多配置命令,请参见“三层技术-IP业务配置指导”中的“隧道”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)配置VXLAN隧道的全局源地址。

tunnel global source-address ip-address

缺省情况下,未配置VXLAN隧道的全局源地址。

如果隧道下未配置源地址或源接口,则隧道会使用全局源地址作为隧道的源地址。

(3)     创建模式为VXLAN隧道的Tunnel接口,并进入Tunnel接口视图。

interface tunnel tunnel-number mode vxlan

在隧道的两端应配置相同的隧道模式,否则会造成报文传输失败。

(4)     配置隧道的源端地址。请选择其中一项进行配置。

¡     直接指定隧道的源端地址。

source ipv4-address

指定的地址将作为封装后VXLAN报文的源IP地址。

¡     指定隧道的源接口。

source interface-type interface-number

指定接口的主IP地址将作为封装后VXLAN报文的源IP地址。

缺省情况下,未设置VXLAN隧道的源端地址。

(5)     配置隧道的目的端地址。

destination ipv4-address

缺省情况下,未指定隧道的目的端地址。

隧道的目的端地址是对端设备上接口的IP地址,该地址将作为封装后VXLAN报文的目的地址。

2.5  手工关联VXLAN与VXLAN隧道

1. 功能简介

一个VXLAN可以关联多条VXLAN隧道。一条VXLAN隧道可以关联多个VXLAN,这些VXLAN共用该VXLAN隧道,VTEP根据VXLAN报文中的VXLAN ID来识别隧道传递的报文所属的VXLAN。VTEP接收到某个VXLAN的泛洪流量后,如果采用单播路由泛洪方式,则VTEP将在与该VXLAN关联的所有VXLAN隧道上发送该流量,以便将流量转发给所有的远端VTEP;如果采用泛洪代理方式,则VTEP通过与该VXLAN关联、通过flooding-proxy参数开启了泛洪代理功能的VXLAN隧道将泛洪流量发送给泛洪代理服务器。

2. 配置限制和指导

VTEP必须与相同VXLAN内的其它VTEP建立VXLAN隧道,并将该隧道与VXLAN关联。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VSI视图。

vsi vsi-name

(3)     进入VXLAN视图。

vxlan vxlan-id

(4)     配置VXLAN与VXLAN隧道关联。

tunnel tunnel-number [ flooding-proxy ]

缺省情况下,VXLAN未关联VXLAN隧道。

参数

说明

flooding-proxy

如果指定了本参数,则VXLAN内的广播、组播和未知单播流量将通过该隧道发送到泛洪代理服务器,由代理服务器进行复制并转发到其他远端VTEP

2.6  建立数据帧与VSI的关联

2.6.1  配置三层接口与VSI关联

1. 功能简介

将三层接口与VSI关联后,从该接口接收到的报文,将通过查找关联VSI的MAC地址表进行转发。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入三层接口视图。

interface interface-type interface-number

(3)     将三层接口与VSI关联。

xconnect vsi vsi-name [ access-mode { ethernet | vlan } ] [ track track-entry-number&<1-3> ]

缺省情况下,三层接口未关联VSI。

关联VSI的AC为三层子接口时,可以指定access-mode参数,接入模式缺省为VLAN;当AC为三层接口时,不可以指定access-mode参数。

2.6.2  配置以太网服务实例与VSI关联

1. 功能简介

手工创建以太网服务实例,并将以太网服务实例与VSI关联后,从该接口接收到的、符合以太网服务实例报文匹配规则的报文,将通过查找关联VSI的MAC地址表进行转发。以太网服务实例提供了多种报文匹配规则(包括接口接收到的所有报文、所有携带VLAN Tag的报文和所有不携带VLAN Tag的报文等),为报文关联VSI提供了更加灵活的方式。

2. 配置限制和指导

不能通过重复执行本命令修改报文匹配规则。如需修改报文匹配规则,请先通过undo encapsulation命令删除报文匹配规则,再执行encapsulation命令。

删除以太网服务实例下的报文匹配规则后,会自动取消以太网服务实例与VSI的关联。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     手工创建以太网服务实例,并进入以太网服务实例视图。

service-instance instance-id

(4)     配置以太网服务实例的报文匹配规则。请选择其中一项进行配置。

¡     匹配报文的外层VLAN tag。

encapsulation s-vid vlan-id-list [ only-tagged ]

¡     匹配携带VLAN tag或不携带VLAN tag的所有报文。

encapsulation { tagged | untagged }

¡     匹配未匹配到接口上其他以太网服务实例的所有报文。

encapsulation default

同一个接口上最多只能有一个服务实例的报文匹配规则为encapsulation default

如果接口上只存在一个配置了encapsulation default规则的以太网服务实例,则该接口上的所有报文都匹配该以太网服务实例。

缺省情况下,未配置报文匹配规则。

(5)     将以太网服务实例与VSI关联。

xconnect vsi vsi-name [ access-mode { ethernet | vlan } ] [ track track-entry-number&<1-3> ]

缺省情况下,以太网服务实例未关联VSI。

2.7  配置VXLAN报文的目的UDP端口号

(1)     进入系统视图。

system-view

(2)     配置VXLAN报文的目的UDP端口号。

vxlan udp-port port-number

缺省情况下,VXLAN报文的目的UDP端口号为4789。

属于同一个VXLAN的VTEP设备上需要配置相同的UDP端口号。

2.8  配置VXLAN报文检查功能

1. 功能简介

通过本配置可以实现对接收到的VXLAN报文的UDP校验和进行检查,VTEP接收到VXLAN报文后,检查该报文的UDP校验和是否为0。若UDP校验和为0,则接收该报文;若UDP校验和不为0,则检查UDP检验和是否正确,正确则接收该报文;否则,丢弃该报文。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置丢弃UDP校验和检查失败的VXLAN报文。

vxlan invalid-udp-checksum discard

缺省情况下,不会检查VXLAN报文的UDP校验和。

2.9  开启VXLAN软件快速转发功能

1. 功能简介

开启本功能后,数据报文通过VXLAN隧道进行软件转发时,不会进行QoS、安全等业务处理,直接进行转发,以提高处理性能。建议仅在VSI虚接口和VXLAN隧道对应的报文出接口上没有配置QoS、安全等业务,且需要加快VXLAN软件转发速度的场景下,开启本功能。

2. 配置限制和指导

开启本功能后,如果到达VXLAN隧道目的端地址存在多条等价路由,只会从中选择一条路由转发VXLAN报文,不能在多条路由之间进行负载分担。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启VXLAN软件快速转发功能。

vxlan fast-forwarding enable

缺省情况下,VXLAN软件快速转发功能处于关闭状态。

2.10  VXLAN显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后VXLAN的运行情况,通过查看显示信息验证配置的效果。

在用户视图下,用户可以执行reset命令来清除VXLAN的相关信息。

表2-1 VXLAN显示和维护

操作

命令

显示Tunnel接口信息

display interface [ tunnel [ number ] ] [ brief [ description | down ] ]

显示与VSI关联的三层接口的L2VPN信息

display l2vpn interface [ vsi vsi-name | interface-type interface-number ] [ verbose ]

显示VSI的MAC地址表信息

display l2vpn mac-address [ vsi vsi-name ] [ dynamic ] [ count ]

显示以太网服务实例的信息

display l2vpn service-instance [ interface interface-type interface-number [ service-instance instance-id ] ] [ verbose ]

显示VSI的信息

display l2vpn vsi [ name vsi-name ] [ verbose ]

显示VXLAN关联的VXLAN隧道信息

display vxlan tunnel [ vxlan-id vxlan-id [ tunnel tunnel-number ] ]

清除VSI动态学习的MAC地址表项

reset l2vpn mac-address [ vsi vsi-name ]

 

说明

display interface tunnel命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“隧道”。

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们