1、概述

(1)VXLAN是建立在物理IP(overlay)网络之上的虚拟以太网

使用UDP封装完整的内层以太帧,封装报文头共五十个字节

(2)VXLAN使用24位VXLAN网络标识符(VLAN为12位)

最大支持16,000,000个逻辑网络

(3)VXLAN可跨越物理三层网络

使用UDP封装能在三层物理网络上建立二层逻辑网络

(4)VXLAN利用ip多播封装广播和多播报文

在VXLAN网内广播或多播的报文被封装在ip多播中,如ARP报文

(5)VXLAN利用ECMP(等价多路径负载均衡)

对不同数据流使用不同UDP源端口

(6)VXLAN已提交到ITEF,启动标准化进程

与Cisco, Citrix, Red Hat, Broadcom,Arista等厂商协作

2、VXLAN解决的具体技术问题

(1)VLAN的数量限制:4094个VLAN远不能满足大规模云计算中心的需求,XVLAN最大支持  16,000,000个逻辑网络

(2)物理网络基础设施的限制:基于IP子网的区域划分限制了需要二层网络连通性的应用负载   的部署

(3)ToR交换机MAC表耗尽:虚拟化以及东西向流量导致更多的MAC表项

(4)汇聚层STP(生成树协议)高负荷:由于大量VLAN配置在大量接口,汇聚层交换机的压力大

增。

3、VXLAN报文格式

Outer header:封装VXLAN的UDP报文头,VXLAN封装在UDP报文的数据部分。

VXLAN Header:VXLAN报文头,包括:

F:未使用

I:表示VXLAN Network ID有效

Reserved:未使用

VXLAN Network ID:24bit,标识VXLAN网络标识,类似VLAN的ID,

只是必VLAN所表示的范围大很多

4、VXLAN网络的初始化

VTEP :VXLAN隧道终端 (VXLAN Tunneling End Point),用于多VXLAN报文进行封装/解封    装,包括mac请求报文和正常VXLAN数据报文,在一端封装报文后通过隧道向另一端VTEP发送封装报文,另一端VTEP接收到封装的报文解封装后根据被封装的MAC地址进行转发。VTEP可由支持VXLAN的硬件设备或软件来实现。

VM1及VM2连接到VXLAN网络100, 两个VXLAN主机加入IP多播组239.119.1.1

5、VXLAN网络交互过程

以ARP交互为例,其他数据报的交互类似

ARP请求:

(1)VM1以广播的形式发送ARP请求

(2)VTEP1把ARP请求报文被封装在IP多播报文中,并打上VXLAN标识为100

(3)VTEP1在ip多播组内里进行多播

(4)VTEP2接收到ip多播报文后对内层MAC地址到外层ip地址的映射进行学习,并解封装后在
             本地VXLAN标识为100的虚拟局域内广播(这也是VXLAN ID的用武之地)

(5)VM2接收到请求自己MAC的ARP请求后做出响应

ARP响应:

(1)VM2准备ARP响应报文后向VM1发送响应报文

(2)VTEP2接收到VM2的响应报文后把它封装在ip单播报文中(VXLAN标识依然为100),然 后向VM1发送单播

(3)VTEP1接收到单播报文后,学习内层MAC到外层ip地址的映射,解封装并根据被封装内容              的目的MAC地址转发给VM1

(4)VM1接收到ARP应答报文,ARP交互结束

6、VXLAN网络和非VXLAN网络连接

必须使用VXLAN的网关才能把VXLAN网络和外部网络进行桥接和完成VXLAN ID和VLAN ID之间的映射和路由,和VLAN一样,虚拟局域网之间的通信需要三层设备的支持,即VXLAN虚拟局域网之间的通信也需要VXLAN路由的支持。同样,网关可由硬件或软件来实现。

