博客
关于我
Neutron的VLAN实现模型
阅读量:190 次
发布时间:2019-02-28

本文共 1852 字,大约阅读时间需要 6 分钟。

Neutron VLAN 实现模型概述

在 Neutron 网络框架中,VLAN(虚拟局域网)是实现网络隔离和安全的核心机制。本文将从技术实现和工作原理两个维度,对 Neutron VLAN 模型进行详细阐述。

一、VM 与 VLAN ID 的内外视角

在 Neutron 的网络模型中,VLAN ID 具有内外之别,这种划分方式旨在解决不同视角下网络地址的冲突问题。具体来说:

  • 外部视角(用户视角):用户看到的网络结构是一个包含两个 VLAN(如 VLAN 100 和 VLAN 200)的网络环境。每个 VLAN 中有两个虚拟机(如 VLAN 100 中的 VM1-1 和 VM2-1,VLAN 200 中的 VM1-2 和 VM2-2)。

  • 内部视角(Host 视角):在每个 Host 内部,虚拟机看到的 VLAN ID 并非上述的 100 和 200,而是更小的编号(如 10、20、30、40)。这种差异源于 Neutron 的网络架构设计,将外部的网络地址与内部的虚拟地址进行了映射。

  • 视角 VLAN ID 说明
    外部 100、200 用户看到的网络结构,用于实现不同网络的隔离。
    内部 10、20、30、40 每个 Host 内部的虚拟网络地址,用于区分不同的虚拟机。

    这种内外视角的区别需要通过 Host 内的 Bridge 组件进行 VLAN ID 转换。Bridge 组件的作用是将外部的网络地址与内部的虚拟地址进行映射,从而实现网络的正确路由和通信。

    二、qbr 与 br-int 的功能解析

    在 Neutron 网络架构中,qbr(Quantum Bridge)和 br-int(Integration Bridge)是两个关键的 Bridge 组件。它们分别承担了不同的网络功能:

  • qbr(Quantum Bridge)

    • 实现方式:基于 Linux Bridge。
    • 功能:用于将虚拟机与 Neutron 的网络架构进行接合。qbr 的主要作用是支持 iptables 规则的安全组功能,这对于 OpenStack 的网络安全策略至关重要。
  • br-int(Integration Bridge)

    • 实现方式:基于 Open vSwitch(OVS)。
    • 功能:作为一个综合网桥,负责将不同的网络接口(如物理网卡、虚拟接口)进行整合。br-int 负责了网络的路由和转发功能。
  • qbr 和 br-int 之间通过 veth pair(虚拟网桥接口对)进行通信。每个虚拟机(VM)与 qbr 之间通过一个 tap(虚拟网络接口)接口进行连接。

    三、br-ethx 的作用

    br-ethx 是另一个关键的 Bridge 组件,其全称为 Bridge-Ethernet-External。主要功能如下:

  • 与外部网络接合:br-ethx 负责将 Neutron 网络与外部物理网络进行连接。
  • 接口类型:其接口是物理网卡接口,直接与外部网络进行通信。
  • 与 br-int 的接合:通过 veth pair 实现与 br-int 的通信。
  • br-ethx 的关键在于它连接了 Neutron 网络的外部接口,同时又保持了与内部网络架构的兼容性。

    四、内外 VLAN ID 的转换过程

    VLAN ID 的转换是 Neutron 网络架构的核心机制,其主要作用是确保网络的正确路由和通信。具体过程如下:

  • 出报文 VLAN ID 转换

    • 当数据包从 Host 内部发送到外部时,VLAN ID 会被转换为对应的外部网络地址。
    • 例如,VLAN ID 100 的数据包将被转换为对应的外部网络地址,确保数据包能够正确路由到目标网络。
  • 入报文 VLAN ID 转换

    • 当数据包从外部返回 Host 内部时,VLAN ID 也会进行相反的转换。
    • 例如,外部接收到的 VLAN ID 100 的数据包会被转换为 Host 内部的 VLAN ID 100,确保数据包能够正确定向到目标虚拟机。
  • 这种双向的 VLAN ID 转换功能,依赖于 Host 内的 Bridge 组件(如 qbr 和 br-int)的协同工作。

    总结

    Neutron 的 VLAN 实现模型通过内外视角的 VLAN ID 区别,确保了网络的高效管理和安全性。qbr 和 br-int 的协同工作提供了灵活且高性能的网络架构,而 br-ethx 则负责与外部网络的接合。这种设计理念不仅提升了网络的可管理性,也为后续的网络扩展奠定了坚实基础。

    转载地址:http://reej.baihongyu.com/

    你可能感兴趣的文章
    python利用excel分析过杀漏失
    查看>>
    python判断汉字数目
    查看>>
    python判断文件是空的,如果是空的,就删除
    查看>>
    python判断密码是否正确_python密码判断是否符合要求的方法
    查看>>
    python判断字符串包含中文_Python 判断字符串是否包含中文
    查看>>
    python删除第一行_Python 乱码指北:一行删掉根目录
    查看>>
    Python删除列表元素的三种方法
    查看>>
    python初步学习-python数据类型-集合(set)
    查看>>
    python列表生成字典_Python中将字典转换为列表的方法
    查看>>
    python列表对应元素合并为列表及判断一个列表是几维
    查看>>
    python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
    查看>>
    python列表前几个_python之列表
    查看>>
    python列表元组
    查看>>
    Python列表/元组/字典和集合使用
    查看>>
    python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
    查看>>
    python列表
    查看>>
    python列出当前目录、子目录和文件的脚本
    查看>>
    python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
    查看>>
    Python切片对象和__getitem__
    查看>>