📉
Linux 网络 和 SDN 入门实践
  • 概述
  • linux 网络
    • bridge
    • veth pair
    • tun/tap
    • macvlan
    • macvtap
    • ipvlan
    • ipvtap
  • Open vSwitch
    • 编译
    • 启动
    • bridge
    • port
  • 进阶
    • 使用 OVS 打通多节点上的容器通信(Overlay)
    • 使用 OVS 打通多节点上的容器通信(Underlay)
    • 同主机同vlan的容器通信
    • 同主机不同 vlan 的容器通信
    • 不同主机同 vlan 的容器通信
    • 不同主机不同 vlan 的容器通信
    • ovs 使用 OpenFlow
    • iptables 模拟 service
  • 名词解释
    • 生成树协议(STP)
    • hairpin
    • ingress/egress filtering
    • ip address spoofing
    • CIDR
    • BGP(边界网关协议)
    • arp
    • ipip
    • LLDP
    • MPLS
    • in-band 和 out-band
    • TOR
  • 常用命令参考
    • ip
    • arp 和 arping
    • iptables
  • 参考资料
    • bridege
Powered by GitBook
On this page
  • 四种模式
  • 参考资料

Was this helpful?

  1. linux 网络

macvlan

Previoustun/tapNextmacvtap

Last updated 5 years ago

Was this helpful?

macvlan 是一种网卡虚拟化的技术,由 linux 内核提供,支持的版本有 v3.9-3.19 和 4.0+,比较稳定的版本推荐 4.0+。有时候我们希望网卡可以有多个 ip 和 mac 地址。这时候就可以使用 macvlan 。其工作原理图如下:

从物理网卡进来的二层帧,根据目的 mac 地址,转发到不同的 macvlan 上。然后由 macvlan 转发到网络协议栈。

四种模式

macvlan 有四种工作模式:

  • private 模式

  • vepa(virtual ethernet port aggregator) 模式

  • bridge 模式

  • passthru 模式

private 模式

同一物理接口下的子接口无法互相同样,即使是从外部的物理交换机进来的帧。

vepa

这种模式下,子接口之间的通信流量需要导到外部支持 802.1Qbg/VPEA 功能的交换机上(可以是物理的或者虚拟的),经由外部交换机转发,再绕回来。

注: 802.1Qbg/VPEA 功能简单说就是交换机要支持 发夹(hairpin) 功能,也就是数据包从一个接口上收上来之后还能再扔回去。

### bridge

这种模式下,模拟的是 Linux bridge 的功能,但比 bridge 要好的一点是每个接口的 MAC 地址是已知的,不用学习。所以,这种模式下,子接口之间就是直接可以通信的。

passthru

这种模式,只允许单个子接口连接主接口,且必须设置成混杂模式,一般用于子接口桥接和创建 VLAN 子接口的场景。

参考资料

[网络虚拟化技术(二): TUN/TAP MACVLAN MACVTAP]()

https://blog.kghost.info/2013/03/27/linux-network-tun/
https://virtual.51cto.com/art/201904/595168.htm
图1 macvlan 的工作原理