注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

关于Macvtap与macvlan  

2014-07-13 01:55:33|  分类: 虚拟网络 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        Macvtap是一个新的设备驱动程序,旨在简化虚拟化的桥接网络。

        它取代基于macvlan设备驱动模块的TUN / TAP和桥驱动器的组合。一个macvtap终点(endpoint)是一个字符设备,主要遵循的TUN / TAP ioctl接口,可以直接使用KVM/ qemu和其他支持TUN / TAP接口的虚拟机管理程序。终点(endpoint)扩展了现有的网络接口,较低的设备,在同一个以太网段上的,拥有自己的MAC地址。通常情况下,这是用来使双方的客户机和主机直接显示的主机连接到交换机上的。


VEPABridgeprivate mode

macvlan中,任何macvtap设备可以在以上三种模式之一。定义在一个单一较低的设备macvtap端点之间的通信:
1.Virtual
以太网端口聚合器(VEPA),默认模式:相同的设备上的数据从一个端点到另一个端点被发送到外部交换机降低设备。如果该交换机支持的发夹模式,帧开始浏览送回对下位装置,并从那里到目标端点。
今天,大多数交换机不支持发夹模式,所以是不能够交换以太网帧的两个端点,虽然他们可能仍然能够使用TCP / IP路由器进行通信。相邻的桥作为一台Linux主机可以被放入写的/ sys/ class / net中的/ dev/ BRIF/端口/ hairpin_mode的发夹模式。这种模式是特别有趣,如果你要管理的虚拟机网络交换机级的。了解的VEPA客人的的交换机是可以强制每个MAC地址的过滤和带宽的限制,而不知道它在Linux主机。
1.Bridge
,可以直接相互连接的所有端点。两个端点都在桥接模式下可以直接交换以太网帧,无需通过外部桥接的往返。这是最有用的模式与经典的开关设置,和客体间的通信性能的关键。
二基于完整性,私人模式存在的行为就像一个发夹知道开关在没有一个VEPA模式端点。即使当开关处于发夹模式,一个私人端点永远不能在同一lowerdev任何其他端点通信。

 

设置macvtap
创建一个macvtap接口使用的IP链路命令IPRoute2包中,以同样的方式,我们macvlanVETH的接口配置。
示例:

$ ip link add link eth1 name macvtap0 type macvtap
$  ip link set macvtap0 address 1a:46:0b:ca:bc:7b up
$  ip link show macvtap0
12:macvtap0@eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
state UNKNOWN
link/ether
1a:46:0b:ca:bc:7b brd ff:ff:ff:ff:ff:ff
在相同的时间会由udev创建一个字符设备。除非另有配置,udev的名称,这装置/
dev/ tapn的,具有n个对应于指数的新macvtap端点的网络接口的数量,在上述例子中'12'TUN/TAP不同,字符设备只能代表一个单独的网络接口,我们可以给用户或用户组
附:理解macvtap
创建 MACVTAP 子设备。母子设备之间被隐含的桥接起来,母设备相当于现实世界中的交换机 TRUNK 口。实际上当 MACVTAP 设备被创建并且模式不为 Passthrough 时,内核隐含地创建了 MACVLAN 网络,完成转发功能。
MACVTAP 设备有四种工作模式:Bridge、VEPA、Private,Passthrough。
Bridge 模式下,它完成与 Bridge 设备类似功能,数据可以在属于同一个母设备的子设备间交换转发,虚拟机相当于简单接入了一个交换机。当前的 Linux 实现有一个缺陷,此模式下 MACVTAP 子设备无法和 Linux Host 通讯,即虚拟机无法和 Host 通讯,而使用传统的 Bridge 设备,通过给 Bridge设置 IP 可以完成。
VEPA 模式是对 802.1Qbg 标准中的 VEPA 机制的部分软件实现,工作在此模式下的 MACVTAP 设备简单的将数据转发到母设备中,完成数据汇聚功能,通常需要外部交换机
支持 Hairpin 模式才能正常工作。
Private 模式和 VEPA 模式类似,区别是子 MACVTAP 之间相互隔离。
Passthrough 模式下,内核的 MACVLAN 数据处理逻辑被跳过,硬件决定数据如何处理,从而释放了 Host CPU 资源。

****************
使用macvlan为系统虚拟多个网卡(用于多拨号等)
****************
使用ip 工具参考命令:
$#:
  ip link add link eth0 dev peth1 type macvlan   //其中peth1即我们新生成的虚拟网卡设备
  ifconfig  peth1 hw ether 00:26:9e:45:93:f5  //指定此网卡的mac地址
  dhclient peth1   //使用动态方式获得ip地址等;
  ......                      //继续配备peth0地址参数
  ip route replace default scope global nexthop via  192.168.50.1 dev eth0 nexthop via  192.168.50.1 dev peth0    nexthop via  192.168.50.1 dev peth1

  评论这张
 
阅读(554)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017