虚拟机如何ffmpeg 接收组播流本机发的组播

  推荐期刊投稿
&&&免费论文
&&&收费论文
&&&浏览历史H3C S12500-F & S12500F-AF系列交换机 配置指导(R113x)-6W101_VXLAN配置指导_VXLAN配置-新华三集团-H3C
配置配置指导
17-VXLAN配置指导
01-VXLAN配置
docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S1F-AF/Configure/Operation_Manual/H3C_S12500-F_S12500F-AF_CG(R113x)-6W101/17/704_30005_0.htm
01-VXLAN配置
·&&&&&仅FC、FE、FX类型的单板支持配置VXLAN功能。
·&&&&&FC类型的单板不支持用作VXLAN IP网关。
·&&&&&FE、FX类型的单板用作集中式VXLAN IP网关时,不能同时用作接入本地站点的VTEP设备。
·&&&&&VXLAN功能受设备的工作模式限制,在使用VXLAN功能前,请在系统视图下使用“system-working-mode standard”命令将设备设置为标准模式,需要注意的是,使用该命令修改设备的工作模式时,需要保存设备当前配置文件,再删除文件名后缀为“.mdb”的二进制类型的配置文件,然后重启设备后才能生效。有关设备工作模式的详细介绍请参见“基础配置指导”中的“设备管理”。
(Virtual eXtensible LAN,可扩展虚拟局域网络)是基于IP网络、采用“MAC in UDP”封装形式的二层VPN技术。VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。VXLAN主要应用于数据中心网络。
具有如下特点:
24位的标识符,最多可支持2的24次方()个VXLAN,支持的租户数目大规模增加,解决了传统二层网络VLAN资源不足的问题。
IP网络组建大二层网络,使得网络部署和维护更加容易,并且可以充分地利用现有的IP网络技术,例如利用等价路由进行负载分担等;只有IP核心网络的边缘设备需要进行VXLAN处理,网络中间设备只需根据IP头转发报文,降低了网络部署的难度和费用。
网络的VXLAN技术。
1.1& VXLAN网络模型
网络模型示意图
所示,VXLAN的典型网络模型中包括如下几部分:
(Virtual Machine,虚拟机):在一台服务器上可以创建多台虚拟机,不同的虚拟机可以属于不同的VXLAN。属于相同VXLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的虚拟机之间二层隔离。VXLAN通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN Network Identifier,VXLAN网络标识符),其长度为24比特。
(VXLAN Tunnel End Point,VXLAN隧道端点):VXLAN的边缘设备。VXLAN的相关处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等。VTEP可以是一台独立的物理设备,也可以是虚拟机所在的服务器。
隧道:两个VTEP之间的点到点逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头、IP头后,通过VXLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装。
IP核心网络中的设备(如中的P设备)。核心设备不参与VXLAN处理,仅需要根据封装后报文的目的IP地址对报文进行三层转发。
·&&&&&VSI(Virtual Switching Instance,虚拟交换实例):VTEP上为一个VXLAN提供二层交换服务的虚拟交换实例。VSI可以看做是VTEP上的一台基于VXLAN进行二层转发的虚拟交换机,它具有传统以太网交换机的所有功能,包括源MAC地址学习、MAC地址老化、泛洪等。VSI与VXLAN一一对应。
1.2& VXLAN报文封装格式
报文封装示意图
所示,VXLAN报文的封装格式为:在原始二层数据帧外添加8字节VXLAN头、8字节UDP头和20字节IP头。其中,UDP头的目的端口号为VXLAN UDP端口号(缺省为4789)。VXLAN头主要包括两部分:
I”位为1时,表示VXLAN头中的VXLAN ID有效;为0,表示VXLAN ID无效。其他位保留未用,设置为0。
:用来标识一个VXLAN网络,长度为24比特。
运行机制可以概括为:
VXLAN,以便将报文的源MAC地址学习到VXLAN对应的VSI,并在该VSI内转发该报文。
MAC地址表项转发报文。
1.3.2& 识别报文所属的VXLAN
将连接本地站点的以太网服务实例(Service Instance)与VSI关联。VTEP从以太网服务实例接收到数据帧后,查找与其关联的VSI,VSI内创建的VXLAN即为该数据帧所属的VXLAN。
中,与VSI关联的以太网服务实例统称为AC(Attachment Circuit,接入电路)。其中,以太网服务实例在二层以太网接口上创建,它定义了一系列匹配规则,用来匹配从该二层以太网接口上接收到的数据帧。
所示,VM 1属于VLAN 2,在VTEP上配置以太网服务实例1匹配VLAN 2的报文,将以太网服务实例1与VSI A绑定,并在VSI A内创建VXLAN 10,则VTEP接收到VM 1发送的数据帧后,可以判定该数据帧属于VXLAN 10。
隧道上接收报文的识别
隧道上接收到的VXLAN报文,VTEP根据报文中携带的VXLAN ID判断该报文所属的VXLAN。
地址学习分为本地MAC地址学习和远端MAC地址学习两部分。
MAC地址学习
对本地站点内虚拟机MAC地址的学习。VTEP接收到本地虚拟机发送的数据帧后,判断该数据帧所属的VSI,并将数据帧中的源MAC地址(本地虚拟机的MAC地址)添加到该VSI的MAC地址表中,该MAC地址对应的接口为接收到数据帧的接口。
不支持静态配置本地MAC地址。
MAC地址学习
对远端站点内虚拟机MAC地址的学习。远端MAC地址的学习方式有如下几种:
MAC地址所属的VSI(VXLAN),及其对应的VXLAN隧道接口。
MAC地址动态学习:VTEP从VXLAN隧道上接收到远端VTEP发送的VXLAN报文后,根据VXLAN ID判断报文所属的VXLAN,对报文进行解封装,还原二层数据帧,并将数据帧中的源MAC地址(远端虚拟机的MAC地址)添加到所属VXLAN对应VSI的MAC地址表中,该MAC地址对应的接口为VXLAN隧道接口。
地址表项优先级高于源MAC地址动态学习的表项。
接入模式:从本地站点接收到的、发送给本地站点的以太网帧必须带有VLAN tag。VTEP从本地站点接收到以太网帧后,删除该帧的所有VLAN tag,再转发该数据帧;VTEP发送以太网帧到本地站点时,为其添加VLAN tag。采用该模式时,VTEP不会传递VLAN tag信息,不同站点可以独立地规划自己的VLAN,不同站点的不同VLAN之间可以互通。
接入模式:从本地站点接收到的、发送给本地站点的以太网帧可以携带VLAN tag,也可以不携带VLAN tag。VTEP从本地站点接收到以太网帧后,保持该帧的VLAN tag信息不变,转发该数据帧;VTEP发送以太网帧到本地站点时,不会为其添加VLAN tag。采用该模式时,VTEP会在不同站点间传递VLAN tag信息,不同站点的VLAN需要统一规划,否则无法互通。
模式。下文对于流量转发过程的介绍均以VLAN模式为例。
隧道工作模式
VXLAN隧道支持如下两种工作模式:
·&&&&&三层转发模式:VTEP设备通过查找ARP表项对流量进行转发。
·&&&&&二层转发模式:VTEP通过查找MAC地址表项对流量进行转发。
本章主要介绍VXLAN工作在二层转发模式时的工作原理,当VXLAN隧道工作在三层转发模式时,可以用作VXLAN IP网关,具体介绍请参见“”。
地址学习后,VTEP在VXLAN内转发单播流量的过程如下所述。
判断出报文所属的VSI后,根据目的MAC地址查找该VSI的MAC地址表,从相应的本地接口转发给目的VM。
所示,VM 1(MAC地址为MAC 1)发送以太网帧到VM 4(MAC地址为MAC 4)时,VTEP 1从接口FortyGigE1/0/1收到该以太网帧后,判断该数据帧属于VSI A(VXLAN 10),查找VSI A的MAC地址表,得到MAC 4的出接口为FortyGigE1/0/2,所在VLAN为VLAN 10,则将以太网帧从接口FortyGigE1/0/2的VLAN 10内发送给VM 4。
所示,以VM 1(MAC地址为MAC 1)发送以太网帧给VM 7(MAC地址为MAC 7)为例,站点间单播流量的转发过程为:
发送以太网数据帧给VM 7,数据帧的源MAC地址为MAC 1,目的MAC为MAC 7,VLAN tag为2。
从接口FortyGigE1/0/1收到该数据帧后,判断该数据帧属于VSI A(VXLAN 10),查找VSI A的MAC地址表,得到MAC 7的出端口为Tunnel1。
为数据帧封装VXLAN头、UDP头和IP头后,将封装好的报文通过VXLAN隧道Tunnel1、经由P设备发送给VTEP 2。
接收到报文后,根据报文中的VXLAN ID判断该报文属于VXLAN 10,并剥离VXLAN头、UDP头和IP头,还原出原始的数据帧。
查找与VXLAN 10对应的VSI A的MAC地址表,得到MAC 7的出端口为FortyGigE1/0/1,所在VLAN为VLAN 20。
从接口FortyGigE1/0/1的VLAN 20内将数据帧发送给VM 7。
负责复制报文,采用单播方式将复制后的报文通过本地接口发送给本地站点,并通过VXLAN隧道发送给VXLAN内的所有远端VTEP。
所示,单播路由方式的泛洪流量转发过程为:
接收到本地虚拟机发送的组播、广播和未知单播数据帧后,判断数据帧所属的VXLAN,通过该VXLAN内除接收接口外的所有本地接口和VXLAN隧道转发该数据帧。通过VXLAN隧道转发数据帧时,需要为其封装VXLAN头、UDP头和IP头,将泛洪流量封装在多个单播报文中,发送到VXLAN内的所有远端VTEP。
VTEP(VTEP 2和VTEP 3)接收到VXLAN报文后,解封装报文,将原始的数据帧在本地站点的指定VXLAN内泛洪。为了避免环路,远端VTEP从VXLAN隧道上接收到报文后,不会再将其泛洪到其他的VXLAN隧道。
核心网络进行二层互联的站点较多时,采用组播路由方式可以节省泛洪流量对核心网络带宽资源的占用。
内的所有VTEP都加入同一个组播组,利用组播路由协议(如PIM)在IP核心网上为该组播组建立组播转发表项。VTEP接收到泛洪流量后,不仅在本地站点内泛洪,还会为其封装组播目的IP地址,封装后的报文根据已建立的组播转发表项转发到远端VTEP。
所示,组播路由方式的泛洪流量转发过程为:
接收到本地虚拟机发送的组播、广播和未知单播数据帧后,判断数据帧所属的VXLAN,不仅通过该VXLAN内除接收接口外的所有本地接口将数据帧转发到本地站点,还会为其封装VXLAN头、UDP头和IP头(目的IP地址为组播地址)通过组播转发表项将其发送到远端VTEP。
IP核心网内,P设备根据已经建立的组播转发表项复制并转发该组播报文。
VTEP(VTEP 2和VTEP 3)接收到VXLAN报文后,解封装报文,将原始的数据帧在本地站点的指定VXLAN内泛洪。为了避免环路,远端VTEP从VXLAN隧道上接收到报文后,不会再将其泛洪到其他的VXLAN隧道。
3. 泛洪代理方式(服务器复制)
仅Release 1138P01及以上版本支持此方式。
数据中心网络中需要通过IP核心网络进行二层互联的站点较多时,采用泛洪代理方式可以在没有组播协议参与的情况下,节省泛洪流量对核心网络带宽资源的占用。
在泛洪代理方式下,同一个VXLAN内的所有VTEP都通过手工方式与代理服务器建立隧道。VTEP接收到泛洪流量后,不仅在本地站点内泛洪,还会将其发送到代理服务器,由代理服务器转发到其他远端VTEP。
如所示,泛洪代理方式的流量转发过程为:
(1)&&&&&VTEP 1接收到本地虚拟机发送的组播、广播和未知单播数据帧后,判断数据帧所属的VXLAN,不仅通过该VXLAN内除接收接口外的所有本地接口将数据帧转发到本地站点,还会为其封装VXLAN头、UDP头和IP头(目的IP地址为泛洪代理服务器地址)通过指定的隧道将其发送到泛洪代理服务器。
(2)&&&&&泛洪代理服务器收到报文后,修改报文的IP头,源地址为服务器本身,目的IP地址为其余VTEP地址,通过不同的隧道发送到远端VTEP。
(3)&&&&&远端VTEP(VTEP 2和VTEP 3)接收到VXLAN报文后,解封装报文,将原始的数据帧在本地站点的指定VXLAN内泛洪。为了避免环路,远端VTEP从VXLAN隧道上接收到报文后,不会再将其泛洪到其他的VXLAN隧道。
目前泛洪代理方式主要用于SDN网络,使用虚拟服务器作为泛洪代理服务器。采用泛洪代理方式时,需要在VTEP上使用vxlan tunnel mac-learning disable命令关闭远端MAC地址自动学习功能,采用SDN控制器下发的MAC地址表项进行流量转发。
1.4& ARP泛洪抑制
请求报文占用核心网络带宽,VTEP从本地站点、VXLAN隧道接收到ARP请求和ARP应答报文后,根据该报文在本地建立ARP泛洪抑制表项。后续当VTEP收到本站点内虚拟机请求其它虚拟机MAC地址的ARP请求时,优先根据ARP泛洪抑制表项进行代答。如果没有对应的表项,则将ARP请求泛洪到核心网。ARP泛洪抑制功能可以大大减少ARP泛洪的次数。
泛洪抑制示意图
所示,ARP泛洪抑制的处理过程如下:
VM 1发送ARP请求,获取VM 7的MAC地址。
根据接收到的ARP请求,建立VM 1的ARP泛洪抑制表项,并在VXLAN内泛洪该ARP请求(以单播路由泛洪方式为例)。
VTEP(VTEP 2和VTEP 3)解封装VXLAN报文,获取原始的ARP请求报文后,建立VM 1的ARP泛洪抑制表项,并在本地站点的指定VXLAN内泛洪该ARP请求。
接收到ARP请求后,回复ARP应答报文。
接收到ARP应答后,建立VM 7的ARP泛洪抑制表项,并通过VXLAN隧道将ARP应答发送给VTEP 1。
解封装VXLAN报文,获取原始的ARP应答,并根据该应答建立VM 7的ARP泛洪抑制表项,之后将ARP应答报文发送给VM 1。
VTEP 1上建立ARP泛洪抑制表项后,虚拟机VM 4发送ARP请求,获取VM 1或VM 7的MAC地址。
接收到ARP请求后,建立VM 4的ARP泛洪抑制表项,并查找本地ARP泛洪抑制表项,根据已有的表项回复ARP应答报文,不会对ARP请求进行泛洪。
VTEP 3上建立ARP泛洪抑制表项后,虚拟机VM 10发送ARP请求,获取VM 1的MAC地址。
接收到ARP请求后,建立VM 10的ARP泛洪抑制表项,并查找本地ARP泛洪抑制表项,根据已有的表项回复ARP应答报文,不会对ARP请求进行泛洪。
1.5& 协议规范
相关的协议规范有:
草案:draft-mahalingam-dutt-dcops-vxlan-04
配置任务简介
组网中,IP核心网络中的设备只需要配置路由协议,确保VTEP之间路由可达。VXLAN相关配置都在VTEP上进行。
当VXLAN隧道工作在三层转发模式时,在VSI视图创建VXLAN前,需要先配置全局类型VLAN接口资源预留。每创建一个VSI虚接口,需要预留一个全局类型VLAN接口资源。关于全局类型VLAN接口资源预留的详细介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN”。
配置任务简介
配置VXLAN隧道工作模式
与VXLAN隧道
报文的目的UDP端口号
报文检查功能
关闭VXLAN远端ARP自动学习功能
仅Release 1138P01及以上版本支持此功能
配置VXLAN的硬件资源模式
仅Release 1138P01及以上版本支持此功能
隧道工作模式
表2-2 配置VXLAN隧道工作模式
进入系统视图
system-view
配置VXLAN隧道工作在二层转发模式
undo vxlan ip-forwarding
二者选其一
缺省情况下,VXLAN隧道工作在三层转发模式
当设备作为VTEP时,需要配置VXLAN隧道工作在二层转发模式;当设备作为VXLAN IP网关时,需要配置VXLAN隧道工作在三层转发模式。有关VXLAN IP网关的详细介绍请参见“”
、VSI虚接口和VXLAN隧道,否则将配置失败
配置VXLAN隧道工作在三层转发模式
vxlan ip-forwarding [ tagged | untagged
2.3& 创建VSI和VXLAN
功能处于关闭状态
,并进入VSI视图
的描述信息
的描述信息
处于开启状态
,并进入VXLAN视图
下只能创建一个VXLAN
下创建的VXLAN,其VXLAN ID不能相同
手工创建VXLAN隧道时,隧道的源端地址和目的端地址需要分别手工指定为本地和远端VTEP的接口地址。
配置VXLAN隧道的全局源地址
tunnel global source-address ip-address
缺省情况下,未配置VXLAN隧道的全局源地址
如果隧道下未配置源地址或源接口,则隧道会使用全局源地址作为隧道的源地址
仅Release 1138P01及以上版本支持此命令
隧道的Tunnel接口,并进入Tunnel接口视图
只有tunnel-number为0~511的VXLAN隧道支持ECMP功能
隧道的源端地址和源接口
报文的源IP地址;如果设置的是隧道的源接口,则该接口的主IP地址将作为封装后VXLAN报文的源IP地址
组播路由泛洪方式时,VXLAN隧道的源接口不能是Loopback接口、源端地址不能是Loopback接口的地址
地址,该地址将作为封装后VXLAN报文的目的地址
2.5& 关联VXLAN与VXLAN隧道
可以关联多条VXLAN隧道。一条VXLAN隧道可以关联多个VXLAN,这些VXLAN共用该VXLAN隧道,VTEP根据VXLAN报文中的VXLAN ID来识别隧道传递的报文所属的VXLAN。VTEP接收到某个VXLAN的泛洪流量后,如果采用单播路由泛洪方式,则VTEP将在与该VXLAN关联的所有VXLAN隧道上发送该流量,以便将流量转发给所有的远端VTEP。
与VXLAN隧道
与VXLAN隧道关联
[ flooding-proxy ]
没有与任何VXLAN隧道关联
必须与相同VXLAN内的其它VTEP建立VXLAN隧道,并将该隧道与VXLAN关联
仅Release 1138P01及以上版本支持flooding-proxy参数
2.6& 配置AC与VSI关联
关联后,从该接口接收到的、符合以太网服务实例报文匹配规则的报文,将通过查找关联VSI的MAC地址表进行转发。以太网服务实例提供了多种报文匹配规则(包括接口接收到的所有报文、所有不携带VLAN Tag的报文等),为报文关联VSI提供了更加灵活的方式。
本系列设备暂不支持匹配携带任意VLAN标签的报文
以太网服务实例所匹配的VLAN必须在设备上已经创建并配置当前接口允许以太网服务实例所匹配VLAN的报文通过
标签或不携带VLAN标签的报文
标签的报文
标签和内层VLAN标签的报文
·&&&&&在接口上创建以太网服务实例匹配当前接口接收的部分VLAN的报文后,以太网服务实例未匹配的其它VLAN内的组播流量将无法正常转发,请注意避免在上述情况下使用组播业务。
·&&&&&接入层VTEP设备需要开启ARP泛洪抑制功能时,需要在设备上创建与以太网服务实例所匹配VLAN对应的VLAN虚接口,该VLAN虚接口可以不配置IP地址,但是需保证允许该VLAN通过的端口至少有一个处于Up状态。
2.7& 管理本地和远端MAC地址
地址只能动态学习,不能静态配置。在动态添加、删除本地MAC地址时,可以记录日志信息。
地址表项可以静态添加,也可以根据接收到的VXLAN报文内封装的源MAC地址自动学习。
地址添加/删除的日志功能
添加、删除本地MAC地址时,将产生日志信息。生成的日志信息将被发送到设备的信息中心,通过设置信息中心的参数,决定日志信息的输出规则(即是否允许输出以及输出方向)。
地址添加/删除的日志功能
本地MAC地址添加/删除的日志功能
添加/删除本地MAC地址时不会记录日志信息
参数指定的隧道接口必须与vsi vsi-name参数指定的VSI对应的VXLAN关联,且该VXLAN必须已经创建,否则配置将失败
地址自动学习功能
地址。如果网络中存在攻击,为了避免学习到错误的远端MAC地址,也可以手工关闭远端MAC地址自动学习功能。
地址自动学习功能
地址自动学习功能
地址自动学习功能处于开启状态
组播路由泛洪方式
VXLAN采用组播路由方式转发泛洪流量后,如果组播路由隧道down掉,即使还存在单播路由隧道,泛洪流量也不会沿单播路由隧道转发。
组播路由泛洪方式时,需要完成以下配置任务:
VTEP和核心设备上启动三层组播路由功能。
IGMP和组播路由协议。
组播路由泛洪方式
泛洪的组播地址和组播报文的源IP地址
泛洪的组播地址和组播报文的源IP地址,VXLAN采用单播路由方式泛洪
将加入指定的组播组。同一VXLAN的所有VTEP都要加入相同的组播组
为确保组播报文转发正常,VXLAN组播报文的源IP地址(source-address)应指定为一个已创建且处于up状态的VXLAN隧道的源端地址
地址所在接口的接口视图
地址是指通过group命令中的source参数指定的地址
协议的主机功能
协议的主机功能处于关闭状态
主机,即从该接口收到IGMP查询报文后,通过该接口发送组播组的报告报文,以便接收该组播组的报文
命令使能IP组播路由后,本命令才会生效
2.9& 配置VSI泛洪抑制
从本地站点内接收到目的MAC地址未知的单播数据帧后,会在该VXLAN内除接收接口外的所有本地接口和VXLAN隧道上泛洪该数据帧,将该数据帧发送给VXLAN内的所有站点。如果用户希望把该类数据帧限制在本地站点内,不通过VXLAN隧道将其转发到远端站点,则可以通过本命令手工禁止VXLAN对应VSI的泛洪功能。
地址的数据帧泛洪到远端站点以保证某些业务的流量在站点间互通,可以配置选择性泛洪的MAC地址,当数据帧的目的MAC地址匹配该MAC地址时,该数据帧可以泛洪到远端站点。
的泛洪功能
泛洪功能处于开启状态
选择性泛洪的MAC地址
选择性泛洪MAC地址
地址的报文可以泛洪到其它站点,可以先通过flooding disable命令关闭泛洪功能,再通过本命令配置选择性泛洪的MAC地址
2.10& 配置VXLAN报文的目的UDP端口号
的VTEP设备上需要配置相同的UDP端口号。
报文的目的UDP端口号
报文的目的UDP端口号
报文的目的UDP端口号为4789
报文检查功能
报文的UDP校验和、内层封装的以太网数据帧是否携带VLAN tag进行检查:
校验和检查:VTEP接收到VXLAN报文后,检查该报文的UDP校验和是否为0。若UDP校验和为0,则接收该报文;若UDP校验和不为0,则检查UDP检验和是否正确,正确则接收该报文;否则,丢弃该报文。
检查:VTEP接收到VXLAN报文并对其解封装后,若内层以太网数据帧带有VLAN tag,则丢弃该VXLAN报文。
命令的access-mode参数配置接入模式为ethernet时,VXLAN报文可能携带VLAN tag,在这种情况下建议不要执行vxlan invalid-vlan-tag discard命令,以免错误地丢弃报文。
报文检查功能
校验和检查失败的VXLAN报文
报文的UDP校验和
的VXLAN报文
报文内层封装的以太网数据帧是否携带VLAN tag
2.12& 配置ARP泛洪抑制
泛洪抑制时需要注意:如果同时执行flooding disable命令关闭了VSI的泛洪功能,则建议通过mac-address timer命令配置动态MAC地址的老化时间大于25分钟(ARP泛洪抑制表项的老化时间),以免MAC地址在ARP泛洪抑制表项老化之前老化,产生黑洞MAC地址。
采用组播路由(核心复制)方式转发泛洪流量时:
·&&&&&若需要使用ARP泛洪抑制功能,必须保证所有VTEP设备均开启ARP泛洪抑制功能;
·&&&&&当需要和其它厂商的VTEP设备互通时,不能使用ARP泛洪抑制功能。
泛洪抑制功能
泛洪抑制功能处于关闭状态
远端ARP自动学习功能
仅Release 1138P01及以上版本支持此功能。
缺省情况下,设备从VXLAN隧道接收到报文后可以自动学习远端虚拟机的ARP信息,即远端ARP信息。在SDN控制器组网下,当控制器和设备间进行表项同步时,可以通过vxlan tunnel arp-learning disable命令暂时关闭远端ARP自动学习功能,以节省占用的设备资源。同步完成后,再执行undo vxlan tunnel arp-learning disable命令开启远端ARP自动学习功能。
建议用户只在控制器和设备间同步表项的情况下执行本配置。
表2-15 关闭远端ARP自动学习功能
进入系统视图
system-view
关闭远端ARP自动学习功能
vxlan tunnel arp-learning disable
缺省情况下,远端ARP自动学习功能处于开启状态
的报文统计功能
本配置用来开启VSI的报文统计功能,用户可以使用display l2vpn vsi verbose命令查看VSI的报文统计信息,使用reset l2vpn statistics vsi命令清除VSI的报文统计信息。
的报文统计功能
配置报文的统计模式为VSI模式
statistic mode vsi
缺省情况下,报文的统计模式为VSI模式
多次执行statistic mode命令,最后一次执行的命令生效
所在VSI视图
的报文统计功能
的报文统计功能处于关闭状态
仅Release 1138P01及以上版本支持此功能。
执行本配置后,用户可以使用display l2vpn service-instance verbose命令查看以太网服务实例的报文统计信息,使用reset l2vpn statistics ac命令清除以太网服务实例的报文统计信息。
只有为以太网服务实例配置了报文匹配方式并绑定了VSI实例,报文统计功能才会生效。如果在报文统计过程中修改报文匹配方式或绑定的VSI实例,则重新进行报文统计计数。
表2-17 配置以太网服务实例的报文统计功能
进入系统视图
system-view
配置报文的统计模式为AC模式
statistic mode ac
缺省情况下,报文的统计模式为VSI模式
多次执行statistic mode
queue命令、statistic mode
ac命令和statistic mode
vsi命令,最后一次执行的命令生效
statistic mode queue命令的详细介绍,请参见“ACL和QoS命令参考”中的“QoS”
进入二层以太网接口视图或二层聚合接口视图
进入二层以太网接口视图
interface interface-type interface-number
进入二层聚合接口视图
interface bridge-aggregation interface-number
进入以太网服务实例视图
service-instance instance-id
开启以太网服务实例的报文统计功能
statistics enable
缺省情况下,以太网服务实例的报文统计功能处于关闭状态
的硬件资源模式
仅Release 1138P01及以上版本支持此功能。
建立VXLAN隧道、生成MAC地址表项都会占用设备的硬件资源。设备上的硬件资源有限,通过本配置,可以指定硬件资源的分配模式:
·&&&&&MAC地址模式:允许建立的VXLAN隧道数目较少;允许生成的MAC地址表项数目较多。
·&&&&&Normal模式:允许建立的VXLAN隧道数目较多;允许生成的MAC地址表项数目较少。
表2-18 配置VXLAN的硬件资源模式
进入系统视图
system-view
配置VXLAN的硬件资源模式
hardware-resource vxlan { mac | normal }
缺省情况下,VXLAN的硬件资源模式为Normal模式
2.16& VXLAN显示和维护
命令可以显示配置后VXLAN的运行情况,通过查看显示信息验证配置的效果。
命令来清除VXLAN的相关信息。
表2-19 VXLAN显示和维护
的ARP泛洪抑制表项信息(独立运行模式)
的ARP泛洪抑制表项信息(IRF模式)
的MAC地址表信息
执行主机行为的所有组播组信息
Tunnel接口信息
关联的VXLAN隧道信息
显示设备的报文统计模式
display statistic mode
的ARP泛洪抑制表项
动态学习的MAC地址表项
的报文统计信息
清除以太网服务实例的报文统计信息(仅Release 1138P01及以上版本支持此命令)
reset l2vpn statistics ac [ interface interface-type interface-number service-instance instance-id
2.17& VXLAN典型配置举例
头端复制配置举例
1. 组网需求
、Switch B、Switch C为与服务器连接的VTEP设备。虚拟机VM 1、VM 2和VM 3同属于VXLAN 10。通过VXLAN实现不同站点间的二层互联,确保虚拟机在站点之间进行迁移时用户的访问流量不会中断。
VTEP之间手工建立VXLAN隧道。
VXLAN和VXLAN隧道。
MAC地址动态学习远端MAC地址表项。
头端复制组网图
IP地址和单播路由协议
配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。
开启L2VPN能力。
[SwitchA] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchA] undo vxlan ip-forwarding
创建VSI实例vpna和VXLAN 10。
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] quit
[SwitchA-vsi-vpna] quit
配置接口Loopback0的IP地址,作为隧道的源端地址。
[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255
[SwitchA-Loopback0] quit
在Switch A和Switch B之间建立VXLAN隧道:
的隧道接口Tunnel1。
的地址1.1.1.1。
目的端地址为Switch B上接口Loopback0的地址2.2.2.2。
[SwitchA-Tunnel1] source 1.1.1.1
[SwitchA-Tunnel1] destination 2.2.2.2
[SwitchA-Tunnel1] quit
在Switch A和Switch C之间建立VXLAN隧道。
[SwitchA-Tunnel2] source 1.1.1.1
[SwitchA-Tunnel2] destination 3.3.3.3
[SwitchA-Tunnel2] quit
配置Tunnel1和Tunnel2与VXLAN 10关联。
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] tunnel 1
[SwitchA-vsi-vpna-vxlan10] tunnel 2
[SwitchA-vsi-vpna-vxlan10] quit
[SwitchA-vsi-vpna] quit
# 创建VLAN2,将FortyGigE1/0/1端口加入VLAN2。
[SwitchA] vlan 2
[SwitchA–vlan2] port fortygige 1/0/1
[SwitchA–vlan2] quit
在接入服务器的接口FortyGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchA-FortyGigE1/0/1] service-instance 1000
[SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
配置以太网服务实例1000与VSI实例vpna关联。
[SwitchA-FortyGigE1/0/1-srv1000] quit
[SwitchA-FortyGigE1/0/1] quit
开启L2VPN能力。
[SwitchB] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchB] undo vxlan ip-forwarding
创建VSI实例vpna和VXLAN 10。
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
配置接口Loopback0的IP地址,作为隧道的源端地址。
[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255
[SwitchB-Loopback0] quit
在Switch A和Switch B之间建立VXLAN隧道。
[SwitchB-Tunnel2] source 2.2.2.2
[SwitchB-Tunnel2] destination 1.1.1.1
[SwitchB-Tunnel2] quit
在Switch B和Switch C之间建立VXLAN隧道。
[SwitchB-Tunnel3] source 2.2.2.2
[SwitchB-Tunnel3] destination 3.3.3.3
[SwitchB-Tunnel3] quit
配置Tunnel2和Tunnel3与VXLAN10关联。
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] tunnel 2
[SwitchB-vsi-vpna-vxlan10] tunnel 3
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
# 创建VLAN2,将FortyGigE1/0/1端口加入VLAN2。
[SwitchB] vlan 2
[SwitchB–vlan2] port fortygige 1/0/1
[SwitchB–vlan2] quit
在接入服务器的接口FortyGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchB-FortyGigE1/0/1] service-instance 1000
[SwitchB-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
配置以太网服务实例1000与VSI实例vpna关联。
[SwitchB-FortyGigE1/0/1-srv1000] quit
[SwitchB-FortyGigE1/0/1] quit
开启L2VPN能力。
[SwitchC] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchC] undo vxlan ip-forwarding
创建VSI实例vpna和VXLAN 10。
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
配置接口Loopback0的IP地址,作为隧道的源端地址。
[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255
[SwitchC-Loopback0] quit
在Switch A和Switch C之间建立VXLAN隧道。
[SwitchC-Tunnel1] source 3.3.3.3
[SwitchC-Tunnel1] destination 1.1.1.1
[SwitchC-Tunnel1] quit
在Switch B和Switch C之间建立VXLAN隧道。
[SwitchC-Tunnel3] source 3.3.3.3
[SwitchC-Tunnel3] destination 2.2.2.2
[SwitchC-Tunnel3] quit
配置Tunnel1和Tunnel3与VXLAN 10关联。
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] tunnel 1
[SwitchC-vsi-vpna-vxlan10] tunnel 3
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
# 创建VLAN2,将FortyGigE1/0/1端口加入VLAN2。
[SwitchC] vlan 2
[SwitchC–vlan2] port fortygige 1/0/1
[SwitchC–vlan2] quit
在接入服务器的接口FortyGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchC-FortyGigE1/0/1] service-instance 1000
[SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
配置以太网服务实例1000与VSI实例vpna关联。
[SwitchC-FortyGigE1/0/1-srv1000] quit
[SwitchC-FortyGigE1/0/1] quit
VTEP设备(下文以Switch A为例,其它设备验证方法与此类似)
查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。
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 1.1.1.1, destination 2.2.2.2
Tunnel protocol/transport UDP_VXLAN/IP
查看Switch A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的以太网服务实例等信息。
VSI Name: vpna
& VSI Index&&&&&&&&&&&&&&
& VSI State&&&&&&&&&&&&&&
& MTU&&&&&&&&&&&&&&&&&&&&
& Bandwidth&&&&&&&&&&&&&&
& Broadcast Restrain&&&&& : -
& Multicast Restrain&&&&& : -
& Unknown Unicast Restrain: -
& MAC Learning&&&&&&&&&&& : Enabled
& MAC Table Limit&&&&&&&& : -
& Drop Unknown&&&&&&&&&&& : -
& Flooding&&&&&&&&&&&&&&&
& VXLAN ID&&&&&&&&&&&&&&&
& Tunnels:
&&& Tunnel Name&&& &&&&&&Link ID&&& State&&& Type&&&&&&& Flooding proxy
&&& Tunnel1&&&&&&&&&&&&& 0x5000001& Up&&& &&&Manual&&&&& Disabled
&&& Tunnel2&&&&&&&&&&&&& 0x5000002& Up&&& &&&Manual&&&&& Disabled
&&& AC&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Link ID&&& State
&&& FGE1/0/1 srv1000&&&&&&&&&&&&&&&& 0&&&&&&&&& Up
查看Switch A上VSI的MAC地址表项信息,可以看到已学习到的MAC地址信息。
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& ---
、VM 2、VM 3之间可以互访。
核心复制配置举例
、Switch B、Switch C为与服务器连接的VTEP设备。虚拟机VM 1、VM 2和VM 3同属于VXLAN 10。通过VXLAN实现不同站点间的二层互联,确保虚拟机在站点之间进行迁移时用户的访问流量不会中断。
VTEP之间手工建立VXLAN隧道。
VXLAN和VXLAN隧道。
MAC地址动态学习远端MAC地址表项。
核心复制组网图
IP地址和单播路由协议
配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。
开启L2VPN能力。
[SwitchA] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchA] undo vxlan ip-forwarding
使能IP组播路由。
[SwitchA-mrib] quit
创建VSI实例vpna和VXLAN 10。
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] quit
[SwitchA-vsi-vpna] quit
配置接口Vlan-interface11的IP地址,并在该接口上使能IGMP协议的主机功能。
[SwitchA-Vlan-interface11] ip address 11.1.1.1 24
[SwitchA-Vlan-interface11] igmp host enable
[SwitchA-Vlan-interface11] quit
在Switch A和Switch B之间建立VXLAN隧道:
的隧道接口Tunnel1。
的地址11.1.1.1。
目的端地址为Switch B上接口Vlan-interface12的地址12.1.1.2。
[SwitchA-Tunnel1] source 11.1.1.1
[SwitchA-Tunnel1] destination 12.1.1.2
[SwitchA-Tunnel1] quit
在Switch A和Switch C之间建立VXLAN隧道。
[SwitchA-Tunnel2] source 11.1.1.1
[SwitchA-Tunnel2] destination 13.1.1.3
[SwitchA-Tunnel2] quit
配置Tunnel1和Tunnel2与VXLAN 10关联。
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] tunnel 1
[SwitchA-vsi-vpna-vxlan10] tunnel 2
配置VXLAN泛洪的组播地址为225.1.1.1,组播报文的源IP地址为11.1.1.1。
[SwitchA-vsi-vpna-vxlan10] quit
[SwitchA-vsi-vpna] quit
# 创建VLAN2,将FortyGigE1/0/1端口加入VLAN2。
[SwitchA] vlan 2
[SwitchA–vlan2] port fortygige 1/0/1
[SwitchA–vlan2] quit
在接入服务器的接口FortyGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchA-FortyGigE1/0/1] service-instance 1000
[SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
配置以太网服务实例1000与VSI实例vpna关联。
[SwitchA-FortyGigE1/0/1-srv1000] quit
[SwitchA-FortyGigE1/0/1] quit
开启L2VPN能力。
[SwitchB] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchB] undo vxlan ip-forwarding
使能IP组播路由。
[SwitchB-mrib] quit
创建VSI实例vpna和VXLAN 10。
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
配置接口Vlan-interface12的IP地址,并在该接口上使能IGMP协议的主机功能。
[SwitchB-Vlan-interface12] ip address 12.1.1.2 24
[SwitchB-Vlan-interface12] igmp host enable
[SwitchB-Vlan-interface12] quit
在Switch A和Switch B之间建立VXLAN隧道。
[SwitchB-Tunnel2] source 12.1.1.2
[SwitchB-Tunnel2] destination 11.1.1.1
[SwitchB-Tunnel2] quit
在Switch B和Switch C之间建立VXLAN隧道。
[SwitchB-Tunnel3] source 12.1.1.2
[SwitchB-Tunnel3] destination 13.1.1.3
[SwitchB-Tunnel3] quit
配置Tunnel2和Tunnel3与VXLAN10关联。
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] tunnel 2
[SwitchB-vsi-vpna-vxlan10] tunnel 3
配置VXLAN泛洪的组播地址为225.1.1.1,组播报文的源IP地址为12.1.1.2。
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
# 创建VLAN2,将FortyGigE1/0/1端口加入VLAN2。
[SwitchB] vlan 2
[SwitchB–vlan2] port fortygige 1/0/1
[SwitchB–vlan2] quit
在接入服务器的接口FortyGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchB-FortyGigE1/0/1] service-instance 1000
[SwitchB-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
配置以太网服务实例1000与VSI实例vpna关联。
[SwitchB-FortyGigE1/0/1-srv1000] quit
[SwitchB-FortyGigE1/0/1] quit
开启L2VPN能力。
[SwitchC] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchC] undo vxlan ip-forwarding
使能IP组播路由。
[SwitchC-mrib] quit
创建VSI实例vpna和VXLAN 10。
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
配置接口Vlan-interface13的IP地址,并在该接口上使能IGMP协议的主机功能。
[SwitchC-Vlan-interface13] ip address 13.1.1.3 24
[SwitchC-Vlan-interface13] igmp host enable
[SwitchC-Vlan-interface13] quit
在Switch A和Switch C之间建立VXLAN隧道。
[SwitchC-Tunnel1] source 13.1.1.3
[SwitchC-Tunnel1] destination 11.1.1.1
[SwitchC-Tunnel1] quit
在Switch B和Switch C之间建立VXLAN隧道。
[SwitchC-Tunnel3] source 13.1.1.3
[SwitchC-Tunnel3] destination 12.1.1.2
[SwitchC-Tunnel3] quit
配置Tunnel1和Tunnel3与VXLAN 10关联。
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] tunnel 1
[SwitchC-vsi-vpna-vxlan10] tunnel 3
配置VXLAN泛洪的组播地址为225.1.1.1,组播报文的源IP地址为13.1.1.3。
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
# 创建VLAN2,将FortyGigE1/0/1端口加入VLAN2。
[SwitchC] vlan 2
[SwitchC–vlan2] port fortygige 1/0/1
[SwitchC–vlan2] quit
在接入服务器的接口FortyGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchC-FortyGigE1/0/1] service-instance 1000
[SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
配置以太网服务实例1000与VSI实例vpna关联。
[SwitchC-FortyGigE1/0/1-srv1000] quit
[SwitchC-FortyGigE1/0/1] quit
使能IP组播路由。
[SwitchD] multicast routing
[SwitchD-mrib] quit
在接口Vlan-interface11上使能IGMP和PIM-SM。
[SwitchD-Vlan-interface11] igmp enable
[SwitchD-Vlan-interface11] pim sm
[SwitchD-Vlan-interface11] quit
在接口Vlan-interface21上使能PIM-SM。
[SwitchD-Vlan-interface21] pim sm
[SwitchD-Vlan-interface21] quit
使能IP组播路由。
[SwitchE] multicast routing
[SwitchE-mrib] quit
在接口Vlan-interface13上使能IGMP和PIM-SM。
[SwitchE-Vlan-interface13] igmp enable
[SwitchE-Vlan-interface13] pim sm
[SwitchE-Vlan-interface13] quit
在接口Vlan-interface23上使能PIM-SM。
[SwitchE-Vlan-interface23] pim sm
[SwitchE-Vlan-interface23] quit
使能IP组播路由。
[SwitchF] multicast routing
[SwitchF-mrib] quit
在各接口上使能PIM-SM。
[SwitchF-Vlan-interface21] pim sm
[SwitchF-Vlan-interface21] quit
[SwitchF] interface vlan-interface 22
[SwitchF-Vlan-interface22] pim sm
[SwitchF-Vlan-interface22] quit
[SwitchF] interface vlan-interface 23
[SwitchF-Vlan-interface23] pim sm
[SwitchF-Vlan-interface23] quit
使能IP组播路由。
[SwitchG] multicast routing
[SwitchG-mrib] quit
在接口Vlan-interface12上使能IGMP和PIM-SM。
[SwitchG-Vlan-interface12] igmp enable
[SwitchG-Vlan-interface12] pim sm
[SwitchG-Vlan-interface12] quit
在接口Vlan-interface22上使能PIM-SM。
[SwitchG-Vlan-interface22] pim sm
[SwitchG-Vlan-interface22] quit
VTEP设备(下文以Switch A为例,其它设备验证方法与此类似)
查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。
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
查看Switch A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的以太网服务实例等信息。
VSI Name: vpna
& VSI Index&&&&&&&&&&&&&&
& VSI State&&&&&&&&&&&&&&
& MTU&&&&&&&&&&&&&&&&&&&&
& Bandwidth&&&&&&&&&&&&&&
& Broadcast Restrain&&&&& : -
& Multicast Restrain&&&&& : -
& Unknown Unicast Restrain: -
& MAC Learning&&&&&&&&&&& : Enabled
& MAC Table Limit&&&&&&&& : -
& Drop Unknown&&&&&&&&&&& : -
& Flooding&&&&&&&&&&&&&&&
& VXLAN ID&&&&&&&&&&&&&&&
& Tunnels:
&&& Tunnel Name&&&&&&&&& Link ID&&& State&&& Type&&&&&&& Flooding proxy
&&& Tunnel1&&&&&&&&&&&&& 0x5000001& Up&& &&&&Manual&&&&& Disabled
&&& Tunnel2&&& &&&&&&&&&&0x5000002& Up&& &&&&Manual&&&&& Disabled
&&& MTunnel0&&&&&&&&&&&& 0x6000000& Up&& &&&&Auto&&&&
&&&Disabled
&&& AC&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Link ID&&& State
&&& FGE1/0/1 srv1000&&&&&&&&&&&&&&&& 0&&&&&&&&& Up
查看Switch A上VSI的MAC地址表项信息,可以看到已学习到的MAC地址信息。
MAC Address&&&&& State&&& VSI Name&&&&&&&&&&&&&&&&&&&&&&& Link ID/Name& Aging
cc3e-5f9c-6cdb&& Dynamic& vpna&&&&&&&&&&&&&&&&&&&&&&&&&&& Tunnel1&& &&&&Aging
cc3e-5f9c-23dc&& Dynamic& vpna&&&&&&&& &&&&&&&&&&&&&&&&&&&Tunnel2&&
--- 2 mac address(es) found& ---
查看Switch A上IGMP执行主机行为的所有组播组信息,可以看到接口Vlan-interface11下存在组播组225.1.1.1的信息。
IGMP host groups in total: 1
&Vlan-interface11(11.1.1.1):
& IGMP host groups in total: 1
&& Group address&&&&& Member state&&&&& Expires
&& 225.1.1.1&&&&&&&&& Idle&&&&&&&&&&&&& Off
、VM 2、VM 3之间可以互访。
3 VXLAN IP网关
3.1& VXLAN IP网关简介
VXLAN可以为分散的物理站点提供二层互联。如果要为VXLAN站点内的虚拟机提供三层业务,则需要在网络中部署VXLAN IP网关,以便站点内的虚拟机通过VXLAN IP网关与外界网络或其他VXLAN网络内的虚拟机进行三层通信。VXLAN IP网关既可以部署在独立的物理设备上,也可以部署在VTEP设备上。
网关示意图
如所示,VXLAN IP网关部署在独立的物理设备上时,VXLAN IP网关作为物理站点接入VTEP,VXLAN业务对于网关设备透明。虚拟机通过VXLAN IP网关与三层网络中的节点通信时,虚拟机将三层报文封装成二层数据帧发送给VXLAN IP网关。VTEP对该数据帧进行VXLAN封装,并在IP核心网络上将其转发给远端VTEP(连接VXLAN IP网关的VTEP)。远端VTEP对VXLAN报文进行解封装,并将原始的二层数据帧转发给VXLAN IP网关。VXLAN IP网关去掉链路层封装后,对报文进行三层转发。
网关示意图
如所示,集中式VXLAN IP网关进行二层VXLAN业务终结的同时,还对内层封装的IP报文进行三层转发处理。与独立的VXLAN IP网关相比,该方式除了能够节省设备资源外,VXLAN IP网关功能由VXLAN对应的三层虚接口(VSI虚接口)承担,三层业务的部署和控制也更加灵活和方便。
网关的三层通信过程
如所示,以地址为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网络将其发送给虚拟机。
网络的虚拟机之间的通信过程与上述过程类似,不同之处在于一个VXLAN网络的集中式网关需要将报文转发给另一个VXLAN网络的集中式网关,再由该集中式网关将报文转发给本VXLAN内对应的虚拟机。
网关保护组
仅Release 1138P01及以上版本支持此功能。
由单台设备承担站点内大量虚拟机的集中式VXLAN IP网关功能,对设备的处理资源占用较高,并且对于网关的单点故障没有保护措施。通过集中式VXLAN IP网关保护组,可以实现多台设备同时承担网关功能,在提供单点故障保护机制的同时,还可以实现上下行流量的负载分担。
网关保护组示意图
如所示,两台集中式VXLAN IP网关形成保护组,两台设备上存在相同的VTEP IP,称为保护组的VTEP IP。接入层VTEP与保护组的VTEP IP建立VXLAN隧道,将虚拟机发送至其它网络的报文转发至保护组,保护组中的两台网关设备均可以接收并处理虚拟机发往其它网络的流量。
保护组中的成员VTEP之间、每个成员VTEP与接入层VTEP之间还会采用成员自身的IP地址建立VXLAN隧道,以便进行协议通信和表项同步。
配置集中式VXLAN IP网关时,需要完成以下配置任务:
·&&&&&配置VXLAN隧道工作在三层转发模式。
·&&&&&创建VSI和VXLAN。
·&&&&&配置VXLAN隧道,并将VXLAN与VXLAN隧道关联。
3.3& 配置集中式VXLAN IP网关
表3-1 配置集中式VXLAN IP网关
进入系统视图
system-view
创建VSI虚接口,并进入VSI虚接口视图
interface vsi-interface vsi-interface-id
缺省情况下,设备上不存在任何VSI虚接口
如果VSI虚接口已经存在,则直接进入该VSI虚接口视图
配置VSI虚接口的IP地址
ip address
ip-address { mask | mask-length } [ sub ]
缺省情况下,未配置VSI虚接口的IP地址
退回系统视图
进入VXLAN所在VSI视图
vsi vsi-name
为VSI指定网关接口
gateway vsi-interface vsi-interface-id
缺省情况下,没有为VSI指定网关接口
网关保护组
仅Release 1138P01及以上版本支持此功能。
网关上的配置
保护组中所有网关上的VXLAN配置需要保证完全一致。
表3-2 配置集中式VXLAN IP网关保护组
进入系统视图
system-view
创建VSI虚接口,并进入VSI虚接口视图
interface vsi-interface vsi-interface-id
缺省情况下,设备上不存在任何VSI虚接口
如果VSI虚接口已经存在,则直接进入该VSI虚接口视图
请在保护组中的每台网关上创建相同的VSI虚接口
配置VSI虚接口的IP地址
ip address
ip-address { mask | mask-length } [ sub ]
缺省情况下,未配置VSI虚接口的IP地址
请在保护组中的每台网关上配置相同的VSI虚接口IP地址
配置VSI虚接口的MAC地址
mac-address mac-address
缺省情况下,VSI虚接口的MAC地址为设备上VLAN接口的MAC地址
保护组中所有网关上配置的MAC地址必须相同
退回系统视图
进入VXLAN所在VSI视图
vsi vsi-name
为VSI指定网关接口
gateway vsi-interface vsi-interface-id
缺省情况下,没有为VSI指定网关接口
退回系统视图
将本设备加入VXLAN IP网关保护组,并配置本设备的成员地址
vtep group group-ip member local member-ip
缺省情况下,设备没有加入VTEP IP网关保护组
在保护组中每台VXLAN IP网关中执行此配置,member-ip为本设备的成员地址,该地址必须是设备上已经存在的IP地址,并且需要通过路由协议发布到IP网络
同一个保护组中不同成员VTEP的地址不能相同
配置VTEP保护组的成员地址列表
vtep group group-ip member remote member-ip&&1-8&
缺省情况下,设备上没有配置VTEP保护组的成员地址列表
在保护组中每台VXLAN IP网关中执行此配置,必须输入保护组中所有其它成员的成员地址
执行本配置时,需要完成以下配置任务:
·&&&&&配置VXLAN隧道工作在二层转发模式。
·&&&&&创建VSI和VXLAN。
·&&&&&配置VXLAN隧道,并将VXLAN与VXLAN隧道关联。
表3-3 配置接入层VTEP识别VXLAN IP网关保护组
进入系统视图
system-view
配置VTEP保护组的成员地址列表
vtep group group-ip member remote member-ip&&1-8&
缺省情况下,设备上没有配置VTEP保护组的成员地址列表
必须输入保护组中所有成员的成员地址
3.5& 配置VSI虚接口
虚接口的参数及状态。
虚接口视图
虚接口的MAC地址
缺省情况下,VSI虚接口的MAC地址为设备上VLAN接口的MAC地址
如果VSI虚接口MAC地址的高36位与VXLAN IP网关桥MAC地址的高36位不同,则VXLAN IP网关发送报文的源MAC地址是VSI虚接口的缺省MAC地址(VLAN接口的MAC地址);如果二者相同,则源MAC地址为VSI虚接口的MAC地址
开启ARP报文发送限速功能
arp send-rate
缺省情况下,ARP报文发送限速功能处于关闭状态
仅Release 1138P01及以上版本支持此命令
”,例如:Vsi-interface100 Interface
值为1500字节
虚接口的报文统计功能
执行本配置后,设备会开启与VSI关联的VSI虚接口的报文统计功能。通过display interface vsi-interface命令的input和output字段可以查看统计信息。
需要注意的是:
·&&&&&只有VSI虚接口仅与一个VSI关联时,才能开启该VSI虚接口的报文统计功能。
·&&&&&多次执行statistic mode命令,最后一次执行的命令生效。
表3-5 开启VSI虚接口的报文统计功能
进入系统视图
system-view
配置报文的统计模式为VSI模式
statistic mode vsi
缺省情况下,报文的统计模式为VSI模式
进入VXLAN所在VSI视图
vsi vsi-name
开启VSI的报文统计功能
statistics enable
缺省情况下,VSI的报文统计功能处于关闭状态
3.7& VXLAN IP网关显示和维护
在完成上述配置后,在任意视图下执行display命令可以显示配置后VXLAN IP网关的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,用户可以执行reset命令来清除VSI虚接口的统计信息。
表3-6 VXLAN IP网关显示和维护
显示VSI虚接口信息
display interface [ vsi-interface [ vsi-interface-id ] ] [ brief
[ description ] ]
清除接口的统计信息
reset counters interface [ vsi-interface [ vsi-interface-id ] ]
网关典型配置举例
网关配置举例
1. 组网需求
Switch A、Switch C为与服务器连接的VTEP设备,Switch B为与广域网连接的集中式VXLAN IP网关设备,Switch E为广域网内的三层交换机。虚拟机VM 1、VM 2同属于VXLAN 10,通过VXLAN实现不同站点间的二层互联,并通过VXLAN IP网关与广域网三层互联。
网关配置组网图
3. 配置步骤
(1)&&&&&配置IP地址和单播路由协议
# 请按照配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。
# Switch B和Switch E上配置OSPF协议,发布10.1.1.0/24和20.1.1.0/24网段的路由,具体配置过程略。
(2)&&&&&配置Switch A
# 开启L2VPN能力。
&SwitchA& system-view
[SwitchA] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchA] undo vxlan ip-forwarding
# 创建VSI实例vpna和VXLAN 10。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] quit
[SwitchA-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作为隧道的源端地址。
[SwitchA] interface loopback0
[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255
[SwitchA-Loopback0] quit
# 在Switch A和Switch B之间建立VXLAN隧道:
·&&&&&创建模式为VXLAN的隧道接口Tunnel1。
·&&&&&指定隧道的源端地址为本地接口Loopback0的地址1.1.1.1。
·&&&&&指定隧道的目的端地址为Switch B上接口Loopback0的地址2.2.2.2。
[SwitchA] interface tunnel 1 mode vxlan
[SwitchA-Tunnel1] source 1.1.1.1
[SwitchA-Tunnel1] destination 2.2.2.2
[SwitchA-Tunnel1] quit
# 在Switch A和Switch C之间建立VXLAN隧道。
[SwitchA] interface tunnel 2 mode vxlan
[SwitchA-Tunnel2] source 1.1.1.1
[SwitchA-Tunnel2] destination 3.3.3.3
[SwitchA-Tunnel2] quit
# 配置Tunnel1和Tunnel2与VXLAN 10关联。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] tunnel 1
[SwitchA-vsi-vpna-vxlan10] tunnel 2
[SwitchA-vsi-vpna-vxlan10] quit
[SwitchA-vsi-vpna] quit
# 创建VLAN2,将FortyGigE1/0/1端口加入VLAN2。
[SwitchA] vlan 2
[SwitchA–vlan2] port fortygige 1/0/1
[SwitchA–vlan2] quit
# 在接入服务器的接口FortyGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] service-instance 1000
[SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例1000与VSI实例vpna关联。
[SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-FortyGigE1/0/1-srv1000] quit
[SwitchA-FortyGigE1/0/1] quit
(3)&&&&&配置Switch B
# 开启L2VPN能力。
&SwitchB& system-view
[SwitchB] l2vpn enable
# 配置预留VLAN 3000接口资源(全局类型)。
[SwitchB] reserve-vlan-interface 3000 global
# 创建VSI实例vpna和VXLAN 10。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作为隧道的源端地址。
[SwitchB] interface loopback0
[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255
[SwitchB-Loopback0] quit
# 在Switch A和Switch B之间建立VXLAN隧道。
[SwitchB] interface tunnel 2 mode vxlan
[SwitchB-Tunnel2] source 2.2.2.2
[SwitchB-Tunnel2] destination 1.1.1.1
[SwitchB-Tunnel2] quit
# 在Switch B和Switch C之间建立VXLAN隧道。
[SwitchB] interface tunnel 3 mode vxlan
[SwitchB-Tunnel3] source 2.2.2.2
[SwitchB-Tunnel3] destination 3.3.3.3
[SwitchB-Tunnel3] quit
# 配置Tunnel2和Tunnel3与VXLAN10关联。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] tunnel 2
[SwitchB-vsi-vpna-vxlan10] tunnel 3
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
# 创建VSI虚接口VSI-interface1,并为其配置IP地址,该IP地址作为VXLAN 10内虚拟机的网关地址。
[SwitchB] interface vsi-interface 1
[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchB-Vsi-interface1] quit
# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] gateway vsi-interface 1
[SwitchB-vsi-vpna] quit
(4)&&&&&配置Switch C
# 开启L2VPN能力。
&SwitchC& system-view
[SwitchC] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchC] undo vxlan ip-forwarding
# 创建VSI实例vpna和VXLAN 10。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作为隧道的源端地址。
[SwitchC] interface loopback0
[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255
[SwitchC-Loopback0] quit
# 在Switch A和Switch C之间建立VXLAN隧道。
[SwitchC] interface tunnel 1 mode vxlan
[SwitchC-Tunnel1] source 3.3.3.3
[SwitchC-Tunnel1] destination 1.1.1.1
[SwitchC-Tunnel1] quit
# 在Switch B和Switch C之间建立VXLAN隧道。
[SwitchC] interface tunnel 3 mode vxlan
[SwitchC-Tunnel3] source 3.3.3.3
[SwitchC-Tunnel3] destination 2.2.2.2
[SwitchC-Tunnel3] quit
# 配置Tunnel1和Tunnel3与VXLAN 10关联。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] tunnel 1
[SwitchC-vsi-vpna-vxlan10] tunnel 3
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
# 创建VLAN2,将FortyGigE1/0/1端口加入VLAN2。
[SwitchC] vlan 2
[SwitchC–vlan2] port fortygige 1/0/1
[SwitchC–vlan2] quit
# 在接入服务器的接口FortyGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] service-instance 1000
[SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例1000与VSI实例vpna关联。
[SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchC-FortyGigE1/0/1-srv1000] quit
[SwitchC-FortyGigE1/0/1] quit
4. 验证配置
(1)&&&&&验证VXLAN IP网关设备Switch B
# 查看Switch B上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。
[SwitchB] display interface tunnel 2
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 2.2.2.2, destination 1.1.1.1
Tunnel protocol/transport UDP_VXLAN/IP
# 查看Switch B上的VSI虚接口信息,可以看到VSI虚接口处于up状态。
[SwitchB] display interface vsi-interface 1
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface100 Interface
Bandwidth: 1000000kbps
Maximum transmission unit: 1500
Internet Address is 10.1.1.1/24 Primary
IP Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 02
IPv6 Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 02
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
# 查看Switch B上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的VSI虚接口等信息。
[SwitchB] display l2vpn vsi verbose
VSI Name: vpna
& VSI Index&&&&&&&&&&&&&&
& VSI State&&&&&&&&&&&&&&
& MTU&&&&&&&&&&&&&&&&&&&&
& Bandwidth&&&&&&&&&&&&&&
& Broadcast Restrain&&&&& : -
& Multicast Restrain&&&&& : -
& Unknown Unicast Restrain: -
& MAC Learning&&&&&&&&&&& : Enabled
& MAC Table Limit&&&&&&&& : -
& Drop Unknown&&&&&&&&&&& : -
& Flooding&&&&&&&&&&&&&&&
& Gateway interface&&&&&& : VSI-interface 1
& VXLAN ID&&&&&&&&&&&&&&&
& Tunnels:
&&& Tunnel Name&&&&&&&&& Link ID&&& State&&& Type&&&&&&& Flooding proxy
&&& Tunnel2&&&&&&&&&&&&& 0x5000002& Up&&& &&&Manual&&&&& Disabled
&&& Tunnel3&&&&&&&&&&&&& 0x5000003& Up&&& &&&Manual&&&&& Disabled
# 查看Switch B上VSI的ARP表项信息,可以看到已学习到了虚拟机的ARP信息。
[SwitchB] display arp
& Type: S-Static&& D-Dynamic&& O-Openflow&& R-Rule&& M-Multiport& I-Invalid
IP Address&& &&&&MAC Address&&& &VID &&&&Interface/Link ID&&&&& Aging Type
20.1.1.5&&&& &&&&000c-29c1-5e46
&N/A&&&& Vlan20& &&&&&&&&&&&&&&&19&&& D
10.1.1.11&&&&&
&&01 &N/A&&&& Vsi10 &&&&&&&&&&&&&&&&&20&&& D
10.1.1.12&&&& &&&02
&N/A&&&& Vsi10 &&&&&&&&&&&&&&&&&19&&& D
# 查看Switch B上FIB表项信息,可以看到已学习到了虚拟机的转发表项信息。
[SwitchB] display fib 10.1.1.11
Destination count: 1 FIB entry count: 1
& U:Useable&& 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&&&&&& Vsi10 &&&&&&&&&&&&&&&&&&&Null
(2)&&&&&验证主机和广域网互访
虚拟机VM 1、VM 2之间可以互访,VM 1、VM 2和Switch E上接口Vlan-interface20的地址20.1.1.5之间可以互访。
网关保护组配置举例
仅Release 1138P01及以上版本支持此配置举例。
1. 组网需求
Switch A为与服务器连接的VTEP设备,Switch B和Switch C为与广域网连接的集中式VXLAN IP网关设备。虚拟机VM 1属于VXLAN 10,通过VXLAN IP网关保护组实现Switch B和Switch C能够同时为VM 1的跨网络报文进行三层转发,同时实现网关设备的备份。
网关保护组配置组网图
3. 配置步骤
(1)&&&&&配置IP地址和单播路由协议
请按照配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。
(2)&&&&&配置Switch A
# 开启L2VPN能力。
&SwitchA& system-view
[SwitchA] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchA] undo vxlan ip-forwarding
# 创建VSI实例vpna和VXLAN 10。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] quit
[SwitchA-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作为隧道的源端地址。
[SwitchA] interface loopback 0
[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255
[SwitchA-Loopback0] quit
# 在Switch A和VXLAN IP保护组之间建立VXLAN隧道:
·&&&&&创建模式为VXLAN的隧道接口Tunnel1。
·&&&&&指定隧道的源端地址为本地接口Loopback0的地址1.1.1.1。
·&&&&&指定隧道的目的端地址为Switch B和Switch C上同时存在的接口Loopback0的地址2.2.2.2。
[SwitchA] interface tunnel 1 mode vxlan
[SwitchA-Tunnel1] source 1.1.1.1
[SwitchA-Tunnel1] destination 2.2.2.2
[SwitchA-Tunnel1] quit
# 配置Tunnel1与VXLAN 10关联。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] tunnel 1
[SwitchA-vsi-vpna-vxlan10] quit
[SwitchA-vsi-vpna] quit
# 创建VLAN2,将FortyGigE1/0/1端口加入VLAN2。
[SwitchA] vlan 2
[SwitchA–vlan2] port fortygige 1/0/1
[SwitchA–vlan2] quit
# 在接入服务器的接口FortyGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] service-instance 1000
[SwitchA-FortyGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例1000与VSI实例vpna关联。
[SwitchA-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-FortyGigE1/0/1-srv1000] quit
[SwitchA-FortyGigE1/0/1] quit
# 指定VXLAN IP网关保护组以及成员。
[SwitchA] vtep group 2.2.2.2 member remote 3.3.3.3 4.4.4.4
(3)&&&&&配置Switch B
# 开启L2VPN能力。
&SwitchB& system-view
[SwitchB] l2vpn enable
# 配置预留VLAN 3000接口资源(全局类型)。
[SwitchB] reserve-vlan-interface 3000 global
# 创建VSI实例vpna和VXLAN 10。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作为保护组的VTEP IP地址。
[SwitchB] interface loopback 0
[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255
[SwitchB-Loopback0] quit
# 配置接口Loopback1的IP地址,作为保护组的成员地址。
[SwitchB] interface loopback 1
[SwitchB-Loopback1] ip address 3.3.3.3 255.255.255.255
[SwitchB-Loopback1] quit
# 在VXLAN IP网关保护组和Switch A之间建立VXLAN隧道。
[SwitchB] interface tunnel 2 mode vxlan
[SwitchB-Tunnel2] source 2.2.2.2
[SwitchB-Tunnel2] destination 1.1.1.1
[SwitchB-Tunnel2] quit
# 配置Tunnel2与VXLAN10关联。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] tunnel 2
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
# 创建VSI虚接口VSI-interface1,为其配置IP地址,该IP地址作为VXLAN 10内虚拟机的网关地址,并指定该接口的MAC地址。
[SwitchB] interface vsi-interface 1
[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchB-Vsi-interface1] mac-address 2-2-2
[SwitchB-Vsi-interface1] quit
# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] gateway vsi-interface 1
[SwitchB-vsi-vpna] quit
# 配置VXLAN IP网关保护组,并配置本地成员地址。
[SwitchB] vtep group 2.2.2.2 member local 3.3.3.3
# 配置VXLAN IP网关保护组的其它成员地址。
[SwitchB] vtep group 2.2.2.2 member remote 4.4.4.4
(4)&&&&&配置Switch C
# 开启L2VPN能力。
&SwitchC& system-view
[SwitchC] l2vpn enable
# 配置预留VLAN 3000接口资源(全局类型)。
[SwitchC] reserve-vlan-interface 3000 global
# 创建VSI实例vpna和VXLAN 10。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作为数据隧道的源端地址。
[SwitchC] interface loopback 0
[SwitchC-Loopback0] ip address 2.2.2.2 255.255.255.255
[SwitchC-Loopback0] quit
# 配置接口Loopback1的IP地址,作为保护组的成员地址。
[SwitchC] interface loopback 1
[SwitchC-Loopback1] ip address 4.4.4.4 255.255.255.255
[SwitchC-Loopback1] quit
# 在VXLAN IP网关保护组和Switch A之间建立VXLAN隧道。
[SwitchC] interface tunnel 2 mode vxlan
[SwitchC-Tunnel2] source 2.2.2.2
[SwitchC-Tunnel2] destination 1.1.1.1
[SwitchC-Tunnel2] quit
# 配置Tunnel2与VXLAN10关联。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] tunnel 2
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
# 创建VSI虚接口VSI-interface1,为其配置IP地址,该IP地址作为VXLAN 10内虚拟机的网关地址,并指定该接口的MAC地址。
[SwitchC] interface vsi-interface 1
[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchC-Vsi-interface1] mac-address 2-2-2
[SwitchC-Vsi-interface1] quit
# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] gateway vsi-interface 1
[SwitchC-vsi-vpna] quit
# 配置VXLAN IP网关保护组,并配置本地成员地址。
[SwitchC] vtep group 2.2.2.2 member local 4.4.4.4
# 配置VXLAN IP网关保护组的其它成员地址。
[SwitchC] vtep group 2.2.2.2 member remote 3.3.3.3
仅Release 1138P01及以上版本支持此特性。
OVSDB(Open vSwitch Database,开源虚拟交换机数据库)控制协议用来实现NVC(Network Virtualization Controller,网络虚拟化控制器)对网络中VTEP设备的管理和部署。
如所示,VTEP设备上维护OVSDB数据库,VXLAN相关配置以表项的形式保存在该数据库中。控制器与VTEP设备上的OVSDB服务器建立连接,二者采用OVSDB控制协议进行交互并操作OVSDB数据库中的数据。OVSDB VTEP服务从OVSDB服务器获取数据库中的数据,将其转变为VXLAN相关配置(例如创建或删除VXLAN、创建或删除VXLAN隧道)下发到设备上。同时,OVSDB VTEP服务也会通过OVSDB服务器,将本地的用户侧接入端口和VXLAN隧道全局源地址信息添加到数据库中,并上报给控制器。
用户可以同时通过命令行和控制器配置VTEP设备。建议不要在VTEP设备上通过命令行删除控制器下发的配置。
与OVSDB相关的协议规范有:
·&&&&&RFC 7047:The Open vSwitch Database Management Protocol
配置任务简介
要实现控制器对VTEP设备的部署,需要在VTEP设备上完成所示配置。
配置任务简介
与控制器建立OVSDB连接
与控制器建立主动SSL连接
OVSDB服务器支持同时与多个控制器建立连接,且支持同时建立多种类型的连接
在开启OVSDB服务器之前,必须先进行本配置。如果在开启OVSDB服务器之后修改本配置,那么需要关闭OVSDB服务器后再重新开启,新的连接配置才能生效
与控制器建立被动SSL连接
与控制器建立主动TCP连接
与控制器建立被动TCP连接
开启OVSDB服务器
开启OVSDB VTEP服务
配置VXLAN隧道的全局源地址
指定用户侧的接入端口
开启组播隧道泛洪代理功能
在进行OVSDB-VTEP相关配置前,需要首先通过l2vpn enable命令使能L2VPN功能。
如果OVSDB服务器与控制器之间建立SSL连接,则还需要完成SSL相关配置。
OVSDB服务器和控制器之间可以建立多种类型的OVSDB连接,设备支持的OVSDB连接类型包括:
·&&&&&主动SSL连接:OVSDB服务器主动向控制器发起SSL连接。该连接方式必须指定SSL使用的PKI域。OVSDB服务器最多可以同时与8个控制器建立主动SSL连接。
·&&&&&被动SSL连接:OVSDB服务器监听并接收来自控制器的SSL连接请求。该连接方式必须指定SSL使用的PKI域。OVSDB服务器只能监听1个端口的SSL连接请求。
·&&&&&主动TCP连接:OVSDB服务器主动向控制器发起TCP连接。OVSDB服务器最多可以同时与8个控制器建立主动TCP连接。
·&&&&&被动TCP连接:OVSDB服务器监听并接收来自控制器的TCP连接请求。OVSDB服务器只能监听1个端口的TCP连接请求。
所有SSL连接,包括主动SSL连接和被动SSL连接,使用相同的PKI域和CA证书文件。
表4-2 与控制器建立主动SSL连接
进入系统视图
system-view
指定与控制器进行SSL通信时使用的PKI域
ovsdb server pki domain domain-name
缺省情况下,未指定与控制器进行SSL通信时使用的PKI域
(可选)设置SSL通信时使用的CA证书文件
ovsdb server bootstrap ca-certificate ca-filename
缺省情况下,与控制器进行SSL通信时使用PKI域中的CA证书文件
与控制器建立主动SSL连接
ovsdb server ssl ip ip-address port port-number
缺省情况下,不会与控制器建立主动SSL连接
表4-3 与控制器建立被动SSL连接
进入系统视图
system-view
指定与控制器进行SSL通信时使用的PKI域
ovsdb server pki domain domain-name
缺省情况下,未指定与控制器进行SSL通信时使用的PKI域
(可选)设置SSL通信时使用的CA证书文件
ovsdb server bootstrap ca-certificate ca-filename
缺省情况下,与控制器进行SSL通信时使用PKI域中的CA证书文件
与控制器建立被动SSL连接
ovsdb server pssl [ port& port-number
缺省情况下,不会与控制器建立被动SSL连接
表4-4 与控制器建立主动TCP连接
进入系统视图
system-view
与控制器建立主动TCP连接
ovsdb server tcp ip ip-address port port-number
缺省情况下,不会与控制器建立主动TCP连接
表4-5 与控制器建立被动TCP连接
进入系统视图
system-view
与控制器建立被动TCP连接
ovsdb server ptcp [ port port-number ]
缺省情况下,不会与控制器建立被动TCP连接
需要注意的是,为了保证OVSDB服务器能够与控制器建立连接,在开启OVSDB服务器前,必须先配置至少一条与控制器的连接。
表4-6 开启OVSDB服务器
进入系统视图
system-view
开启OVSDB服务器
ovsdb server enable
缺省情况下,OVSDB服务器处于关闭状态
表4-7 开启OVSDB VTEP服务
进入系统视图
system-view
开启OVSDB VTEP服务
vtep enable
缺省情况下,OVSDB VTEP服务处于关闭状态
隧道的全局源地址
用户需要在VTEP设备上配置VXLAN隧道的全局源地址,该地址会通过OVSDB协议上报给控制器,用于控制器对VTEP设备进行部署和控制。
采用OVSDB对VTEP设备进行部署和控制时,用户不能在VXLAN隧道的Tunnel接口下手工指定源地址,否则会影响控制器对VTEP设备的管理。
表4-8 配置VXLAN隧道的全局源地址
进入系统视图
system-view
配置VXLAN隧道的全局源地址
tunnel global source-address ip-address
缺省情况下,未配置VXLAN隧道的全局源地址
进入系统视图
system-view
进入接口视图
进入二层以太网接口视图
interface interface-type interface-number
进入二层聚合接口视图
interface bridge-aggregation interface-number
指定当前接口为用户侧的接入端口
vtep access port
缺省情况下,接口不是用户侧的接入端口
开启组播隧道泛洪代理功能后,系统会将控制器下发的组播隧道转换为具有泛洪代理功能的隧道。VXLAN内的广播、组播和未知单播流量将通过具有泛洪代理功能的隧道发送到泛洪代理服务器,由代理服务器进行复制并转发到其他远端VTEP。采用泛洪代理(服务器复制)方式转发站点间的泛洪流量时,必须开启该功能。
典型配置举例
头端复制配置举例
1. 组网需求
Switch A、Switch B、Switch C为与服务器连接的VTEP设备。虚拟机VM 1、VM 2和VM 3同属于VXLAN 10。通过VXLAN实现不同站点间的二层互联,确保虚拟机在站点之间进行迁移时用户的访问流量不会中断。
具体需求为:
·&&&&&通过控制器下发配置,在不同VTEP之间建立VXLAN隧道。
·&&&&&站点之间的泛洪流量采用头端复制的方式转发。
头端复制组网图
3. 配置步骤
(1)&&&&&配置IP地址、单播路由协议、控制器
为中的控制器和各台设备配置IP地址,并配置单播路由协议,实现不同设备之间的互通。在IP核心网中还需要部署VXLAN IP网关,以实现VXLAN 10内的虚拟机与外界网络通信。具体配置过程略。
(2)&&&&&配置Switch A
# 开启L2VPN能力。
&SwitchA& system-view
[SwitchA] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchA] undo vxlan ip-forwarding
# 配置与控制器建立主动TCP连接,连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。
[SwitchA] ovsdb server tcp ip 10.0.2.15 port 6632
# 开启OVSDB服务器。
[SwitchA] ovsdb server enable
# 开启OVSDB VTEP服务。
[SwitchA] vtep enable
# 指定接入服务器的接口FortyGigE1/0/1上为用户侧的接入端口。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] vtep access port
[SwitchA-FortyGigE1/0/1] quit
(3)&&&&&配置Switch B
# 开启L2VPN功能。
&SwitchB& system-view
[SwitchB] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchB] undo vxlan ip-forwarding
# 配置与控制器建立主动TCP连接,连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。
[SwitchB] ovsdb server tcp ip 10.0.2.15 port 6632
# 开启OVSDB服务器。
[SwitchB] ovsdb server enable
# 开启OVSDB VTEP服务。
[SwitchB] vtep enable
# 指定接入服务器的接口FortyGigE1/0/1上为用户侧的接入端口。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] vtep access port
[SwitchB-FortyGigE1/0/1] quit
(4)&&&&&配置Switch C
# 开启L2VPN功能。
&SwitchC& system-view
[SwitchC] l2vpn enable
# 配置VXLAN隧道工作在二层转发模式。
[SwitchC] undo vxlan ip-forwarding
# 配置与控制器建立主动TCP连接,连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。
[SwitchC] ovsdb server tcp ip 10.0.2.15 port 6632
# 开启OVSDB服务器。
[SwitchC] ovsdb server enable
# 开启OVSDB VTEP服务。
[SwitchC] vtep enable
# 指定接入服务器的接口FortyGigE1/0/1上为用户侧的接入端口。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] vtep access port
[SwitchC-FortyGigE1/0/1] quit
(5)&&&&&控制器上进行VXLAN配置(略)
4. 验证配置
(1)&&&&&验证VTEP设备(下文以Switch A为例,其它设备验证方法与此类似)
# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。
[SwitchA] display interface tunnel
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64kbps
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
# 查看Switch A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的以太网服务实例等信息。
[SwitchA] display l2vpn vsi verbose
VSI Name: evpn2014
& VSI Index&&&&&&&&&&&&&&
& VSI State&&&&&&&&&&&&&&
& MTU&&&&&&&&&&&&&&&&&&&&
& Bandwidth&&&&&&&&&&&&&&
& Broadcast Restrain&&&&& : -
& Multicast Restrain&&&&& : -
& Unknown Unicast Restrain: -
& MAC Learning&&&&&&&&&&& : Enabled
& MAC Table Limit&&&&&&&& : -
& Drop Unknown&&&&&&&&&&& : -
& Flooding&&&&&&&&&&&&&&&
& VXLAN ID&&&&&&&&&&&&&&&
& Tunnels:
&&& Tunnel Name&&&&&&&&& Link ID&&& State& Type&&&&&&& Flooding proxy
&&& Tunnel1&&&&&&&&&&&&& 0x5000001& Up&&&& Manual&&&&& Disabled
&&& Tunnel2&&&&&&&&&&&&& 0x5000002& Up&&&& Manual&&&&& Disabled
&&& AC&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&Link ID&&& State
&&& FGE1/0/1 srv2&&
&&&&&&&&&&&&&&&&&&0&&&&&&&&& Up
# 查看Switch A上VSI的MAC地址表项信息,可以看到已学习到的MAC地址信息。
&SwitchA& display l2vpn mac-address
MAC Address&&&&& State&&& VSI Name&&&&&&&&&&&&&&&&&&&&&&& Link ID/Name& Aging
00ea-&& Dynamic& SDN_VSI_8008&&&&&&&&&&&&&&&&&&& 0&&&&&&&&&&&& Aging
0023-89aa-2f0a&& Dynamic& SDN_VSI_8008&&&&&&&&&&&&&&&&&&& Tunnel257&&&& Aging
3c8c-404e-dd46&& Dynamic& SDN_VSI_8008&&&&&&&&&&&&&&&&&&& Tunnel257&&&& Aging
--- 3 mac address(es) found& ---
(2)&&&&&验证主机
虚拟机VM 1、VM 2、VM 3之间可以互访。
泛洪代理配置举例
、Switch B、Switch C为与服务器连接的VTEP设备。虚拟机VM 1、VM 2和VM 3同属于VXLAN 10。通过VXLAN实现不同站点间的二层互联,确保虚拟机在站点之间进行迁移时用户的访问流量不会中断。
VTEP之间通过控制器下发配置建立VXLAN隧道。
采用控制器下发的MAC地址表项进行流量转发。
泛洪代理组网图
IP地址、单播路由协议、控制器和服务器
配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。
开启L2VPN功能。
[SwitchA] l2vpn enable
与控制器建立连接并开启OVSDB服务器。
[SwitchA] ovsdb server enable
开启OVSDB VTEP服务。
配置接口Loopback0的IP地址,作为VXLAN隧道的全局源地址。
[SwitchA-LoopBack0] ip address 1.1.1.1 255.255.255.255
[SwitchA-LoopBack0] quit
[SwitchA] tunnel global source-address 1.1.1.1
在接入服务器的接口FortyGigE1/0/1上指定其为接入侧端口。
] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] vtep access port
[SwitchA-FortyGigE1/0/1] quit
关闭远端MAC地址自动学习功能。
开启组播隧道泛洪代理功能。
开启L2VPN功能。
[SwitchB] l2vpn enable
与控制器建立连接并开启OVSDB服务器。
[SwitchB] ovsdb server enable
开启OVSDB VTEP服务。
配置接口Loopback0的IP地址,作为VXLAN隧道的全局源地址。
[SwitchB-LoopBack0] ip address 2.2.2.2 255.255.255.255
[SwitchB-LoopBack0] quit
[SwitchB] tunnel global source-address 2.2.2.2
在接入服务器的接口FortyGigE1/0/1上指定其为接入侧端口。
] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] vtep access port
[SwitchB-FortyGigE1/0/1] quit
关闭远端MAC地址自动学习功能。
开启组播隧道泛洪代理功能。
开启L2VPN功能。
[SwitchC] l2vpn enable
与控制器建立连接并开启OVSDB服务器。
[SwitchC] ovsdb server enable
开启OVSDB VTEP服务。
配置接口Loopback0的IP地址,作为VXLAN隧道的全局源地址。
[SwitchC-LoopBack0] ip address 3.3.3.3 255.255.255.255
[SwitchC-LoopBack0] quit
[SwitchC] tunnel global source-address 3.3.3.3
在接入服务器的接口FortyGigE1/0/1上指定其为接入侧端口。
] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] vtep access port
[SwitchC-FortyGigE1/0/1] quit
关闭远端MAC地址自动学习功能。
开启组播隧道泛洪代理功能。
VXLAN配置(略)
VTEP设备(下文以Switch A为例,其它设备验证方法与此类似)
查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。
display interface tunnel 1
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
查看Switch A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的以太网服务实例等信息,其中Tunnel1和Tunnel2为去往SwitchB、SwitchC的隧道,Tunnel3为去往代理服务器的隧道。
VSI Name: evpn2014
& VSI Index&&&&&&&&&&&&&&
& VSI State&&&&&&&&&&&&&&
& MTU&&&&&&&&&&&&&&&&&&&&
& Bandwidth&&&&&&&&&&&&&&
& Broadcast Restrain&&&&& : -
& Multicast Restrain&&&&& : -
& Unknown Unicast Restrain: -
& MAC Learning&&&&&&&&&&& : Enabled
& MAC Table Limit&&&&&&&& : -
& Drop Unknown&&&&&&&&&&& : -
& Flooding&&&&&&&&&&&&&&&
& VXLAN ID&&&&&&&&&&&&&&&
& Tunnels:
&&& Tunnel Name&&&&&&&&& Link ID&&& State& Type&&&&&&& Flooding proxy
&&& Tunnel1&&&&&&&&&&&&& 0x5000001& Up&&&& Manual&&&&& Disabled
&&& Tunnel2&& &&&&&&&&&&&0x5000002& Up&&

我要回帖

更多关于 虚拟机 组播 的文章

 

随机推荐