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

    你可能感兴趣的文章
    nginx+uwsgi+django
    查看>>
    Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
    查看>>
    nginx-vts + prometheus 监控nginx
    查看>>
    Nginx下配置codeigniter框架方法
    查看>>
    Nginx之二:nginx.conf简单配置(参数详解)
    查看>>
    Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
    查看>>
    Nginx代理初探
    查看>>
    nginx代理地图服务--离线部署地图服务(地图数据篇.4)
    查看>>
    Nginx代理外网映射
    查看>>
    Nginx代理模式下 log-format 获取客户端真实IP
    查看>>
    Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
    查看>>
    Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
    查看>>
    Nginx反向代理与正向代理配置
    查看>>
    Nginx反向代理是什么意思?如何配置Nginx反向代理?
    查看>>
    nginx反向代理解决跨域问题,使本地调试更方便
    查看>>
    nginx启动脚本
    查看>>
    Nginx在Windows下载安装启动与配置前后端请求代理
    查看>>
    Nginx多域名,多证书,多服务配置,实用版
    查看>>
    nginx开机启动脚本
    查看>>
    nginx异常:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf
    查看>>