VXLAN (Virtual eXtensible Local Area Network)

VXLAN是为云计算而生的,考虑到虚拟机在运行过程中,如果想在不改变IP地址的前提下,在不同地域间移动,在VXLAN之前,技术上是做不到的。

image.png

VXLAN的思想就是,把一个虚拟的二层网络(以太网),叠加在已有的三层网络(IP网)之上。这样不同地域的虚拟机可以通过VXLAN技术,好像都处于同一个局域网之中。这样,VM在不同地域间移动时,因为就像在同一个局域网中移动一样,所以IP地址可以保持不变。

VXLAN桢结构:

image.png

VXLAN也可以说是在现有的三层网络中,建立一个新的,虚拟的二层网络。这个虚拟的二层网络,好比是在下面的三层网络中建立了一条隧道。隧道两端的终点需要一个特殊的设备,称为虚拟隧道端点(VXLAN Tunnel End Point 或 VTEP)。

image.png

在VXLAN头中,有一个24比特的VNI,用于唯一标识一个VXLAN。

VNI/VXLAN隧道/VXLAN包头,都在VTEP中处理,虚拟机是看不到它们的。VTEP可能实现在交换机或服务器上,可以是硬件或软件。

举个简单例子

同一个局域网内,有两个虚拟机。分别通过网卡nic0互连。

在第一个虚拟机中输入:

sudo ip link add name vxlan-nic type vxlan id 1234 group 224.0.0.123 dev nic0 dstport 4789
sudo ip link set vxlan-nic up
sudo ip addr add 10.0.0.1/24 dev vxlan-nic

第二个虚拟机中输入:

sudo ip link add name vxlan-nic type vxlan id 1234 group 224.0.0.123 dev nic0 dstport 4789
sudo ip link set vxlan-nic up
sudo ip addr add 10.0.0.2/24 dev vxlan-nic

两个虚拟机就可以在虚拟局域网(10.0.0.0/24 )中通信了。

参考资料

  1. Virtual Extensible LAN (VXLAN) Overview
  2. RFC 7348: Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容