Openstack理论——Neutron中的插件与代理

前言:在前面介绍了Openstack的核心组件——Neutron的理论知识,这次将讲解Neutron中的插件与几个代理服务

  • 层次结构图如下:

一、ML2插件

  • 作为一个Core Plugin,ML2能够实现network/subnet/port三种核心资源,同时它也实现了包括Port Binding等在内的部分扩展资源

1.架构图

在这里插入图片描述

2.概述

  • ML2对二层的网络进行抽象,解锁了 Neutron所支持的网络类型(Type)与访问这些网络类型的虚拟网络实现机制( Mechansim),并通过驱动的形式进行扩展,不同的网络类型对应不同的类型的驱动( Type Driver),由类型管理器(Typer Manager)进行管理。不同的网络实现机制对应不同的机制驱动( Mechansiom driver),由机制管理器( Mechansim Manager)进行管理。这种实现框架使得ML2具有弹性,易于扩展,能够能活支持多种网络类型和实现机制

  • 类型驱动( Type Driver)

    • Neutron支持的每一种网络类型都有一个对应的ML2类型驱动,类型驱动负责维护网络类型的状态,执行验证、创建网络等工作

    • 目前 Neutron已经实现的网络类型包括Flat、 Local 、VLAN、 VXLAN、GRE

  • 机制驱动( Mechansiom driver)

    • Neutron支持的每一种网络机制都有一个对应的ML2机制驱动。机制驱动负责获取类型驱动维护的网络状态,并确保在相应的网络设备(物理或虚拟的)上正确实现这些状态

3.举例

  • 类型驱动VLAN,机制驱动为 Linux Bridge,如果创建VLAN10,那么VLAN的类型驱动会确保将VLAN10的信息保存到 Neutron数据库中,包括网络的名称、 VLAN ID等,而 Linux Bridge机制驱动会确保各个节点上的 Linux Bridge代理在物理网卡上创建ID为10的VLAN设备和 Bridge设备,并将二者进行桥接
  • 目前 Neutron已经实现的网络机制有3种类型
    • 基于代理( Agent-based):包括 Linux bridge、 Opens vSwitch
    • 基于控制器( controller-Based):包括 OpenStacDaylight、 VMWavre NSX等
    • 基于物理交换的:包括 Cisco Nexus、 Arista、 Mellanox等
  • 扩展资源
    • ML2作为一个 Core Plugin,在实现网络、子网和端口核心资源的同时,也实现了包括端口绑定( Port Bindings)、安全组( Security Group)等部分扩展资源

二、Linux Bridge代理

1.概述

  • Linux Bridge是成熟可靠的 Neutron二层网络虚拟化技术,支持 Local、Flat、VLAN、VXLAN这四种网络类型,目前不支持GRE
  • Linux Bridge可以将一台主机上的多个网卡桥接起来,充当一台交换机,它可以桥接物理网卡,又可以是虚拟网卡,用于桥接虚拟机网卡(虚拟机网卡)的是Tap接口,这是一个虚拟机出来的网络设备,称为Tap设备,作为网桥的一个端口,Tap接口在逻辑上与物理接口具有相同的功能,可以接收和发送数据包

2.设备

  • 如果选择 Linux Bridge代理,在计算机节点上数据包从虚拟机发送到物理网卡需要经过以下设备:
    • 如果选择 Linux Bridge代理,在计算机节点上数据包从虚拟机发送到物理网卡需要绎过下设备
    • Tap接口( Tap interface):用于网桥虚拟机的网卡,命令为 tapXXX
    • Linux网桥( Linux Bridge):作为二层交换机,命令为 brqxxxx
    • VLAN接口( VLAN Interface):在VLAN网络中用于连接网桥,命名为 ethx.y(ethx为物理网卡名称,y为VLAN ID)
    • VXLAN接口( VXLAN Interface):在VXLAN网络中用于连接网桥,命名为 vxlan-z(z是VNID
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值