vxlan基础学习总结
基本术语
Vxlan封装格式
1、 Vxlan 帧格式
RFC7348规定了VXLAN报文的格式 :
VXLAN Header:VXLAN协议新定义的VXLAN头,8字节 (默认使用UDP Dport 4789):
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|R|R|R|I|R|R|R| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VXLAN Network Identifier (VNI) | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
新增字段格式如下:
新增加的VXLAN报文封装也引入了一个问题,即MTU值的 设置。一般来说,虚拟机的默认MTU为1500 Bytes,也就是说原始以太 网报文最大为1500字节。这个报文在经过VTEP时,会封装上50 字节的新报文头(VXLAN头8字节+UDP头8字节+外部IP头20字 节+外部MAC头14字节),这样一来,整个报文长度达到了1550 字节。而现有的VTEP设备,一般在解封装VXLAN报文时,要求 VXLAN报文不能被分片,否则无法正确解封装。这就要求VTEP之 间的所有网络设备的MTU最小为1550字节。如果中间设备的MTU值不方便进行更改,那么设置虚拟机的MTU 值为1450,也可以暂时解决这个问题。
2、Vxlan gpe格式
RFC7348中规定的VXLAN内部的载荷报文必须是以太网报文,这 就限制了VXLAN协议的使用范围。为了让VXLAN能够更广泛的支 持其他协议报文的Overlay传输,RFC草案正在探索VXLAN Generic Protocol Encapsulation(GPE)即VXLAN通用协议封装。
vpp代码介绍:https://github.com/vpp-dev/vpp/blob/master/src/vnet/vxlan-gpe/vxlan-gpe-rfc.txt
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|R|R|R|I|P|R|R| Reserved |Next Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VXLAN Network Identifier (VNI) | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
新增字段格式如下:
3、Vxlan gbp格式
Vxlan gbp的格式在vpp源码中说明,具体如下:
在文件:src/vnet/vxlan-gbp/vxlan_gbp_packet.h中
* 0 1 2 3
* 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* |G|R|R|R|I|R|R|R|R|D|E|S|A|R|R|R| Group Policy ID |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | VXLAN Network Identifier (VNI) | Reserved |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
相关字段描述如下:
BGP 新增了 EVPN 子地址族,用于协商并建立 BGP EVPN 邻居。EVPN 子地址族使用的地址族编号为:AFI=25,SAFI=70
参考资料
1、https://www.cnblogs.com/josie-xu/p/10511302.html 2、https://www.cnblogs.com/josie-xu/p/10516863.html 3、http://www.h3c.com/cn/d_201811/1131076_30005_0.html
相关文章
- 五万字总结,深度学习基础。「建议收藏」
- Java入门基础学习总结[通俗易懂]
- 零基础学习设计模式之装饰器模式(文档)
- Android游戏激活成功教程 入门级零基础起步学习激活成功教程!MT管理器+修改器使用方法 小白看了绝对有用
- JavaScript 入门基础 - 对象(五)
- 「Docker学习系列教程」基础篇小总结及高级篇预告
- Spring基础(三):IOC底层原理
- 机器学习的基础图表!
- MySQL学习之基础命令实操总结
- Java基础学习笔记一 Java介绍详解编程语言
- Java基础学习笔记二十八 管家婆综合项目详解编程语言
- java基础学习总结——面向对象1详解编程语言
- Java基础学习总结——Java对象的序列化和反序列化详解编程语言
- java基础学习总结——多态(动态绑定)详解编程语言
- java基础学习总结——this关键字详解编程语言
- java基础学习总结——equals方法详解编程语言
- java基础学习总结——static关键字详解编程语言
- xml基础学习笔记详解编程语言
- Linux驱动程序开发基础知识指南(linux驱动基础开发)
- Mybatis学习总结(一):入门基础详解编程语言
- Django基础学习二详解编程语言
- Linux系统基础学习必备书籍(linux好书)
- Linux分支:从基础到领先(linux的分支)
- 学习Oracle SQL必备:掌握基础,打造高效查询技能(oraclesql基础)
- 学习Redis构建稳固的基础(学习redis的基础)
- 零基础学习AJAX之AJAX的简介和基础