小挨踢gril▲网络工程师你真的理解VxLAN技术吗?(原来二层网络可以这么玩)

VxLAN概念VxLAN(VirtualeXtensibleLocalAreaNetwork):虚拟扩展LAN网络 , 将VLAN技术进行了延伸 。 VxLAN术语VNI(VXLANNetworkIdentifier):用于区分VXLAN段 , 不同VXLAN段的租户不能直接进行二层通信 。 一个租户可以有一个或多个VNI , VNI由24比特组成 , 支持多达16M的租户 。
BD(BridgeDomain):类似传统网络中采用VLAN划分广播域方法 , 在VXLAN网络中通过BD划分广播域 。 在VXLAN网络中 , 将VNI以1:1方式映射到广播域BD , 一个BD就表示着一个广播域 , 同一个BD内的主机就可以进行二层互通 。
VTEP(VxlanTunnelEndPoint):VXLANTunnelEndpoints对VXLAN报文进行封装和解封装 。 VXLAN报文中源IP地址为源端VTEP的IP地址 , 目的IP地址为目的端VTEP的IP地址 。 一对VTEP地址就对应着一条VXLAN隧道 。 在源端封装报文后通过隧道向目的端VTEP发送封装报文 , 目的端VTEP对接收到的封装报文进行解封装 。 VTEP可以是服务器也可以是网络交换设备 。
VAP(VirtualAccessPoint):是VXLAN业务接入点 , 可以基于VLAN或报文流封装类型接入业务:
1、基于VLAN接入业务
2、基于报文流封装类型接入业务
NVE(NetworkVirtrualizationEdge网络虚拟边缘节点):是实现网络虚拟化功能的网络实体 。 报文经过NVE封装转换后 , NVE间就可基于三层基础网络建立二层虚拟化网络 。
二层网关:类似传统网络的二层接入设备 , 在VXLAN网络中通过二层网关解决租户接入VXLAN虚拟网络 , 也可用于同一VXLAN虚拟网络的子网通信 。
VxLAN出现的原因一项新技术的兴起和发展肯定是有原因的 , 为了解决当下的哪些问题?
我们都知道传统VLAN最大支持4096个(在Ethernet中插入4个字节的VLANTAG , VLANID只有12bit) , 为了扩充VLAN资源同时保障不产生大的广播域 , 运营商采用QinQ(802.1qin802.1q),变向的扩充VLAN资源 。 而对于大型虚拟化云计算这种动辄上万甚至更多租户的场景 , VLAN的隔离能力无法满足 。 而VxLAN进一步扩充了VLAN资源 , 因为8个字节的VxLANHeader , 其中24bit的VLANID(VNI)用来标识不同的二层网络 , 可以标识16M约1600万个不同的二层网络(租户) , 有效地解决了云计算中海量租户隔离的问题 。 随着IDC的发展 , 一个物理接口可能挂上百个VM , 这样大量的MAC表项是小型交换机难以承受的(MAC地址学习是flood-learn方式 , 是消耗交换机内存的 , 容易导致MAC地址表溢出 , 新MAC无法学习到) , 通过VxLAN技术将这些MAC虚拟封装后就大大缩减了MAC表项(虚拟机的EthernetFrame被VTEP封装在UDP里面 , 一个VTEP可以被一个物理主机上的所有虚拟机共用 。 从交换机的角度 , 交换机看到的是VTEP之间在传递UDP数据 。 通常一个物理主机对应一个VTEP , 所以交换机的MAC地址表 , 只需要记录与物理主机数量相当条目就可以了 , 虚拟化带来的MAC地址表暴增的问题也不存在了 。 ) 。 现在不少数据中心IDC(随着公有云服务的兴起) , 都需要提供多租户的功能(也即-不同用户之间需要保证独立地分配IP和MAC地址) 。 数据中心大量虚拟机的部署及迁移 , 需要保证迁移过程不中断业务(IP与MAC绑定保持不变) , 这就是大二层解决的问题 , Vxlan就很好的实现了大二层网络的通信需求(通过overlay技术实现了在L3网络里传输L2数据 , 使得虚机迁移中不改变IP地址也即迁移不影响业务) 。
小挨踢gril▲网络工程师你真的理解VxLAN技术吗?(原来二层网络可以这么玩)
文章图片
数据中心中虚拟机迁移是常态工作
VxLAN报文
小挨踢gril▲网络工程师你真的理解VxLAN技术吗?(原来二层网络可以这么玩)
文章图片
(MACinUDP也即L2overL4) , 二层报文用三层协议进行封装 , 可实现二层网络在三层范围
VxLAN是基于IP网络之上 , 它采用的是MACinUDP技术 , 其实它与GRE/IPSEC等tunnel技术类似 , 这种封装技术对中间网络没有特殊要求 , 只要可以识别IP报文就可以传送 。