VXLAN技术学习笔记相关推荐

  1. java mvc框架代码_JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码)

    原标题:JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码) JavaEE体系结构包括四层,从上到下分别是应用层.Web层.业务层.持久层.Struts和SpringMVC是Web层的 ...

  2. 小五思科技术学习笔记之SSH

    下面介绍一下相关概念: SSH的概念: SSH的英文全称为Secure Shell,SSH使用TCP的22号端口,其目的是要在非安全的网络上提供安全的远程登陆和其他安全的网络服务, 为什么要使用SSH ...

  3. ssm 转发请求_千呼万唤!阿里内部终于把这份SSM框架技术学习笔记分享出来了...

    SSM SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项 ...

  4. 知识图谱技术学习笔记

    知识图谱技术学习笔记 从一开始的Google搜索,到现在的聊天机器人.大数据风控.证券投资.智能医疗.自适应教育.推荐系统,无一不跟知识图谱相关.它在技术领域的热度也在逐年上升. 本文以通俗易懂的方式 ...

  5. SpringBoot整合第三方技术学习笔记(自用)

    SpringBoot整合第三方技术学习笔记 搬运黑马视频配套笔记 KF-4.数据层解决方案 KF-4-1.SQL 回忆一下之前做SSMP整合的时候数据层解决方案涉及到了哪些技术?MySQL数据库与My ...

  6. R语言与抽样技术学习笔记(Jackknife)

    R语言与抽样技术学习笔记(Randomize,Jackknife,bootstrap) Jackknife算法 Jackknife的想法在我很早的一篇博客<R语言与点估计学习笔记(刀切法与最小二 ...

  7. 程序员编程技术学习笔记

    程序员编程技术学习笔记     看july的博客也有好久了,一直没能好好整理一下自己的学习笔记,开了博客之后更加愿意好好整理一番了.其中不免有些内容在july那里可以找到原文,但是更多的加入了我个人的 ...

  8. 三级网络技术 学习笔记

    三级网络技术 学习笔记 BGP(Border Gateway Protocol) TCP(Transmission Control Protocol) UDP(User Datagram Protoc ...

  9. hadoop大数据开发技术学习笔记第三天:(前序)MySQL数据库进阶

    hadoop大数据开发技术学习笔记第三天:(前序)MySQL数据库进阶 一.回顾知识 1.myschool数据库和数据表的创建 (1)创建数据库 (2)数据库模型图 (3)创建数据表grand (4) ...

  10. Android开发技术学习笔记

    目标:全面学习知识点,能理解原理,多实战练习并做笔记与总结学习心得 Android开发技术学习笔记记录如下: Android开发Google的官网https://developer.android.g ...

最新文章

  1. python保存路径_Python IDLE的默认保存路径?
  2. redis 经纬度_原来用Redis实现查找附近的人这么容易
  3. B2C Opinions
  4. 【Java自顶向下】试手小公司,面试官问我ConcurrentHashMap,我微微一笑……
  5. matlab上机实验报告,MATLAB上机实验
  6. 收藏 | 700页NLP算法在百度、阿里、腾讯等一线大厂的最佳实践!PDF限时领!
  7. UIViewController 小结
  8. tmemo 选择消除行_Divi模块,行和部分加入高级动画选项
  9. 【Flink】FlinkConsumer是如何保证一个partition对应一个thread的
  10. Kotlin入门(24)如何自定义视图
  11. win7计算机用户配置文件存储路径,Win7用户配置文件夹位置怎么修改?
  12. Fiddler自动保存抓包内容到文件
  13. FISCO BCOS 确定性多合约并行(DMC)
  14. 秒杀项目(1)项目环境搭建
  15. 关于光伏行业的测试及测试标准
  16. 三种浏览器刷新操作,对缓存的影响
  17. 手机如何测光照度_手机摄影,如何进行准确的测光?一篇文章教会你玩转“测光”...
  18. IIS配置webp后缀文件
  19. 色彩还原测试—imatest
  20. IntelliJ IDEA 中如何配置JDK

热门文章

  1. Deep-Z:使用深度学习对荧光显微镜图像进行三维虚拟重建
  2. IO流和NIO流的区别
  3. maka html5,MAKA H5制作
  4. elasticsearch 模板
  5. 微信小程序的微信开发者工具的快捷键查找和设置
  6. 开源微信小程序源码新版及教程
  7. somachine3.1安装包和安装方法
  8. Ubuntu12.04 耳机无声 扬声器有声的解决
  9. mysql 双机备份_Mysql双机热备份
  10. 新手对vue中特殊的标签属性ref和key的理解