国家 / 地区

14-VXLAN配置指导

01-VXLAN配置

本章节下载  (746.52 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/CR/CR19000/Configure/Operation_Manual/H3C_CR19000_CG-R2512-5W300/14/201907/1211546_30005_0.htm

01-VXLAN配置

  录

1 VXLAN概述

1.1 VXLAN的优点

1.2 VXLAN网络模型

1.3 VXLAN报文封装格式

1.4 VXLAN运行机制

1.4.1 运行机制概述

1.4.2 识别报文所属的VXLAN

1.4.3 学习MAC地址

1.4.4 转发单播流量

1.4.5 转发泛洪流量

1.5 ARP泛洪抑制

1.6 VXLAN IP网关

1.7 协议规范

2 配置VXLAN

2.1 VXLAN配置任务简介

2.2 VXLAN配置准备

2.3 创建VSI和VXLAN

2.4 配置VXLAN隧道

2.4.1 创建VXLAN隧道

2.5 关联VXLAN与VXLAN隧道

2.6 配置AC与VSI关联

2.7 管理本地和远端MAC地址

2.7.1 功能简介

2.7.2 开启本地MAC地址的日志记录功能

2.7.3 添加静态远端MAC地址

2.7.4 关闭远端MAC地址自动学习功能

2.8 配置VXLAN组播路由泛洪方式

2.8.1 组播路由泛洪的实现模式简介

2.8.2 配置准备

2.8.3 配置PIM模式

2.8.4 配置IGMP主机模式

2.9 配置VXLAN报文的DSCP优先级

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

2.11 配置VXLAN报文检查功能

2.12 配置VSI泛洪抑制

2.13 配置ARP泛洪抑制

2.14 配置VXLAN流量统计

2.14.1 配置AC的报文统计功能

2.14.2 配置VXLAN隧道的报文统计功能

2.14.3 配置VXLAN流量统计信息收集的时间间隔

2.15 VXLAN显示和维护

2.16 VXLAN典型配置举例

2.16.1 VXLAN头端复制配置举例

2.16.2 VXLAN核心复制配置举例

3 VXLAN IP网关

3.1 VXLAN IP网关简介

3.1.1 独立的VXLAN IP网关

3.1.2 集中式VXLAN IP网关

3.2 VXLAN IP网关配置限制和指导

3.3 VXLAN IP网关配置准备

3.4 配置集中式VXLAN IP网关

3.5 配置VSI虚接口的可选参数

3.6 恢复VSI虚接口的缺省配置

3.7 VXLAN IP网关显示和维护

3.8 VXLAN IP网关典型配置举例

3.8.1 集中式VXLAN IP网关配置举例

4 VXLAN数据中心互联

4.1 VXLAN数据中心互联简介

4.1.1 VXLAN数据中心互联典型组网

4.1.2 VXLAN数据中心互联工作机制

4.1.3 相同VXLAN内不同站点的虚拟机通信过程

4.1.4 不同VXLAN间不同站点的虚拟机通信过程

4.2 VXLAN数据中心互联配置任务简介

4.3 创建VXLAN-DCI隧道

4.4 关联VXLAN与VXLAN-DCI隧道

4.5 配置手工创建VXLAN-DCI隧道的报文统计功能

4.6 VXLAN数据中心互联显示和维护

 


1 VXLAN概述

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

1.1  VXLAN的优点

VXLAN具有如下优点:

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

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

1.2  VXLAN网络模型

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

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

 

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

·              VM(Virtual Machine,虚拟机):在一台服务器上可以创建多台虚拟机,不同的虚拟机可以属于不同的VXLAN。属于相同VXLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的虚拟机之间二层隔离。VXLAN通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN Network Identifier,VXLAN网络标识符),其长度为24比特。

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

·              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关联的三层接口称为AC。

1.3  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.4  VXLAN运行机制

1.4.1  运行机制概述

VXLAN运行机制可以概括为:

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

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

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

1.4.2  识别报文所属的VXLAN

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

VTEP将连接本地站点的三层接口与VSI关联。VTEP从三层接口接收到数据帧后,查找与其关联的VSI,VSI内创建的VXLAN即为该数据帧所属的VXLAN。

图1-3所示,在VTEP上将Interface A与VSI A绑定,并在VSI A内创建VXLAN 10,则VTEP接收到VM 1发送的数据帧后,可以判定该数据帧属于VXLAN 10。

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

 

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

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

1.4.3  学习MAC地址

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

·              本地MAC地址学习

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

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

·              远端MAC地址学习

是指VTEP对远端站点内虚拟机MAC地址的学习。远端MAC地址的学习方式有如下几种:

¡  静态配置:手工指定远端MAC地址所属的VSI(VXLAN),及其对应的VXLAN隧道接口。

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

静态配置的远端MAC地址表项优先级高于源MAC地址动态学习的表项。

1.4.4  转发单播流量

完成本地和远端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,则将以太网帧从接口Interface B发送给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。

(2)      VTEP 1从接口Interface A收到该数据帧后,判断该数据帧属于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。

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

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

 

1.4.5  转发泛洪流量

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 组播路由方式转发示意图

 

1.5  ARP泛洪抑制

为了避免广播发送的ARP请求报文占用核心网络带宽,VTEP从本地站点或VXLAN隧道接收到ARP请求和ARP应答报文后,根据该报文在本地建立ARP泛洪抑制表项。后续当VTEP收到本站点内虚拟机请求其它虚拟机MAC地址的ARP请求时,优先根据ARP泛洪抑制表项进行代答。如果没有对应的表项,则将ARP请求泛洪到核心网。ARP泛洪抑制功能可以大大减少ARP泛洪的次数。

图1-8 ARP泛洪抑制示意图

 

图1-8所示,ARP泛洪抑制的处理过程如下:

(1)      虚拟机VM 1发送ARP请求,获取VM 7的MAC地址。

(2)      VTEP 1根据接收到的ARP请求,建立VM 1的ARP泛洪抑制表项,并在VXLAN内泛洪该ARP请求(图1-8以单播路由泛洪方式为例)。

(3)      远端VTEP(VTEP 2和VTEP 3)解封装VXLAN报文,获取原始的ARP请求报文后,建立VM 1的ARP泛洪抑制表项,并在本地站点的指定VXLAN内泛洪该ARP请求。

(4)      VM 7接收到ARP请求后,回复ARP应答报文。

(5)      VTEP 2接收到ARP应答后,建立VM 7的ARP泛洪抑制表项,并通过VXLAN隧道将ARP应答发送给VTEP 1。

(6)      VTEP 1解封装VXLAN报文,获取原始的ARP应答,并根据该应答建立VM 7的ARP泛洪抑制表项,之后将ARP应答报文发送给VM 1。

(7)      在VTEP 1上建立ARP泛洪抑制表项后,虚拟机VM 4发送ARP请求,获取VM 1或VM 7的MAC地址。

(8)      VTEP 1接收到ARP请求后,建立VM 4的ARP泛洪抑制表项,并查找本地ARP泛洪抑制表项,根据已有的表项回复ARP应答报文,不会对ARP请求进行泛洪。

(9)      在VTEP 3上建立ARP泛洪抑制表项后,虚拟机VM 10发送ARP请求,获取VM 1的MAC地址。

(10)   VTEP 3接收到ARP请求后,建立VM 10的ARP泛洪抑制表项,并查找本地ARP泛洪抑制表项,根据已有的表项回复ARP应答报文,不会对ARP请求进行泛洪。

1.6  VXLAN IP网关

VXLAN可以为分散的物理站点提供二层互联。如果要为VXLAN站点内的虚拟机提供三层业务,则需要在网络中部署VXLAN IP网关,以便站点内的虚拟机通过VXLAN IP网关与外界网络或其他VXLAN网络内的虚拟机进行三层通信。

VXLAN IP网关的详细介绍,请参见“3 VXLAN IP网关”。

1.7  协议规范

与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)      配置AC与VSI关联

(5)      (可选)管理本地和远端MAC地址

(6)      配置VXLAN组播路由泛洪方式

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

¡  配置VXLAN报文的DSCP优先级

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

(8)      (可选)配置VXLAN报文检查功能

(9)      (可选)配置VSI泛洪抑制

(10)   配置ARP泛洪抑制

(11)   配置VXLAN流量统计

¡  配置AC的报文统计功能

¡  配置VXLAN隧道的报文统计功能

¡  配置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的广播、组播或未知单播抑制带宽。

restrain { broadcast | multicast | unknown-unicast } bandwidth

缺省情况下,VSI的广播、组播、未知单播抑制带宽均为5120kbps。

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

mac-learning enable

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

e.   配置允许VSI学习到的最大MAC地址数。

mac-table limit mac-limit

缺省情况下,不对VSI学习到的最大MAC地址数进行限制。

