Neutron的ML2

为什么会有ML2

在很久以前ML2没有出现的时候,neutron环境是这样的。
neutron server中包含各种plugin,plugin对应的是各种虚拟网络功能中的各种agent,plugin与agent联系紧密,neutron可以通过开发不同的plugin和agent来支持不同的网络技术,这种模式有两个缺点:

  • 一套plugin和agent只能支持一种网络技术,太过死板
  • 每一种网络技术都需要对其开发一套plugin和agent,太过繁琐

那么能不能开发这样一个plugin,它可以同时支持所有的网络技术,也可以支持所有的agent呢,开发人员不禁产生这样的疑问,然后ML2出现了。

ML2怎么做到这一切

ML2对数据链路层进行了抽象建模,提出了类型驱动(type driver)和机制驱动(mechanism driver),这两种驱动解耦了neutron所支持的网络类型和这些类型的访问机制,使得ML2具有非常前的弹性,易于扩展,并且能够灵活支持多种type和mechanism。

在这里我们提到了type driver和mechanism driver的概念,下面来解释一下这两个概念。

  • type driver
    neutron支持的每一种网络类型都有一个对应的ML2 type driver。type driver的任务主要包括维护网络类型的状态、进行验证、创建网络等。
  • mechanism driver
    与type driver类似,neutron支持的每一种网络机制都有一个对应的ML2 mechanism driver。mechanism driver主要负责获取由type driver维护的网络状态,并确保在相应的网络设备上正确实现这些状态

如果我们举一个具体的例子:
type driver对应的网络类型为vlan,mechanism driver对应的网络机制为open vswitch,现在要创建一个vlan10。
vlan type driver会确保将vlan10的信息保存到neutron的数据库中,数据库中存储包括network名称、vlan ID等信息;open vswitch mechanism driver会确保个节点上的openvswitch agent在物理网卡上创建ID为10的vlan设备和网桥设备,再将两者进行桥接。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值