VxLAN协议-学习笔记

简介:

Virtual extensible Local Area Network

RFC7348

VMware.Cisco.etc

2014年定稿(继1998年VLAN之后的新拓展协议)

一种网络虚拟化技术,借助UDP层构建的一种Overlay(覆盖网络)。

虚拟化隧道通信技术,通过三层网络搭建的虚拟化二层网络。使逻辑网络与物理网络解耦合,实现灵活组网。

通过VxLAN隧道, “二层域”可突破物理上的界限,实现大二层网络中VM间的通信。

L2 over L4(MAC-in-UDP)

NVO3(Network virtualization over layer 3)

 

相关概念:

VTEP(VxLAN Tunnel Endpoints,VxLAN隧道端点),具有自动学习能力,能处理报文(封包、解包)

VM(Virtual Machine,虚拟机)

VNI(VxLAN Network Identifier,VxLAN隧道识别码)

 

报文结构:

MAC:Src MAC为源VM所属VTEP的MAC地址;Dst MAC为到达的VTEP的路径上,下一跳设备的MAC地址 。

IP:Src IP为源VM所属VTEP的IP地址;Dst IP为目的VM属于VTEP的IP地址。

 

 0             13   14                 33   34      41  42     49  50      ...   ...  
MAC(14 bytes) IP(20 bytes) UDP(8 bytes) VxLAN(8 bytes) Original L2 Frame FCS

 

UDP Header

0 1 2 3 6 5 4 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
UDP Src Port(Use Hash Algorithm) VxLAN Port(4789, 0x12b5)
UDP Length Checksum

 

VxLAN Header

0 1 2 3 6 5 4 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Flags Resv(Reserved Bits, All is 0)
VNI(VxLAN Network Idertifier) Resv(Reserved Bits, All is 0)

 

隧道转发流程

 

              原始报文                       封装                                       Logic Tunnel                                             解封装                                       

VM -----------------------------> VTEP ........................................ Network ......................................................VTEP ------------------------------------> VM

                 发送                                                                    经典路由转发                                                                              接收

 

封装:(1)将原始报文封装成新的UDP报文;(2)使用物理网络中的MAC和IP作外层头

解封装:(1)拆除VxLAN头;(2)根据VNI把原始报文发送到目的虚拟机

 

解包使用的三元组:Inner MAC Addr,VNI,VTEP IP Addr

 

协议优点:

1、隐藏了原始报文,表现得明里UDP,暗里为封装得完整帧

2、解决了VLAN数量不足得问题,支持更大的容量,增加了隔离用户的数量

 

上一篇:编写代码:ATM的登陆界面(用户验证、主菜单的选择) 查询-- 存款-- 取款-- 退出


下一篇:《卸甲笔记》-PostgreSQL和Oracle的SQL差异分析之五:函数的差异(三)