交换机
园区网交换机
数据中心与云计算交换机
行业精选交换系列
工业交换机
意图网络指挥官
无线
放装型无线接入点
墙面型无线接入点
智分无线接入点
室外无线接入点
场景化无线
无线控制器
行业精选无线系列
物联网
安全
大数据安全平台
下一代防火墙
安全网关
检测管理安全
安全服务
安全云
统一运维
身份管理
服务产品
运营商
政府
金融
互联网
电力能源
制造业
高教/职教
医疗卫生
交通
地产酒店文旅·连锁服务
公共安全
VXLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网)是建立在物理IP网络之上的虚拟以太网,是一种L2 over UDP技术。
随着网络和虚拟化技术的发展,服务器虚拟化在数据中心中的应用越发广泛。在数据中心的服务器设备上部署虚拟机提高了服务器的设备利用率,有效降低了数据中心的硬件成本和运营成本。
虚拟化技术的引入为传统数据中心网络带来了新的挑战。
l 二层网络边界限制
随着虚拟化技术的应用,每个实体服务器上可能会运行大量虚拟机,因此二层网络中虚拟机MAC地址数量面临数量级的增长。为了正常转发数据报文,接入交换机需要学习每一个二层网络中虚拟机的MAC地址。受限于硬件水平,接入交换机的MAC地址表容量一般较小,难以满足需求。
l 网络隔离能力有限
在传统数据中心网络中,虚拟机通过VLAN进行流量隔离,不同租户虚拟机被划分到不同的VLAN中。VLAN技术通过VLAN ID对不同的VLAN进行区分,实际可分配的VLAN ID数量为4094,这个数量在某些大规模数据中心内是不足的。另外传统的VLAN无法满足网络动态调整的需求,网络的扩容和调整都非常困难。
l 虚拟机迁移限制
由于服务器硬件资源问题(如CPU过高、磁盘不够和内存不足等)或机房的搬迁转移,虚拟机需迁移到其他服务器上。为了保证虚拟机迁移过程中业务不被中断,要求虚拟机的MAC地址和IP地址在迁移前后不发生改变,因此虚拟机只能在当前所在二层网络中进行迁移。
VXLAN技术有效解决了上述问题。
l 打破二层网络边界限制,解决MAC容量问题
VXLAN利用UDP封装虚拟机发出的数据包,UDP数据包的外层IP/MAC头部均使用物理网络的IP/MAC地址。因此,除了VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力。
l 解决VLAN数量不足问题
VXLAN引入了类似VLAN ID的用户标识,称为VNI(VXLAN Network ID,虚拟扩展本地网络标识符),由24比特组成,可以支持多达16M的VXLAN网段的网络隔离,对用户进行隔离和标识不再受到限制,可满足海量租户。
l 虚拟机迁移限制
VXLAN通过采用MAC in UDP封装来延伸二层网络,实现了物理网络和虚拟网络解耦,租户规划虚拟网络时不需要考虑物理网络IP地址和广播域的限制,降低了网络管理的难度。通过VXLAN构建大二层网络,保证了在虚拟迁移时虚拟机的IP地址、MAC地址等参数保持不变。
在下图所示的拓扑中,为实现:
l 将网络中的虚拟机划分为两个VXLAN子网,子网之间可以通过三层转发互访。
l 用SDN控制器进行VXLAN配置的管理和维护。
l 在网关设备故障的情况下VXLAN流量可以迅速收敛。
需要在该拓扑中配置集中式静态隧道VXLAN。
l 在VTEP1、VTEP2、VTEP3和VTEP4上配置IPv4单播路由协议(如OSPF),保证设备间单播路由可达(略)。
l 在VTEP3和VTEP4上配置Anycast网关,配置相同VXLAN网关和VTEP IP。
l 在所有VM上配置VXLAN和网关地址(略)。
l VTEP3和VTEP4之间创建BGP邻居,并配置BGP-EVPN。
以下内容可以手工配置,也可通过SDN控制器下发。在本典型配置举例中将以手工配置的方式呈现。
l 在VTEP1创建VXLAN实例VXLAN 10和VXLAN 20,分别关联VLAN 10和VLAN 20。关闭自动学习MAC地址功能。配置2条Overlaytunnel隧道,连接VTEP2和Anycast网关。配置VXLAN 10和VXLAN 20分别关联2条隧道。
l 在VTEP2创建VXLAN实例VXLAN 20,关联VLAN 20。关闭自动学习MAC地址功能。配置2条Overlaytunnel隧道,连接VTEP1和Anycast网关。配置VXLAN 20关联2条隧道。
l 在VTEP3上创建VXLAN实例VXLAN 10和VXLAN 20。关闭自动学习MAC地址功能。配置Anycast-MAC地址。配置2个VXLAN路由接口,分别配置IP地址为10.1.1.1/24和10.1.2.1/24。配置VXLAN 10关联地址为10.1.1.1/24的VXLAN路由接口。配置VXLAN 20关联地址为10.1.2.1/24的VXLAN路由接口。配置2条Overlaytunnel隧道,分别连接VTEP1和VTEP2。配置VXLAN 10和VXLAN 20分别关联2条隧道。
l VTEP4配置和VTEP3基本相同。
l 分别在VTEP3和VTEP4上配置Loopback 1接口并分配IP地址3.3.3.4和3.3.3.5。两台设备间通过Loopback 1接口建立BGP邻居关系,并在L2VPN EVPN地址族下激活。
(1) 配置VTEP1。
VTEP1> enable
VTEP1# configure terminal
VTEP1(config)# interface loopback 0
VTEP1(config-if-Loopback 0)# ip address 1.1.1.1 255.255.255.255
VTEP1(config-if-Loopback 0)# exit
VTEP1(config)# interface overlaytunnel 1
VTEP1(config-if-OverlayTunnel 1)# tunnel source 1.1.1.1
VTEP1(config-if-OverlayTunnel 1)# tunnel destination 2.2.2.2
VTEP1(config-if-OverlayTunnel 1)# exit
VTEP1(config)# interface overlaytunnel 2
VTEP1(config-if-OverlayTunnel 2)# tunnel source 1.1.1.1
VTEP1(config-if-OverlayTunnel 2)# tunnel destination 3.3.3.3
VTEP1(config-if-OverlayTunnel 2)# exit
VTEP1(config)# vxlan 10
VTEP1(config-vxlan)# tunnel-interface overlaytunnel 1
VTEP1(config-vxlan)# tunnel-interface overlaytunnel 2
VTEP1(config-vxlan)# extend-vlan 10
VTEP1(config-vxlan)# end
VTEP1(config)# vxlan 20
VTEP1(config-vxlan)# tunnel-interface overlaytunnel 1
VTEP1(config-vxlan)# tunnel-interface overlaytunnel 2
VTEP1(config-vxlan)# extend-vlan 20
VTEP1(config-vxlan)# end
(2) 配置VTEP 2。
VTEP2> enable
VTEP2# configure terminal
VTEP2(config)# interface loopback 0
VTEP2(config-if-Loopback 0)# ip address 2.2.2.2 255.255.255.255
VTEP2(config-if-Loopback 0)# exit
VTEP2(config)# interface overlaytunnel 1
VTEP2(config-if-OverlayTunnel 1)# tunnel source 2.2.2.2
VTEP2(config-if-OverlayTunnel 1)# tunnel destination 1.1.1.1
VTEP2(config-if-OverlayTunnel 1)# exit
VTEP2(config)# interface overlaytunnel 2
VTEP2(config-if-OverlayTunnel 2)# tunnel source 2.2.2.2
VTEP2(config-if-OverlayTunnel 2)# tunnel destination 3.3.3.3
VTEP2(config-if-OverlayTunnel 2)# exit
VTEP2(config)# vxlan 20
VTEP2(config-vxlan)# tunnel-interface overlaytunnel 1
VTEP2(config-vxlan)# tunnel-interface overlaytunnel 2
VTEP2(config-vxlan)# extend-vlan 20
VTEP2(config-vxlan)# end
(3) 配置VTEP3。
VTEP3> enable
VTEP3# configure terminal
VTEP3(config)# fabric anycast-gateway-mac 0000.1234.5678
VTEP3(config)# interface loopback 0
VTEP3(config-if-Loopback 0)# ip address 3.3.3.3 255.255.255.255
VTEP3(config-if-Loopback 0)# exit
VTEP3(config)# interface loopback 1
VTEP3(config-if-Loopback 0)# ip address 3.3.3.4 255.255.255.255
VTEP3(config-if-Loopback 0)# exit
VTEP3(config)# route bgp 10000
VTEP3(config-router)# neighbor 3.3.3.5 remote-as 10000
VTEP3(config-router)# neighbor 3.3.3.5 update-source loopback 1
VTEP3(config-router)# address-family l2vpn evpn
VTEP3(config-router-af)# neighbor 3.3.3.5 activate
VTEP3(config-router-af)# neighbor 3.3.3.5 send-community extended
VTEP3(config-router-af)# exit-address-family
VTEP3(config-router)# exit
VTEP3(config)# interface overlaytunnel 1
VTEP3(config-if-OverlayTunnel 1)# tunnel source 3.3.3.3
VTEP3(config-if-OverlayTunnel 1)# tunnel destination 2.2.2.2
VTEP3(config-if-OverlayTunnel 1)# exit
VTEP3(config)# interface overlaytunnel 2
VTEP3(config-if-OverlayTunnel 2)# tunnel source 3.3.3.3
VTEP3(config-if-OverlayTunnel 2)# tunnel destination 1.1.1.1
VTEP3(config-if-OverlayTunnel 2)# exit
VTEP3(config)# interface overlayrouter 1
VTEP3(config-if-OverlayRouter 1)# ip address 10.1.1.1/24
VTEP3(config-if-OverlayRouter 1)# anycast-gateway
VTEP3(config-if-OverlayRouter 1)# exit
VTEP3(config)# interface overlayrouter 2
VTEP3(config-if-OverlayRouter 2)# ip address 10.1.2.1/24
VTEP3(config-if-OverlayRouter 2)# anycast-gateway
VTEP3(config-if-OverlayRouter 2)# exit
VTEP3(config)# vxlan 10
VTEP3(config-vxlan)# tunnel-interface overlaytunnel 1
VTEP3(config-vxlan)# tunnel-interface overlaytunnel 2
VTEP3(config-vxlan)# router-interface overlayrouter 1
VTEP3(config-vxlan)# end
VTEP3(config)# vxlan 20
VTEP3(config-vxlan)# tunnel-interface overlaytunnel 1
VTEP3(config-vxlan)# tunnel-interface overlaytunnel 2
VTEP3(config-vxlan)# router-interface overlayrouter 2
VTEP3(config-vxlan)# end
(4) 配置VTEP4
VTEP4> enable
VTEP4# configure terminal
VTEP4(config)# fabric anycast-gateway-mac 0000.1234.5678
VTEP4(config)# interface loopback 0
VTEP4(config-if-Loopback 0)# ip address 3.3.3.3 255.255.255.255
VTEP4(config-if-Loopback 0)# exit
VTEP4(config)# interface loopback 1
VTEP4(config-if-Loopback 0)# ip address 3.3.3.5 255.255.255.255
VTEP4(config-if-Loopback 0)# exit
VTEP4(config)# route bgp 10000
VTEP4(config-router)# neighbor 3.3.3.4 remote-as 10000
VTEP4(config-router)# neighbor 3.3.3.4 update-source loopback 1
VTEP4(config-router)# address-family l2vpn evpn
VTEP4(config-router-af)# neighbor 3.3.3.4 activate
VTEP4(config-router-af)# neighbor 3.3.3.4 send-community extended
VTEP4(config-router-af)# exit-address-family
VTEP4(config-router)# exit
VTEP4(config)# interface overlaytunnel 1
VTEP4(config-if-OverlayTunnel 1)# tunnel source 3.3.3.3
VTEP4(config-if-OverlayTunnel 1)# tunnel destination 2.2.2.2
VTEP4(config-if-OverlayTunnel 1)# exit
VTEP4(config)# interface overlaytunnel 2
VTEP4(config-if-OverlayTunnel 2)# tunnel source 3.3.3.3
VTEP4(config-if-OverlayTunnel 2)# tunnel destination 1.1.1.1
VTEP4(config-if-OverlayTunnel 2)# exit
VTEP4(config)# interface overlayrouter 1
VTEP4(config-if-OverlayRouter 1)# ip address 10.1.1.1/24
VTEP4(config-if-OverlayRouter 1)# anycast-gateway
VTEP4(config-if-OverlayRouter 1)# exit
VTEP4(config)# interface overlayrouter 2
VTEP4(config-if-OverlayRouter 2)# ip address 10.1.2.1/24
VTEP4(config-if-OverlayRouter 2)# anycast-gateway
VTEP4(config-if-OverlayRouter 2)# exit
VTEP4(config)# vxlan 10
VTEP4(config-vxlan)# tunnel-interface overlaytunnel 1
VTEP4(config-vxlan)# tunnel-interface overlaytunnel 2
VTEP4(config-vxlan)# router-interface overlayrouter 1
VTEP4(config-vxlan)# end
VTEP4(config)# vxlan 20
VTEP4(config-vxlan)# tunnel-interface overlaytunnel 1
VTEP4(config-vxlan)# tunnel-interface overlaytunnel 2
VTEP4(config-vxlan)# router-interface overlayrouter 2
VTEP4(config-vxlan)# end
l 上述命令执行后,集中式静态隧道VXLAN配置完毕,VM1、VM2、VM3和VM4之间可互相Ping通。
l 通过show vxlan命令查看设备的VXLAN实例和隧道配置。以VTEP1为例说明。
VTEP1# show vxlan
VXLAN Total Count: 2
VXLAN Capacity : 8000
VXLAN 10
Symmetric property : FALSE
Router Interface : -
Extend VLAN : 10
VTEP Adjacency Count: 2
VTEP Adjacency List :
Interface Source IP Destination IP Type
---------------------- ---------------------------------------------- ---------------------------------------------- -------
OverlayTunnel 1 1.1.1.1 2.2.2.2 static
OverlayTunnel 2 1.1.1.1 3.3.3.3 static
VXLAN 20
Symmetric property : FALSE
Router Interface : -
Extend VLAN : 20
VTEP Adjacency Count: 2
VTEP Adjacency List :
Interface Source IP Destination IP Type
---------------------- ---------------------------------------------- ---------------------------------------------- -------
OverlayTunnel 1 1.1.1.1 2.2.2.2 static
OverlayTunnel 2 1.1.1.1 3.3.3.3 static
l VTEP1的配置文件
!
interface Loopback 0
ip address 1.1.1.1 255.255.255.255
!
interface OverlayTunnel 1
tunnel source 1.1.1.1
tunnel destination 2.2.2.2
!
interface OverlayTunnel 2
tunnel source 1.1.1.1
tunnel destination 3.3.3.3
!
vxlan 10
tunnel-interface OverlayTunnel 1
tunnel-interface OverlayTunnel 2
extend-vlan 10
!
vxlan 20
tunnel-interface OverlayTunnel 1
tunnel-interface OverlayTunnel 2
extend-vlan 20
!
l VTEP2的配置文件
!
interface Loopback 0
ip address 2.2.2.2 255.255.255.255
!
interface OverlayTunnel 1
tunnel source 2.2.2.2
tunnel destination 1.1.1.1
!
interface OverlayTunnel 2
tunnel source 2.2.2.2
tunnel destination 3.3.3.3
!
vxlan 10
tunnel-interface OverlayTunnel 1
tunnel-interface OverlayTunnel 2
extend-vlan 10
!
vxlan 20
tunnel-interface OverlayTunnel 1
tunnel-interface OverlayTunnel 2
extend-vlan 20
!
l VTEP3的配置文件
!
fabric anycast-gateway-mac 0000.1234.5678
!
interface Loopback 0
ip address 3.3.3.3 255.255.255.255
!
interface Loopback 1
ip address 3.3.3.4 255.255.255.255
!
interface OverlayTunnel 1
tunnel source 3.3.3.3
tunnel destination 2.2.2.2
!
interface OverlayTunnel 2
tunnel source 3.3.3.3
tunnel destination 1.1.1.1
!
interface OverlayRouter 1
ip address 10.1.1.1 255.255.255.0
anycast-gateway
!
interface OverlayRouter 2
ip address 10.1.2.1 255.255.255.0
anycast-gateway
!
router bgp 10000
bgp log-neighbor-changes
bgp graceful-restart restart-time 120
bgp graceful-restart stalepath-time 360
bgp graceful-restart
neighbor 3.3.3.5 remote-as 10000
neighbor 3.3.3.5 update-source Loopback 1
address-family ipv4
neighbor 3.3.3.5 activate
exit-address-family
address-family l2vpn evpn
neighbor 3.3.3.5 activate
neighbor 3.3.3.5 send-community extended
exit-address-family
!
vxlan 10
router-interface OverlayRouter 1
tunnel-interface OverlayTunnel 1
tunnel-interface OverlayTunnel 2
!
vxlan 20
router-interface OverlayRouter 2
tunnel-interface OverlayTunnel 1
tunnel-interface OverlayTunnel 2
!
l VTEP4的配置文件
!
fabric anycast-gateway-mac 0000.1234.5678
!
interface Loopback 0
ip address 3.3.3.3 255.255.255.255
!
interface Loopback 1
ip address 3.3.3.5 255.255.255.255
!
interface OverlayTunnel 1
tunnel source 3.3.3.3
tunnel destination 2.2.2.2
!
interface OverlayTunnel 2
tunnel source 3.3.3.3
tunnel destination 1.1.1.1
!
interface OverlayRouter 1
ip address 10.1.1.1 255.255.255.0
anycast-gateway
!
interface OverlayRouter 2
ip address 10.1.2.1 255.255.255.0
anycast-gateway
!
router bgp 10000
bgp log-neighbor-changes
bgp graceful-restart restart-time 120
bgp graceful-restart stalepath-time 360
bgp graceful-restart
neighbor 3.3.3.4 remote-as 10000
neighbor 3.3.3.4 update-source Loopback 1
address-family ipv4
neighbor 3.3.3.4 activate
exit-address-family
address-family l2vpn evpn
neighbor 3.3.3.4 activate
neighbor 3.3.3.4 send-community extended
exit-address-family
!
vxlan 10
router-interface OverlayRouter 1
tunnel-interface OverlayTunnel 1
tunnel-interface OverlayTunnel 2
!
vxlan 20
router-interface OverlayRouter 2
tunnel-interface OverlayTunnel 1
tunnel-interface OverlayTunnel 2
!