关于VSI相关参数的详细配置请参见“MPLS配置指导”中的“VPLS”。

2.4  配置VXLAN隧道

2.4.1  创建VXLAN隧道

1. 功能简介

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

2. 配置限制和指导

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

如果设备上配置了通过EVPN自动建立并关联VXLAN隧道,则隧道目的地址相同的EVPN自动创建隧道和手工创建隧道不能关联同一个VXLAN。EVPN的详细介绍请参见“EVPN配置指导”。

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

3. 配置步骤

(1)      进入系统视图。

system-view

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

tunnel global source-address ipv4-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报文的目的地址。

(6)      (可选)设置封装后隧道报文的ToS(Type of Service,服务类型)值。

tunnel tos tos-value

在转发控制分离组网中,为防止报文丢失,建议设置封装后VXLAN隧道报文的ToS值为最大值255。

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

2.5  关联VXLAN与VXLAN隧道

1. 功能简介

一个VXLAN可以关联多条VXLAN隧道。一条VXLAN隧道可以关联多个VXLAN,这些VXLAN共用该VXLAN隧道,VTEP根据VXLAN报文中的VXLAN ID来识别隧道传递的报文所属的VXLAN。VTEP接收到某个VXLAN的泛洪流量后,如果采用单播路由泛洪方式,则VTEP将在与该VXLAN关联的所有VXLAN隧道上发送该流量,以便将流量转发给所有的远端VTEP。

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

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

2.6  配置AC与VSI关联

1. 功能简介

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

2. 配置步骤

(1)      进入系统视图。

system-view

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

interface interface-type interface-number

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

xconnect vsi vsi-name [ track track-entry-number&<1-3> ]

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

2.7  管理本地和远端MAC地址

2.7.1  功能简介

本地MAC地址只能动态学习,不能静态配置。在动态添加、删除本地MAC地址时,可以记录日志信息。

远端MAC地址表项的产生方法包括静态添加、根据接收到的VXLAN报文内封装的源MAC地址自动学习等。

2.7.2  开启本地MAC地址的日志记录功能

1. 功能简介

开启本地MAC地址的日志记录功能后,VXLAN会立即根据已经学习到的本地MAC地址表项生成日志信息,之后在增加或删除本地MAC地址时也将产生日志信息。生成的日志信息将被发送到设备的信息中心,通过设置信息中心的参数,决定日志信息的输出规则(即是否允许输出以及输出方向)。

2. 配置步骤

(1)      进入系统视图。

system-view

(2)      开启本地MAC地址的日志记录功能。

vxlan local-mac report

缺省情况下,本地MAC地址的日志记录功能处于关闭状态。

2.7.3  添加静态远端MAC地址

1. 配置限制和指导

请不要为EVPN动态创建的隧道配置静态远端MAC地址表项,避免出现如下问题:

·              如果公网侧接口down,设备将删除已创建的隧道,同时删除为该隧道配置的静态远端MAC地址表项,公网侧接口重新up后会自动重新建立隧道,但是无法恢复静态远端MAC地址表项;

·              如果执行了配置回滚操作,设备会重新创建隧道,新创建的隧道编号可能发生变化,造成配置回滚失败。

2. 配置步骤

(1)      进入系统视图。

system-view

(2)      添加静态远端MAC地址表项。

mac-address static mac-address interface tunnel tunnel-number vsi vsi-name

interface tunnel interface-number参数指定的隧道接口必须与vsi vsi-name参数指定的VSI对应的VXLAN关联,且该VXLAN必须已经创建,否则配置将失败。

2.7.4  关闭远端MAC地址自动学习功能

1. 功能简介

如果网络中存在攻击,为了避免学习到错误的远端MAC地址,可以手工关闭远端MAC地址自动学习功能,手动添加静态的远端MAC地址。

2. 配置步骤

(1)      进入系统视图。

system-view

(2)      关闭远端MAC地址自动学习功能。

vxlan tunnel mac-learning disable

缺省情况下,远端MAC地址自动学习功能处于开启状态。

2.8  配置VXLAN组播路由泛洪方式

2.8.1  组播路由泛洪的实现模式简介

组播路由泛洪方式支持如下两种实现模式:

·              PIM模式:在VTEP和核心设备上运行PIM协议,以建立组播转发表项。采用该模式时,可以使用Loopback接口地址作为组播报文的源IP地址。当VTEP存在多个网络侧接口时,PIM协议可以动态选择报文的出接口。

·              IGMP主机模式:在VTEP上开启IGMP协议的主机功能、在连接VTEP的核心设备上配置IGMP、在所有核心设备上运行PIM协议,以建立组播转发表项。采用该模式时,必须使用VTEP上网络侧接口的IP地址作为组播报文的源IP地址,并在该接口上开启IGMP协议的主机功能。当VTEP存在多个网络侧接口时,IGMP主机模式只能采用组播报文的源IP地址所在的接口作为报文的出接口。

同一VXLAN网络中的不同VTEP可以采用不同的实现模式。

2.8.2  配置准备

·              在VTEP和核心设备上使能IP组播路由功能。

·              在核心设备上配置组播路由协议。

·              VXLAN网络中存在采用IGMP主机模式的VTEP时,需要在连接该VTEP的核心设备上配置IGMP。

2.8.3  配置PIM模式

(1)      进入系统视图。

system-view

(2)      进入VSI视图。

vsi vsi-name

(3)      进入VXLAN视图。

vxlan vxlan-id

(4)      配置VXLAN泛洪的组播地址和组播报文的源IP地址。

group group-address source source-address

缺省情况下,未指定VXLAN泛洪的组播地址和组播报文的源IP地址,VXLAN采用单播路由方式泛洪。

执行本命令后,VTEP将加入指定的组播组。同一VXLAN的所有VTEP要加入相同的组播组。

(5)      进入接口视图。

interface interface-type interface-number

Loopback接口和与核心设备相连的接口上均需要使能PIM协议。

(6)      在接口上使能PIM协议。请选择其中一项进行配置。

¡  使能PIM-SM。

pim sm

¡  使能PIM-DM。

pim dm

缺省情况下,接口上PIM协议处于关闭状态。

2.8.4  配置IGMP主机模式

(1)      进入系统视图。

system-view

(2)      进入VSI视图。

vsi vsi-name

(3)      进入VXLAN视图。

vxlan vxlan-id

(4)      配置VXLAN泛洪的组播地址和组播报文的源IP地址。

group group-address source source-address

缺省情况下,未指定VXLAN泛洪的组播地址和组播报文的源IP地址,VXLAN采用单播路由方式泛洪。

执行本命令后,VTEP将加入指定的组播组。同一VXLAN的所有VTEP要加入相同的组播组。

(5)      进入与核心设备相连接口的接口视图。

interface interface-type interface-number

(6)      在接口上开启IGMP协议的主机功能。

igmp host enable

缺省情况下,接口上IGMP协议的主机功能处于关闭状态。

执行本命令后,当前接口将作为IGMP主机,即从该接口收到IGMP查询报文后,通过该接口发送组播组的报告报文,以便接收该组播组的报文。

2.9  配置VXLAN报文的DSCP优先级

1. 功能简介

DSCP(Differentiated Services Code Point,差分服务编码点)携带在IPv4报文中的ToS字段,用来体现报文自身的优先等级,决定报文传输的优先程度。DSCP优先级的取值越大,报文的优先级越高。

本配置对IPv4封装的VXLAN报文生效。

2. 配置步骤

(1)      进入系统视图。

system-view

(2)      进入VSI视图。

vsi vsi-name

(3)      配置设备发送的VXLAN报文的DSCP优先级。

dscp dscp-value

缺省情况下,设备发送的VXLAN报文的DSCP优先级为0。

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

(1)      进入系统视图。

system-view

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

vxlan udp-port port-number

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

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

2.11  配置VXLAN报文检查功能

1. 功能简介

通过本配置可以实现对接收到的VXLAN报文的内层封装的以太网数据帧是否携带VLAN Tag进行检查:VTEP接收到VXLAN报文并对其解封装后,若内层以太网数据帧带有VLAN Tag,则丢弃该VXLAN报文。

2. 配置步骤

(1)      进入系统视图。

system-view

(2)      配置丢弃内层数据帧含有VLAN Tag的VXLAN报文。

vxlan invalid-vlan-tag discard

缺省情况下,不会检查VXLAN报文内层封装的以太网数据帧是否携带VLAN Tag。

2.12  配置VSI泛洪抑制

1. 功能简介

缺省情况下,VTEP从本地站点内接收到目的MAC地址为广播、未知单播和未知组播的数据帧后,会在该VXLAN内除接收接口外的所有本地接口和VXLAN隧道上泛洪该数据帧,将该数据帧发送给VXLAN内的所有站点。如果用户希望把某类数据帧限制在本地站点内,不通过VXLAN隧道将其转发到远端站点,则可以通过本命令手工禁止该类数据帧向远端站点泛洪。

