博客
关于我
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/

    你可能感兴趣的文章
    npm install digital envelope routines::unsupported解决方法
    查看>>
    npm install 卡着不动的解决方法
    查看>>
    npm install 报错 EEXIST File exists 的解决方法
    查看>>
    npm install 报错 ERR_SOCKET_TIMEOUT 的解决方法
    查看>>
    npm install 报错 Failed to connect to github.com port 443 的解决方法
    查看>>
    npm install 报错 fatal: unable to connect to github.com 的解决方法
    查看>>
    npm install 报错 no such file or directory 的解决方法
    查看>>
    npm install 权限问题
    查看>>
    npm install报错,证书验证失败unable to get local issuer certificate
    查看>>
    npm install无法生成node_modules的解决方法
    查看>>
    npm install的--save和--save-dev使用说明
    查看>>
    npm node pm2相关问题
    查看>>
    npm run build 失败Compiler server unexpectedly exited with code: null and signal: SIGBUS
    查看>>
    npm run build报Cannot find module错误的解决方法
    查看>>
    npm run build部署到云服务器中的Nginx(图文配置)
    查看>>
    npm run dev 和npm dev、npm run start和npm start、npm run serve和npm serve等的区别
    查看>>
    npm run dev 报错PS ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
    查看>>
    npm scripts 使用指南
    查看>>
    npm should be run outside of the node repl, in your normal shell
    查看>>
    npm start运行了什么
    查看>>