时间:2015-01-15 18:09:41


1、什么是Neutron?

Neutron是OpenStack的network project ,是NaaS(networking-as-a-service)专题,负责网络虚拟化,开始于OpenStack的Folsom版,取名为Quantum,在Havana版本改名为Neutron。Neutron并非提供特定的网络功能,而是为了管理网络,提供网络服务,你可以使用不同厂商开发的插件,在同一个架构中可以同时拥有多种网络模式(vlan、gre、vxlan等),当然前提是使用ml2插件。

2、为什么是Neutron?

1、云租户可以按照自己的意愿进行网络设计

2、允许各租户添加各种网络插件

3、Neutron提供丰富的网络服务,诸如LB-aas,firewall-aas等


3、Neutron当中vlan模式的网络包流向

这张图主要想说明三种场景,第一:位于不同物理机上的虚拟机与虚拟机的通信;第二:位于同一物理机上的虚拟机与虚拟机之间的通信;第三:虚拟机与外网的通信。

不同物理机上的虚拟机之间的通信:

vlan模式下的网络特点:每一次的通信多需要进行vlan号和tag号的相互转换,其中将vlan号转换为tag号是在int-br-xxx,将tag号转换为vlan号是在phy-br-xxx;int-br-xxx和phy-br-xxx是一对veth设备,其中int-br-xxx位于桥br-int上,phy-br-xxx位于桥br-xxx上;

包从VM1出来到达compute1的网卡,已经将tag转换为vlan号,因此包带着vlan号进入交换机,寻找相应路径进入compute2经过桥br-int将vlan号转换为tag号,从而进入虚拟机VM2;

那么在这个过程当中包经过了哪些设备?

查看虚拟机的ip

nova list|grep vnc-test
| 187949aa-0c6f-47d9-b9b3-317e8eea7897 | vnc-test | ACTIVE | - | Running | net=10.0.0.231 |

根据虚拟机的ip查找port id:

neutron port-list|grep 10.0.0.231
| b4396540-8b7f-4386-9db5-3e1660a7ff48 | | fa:16:3e:e0:1b:58 | {"subnet_id": "5d9500ef-2f11-4455-9398-478026939659", "ip_address": "10.0.0.231"} |

第一个字段便是port id(b4396540-8b7f-4386-9db5-3e1660a7ff48),tapxxx、qvbxxx、qbrxxx通过brctl进行相关联,可以使用命令在相应的计算节点上查看:

brctl show

bridge name bridge id STP enabled interfaces
qbrb4396540-8b 8000.9afa4f3bb650 no qvbb4396540-8b
                       tapb4396540-8b

eth2是数据网络(虚拟机与虚拟机之间通信的网络),其中桥br-eth2与eth2进行桥接,它们可配ip也可不配;

当包从交换机到达eth2进入br-eth2(ovs-vsctl add-port br-eth2 eth2,往桥br-eth2添加端口eth2),经过phy-br-eth2转发到int-br-eth2,在这里将vlan号转换为tag号(一个vlan号对应一个tag号),从而包到达虚拟机;

同一物理机上的虚拟机之间的通信:

此场景与上一场景唯一的区别在于无需通过交换机。


虚拟机与外网的通信:

包从VM1出来到达交换机(在到达compute1的网卡时已经将tag号转换为vlan号),从交换机到达网络节点,经过namespace,在经过网络节点的外网网卡,与外网进行通信。

详细解释:

VM1(虚拟机)->eth0(VM1虚拟机的网卡)->br-int->br-eth2->eth2->switch->eth2(网络节点网卡)->namespace(br-ethx(包从phy-br-eth2端口转发到int-br-eth2(在这里将vlan号转换为tag号))->br-int(qr-xxx)->br-ex(qg-xxx))->网络节点的外网网卡;

使用如下命令查看namespace:

ip netns

使用如下命令进入namespace,xxxx代表ip netns执行结果的内容:

ip netns exec xxxx  bash

4、结语

这是在Icehouse版本上,Juno版本,已将qr-xxx和qg-xxx分隔开来(前提是使用dvr)。neutron_packet_flows-notes-handout这篇文章有必要去读读(对于刚开始接触OpenStack Neutron这块的人员),该文件我已上传。

相关链接:https://wiki.openstack.org/wiki/Neutron

