macvtap介绍

传统的linux网络虚拟化技术采用的是tap+bridge方式,将虚拟机连接到虚拟的tap网卡,然后将tap网卡加入到bridge。bridge相当于用软件实现的交换机,这种解决方案实际上就是用服务器的cpu通过软件模拟网络。

传统的tap+bridge虚拟化网络技术,这种技术有三个缺点: 
1. 每台宿主机内都存在bridge会使网络拓扑变复杂,相当于增加了交换机的级联层数; 
2. 同一宿主机上的虚拟机之间的流量直接在bridge完成交换,使流量监控、监管困难; 
3. bridge是软件实现的二层交换技术,会加大服务器的负担。

针对云计算中的复杂网络问题,业界主要提出了两种扩展技术标准:802.1Qbg 与 802.1Qbh。802.1Qbh Bridge Port Extension 主要由Vmware与 Cisco 提出,尝试从接入层到汇聚层提供一个完整的虚拟化网络解决方案,尽可能达到软件定义一个可控网络的目的。它扩展了传统的网络协议,因此需要新的网络设备支持,成本较高。802.1Qbg Edge Virtual Bridging (EVB) 主要由 HP 等公司联合提出,尝试以较低成本利用现有设备改进软件模拟的网络。

802.1Qbg 的一个核心概念是 VEPA(Virtual Ethernet Port Aggregator ),简单来说它通过端口汇聚和数据分类转发,把宿主机上原来由 CPU 和软件来做的网络处理工作转移到接入层交换机上,减少宿主机CPU 负载,同时使得在一级的交换机上做虚拟机网络流量监控成为可能,从而更清晰地分割服务器与网络设备的工作范围,方便系统的管理。

为支持新的虚拟化网络技术,Linux 引入了新的网络设备模型:MACVTAP。MACVTAP 的实现基于传统的 MACVLAN。和 TAP 设备一样,每一个 MACVTAP 设备拥有一个对应的 Linux 字符设备,并拥有和 TAP 设备一样的 IOCTL 接口,因此能直接被 KVM/Qemu使用,方便地完成网络数据交换工作。引入 MACVTAP 设备的目标是:简化虚拟化环境中的交换网络,代替传统的 Linux TAP 设备加 Bridge 设备组合,同时支持新的虚拟化网络技术,如 802.1 Qbg。

macvtap设备有三种不同的工作模式:Virtual Ethernet Port Aggregator(VEPA)、Bridge、Private。

  1. VEPA 
    在这种模式下,同一物理网卡下的macvtap设备之间的流量也要发送到外部交换机,再由外部交换机转发回到服务器,前提是交换机必须支持hairpin模式;

  2. Bridge 
    这种模式类似传统Linux Bridge,同一物理网卡下的macvtap设备可以直接进行以太网帧的交换,不需要外部交换机的介入;

  3. Private 
    在Private模式下,同一物理网卡下的macvtap设备互相无法连通,无论外部交换机支不支持hairpin模式。

原文地址:http://chuansong.me/n/2186997

================= End

最新文章

  1. PowerBuilder笔记
  2. 程序员书单_HeadFirst系列
  3. windows+nginx+fcgi配置
  4. C++多态性的理解
  5. iOS:将NSDate转换为当前时区时间
  6. Red and Black---POJ - 1979
  7. VMWare安装
  8. Confluence 6 通过 SSL 或 HTTPS 运行 - 创建或请求一个 SSL 证书
  9. Spring Boot 项目实战(六)集成 Apollo
  10. Effective Java 第三版——72. 赞成使用标准异常
  11. vue 自学笔记(4): 样式绑定与条件渲染
  12. CF 1000
  13. apache 隐藏 index.php
  14. MicrosoftAjax.js
  15. Django基础八之cookie和session
  16. 把系统时间改到以前后,MyEclipse9.1的工程里的JS文件修改完保存但MyEclipse不会将其不会更新。
  17. win10 wsl安装 命令行
  18. OTRS工单管理系统
  19. free命令buff和cache的区别
  20. 1923. Scary Politics (timus) (dfs) search

热门文章

  1. day 12 列表字典 补充
  2. SQL基本数据类型等
  3. Firefox开发
  4. OpenWrt架设nginx php网站
  5. 1.6 JAVA高并发之线程池
  6. Python异常(基础) except
  7. 分布式数据库中间件Mycat百亿级数据存储(转)
  8. USACO 3.2.6 Sweet Butter 香甜的黄油(最短路)
  9. 作业 20181023-11 Alpha发布
  10. Scrum立会报告+燃尽图(十月十五日总第六次):视频上传及选题介绍工作