2. 配置步骤

(1)      进入系统视图。

system-view

(2)      进入VSI视图。

vsi vsi-name

(3)      关闭VSI的泛洪功能。

flooding disable all

缺省情况下,VSI泛洪功能处于开启状态。

2.13  配置ARP泛洪抑制

1. 配置限制和指导

如果同时执行flooding disable命令关闭了VSI的泛洪功能,则建议通过mac-address timer命令配置动态MAC地址的老化时间大于25分钟(ARP泛洪抑制表项的老化时间),以免MAC地址在ARP泛洪抑制表项老化之前老化,产生黑洞MAC地址。

如果配置了vxlan tunnel arp-learning disable命令,则设备从VXLAN隧道上接收到ARP请求报文后,不会采用匹配的ARP泛洪抑制表项对其进行应答。

2. 配置步骤

(1)      进入系统视图。

system-view

(2)      进入VSI视图。

vsi vsi-name

(3)      开启ARP泛洪抑制功能。

arp suppression enable

缺省情况下,ARP泛洪抑制功能处于关闭状态。

2.14  配置VXLAN流量统计

2.14.1  配置AC的报文统计功能

1. 配置限制和指导

只有为三层接口绑定了VSI实例,作为AC的三层接口的报文统计功能才会生效。如果在报文统计过程中修改绑定的VSI,则报文统计重新开始。

2. 配置作为AC的三层接口的报文统计功能

(1)      进入系统视图。

system-view

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

interface interface-type interface-number

(3)      开启作为AC的三层接口的报文统计功能。

ac statistics enable

缺省情况下,作为AC的三层接口的报文统计功能处于关闭状态。

2.14.2  配置VXLAN隧道的报文统计功能

1. 功能简介

VXLAN隧道既可以手工创建,也可以通过EVPN等协议自动创建。VXLAN隧道的报文统计功能可以通过如下方式开启:

·              在Tunnel接口下开启手工创建VXLAN隧道的报文统计功能。

·              在系统视图下全局开启自动创建VXLAN隧道的报文统计功能。

·              在VSI视图下开启VSI实例内所有VXLAN隧道的报文统计功能。

在Tunnel接口视图或系统视图下开启VXLAN隧道的报文统计功能后,可以通过display interface tunnel命令查看统计信息,通过reset counters interface tunnel命令清除VXLAN隧道的统计信息。

在VSI视图下开启VXLAN隧道的报文统计功能后,可以使用display vxlan tunnel命令查看VXLAN隧道的报文统计信息,使用reset l2vpn statistics tunnel命令清除VXLAN隧道的报文统计信息。

2. 开启手工创建VXLAN隧道的报文统计功能

(1)      进入系统视图。

system-view

(2)      进入模式为VXLAN隧道的Tunnel接口视图。

interface tunnel tunnel-number [ mode vxlan ]

(3)      开启手工创建VXLAN隧道的报文统计功能。

statistics enable

缺省情况下,手工创建VXLAN隧道的报文统计功能处于关闭状态。

3. 开启自动VXLAN隧道的报文统计功能

(1)      进入系统视图。

system-view

(2)      开启自动VXLAN隧道的报文统计功能。

tunnel statistics vxlan auto

缺省情况下,自动VXLAN隧道的报文统计功能处于关闭状态。

4. 开启VSI实例内所有VXLAN隧道的报文统计功能

(1)      进入系统视图。

system-view

(2)      进入VSI视图。

vsi vsi-name

(3)      开启VSI实例内所有VXLAN隧道的报文统计功能。

tunnel statistics enable

缺省情况下,VSI实例内所有VXLAN隧道的报文统计功能处于关闭状态。

开启本功能后,仅统计VXLAN隧道接收和发送的报文数目,不会统计VXLAN-DCI隧道接收和发送的报文数目。

2.14.3  配置VXLAN流量统计信息收集的时间间隔

(1)      进入系统视图。

system-view

(2)      设置VXLAN统计信息收集的时间间隔。

l2vpn statistics interval interval

缺省情况下,VXLAN统计信息收集的时间间隔为15分钟。

2.15  VXLAN显示和维护

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

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

表2-1 VXLAN显示和维护

操作

命令

显示VSI的ARP泛洪抑制表项信息

display arp suppression vsi [ name vsi-name ] [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] [ count ]

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

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

显示L2VPN的MAC地址表信息

display l2vpn mac-address [ interface interface-type interface-number | vsi vsi-name [ ac ] ] [ dynamic ] [ count ]

显示VSI的信息

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

显示IGMP执行主机行为的所有组播组信息

display igmp host group [ group-address | interface interface-type interface-number ] [ verbose ]

显示Tunnel接口信息

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

显示VXLAN关联的VXLAN隧道信息

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

清除VSI的ARP泛洪抑制表项

reset arp suppression vsi [ name vsi-name ]

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

reset l2vpn mac-address [ vsi vsi-name ]

清除VXLAN隧道的报文统计信息

reset l2vpn statistics tunnel [ vsi vsi-name ]

清除AC的报文统计信息

reset l2vpn statistics ac [ interface interface-type interface-number ]

 

说明

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

 

2.16  VXLAN典型配置举例

2.16.1  VXLAN头端复制配置举例

1. 组网需求

Router A、Router B、Router C为与服务器连接的VTEP设备。虚拟机VM 1、VM 2和VM 3同属于VXLAN 10。通过VXLAN实现不同站点间的二层互联,确保虚拟机在站点之间进行迁移时用户的访问流量不会中断。

具体需求为:

·              不同VTEP之间手工建立VXLAN隧道。

·              手工关联VXLAN和VXLAN隧道。

·              通过源MAC地址动态学习远端MAC地址表项。

·              站点之间的泛洪流量采用头端复制的方式转发。

2. 组网图

图2-1 VXLAN头端复制组网图

 

3. 配置步骤

(1)      配置IP地址和单播路由协议

请按照图2-1配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。

(2)      配置Router A

# 开启L2VPN能力。

<RouterA> system-view

[RouterA] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[RouterA] vsi vpna

[RouterA-vsi-vpna] vxlan 10

[RouterA-vsi-vpna-vxlan-10] quit