OpenStack neutron vlan 模式下的网络包流向的更多相关文章

  1. VLAN 模式下的 OpenStack 管理 vSphere 集群方案

    本文不合适转载,只用于自我学习. 关于为什么要用OpenStack 管理 vSphere 集群,原因可以有很多,特别是一些传统企业,VMware 的使用还是很普遍的,用 OpenStack 纳管至少会 ...

  2. VMware NAT模式下设置网络

    一.虚拟机NAT模式原理 NAT模式在VMware下又称VMnet8.在这种模式下,宿主机有两块网卡,一块是真实的物理网卡(即NAT device),连接Network:一块是 VMware Netw ...

  3. 1_NAT模式和桥接模式下的网络配置

    相信当你看到这篇文章时,你一定对linux的桥接模式和NAT模式有所了解,所以你应该是能看懂这篇文件的,希望对你有所帮助,figthing    ! 一.桥接模式:虚拟机和主机是连在同一个路由下的. ...

  4. nat模式下更改网络环境, 虚拟机中Linux无法上网的问题

    出现的问题: 1.ifconfig -a 命令下会出现eth0信息中无ip地址等等信息: 2.无法ping通baidu,也就是无法上网: 3.ping 8.8.8.8 提示 connect:netwo ...

  5. Linux系统NAT模式下设置网络网关

    1.配置Vm网络编辑器 2.配置固定IP地址 命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33 #下面内容直接复制进去,如果有重复的可以去除 TYPE= ...

  6. 深入理解 Neutron -- OpenStack 网络实现(2):VLAN 模式

    问题导读 1.br-int.br-ethx的作用是什么?2.安全组策略是如何实现的?3.VLAN 模式与GRE模式有哪些不同点?流量上有哪些不同?4.L3 agent实现了什么功能? 接上篇深入理解 ...

  7. openstack项目【day24】:VLAN模式

    本节内容 一 二层基础知识 1.1 vlan介绍 1.1.1:vlan的含义 1.1.2:vlan的类型 1.1.3:vlan的不足 1.2 : 二层交换的基础知识 1.2.1:二层交换机最基本的功能 ...

  8. VLAN模式

    一 二层基础知识 1.1 vlan介绍 本小节重点: vlan的含义 vlan的类型 交换机端口类型 vlan的不足 1.1.1:vlan的含义 局域网LAN的发展是VLAN产生的基础,因而先介绍一下 ...

  9. Openstack Neutron:三层技术和实现

    目录 - 1.Neutron 三层技术简介 - 2.集中式router - 1.在节点上安装L3 agent - 2.配置外部网络 - 3.通过CLI或者Horizon 来创建路由 - 4.连接租户网 ...

随机推荐

  1. Lua OpenResty容器化(考古历程)

    原文地址:Lua OpenResty容器化(考古历程) 背景 公司有几个"远古时期"的项目,一直都相对较为稳定,但是项目每天总会在一些时段,请求每分钟QPS到达峰值800K左右,导 ...

  2. LAMP架构上线动态网站WordPress

    第一步,一键安装LAMP架构所需要的程序 yum install -y httpd mariadb-server php php-mysql 第二步,配置httpd,修改主配置文件/etc/httpd ...

  3. [kuangbin]专题六 最小生成树 题解+总结

    kuangbin专题链接:https://vjudge.net/article/752 kuangbin专题十二 基础DP1 题解+总结:https://www.cnblogs.com/RioTian ...

  4. C++ new和delete运算符得简单使用

    NEW C++ 中的new运算符用来分配内存,和c语言中得malloc有相似得功能. 使用new为当个元素开辟内存空间,并返回地址 typeName *pointer_name =new typeNa ...

  5. HTTP 网络通讯过程

    1. 网络模型概览 2. HTTP 网络通讯过程 1. 网络模型概览 OSI 先有模型,后有协议,先有标准,后进行实践:而 TCP/IP 则相反,先有协议和应用再提出了模型,且是参照的 OSI 模型. ...

  6. java面试一日一题:讲下redo log

    问题:请讲下redo log的作用 分析:mysql中有很多日志,例,binlog undo log redo log,要弄清楚这些日志的作用,就要了解这些日志出现的背景及要解决的问题? 回答要点: ...

  7. [BUAA2021软工助教]案例分析作业总结

    目录 一.作业链接 二.优秀作业推荐 A+作业推荐 A作业推荐 三.总结 所有案例分析总结 特色与优点 问题与建议 不同类产品案例分析Bug汇总 CSDN问答社区.Stack Overflow.Seg ...

  8. system分区解锁

    前言 获取root权限,解锁system 步骤 手机设置 设置--更多设置--开发者选项--USB调试给打开 电脑操作 打开cmd adb devices 执行命令 adb root &&am ...

  9. 【Nacos】Springboot整合Nacos配置中心(二) 多环境配置

    本篇随笔接上一篇文章:Springboot整合Nacos配置中心(一),主要记录Nacos多环境的配置的方法 Nacos多环境的配置 方法一: 1.在项目中的bootstrap.yaml文件中配置激活 ...

  10. 预防NSA勒索病毒攻击脚本

    预防445端口勒索病毒修复脚本 直接复制下去,创建一个文件,名字随意后缀是.bat,然后双击就可以了(如果提示拒绝访问,就直接右键管理员,尤其是Win8 Win10). :+添加关键注册表以及停掉并且 ...