[RouterA-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[RouterA] interface loopback 0

[RouterA-Loopback0] ip address 1.1.1.1 255.255.255.255

[RouterA-Loopback0] quit

# 在Router A和Router B之间建立VXLAN隧道:

¡  创建模式为VXLAN的隧道接口Tunnel1

¡  指定隧道的源端地址为本地接口Loopback0的地址1.1.1.1

¡  指定隧道的目的端地址为Router B上接口Loopback0的地址2.2.2.2。

[RouterA] interface tunnel 1 mode vxlan

[RouterA-Tunnel1] source 1.1.1.1

[RouterA-Tunnel1] destination 2.2.2.2

[RouterA-Tunnel1] quit

# 在Router A和Router C之间建立VXLAN隧道。

[RouterA] interface tunnel 2 mode vxlan

[RouterA-Tunnel2] source 1.1.1.1

[RouterA-Tunnel2] destination 3.3.3.3

[RouterA-Tunnel2] quit

# 配置Tunnel1和Tunnel2与VXLAN 10关联。

[RouterA] vsi vpna

[RouterA-vsi-vpna] vxlan 10

[RouterA-vsi-vpna-vxlan-10] tunnel 1

[RouterA-vsi-vpna-vxlan-10] tunnel 2

[RouterA-vsi-vpna-vxlan-10] quit

[RouterA-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/2/0/1上关联VSI实例vpna。

[RouterA] interface gigabitethernet 1/2/0/1

[RouterA-GigabitEthernet1/2/0/1] xconnect vsi vpna

[RouterA-GigabitEthernet1/2/0/1] quit

(3)      配置Router B

# 开启L2VPN能力。

<RouterB> system-view

[RouterB] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[RouterB] vsi vpna

[RouterB-vsi-vpna] vxlan 10

[RouterB-vsi-vpna-vxlan-10] quit

[RouterB-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[RouterB] interface loopback 0

[RouterB-Loopback0] ip address 2.2.2.2 255.255.255.255

[RouterB-Loopback0] quit

# 在Router A和Router B之间建立VXLAN隧道。

[RouterB] interface tunnel 2 mode vxlan

[RouterB-Tunnel2] source 2.2.2.2

[RouterB-Tunnel2] destination 1.1.1.1

[RouterB-Tunnel2] quit

# 在Router B和Router C之间建立VXLAN隧道。

[RouterB] interface tunnel 3 mode vxlan

[RouterB-Tunnel3] source 2.2.2.2

[RouterB-Tunnel3] destination 3.3.3.3

[RouterB-Tunnel3] quit

# 配置Tunnel2和Tunnel3与VXLAN10关联。

[RouterB] vsi vpna

[RouterB-vsi-vpna] vxlan 10

[RouterB-vsi-vpna-vxlan-10] tunnel 2

[RouterB-vsi-vpna-vxlan-10] tunnel 3

[RouterB-vsi-vpna-vxlan-10] quit

[RouterB-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/2/0/1上关联VSI实例vpna。

[RouterB] interface gigabitethernet 1/2/0/1

[RouterB-GigabitEthernet1/2/0/1] xconnect vsi vpna

[RouterB-GigabitEthernet1/2/0/1] quit

(4)      配置Router C

# 开启L2VPN能力。

<RouterC> system-view

[RouterC] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[RouterC] vsi vpna

[RouterC-vsi-vpna] vxlan 10

[RouterC-vsi-vpna-vxlan-10] quit

[RouterC-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[RouterC] interface loopback 0

[RouterC-Loopback0] ip address 3.3.3.3 255.255.255.255

[RouterC-Loopback0] quit

# 在Router A和Router C之间建立VXLAN隧道。

[RouterC] interface tunnel 1 mode vxlan

[RouterC-Tunnel1] source 3.3.3.3

[RouterC-Tunnel1] destination 1.1.1.1

[RouterC-Tunnel1] quit

# 在Router B和Router C之间建立VXLAN隧道。

[RouterC] interface tunnel 3 mode vxlan

[RouterC-Tunnel3] source 3.3.3.3

[RouterC-Tunnel3] destination 2.2.2.2

[RouterC-Tunnel3] quit

# 配置Tunnel1和Tunnel3与VXLAN 10关联。

[RouterC] vsi vpna

[RouterC-vsi-vpna] vxlan 10

[RouterC-vsi-vpna-vxlan-10] tunnel 1

[RouterC-vsi-vpna-vxlan-10] tunnel 3

[RouterC-vsi-vpna-vxlan-10] quit

[RouterC-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/2/0/1上关联VSI实例vpna。

[RouterC] interface gigabitethernet 1/2/0/1

[RouterC-GigabitEthernet1/2/0/1] xconnect vsi vpna

[RouterC-GigabitEthernet1/2/0/1] quit

4. 验证配置

(1)      验证VTEP设备(下文以Router A为例,其它设备验证方法与此类似)

# 查看Router A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[RouterA] display interface tunnel 1

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 1464

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 1.1.1.1, destination 2.2.2.2

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Router A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的三层接口等信息。

[RouterA] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : 5120 kbps

  Multicast Restrain      : 5120 kbps

  Unknown Unicast Restrain: 5120 kbps

  MAC Learning            : Enabled

  MAC Table Limit         : Unlimited

  MAC Learning rate       : -

  Drop Unknown            : -

  DSCP                    : -

  Service Class           : -

  Flooding                : Enabled

  VXLAN ID                : 10

  Tunnel Statistics       : Disabled

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood Proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

  ACs:

    AC                               Link ID    State

    GE1/2/0/1                          0          Up

# 查看Router A上VSI的MAC地址表项信息,可以看到已学习到的MAC地址信息。

<RouterA> display l2vpn mac-address

MAC Address      State    VSI Name                        Link ID/Name  Aging

cc3e-5f9c-6cdb   Dynamic  vpna                            Tunnel1       Aging

cc3e-5f9c-23dc   Dynamic  vpna                            Tunnel2       Aging

--- 2 mac address(es) found  ---

(2)      验证主机

虚拟机VM 1、VM 2、VM 3之间可以互访。

2.16.2  VXLAN核心复制配置举例

1. 组网需求

Router A、Router B、Router C为与服务器连接的VTEP设备。虚拟机VM 1、VM 2和VM 3同属于VXLAN 10。通过VXLAN实现不同站点间的二层互联,确保虚拟机在站点之间进行迁移时用户的访问流量不会中断。

具体需求为:

·              不同VTEP之间手工建立VXLAN隧道。

·              手工关联VXLAN和VXLAN隧道。

·              通过源MAC地址动态学习远端MAC地址表项。

·              站点之间的泛洪流量采用核心复制的方式转发。

2. 组网图

图2-2 VXLAN核心复制组网图

设备

接口

IP地址

设备

接口

IP地址

Router A

GE1/2/0/2

11.1.1.1/24

Router C

GE1/2/0/2

13.1.1.3/24

Router D

GE1/2/0/1

11.1.1.4/24

Router E

GE1/2/0/1

13.1.1.5/24

 

GE1/2/0/2

21.1.1.4/24

 

GE1/2/0/2

23.1.1.5/24

Router F

GE1/2/0/1

21.1.1.6/24

Router G

GE1/2/0/1

22.1.1.7/24

 

GE1/2/0/2

23.1.1.6/24

 

GE1/2/0/2

12.1.1.7/24

 

GE1/2/0/3

22.1.1.6/24

Router B

GE1/2/0/2

12.1.1.2/24

 

Loop0

6.6.6.6/32

 

 

 

 

3. 配置步骤

(1)      配置IP地址和单播路由协议

请按照图2-2配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。

(2)      配置Router A

# 开启L2VPN能力。

<RouterA> system-view

[RouterA] l2vpn enable

# 使能IP组播路由。

[RouterA] multicast routing

[RouterA-mrib] quit

# 创建VSI实例vpna和VXLAN 10。

[RouterA] vsi vpna

[RouterA-vsi-vpna] vxlan 10

[RouterA-vsi-vpna-vxlan-10] quit

[RouterA-vsi-vpna] quit

# 配置接口GigabitEthernet1/2/0/2的IP地址,并在该接口上开启IGMP协议的主机功能。

[RouterA] interface gigabitethernet 1/2/0/2

[RouterA-GigabitEthernet1/2/0/2] ip address 11.1.1.1 24

[RouterA-GigabitEthernet1/2/0/2] igmp host enable

[RouterA-GigabitEthernet1/2/0/2] quit

# 在Router A和Router B之间建立VXLAN隧道:

¡  创建模式为VXLAN的隧道接口Tunnel1

¡  指定隧道的源端地址为本地接口GigabitEthernet1/2/0/2的地址11.1.1.1

¡  指定隧道的目的端地址为Router B上接口GigabitEthernet1/2/0/2的地址12.1.1.2

[RouterA] interface tunnel 1 mode vxlan

[RouterA-Tunnel1] source 11.1.1.1

[RouterA-Tunnel1] destination 12.1.1.2

[RouterA-Tunnel1] quit

# 在Router A和Router C之间建立VXLAN隧道。

[RouterA] interface tunnel 2 mode vxlan

[RouterA-Tunnel2] source 11.1.1.1

[RouterA-Tunnel2] destination 13.1.1.3

[RouterA-Tunnel2] quit

# 配置Tunnel1和Tunnel2与VXLAN 10关联。

[RouterA] vsi vpna

[RouterA-vsi-vpna] vxlan 10

[RouterA-vsi-vpna-vxlan-10] tunnel 1

[RouterA-vsi-vpna-vxlan-10] tunnel 2

# 配置VXLAN泛洪的组播地址为225.1.1.1,组播报文的源IP地址为11.1.1.1。

[RouterA-vsi-vpna-vxlan-10] group 225.1.1.1 source 11.1.1.1

[RouterA-vsi-vpna-vxlan-10] quit

[RouterA-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/2/0/1上关联VSI实例vpna。

[RouterA] interface gigabitethernet 1/2/0/1

[RouterA-GigabitEthernet1/2/0/1] xconnect vsi vpna

[RouterA-GigabitEthernet1/2/0/1] quit

(3)      配置Router B

# 开启L2VPN能力。

<RouterB> system-view

[RouterB] l2vpn enable

# 使能IP组播路由。

[RouterB] multicast routing

[RouterB-mrib] quit

# 创建VSI实例vpna和VXLAN 10。

[RouterB] vsi vpna

[RouterB-vsi-vpna] vxlan 10

[RouterB-vsi-vpna-vxlan-10] quit

[RouterB-vsi-vpna] quit

# 配置接口GigabitEthernet1/2/0/2的IP地址,并在该接口上开启IGMP协议的主机功能。

[RouterB] interface gigabitethernet 1/2/0/2

[RouterB-GigabitEthernet1/2/0/2] ip address 12.1.1.2 24

[RouterB-GigabitEthernet1/2/0/2] igmp host enable

[RouterB-GigabitEthernet1/2/0/2] quit

# 在Router A和Router B之间建立VXLAN隧道。

[RouterB] interface tunnel 2 mode vxlan

[RouterB-Tunnel2] source 12.1.1.2

[RouterB-Tunnel2] destination 11.1.1.1

[RouterB-Tunnel2] quit

# 在Router B和Router C之间建立VXLAN隧道。

[RouterB] interface tunnel 3 mode vxlan

[RouterB-Tunnel3] source 12.1.1.2

[RouterB-Tunnel3] destination 13.1.1.3

[RouterB-Tunnel3] quit

# 配置Tunnel2和Tunnel3与VXLAN10关联。

[RouterB] vsi vpna

[RouterB-vsi-vpna] vxlan 10

[RouterB-vsi-vpna-vxlan-10] tunnel 2

[RouterB-vsi-vpna-vxlan-10] tunnel 3

# 配置VXLAN泛洪的组播地址为225.1.1.1,组播报文的源IP地址为12.1.1.2。

[RouterB-vsi-vpna-vxlan-10] group 225.1.1.1 source 12.1.1.2

[RouterB-vsi-vpna-vxlan-10] quit

[RouterB-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/2/0/1上关联VSI实例vpna。

[RouterB] interface gigabitethernet 1/2/0/1

[RouterB-GigabitEthernet1/2/0/1] xconnect vsi vpna

[RouterB-GigabitEthernet1/2/0/1] quit

(4)      配置Router C

# 开启L2VPN能力。

<RouterC> system-view

[RouterC] l2vpn enable

# 使能IP组播路由。

[RouterC] multicast routing

[RouterC-mrib] quit

# 创建VSI实例vpna和VXLAN 10。

[RouterC] vsi vpna

[RouterC-vsi-vpna] vxlan 10

[RouterC-vsi-vpna-vxlan-10] quit

[RouterC-vsi-vpna] quit

# 配置接口GigabitEthernet1/2/0/2的IP地址,并在该接口上开启IGMP协议的主机功能。

[RouterC] interface gigabitethernet 1/2/0/2

[RouterC-GigabitEthernet1/2/0/2] ip address 13.1.1.3 24

[RouterC-GigabitEthernet1/2/0/2] igmp host enable

[RouterC-GigabitEthernet1/2/0/2] quit

# 在Router A和Router C之间建立VXLAN隧道。

[RouterC] interface tunnel 1 mode vxlan

[RouterC-Tunnel1] source 13.1.1.3

[RouterC-Tunnel1] destination 11.1.1.1

[RouterC-Tunnel1] quit

# 在Router B和Router C之间建立VXLAN隧道。

[RouterC] interface tunnel 3 mode vxlan

[RouterC-Tunnel3] source 13.1.1.3

[RouterC-Tunnel3] destination 12.1.1.2

[RouterC-Tunnel3] quit

# 配置Tunnel1和Tunnel3与VXLAN 10关联。

[RouterC] vsi vpna

[RouterC-vsi-vpna] vxlan 10

[RouterC-vsi-vpna-vxlan-10] tunnel 1

[RouterC-vsi-vpna-vxlan-10] tunnel 3

# 配置VXLAN泛洪的组播地址为225.1.1.1,组播报文的源IP地址为13.1.1.3。

[RouterC-vsi-vpna-vxlan-10] group 225.1.1.1 source 13.1.1.3

[RouterC-vsi-vpna-vxlan-10] quit

[RouterC-vsi-vpna] quit

# 在接入服务器的接口GigabitEthernet1/2/0/1上关联VSI实例vpna。

[RouterC] interface gigabitethernet 1/2/0/1

[RouterC-GigabitEthernet1/2/0/1] xconnect vsi vpna

[RouterC-GigabitEthernet1/2/0/1] quit

(5)      配置Router D

# 使能IP组播路由。

<RouterD> system-view

[RouterD] multicast routing

[RouterD-mrib] quit

# 在接口GigabitEthernet1/2/0/1上使能IGMP和PIM-SM。

[RouterD] interface gigabitethernet 1/2/0/1

[RouterD-GigabitEthernet1/2/0/1] igmp enable

[RouterD-GigabitEthernet1/2/0/1] pim sm

[RouterD-GigabitEthernet1/2/0/1] quit

# 在接口GigabitEthernet1/2/0/2上使能PIM-SM。

[RouterD] interface gigabitethernet 1/2/0/2

[RouterD-GigabitEthernet1/2/0/2] pim sm

[RouterD-GigabitEthernet1/2/0/2] quit

(6)      配置Router E

# 使能IP组播路由。

<RouterE> system-view

[RouterE] multicast routing

[RouterE-mrib] quit

# 在接口GigabitEthernet1/2/0/1上使能IGMP和PIM-SM。

[RouterE] interface gigabitethernet 1/2/0/1

[RouterE-GigabitEthernet1/2/0/1] igmp enable

[RouterE-GigabitEthernet1/2/0/1] pim sm

[RouterE-GigabitEthernet1/2/0/1] quit

# 在接口GigabitEthernet1/2/0/2上使能PIM-SM。

[RouterE] interface gigabitethernet 1/2/0/2

[RouterE-GigabitEthernet1/2/0/2] pim sm

[RouterE-GigabitEthernet1/2/0/2] quit

(7)      配置Router F

# 使能IP组播路由。

<RouterF> system-view

[RouterF] multicast routing

[RouterF-mrib] quit

# 在各接口上使能PIM-SM。

[RouterF] interface gigabitethernet 1/2/0/1

[RouterF-GigabitEthernet1/2/0/1] pim sm

[RouterF-GigabitEthernet1/2/0/1] quit

[RouterF] interface gigabitethernet 1/2/0/2

[RouterF-GigabitEthernet1/2/0/2] pim sm

[RouterF-GigabitEthernet1/2/0/2] quit

[RouterF] interface gigabitethernet 1/2/0/3

[RouterF-GigabitEthernet1/2/0/3] pim sm

[RouterF-GigabitEthernet1/2/0/3] quit

[RouterF] interface loopback 0

[RouterF-LoopBack0] pim sm

[RouterF-LoopBack0] quit

# 将Loopback0配置为C-RP和C-BSR。

[RouterF] pim

[RouterF-pim] c-bsr 6.6.6.6

[RouterF-pim] c-rp 6.6.6.6

[RouterF-pim] quit

(8)      配置Router G

# 使能IP组播路由。

<RouterG> system-view

[RouterG] multicast routing

[RouterG-mrib] quit

# 在接口GigabitEthernet1/2/0/2上使能IGMP和PIM-SM。

[RouterG] interface gigabitethernet 1/2/0/2

[RouterG-GigabitEthernet1/2/0/2] igmp enable

[RouterG-GigabitEthernet1/2/0/2] pim sm

[RouterG-GigabitEthernet1/2/0/2] quit

# 在接口GigabitEthernet1/2/0/1上使能PIM-SM。

[RouterG] interface gigabitethernet 1/2/0/1

[RouterG-GigabitEthernet1/2/0/1] pim sm

[RouterG-GigabitEthernet1/2/0/1] quit

4. 验证配置

(1)      验证VTEP设备(下文以Router A为例,其它设备验证方法与此类似)

# 查看Router A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[RouterA] display interface tunnel 1

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 11.1.1.1, destination 12.1.1.2

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Router A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的三层接口等信息。

[RouterA] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : 5120 kbps

  Multicast Restrain      : 5120 kbps

  Unknown Unicast Restrain: 5120 kbps

  MAC Learning            : Enabled

  MAC Table Limit         : Unlimited

  MAC Learning rate       : -

  Drop Unknown            : -

  DSCP                    : -

  Service Class           : -

  Flooding                : Enabled

  Statistics              : Disabled

  VXLAN ID                : 10

  Tunnel Statistics       : Disabled

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood Proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

    MTunnel0             0x6000000  Up     Auto        Disabled

  ACs:

    AC                               Link ID    State

    GE1/2/0/1                          0          Up

# 查看Router A上VSI的MAC地址表项信息,可以看到已学习到的MAC地址信息。

<RouterA> display l2vpn mac-address

MAC Address      State    VSI Name                        Link ID/Name  Aging

cc3e-5f9c-6cdb   Dynamic  vpna                            MTunnel1  Aging

cc3e-5f9c-23dc   Dynamic  vpna                            MTunnel2  Aging

--- 2 mac address(es) found  ---

# 查看Router A上IGMP执行主机行为的所有组播组信息,可以看到接口GigabitEthernet1/2/0/2下存在组播组225.1.1.1的信息。

<RouterA> display igmp host group

IGMP host groups in total: 1

 GigabitEthernet1/2/0/2(11.1.1.1):

  IGMP host groups in total: 1

   Group address      Member state      Expires

   225.1.1.1          Idle              Off

(2)      验证主机

虚拟机VM 1、VM 2、VM 3之间可以互访。

3 VXLAN IP网关

3.1  VXLAN IP网关简介

VXLAN可以为分散的物理站点提供二层互联。如果要为VXLAN站点内的虚拟机提供三层业务,则需要在网络中部署VXLAN IP网关,以便站点内的虚拟机通过VXLAN IP网关与外界网络或其他VXLAN网络内的虚拟机进行三层通信。VXLAN IP网关既可以部署在独立的物理设备上,也可以部署在VTEP设备上。VXLAN IP网关部署在VTEP设备上时,又分为集中式VXLAN IP网关和分布式VXLAN IP网关两种方式。

目前仅支持集中式VXLAN IP网关。

3.1.1  独立的VXLAN IP网关

图3-1所示,VXLAN IP网关部署在独立的物理设备上时,VXLAN IP网关作为物理站点接入VTEP,VXLAN业务对于网关设备透明。虚拟机通过VXLAN IP网关与三层网络中的节点通信时,虚拟机将三层报文封装成二层数据帧发送给VXLAN IP网关。VTEP对该数据帧进行VXLAN封装,并在IP核心网络上将其转发给远端VTEP(连接VXLAN IP网关的VTEP)。远端VTEP对VXLAN报文进行解封装,并将原始的二层数据帧转发给VXLAN IP网关。VXLAN IP网关去掉链路层封装后,对报文进行三层转发。

图3-1 独立的VXLAN IP网关示意图

 

3.1.2  集中式VXLAN IP网关

图3-2所示,集中式VXLAN IP网关进行二层VXLAN业务终结的同时,还对内层封装的IP报文进行三层转发处理。与独立的VXLAN IP网关相比,该方式除了能够节省设备资源外,VXLAN IP网关功能由VXLAN对应的三层虚接口(VSI虚接口)承担,三层业务的部署和控制也更加灵活和方便。

图3-2 集中式VXLAN IP网关示意图

 

图3-3所示,以地址为10.1.1.11的虚拟机为例,虚拟机与外界网络进行三层通信的过程为:

(1)      虚拟机(10.1.1.11)跨网段进行三层通信时,先广播发送ARP请求消息,解析VXLAN IP网关(10.1.1.1)的MAC地址。

(2)      VTEP 1收到ARP请求消息后,添加VXLAN封装并发送给所有的远端VTEP。

(3)      VTEP 3解封装VXLAN报文后,发现ARP请求的目的IP为VXLAN对应的本地网关IP地址,即与VXLAN关联的VSI虚接口的IP地址,则学习10.1.1.11的ARP信息,并向虚拟机回应ARP应答消息。

(4)      VTEP 1收到ARP应答消息后,将该消息转发给虚拟机。

(5)      虚拟机获取到网关的MAC地址后,为三层报文添加网关的MAC地址,通过VXLAN网络将二层数据帧发送给VTEP 3。

(6)      VTEP 3解封装VXLAN报文,并去掉链路层头后,对内层封装的IP报文进行三层转发,将其发送给最终的目的节点。

(7)      目的节点回复的报文到达网关后,网关根据已经学习到的ARP表项,为报文封装链路层头,并通过VXLAN网络将其发送给虚拟机。

图3-3 集中式VXLAN IP网关的三层通信过程

 

属于不同VXLAN网络的虚拟机之间的通信过程与上述过程类似,不同之处在于一个VXLAN网络的集中式网关需要将报文转发给另一个VXLAN网络的集中式网关,再由该集中式网关将报文转发给本VXLAN内对应的虚拟机。

3.2  VXLAN IP网关配置限制和指导

建议在VXLAN IP网关上为VXLAN隧道的出接口配置较大的MTU值,以免VXLAN报文分片导致转发失败。

3.3  VXLAN IP网关配置准备

配置集中式VXLAN IP网关设备前,需要完成以下配置任务:

·              创建VSI和VXLAN。

·              配置VXLAN隧道,并将VXLAN与VXLAN隧道关联。

3.4  配置集中式VXLAN IP网关

1. 配置限制和指导

在集中式VXLAN IP网关组网中,请不要执行local-proxy-arp enable命令开启本地代理ARP功能。

2. 配置步骤

(1)      进入系统视图。

system-view

(2)      创建VSI虚接口,并进入VSI虚接口视图。

interface vsi-interface vsi-interface-id

(3)      配置VSI虚接口的IP地址。

ip address ip-address { mask | mask-length }

缺省情况下,未配置VSI虚接口的IP地址。

(4)      退回系统视图。

quit

(5)      进入VXLAN所在VSI视图。

vsi vsi-name

(6)      为VSI指定网关接口。

gateway vsi-interface vsi-interface-id

缺省情况下,未指定VSI的网关接口。

3.5  配置VSI虚接口的可选参数

(1)      进入系统视图。

system-view

(2)      进入VSI虚接口视图。

interface vsi-interface vsi-interface-id

(3)      配置VSI虚接口的MAC地址。

mac-address mac-address

缺省情况下,VSI虚接口的MAC地址为设备的桥MAC地址。

(4)      配置接口的描述信息。

description text

缺省情况下,接口的描述信息为“接口名 Interface”,例如:Vsi-interface100 Interface。

(5)      配置接口的MTU。

mtu mtu-value

(6)      配置接口的期望带宽。

bandwidth bandwidth-value

缺省情况下,接口的期望带宽=接口的波特率÷1000(kbps)。

期望带宽供业务模块使用,不会对接口实际带宽造成影响。

(7)      开启VSI虚接口的ARP报文发送限速功能。

arp send-rate pps

缺省情况下,VSI虚接口的ARP报文发送限速功能处于关闭状态。

3.6  恢复VSI虚接口的缺省配置

1. 配置限制和指导

注意

接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行本配置前,完全了解其对网络产生的影响。

 

您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。

2. 配置步骤

(1)      进入系统视图。

system-view

(2)      进入VSI虚接口视图。

interface vsi-interface vsi-interface-id

(3)      恢复接口的缺省配置。

default

3.7  VXLAN IP网关显示和维护

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

表3-1 VXLAN IP网关显示和维护

操作

命令

显示VSI虚接口信息

display interface [ vsi-interface [ vsi-interface-id ] ] [ brief [ description | down ] ]

 

3.8  VXLAN IP网关典型配置举例

3.8.1  集中式VXLAN IP网关配置举例

1. 组网需求

Router A、Router C为与服务器连接的VTEP设备,Router B为与广域网连接的集中式VXLAN IP网关设备,Router E为广域网内的三层设备。虚拟机VM 1、VM 2同属于VXLAN 10,通过VXLAN实现不同站点间的二层互联,并通过VXLAN IP网关与广域网三层互联。

具体需求为:

·              不同VTEP之间手工建立VXLAN隧道。

·              手工关联VXLAN和VXLAN隧道。

·              通过源MAC地址动态学习远端MAC地址表项。

·              站点之间的泛洪流量采用头端复制的方式转发。

2. 组网图

图3-4 集中式VXLAN IP网关配置组网图

 

3. 配置步骤

(1)      配置IP地址和单播路由协议

# 在VM 1和VM 2上指定网关地址为10.1.1.1。(具体配置过程略)

# 请按照图3-4配置各接口的IP地址和子网掩码;在IP核心网络内配置OSPF协议,确保路由器之间路由可达;配置Router B和Router E发布10.1.1.0/24和20.1.1.0/24网段的路由。(具体配置过程略)

(2)      配置Router A

# 开启L2VPN能力。

<RouterA> system-view

[RouterA] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[RouterA] vsi vpna

[RouterA-vsi-vpna] vxlan 10

[RouterA-vsi-vpna-vxlan-10] quit

[RouterA-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[RouterA] interface loopback 0

[RouterA-Loopback0] ip address 1.1.1.1 255.255.255.255

[RouterA-Loopback0] quit

# 在Router A和Router B之间建立VXLAN隧道:

¡  创建模式为VXLAN的隧道接口Tunnel1。

¡  指定隧道的源端地址为本地接口Loopback0的地址1.1.1.1。

¡  指定隧道的目的端地址为Router B上接口Loopback0的地址2.2.2.2。

[RouterA] interface tunnel 1 mode vxlan

[RouterA-Tunnel1] source 1.1.1.1

[RouterA-Tunnel1] destination 2.2.2.2

[RouterA-Tunnel1] quit

# 在Router A和Router C之间建立VXLAN隧道。

[RouterA] interface tunnel 2 mode vxlan

[RouterA-Tunnel2] source 1.1.1.1

[RouterA-Tunnel2] destination 3.3.3.3

[RouterA-Tunnel2] quit

# 配置Tunnel1和Tunnel2与VXLAN 10关联。

[RouterA] vsi vpna

[RouterA-vsi-vpna] vxlan 10

[RouterA-vsi-vpna-vxlan-10] tunnel 1

[RouterA-vsi-vpna-vxlan-10] tunnel 2

[RouterA-vsi-vpna-vxlan-10] quit

[RouterA-vsi-vpna] quit

# 配置接入服务器的接口GigabitEthernet1/2/0/1与VSI实例vpna关联。

[RouterA] interface gigabitethernet 1/2/0/1

[RouterA-GigabitEthernet1/2/0/1] xconnect vsi vpna

[RouterA-GigabitEthernet1/2/0/1] quit

(3)      配置Router B

# 开启L2VPN能力。

<RouterB> system-view

[RouterB] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[RouterB] vsi vpna

[RouterB-vsi-vpna] vxlan 10

[RouterB-vsi-vpna-vxlan-10] quit

[RouterB-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[RouterB] interface loopback 0

[RouterB-Loopback0] ip address 2.2.2.2 255.255.255.255

[RouterB-Loopback0] quit

# 在Router A和Router B之间建立VXLAN隧道。

[RouterB] interface tunnel 2 mode vxlan

[RouterB-Tunnel2] source 2.2.2.2

[RouterB-Tunnel2] destination 1.1.1.1

[RouterB-Tunnel2] quit

# 在Router B和Router C之间建立VXLAN隧道。

[RouterB] interface tunnel 3 mode vxlan

[RouterB-Tunnel3] source 2.2.2.2

[RouterB-Tunnel3] destination 3.3.3.3

[RouterB-Tunnel3] quit

# 配置Tunnel2和Tunnel3与VXLAN10关联。

[RouterB] vsi vpna

[RouterB-vsi-vpna] vxlan 10

[RouterB-vsi-vpna-vxlan-10] tunnel 2

[RouterB-vsi-vpna-vxlan-10] tunnel 3

[RouterB-vsi-vpna-vxlan-10] quit

[RouterB-vsi-vpna] quit

# 创建VSI虚接口VSI-interface1,并为其配置IP地址,该IP地址作为VXLAN 10内虚拟机的网关地址。

[RouterB] interface vsi-interface 1

[RouterB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[RouterB-Vsi-interface1] quit

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[RouterB] vsi vpna

[RouterB-vsi-vpna] gateway vsi-interface 1

[RouterB-vsi-vpna] quit

(4)      配置Router C

# 开启L2VPN能力。

<RouterC> system-view

[RouterC] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[RouterC] vsi vpna

[RouterC-vsi-vpna] vxlan 10

[RouterC-vsi-vpna-vxlan-10] quit

[RouterC-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[RouterC] interface loopback 0

[RouterC-Loopback0] ip address 3.3.3.3 255.255.255.255

[RouterC-Loopback0] quit

# 在Router A和Router C之间建立VXLAN隧道。

[RouterC] interface tunnel 1 mode vxlan

[RouterC-Tunnel1] source 3.3.3.3

[RouterC-Tunnel1] destination 1.1.1.1

[RouterC-Tunnel1] quit

# 在Router B和Router C之间建立VXLAN隧道。

[RouterC] interface tunnel 3 mode vxlan

[RouterC-Tunnel3] source 3.3.3.3

[RouterC-Tunnel3] destination 2.2.2.2

[RouterC-Tunnel3] quit

# 配置Tunnel1和Tunnel3与VXLAN 10关联。

[RouterC] vsi vpna

[RouterC-vsi-vpna] vxlan 10

[RouterC-vsi-vpna-vxlan-10] tunnel 1

[RouterC-vsi-vpna-vxlan-10] tunnel 3

[RouterC-vsi-vpna-vxlan-10] quit

[RouterC-vsi-vpna] quit

# 配置接入服务器的接口GigabitEthernet1/2/0/1与VSI实例vpna关联。

[RouterC] interface gigabitethernet 1/2/0/1

[RouterC-GigabitEthernet1/2/0/1] xconnect vsi vpna

[RouterC-GigabitEthernet1/2/0/1] quit

4. 验证配置

(1)      验证VXLAN IP网关设备Router B

# 查看Router B上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[RouterB] display interface tunnel 2

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 1464

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 2.2.2.2, destination 1.1.1.1

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Router B上的VSI虚接口信息,可以看到VSI虚接口处于up状态。

[RouterB] display interface Vsi-interface 1

Vsi-interface1

Current state: UP

Line protocol state: UP

Description: Vsi-interface100 Interface

Bandwidth: 1000000 kbps

Maximum transmission unit: 1500

Internet address: 10.1.1.1/24 (primary)

IP packet frame type: Ethernet II, hardware address: 0011-2200-0102

IPv6 packet frame type: Ethernet II, hardware address: 0011-2200-0102

Physical: Unknown, baudrate: 1000000 kbps

Last clearing of counters: Never

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Router B上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的VSI虚接口等信息。

[RouterB] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : 5120 kbps

  Multicast Restrain      : 5120 kbps

  Unknown Unicast Restrain: 5120 kbps

  MAC Learning            : Enabled

  MAC Table Limit         : Unlimited

  MAC Learning rate       : -

  Drop Unknown            : -

  DSCP                    : -

  Service Class           : -

  Flooding                : Enabled

  Gateway interface       : VSI-interface 1

  VXLAN ID                : 10

  Tunnel Statistics       : Disabled

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood Proxy

    Tunnel2              0x5000002  Up     Manual      Disabled

    Tunnel3              0x5000003  Up     Manual      Disabled

# 查看Router B上VSI的ARP表项信息,可以看到已学习到了虚拟机的ARP信息。

[RouterB] display arp

  Type: S-Static   D-Dynamic   O-Openflow   R-Rule   I-Invalid

IP address       MAC address    SVLAN/VSI Interface/Link ID        Aging Type

20.1.1.5         000c-29c1-5e46 --        GE1/2/0/1                  19    D

10.1.1.11        0000-1234-0001 0         Tunnel2                  20    D

10.1.1.12        0000-1234-0002 0         Tunnel3                  19    D

# 查看Router B上FIB表项信息,可以看到已学习到了虚拟机的转发表项信息。

[RouterB] display fib 10.1.1.11

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable   G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination/Mask   Nexthop         Flag     OutInterface/Token       Label

10.1.1.11/32       10.1.1.11       UH       Vsi1                     Null

(2)      验证主机和广域网互访

虚拟机VM 1、VM 2之间可以互访,VM 1、VM 2和Router E上接口GigabitEthernet1/2/0/1的地址20.1.1.5之间可以互访。


4 VXLAN数据中心互联

4.1  VXLAN数据中心互联简介

VXLAN隧道只能用于数据中心内部,实现数据中心内部虚拟机的互联。VXLAN-DCI(VXLAN Data Center Interconnect,VXLAN数据中心互联)隧道可以用来实现数据中心之间的互联。

4.1.1  VXLAN数据中心互联典型组网

VXLAN数据中心互联典型组网如图4-1所示。VXLAN-DCI隧道采用VXLAN封装格式,该隧道的端点称为ED(Edge Device,边缘设备)。ED与数据中心内部的VTEP建立VXLAN隧道。ED从VXLAN隧道或VXLAN-DCI隧道上接收到报文后,解除VXLAN封装,根据目的网络重新对报文进行VXLAN封装,并将其转发到VXLAN-DCI隧道或VXLAN隧道,从而实现VXLAN跨数据中心之间的互通。

图4-1 VXLAN数据中心互联典型组网图

 

4.1.2  VXLAN数据中心互联工作机制

VXLAN数据中心互联组网中,VTEP根据MAC地址表项对流量进行二层转发。ED根据ARP表项对流量进行三层转发。ARP表项通过ARP协议动态学习。

图4-2 VXLAN数据中心互联原理图

 

图4-2所示,所有的ED上都需要创建VSI虚接口,并为不同ED上的相同VSI虚接口配置相同的IP地址,作为VXLAN网络内虚拟机的网关地址。在ED上还需要开启本地代理ARP功能(IPv4网络)。

4.1.3  相同VXLAN内不同站点的虚拟机通信过程

以VM 1访问VM 4为例,相同VXLAN内不同站点的虚拟机的通信过程为:

(1)      VM 1广播发送ARP请求消息,获取VM 4的MAC地址。

(2)      VTEP 1收到ARP请求消息后,学习VM 1的MAC地址,并在VM 1所属的VXLAN内广播该ARP请求。

(3)      ED 1接收到ARP请求后,解除VXLAN封装,学习VM 1的ARP信息,并代理应答该ARP请求,即:向VM 1发送ARP应答消息,应答的MAC地址为VSI虚接口10的MAC地址。ARP应答消息通过VXLAN隧道发送给VTEP 1。

(4)      VTEP 1解除VXLAN封装,学习ED 1的MAC地址,并将ARP应答消息转发给VM 1。

(5)      VM 1学习VM 4的MAC地址,该地址为ED 1上VSI虚接口10的MAC地址。

(6)      ED 1将接收到的ARP请求消息中的源MAC地址修改为VSI虚接口10的MAC地址,对该消息进行VXLAN封装后,将其发送给VXLAN 10内的所有远端ED。

(7)      ED 2对VXLAN报文进行解封装后,学习VM 1的ARP信息(IP为10.1.1.100、MAC为ED 1上VSI虚接口10的MAC、出接口为接收该VXLAN报文的VXLAN-DCI模式Tunnel接口),将ARP请求消息中的源MAC修改为本地VSI虚接口10的MAC地址,并在VXLAN 10的所有VXLAN隧道上进行广播。

(8)      VTEP 2收到ARP请求后,解除VXLAN封装,学习ED 2的MAC地址,并向本地站点广播该ARP请求。

(9)      VM 4收到ARP请求后,学习VM 1的ARP信息(IP为10.1.1.100、MAC为ED 2上VSI虚接口10的MAC),并发送ARP应答消息给VTEP 2。

(10)   VTEP 2 收到ARP应答消息后,学习VM 4的MAC地址,并通过查找MAC地址表,对报文进行VXLAN封装后发送给ED 2。

(11)   ED 2根据接收到的ARP应答消息学习VM 4的ARP信息,将ARP应答消息中的源MAC修改为本地VSI虚接口10的MAC地址,并根据已经学习到的ARP表项,为ARP应答消息添加VXLAN封装后发送给ED 1。

(12)   ED 1对VXLAN报文进行解封装后,根据收到的ARP应答消息学习VM 4的ARP信息(IP为10.1.1.200、MAC为ED 2上VSI虚接口10的MAC、出接口为接收该VXLAN报文的VXLAN-DCI模式Tunnel接口)。

(13)   通过上述步骤完成MAC地址表项和ARP表项的学习后,VM 1发送给VM 4的报文,根据已经学习到的表项进行转发:首先VTEP 1添加VXLAN封装,发送给ED 1;ED 1重新进行VXLAN封装后,通过VXLAN-DCI隧道将其发送给ED 2;ED 2重新封装后,通过VXLAN隧道将其发送给VTEP 2;VTEP 2将报文转发给VM 4。

4.1.4  不同VXLAN间不同站点的虚拟机通信过程

以VM 1访问VM 5为例,不同VXLAN内虚拟机的通信过程为:

(1)      VM 1广播发送ARP请求消息,获取网关10.1.1.1的MAC地址。

(2)      VTEP 1收到ARP请求消息后,学习VM 1的MAC地址,并在VM 1所属的VXLAN内广播该ARP请求。

(3)      ED 1接收到ARP请求后,解除VXLAN封装,学习VM 1的ARP信息,并向VM 1发送ARP应答消息,应答的MAC地址为VSI虚接口10的MAC地址。ARP应答消息通过VXLAN隧道发送给VTEP 1。

(4)      VTEP 1解除VXLAN封装,学习ED 1的MAC地址,并将ARP应答消息转发给VM 1。

(5)      VM 1学习网关的ARP信息,并将访问VM 5的报文发送给VTEP 1。

(6)      VTEP 1查找MAC地址表项,填加VXLAN封装后,将报文发送给ED 1。

(7)      ED 1收到数据报文后,解除VXLAN封装,并根据报文的目的IP地址查找路由表。由于目的IP地址与VSI虚接口20的接口IP地址在同一网段,ED 1在VXLAN 20内向所有VTEP和ED广播发送ARP请求,获取VM 5的MAC地址。ARP请求的源IP地址为20.1.1.1、目标IP地址为20.1.1.200、源MAC为ED 1上VSI虚接口20的MAC地址。

(8)      ED 2接收到VXLAN报文后,对其进行解封装,将ARP请求中的源MAC修改为本地VSI虚接口20的MAC地址,并在VXLAN 20的所有VXLAN隧道上广播该ARP请求。

(9)      VTEP 2收到ARP请求后,解除VXLAN封装,学习ED 2的MAC地址,并向本地站点广播该ARP请求。

(10)   VM 5收到ARP请求后,学习ED 2的ARP信息(IP为20.1.1.1、MAC为ED 2上VSI虚接口20的MAC地址),并发送ARP应答消息给VTEP 2。

(11)   VTEP 2 收到ARP应答消息后,学习VM 5的MAC地址,并通过查找MAC地址表项,对报文进行VXLAN封装后发送给ED 2。

(12)   ED 2根据接收到的ARP应答消息学习VM 5的ARP信息,并通过VXLAN-DCI隧道向ED 1发送免费ARP消息(源IP为20.1.1.200、目标IP为20.1.1.200、源MAC为ED 2上VSI虚接口20的MAC地址)。

(13)   ED 1对VXLAN报文进行解封装后,根据收到的免费ARP消息学习VM 5的ARP信息(IP为20.1.1.200、 MAC为ED 2上VSI虚接口20的MAC地址、出接口为接收该VXLAN报文的VXLAN-DCI模式Tunnel接口)。

(14)   通过上述步骤ED 1学习到了VM 5的ARP信息,ED 2学习VM 1的ARP信息的过程同上面过程类似。ED 1和ED 2均学习到VM 1和VM 5的ARP信息后,VM 1发送给VM 5的报文根据已经学习到的表项进行转发。

4.2  VXLAN数据中心互联配置任务简介

在VXLAN数据中心互联组网中,各设备上需要进行如下配置:

·              IP核心网络中的设备配置路由协议,确保ED之间路由可达。

·              ED和VTEP上配置路由协议,确保二者之间路由可达。

·              ED和VTEP上配置VXLAN,在二者之间建立VXLAN隧道。

·              ED上配置VXLAN数据中心互联,在ED之间建立VXLAN-DCI隧道。

ED上的VXLAN数据中心互联配置任务如下:

(1)      创建VSI和VXLAN

配置方式请参见“2.3  创建VSI和VXLAN”。

(2)      创建VXLAN-DCI隧道

(3)      关联VXLAN与VXLAN-DCI隧道

(4)      配置VSI虚接口的可选参数

配置方式请参见“3.5  配置VSI虚接口可选参数”。

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

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

配置方式请参见“2.9  配置VXLAN报文的DSCP优先级”。

¡  配置VXLAN报文检查功能

配置方式请参见“2.11  配置VXLAN报文检查功能”。

(6)      配置手工创建VXLAN-DCI隧道的报文统计功能

说明

本章只介绍VXLAN数据中心互联与VXLAN、VXLAN IP网关不同的配置,相同的配置请参见“2 配置VXLAN”和“3 VXLAN IP网关”的相关章节。

 

4.3  创建VXLAN-DCI隧道

1. 配置限制和指导

手工创建VXLAN隧道时,隧道的源端地址和目的端地址需要分别手工指定为本地和远端ED的接口地址。在同一台设备上,VXLAN-DCI隧道模式的不同Tunnel接口建议不要同时配置完全相同的源端地址和目的端地址。

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

2. 配置步骤

(1)      进入系统视图。

system-view

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

interface tunnel tunnel-number mode vxlan-dci

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

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

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

source ipv4-address

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

¡  指定隧道的源接口。

source interface-type interface-number

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

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

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

destination ipv4-address

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

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

4.4  关联VXLAN与VXLAN-DCI隧道

1. 功能简介

一个VXLAN可以关联多条VXLAN-DCI隧道。一条VXLAN-DCI隧道可以关联多个VXLAN,这些VXLAN共用该VXLAN-DCI隧道,ED根据VXLAN报文中的VXLAN ID来识别隧道传递的报文所属的VXLAN。ED接收到某个VXLAN的泛洪流量后,如果采用单播路由泛洪方式,则ED将在与该VXLAN关联的所有VXLAN-DCI隧道上发送该流量,以便将流量转发给所有的远端VTEP。

2. 配置限制和指导

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

3. 配置步骤

(1)      进入系统视图。

system-view

(2)      进入VSI视图。

vsi vsi-name

(3)      进入VXLAN视图。

vxlan vxlan-id

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

tunnel tunnel-number

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

4.5  配置手工创建VXLAN-DCI隧道的报文统计功能

1. 功能简介

通过本配置开启手工创建VXLAN-DCI隧道的报文统计功能后,设备会对VXLAN-DCI隧道上转发的报文进行统计。通过display interface tunnel命令可以查看统计信息,通过reset counters interface tunnel命令可以清除VXLAN-DCI隧道的统计信息。

2. 配置步骤

(1)      进入系统视图。

system-view

(2)      进入模式为VXLAN-DCI隧道的Tunnel接口视图。

interface tunnel tunnel-number [ mode vxlan-dci ]

(3)      开启手工创建VXLAN-DCI隧道的报文统计功能。

statistics enable

缺省情况下,手工创建VXLAN-DCI隧道的报文统计功能处于关闭状态。

4.6  VXLAN数据中心互联显示和维护

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

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

表4-1 VXLAN数据中心互联显示和维护

操作

命令

显示VSI的信息

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

显示Tunnel接口信息

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

显示VXLAN关联的VXLAN-DCI隧道信息

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

 

说明

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

 

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