OpenStack — Neutron
文章目录
- Neutron
- Neutron功能
- 二层交换 Switching
- 三层路由 Routing
- 负载均衡 Load Balancing
- 防火墙 Firewalling
- Neutron网络
- network
- subnet
- port
- Neutron架构
Neutron
Neutron (OpenStack Networking service) 负责提供网络服务的组件,它基于 SDN 的思想,并充分利用了 Linux 系统上的各种网络相关的技术,实现了网络虚拟化下的资源管理。
Neutron功能
二层交换 Switching
Neutron 支持多种虚拟交换机,一般使用 Linux Bridge 和 Open vSwitch 创建传统的VLAN 网络,以及基于隧道技术的Overlay网络,如 VxLAN 和 GRE(Linux Bridge 目前只支持 VxLAN)。
三层路由 Routing
Neutron 的 router(虚拟路由器)实现 instance 跨网段通信。router 通过 IP forwarding、iptables 等技术来实现路由和 NAT。
负载均衡 Load Balancing
Openstack 在 Grizzly 版本第一次引入了Load-Balancing-as-a-Service(LBaaS),提供了将负载分发到多个instance的能力。LBaaS 支持多种负载均衡产品和方案,不同地实现以 Plugin 的形式集成到Neutron,目前默认的 Plugin 是 HAProxy。
防火墙 Firewalling
Neutron 有两种方式来保障 instance 和网络的安全性。
Security Group 通过 iptables 限制进出instance的网络包;
Firewall-as-a-Service 通过 iptables 限制进出虚拟路由器的网络包。
Neutron网络
network
network是一个隔离的二层广播域。network必须属于某个project,project中可以创建多个network。
支持以下类型的网络:
local
local网络与其他网络和节点隔离。local网络中的instance只能与位于同一节点上同一网络的instance通信,local网络主要用于单机测试。
flat
flat网络是无vlan tagging的网络。flat网络中的instance能与位于同一网络的instance通信,并且可以跨多个节点。
vlan
vlan网络是具有802.1q tagging的网络。vlan是一个二层的广播域,同一vlan中的instance可以通信,不同vlan只能通过router通信。vlan网络可以跨节点,是应用最广泛的网络类型。
vxlan
vxlan是基于隧道技术的overlay网络。vxlan网络通过唯一的segmentation ID(也叫VNI)与其他vxlan网络区分。vxlan中数据包会通过VNI封装成UPD包进行传输。因为二层的包通过封装在三层传输,能够克服vlan和物理网络基础设施的限制。
gre
gre是与vxlan类似的一种overlay网络。主要区别在于使用IP包而非UDP进行封装。
subnet
subnet是一个IPv4或者IPv6地址段。instance的IP从subnet中分配。每个subnet需要定义IP地址的范围和掩码。
network与subnet是1对多关系。一个subnet只能属于某个network;一个network可以有多个subnet,这些subnet可以是不同的IP段,但不能重叠。
port
port可以看作虚拟交换机上的一个端口。port上定义了MAC地址和IP地址,当instance的虚拟网卡VIF(Virtual Interface)绑定到port时,port会将MAC和IP分配给VIF。
一个port必须属于某个subnet;一个subnet可以有多个port。
Neutron架构
- Neutron Server:对外提供OpenStack网络API,接收请求,并调用Plugin处理请求。
- Plugin:处理Neutron Server发来的请求,维护OpenStack逻辑网络的状态,并调用Agent处理请求。
- Agent:处理Plugin的请求,负责在Network Provider上真正实现各种网络功能。
- Network Provider:提供网络服务的虚拟或者物理网络设备,比如Linux Bridge,OpenVSwitch或者其他支持Neutron的物理交换机。
- Queue:Neutron Server,Plugin和Agent之间通过Messaging Queue通信和调用。
- Database:存放OpenStack的网络状态信息,包括Network,Subnet,Port,Router等。
OpenStack — Neutron相关推荐
- OpenStack Neutron运行机制解析概要
问题导读: 1.有OpenVswitch为什么还会有Linux Bridge? 2.整个运行流程是怎样的? 3.什么是TAP设备? 自从开学以来,玩OpenStack也已经3个月了,这段时间主要把精力 ...
- OpenStack neutron中AsyncProcess类
在openstack/neutron的源代码中,在neutron-openvswitch-agent中有个函数daemon_loop(): def daemon_loop(self):........ ...
- OpenStack Neutron浅析(四)
传统网络到虚拟化网络的演进 传统网络: 虚拟网络: 布式虚拟网络: 单一平面网络到混合平面网络的演进 单一平面租户共享网络:所有租户共享一个网络(IP 地址池),只能存在单一网络类型(VLAN 或 F ...
- OpenStack Neutron浅析(二)
计算.存储和网络,奠定了当今云计算格局的三足鼎立之势. 计算通过虚拟化CPU.disk.Memory等硬件来获得高效的应用:存储通过分布式的文件系统,提供了众多特性的功能.而相对于,计算和存储两方面的 ...
- python openstack vpc互通_深入浅出新一代云网络——VPC中的那些功能与基于OpenStack Neutron的实现(一)-简述与端口转发...
VPC的概念与基于vxlan的overlay实现很早就有了,标题中的"新"只是一个和传统网络的相对概念.但从前年开始,不同于以往基础网络架构的新一代SDN网络才真正越来越多的走进国 ...
- 带着问题了解Openstack Neutron安全组
女主宣言 本文出自于ADDOPS团队,该文章作者李文新是360 HULK云平台容器化及虚拟化平台运维开发工程师,负责网络模块的设计与开发.本文是由他最近解决的一个Openstack Neutron安全 ...
- openstack neutron(tap、qvb、qvo详解)(转)
openstack neutron 说明:本文转自http://blog.csdn.net/tantexian/article/details/45395075 Linux Host 侧使用的网络元素 ...
- openstack neutron相关命令出现异常HttpException: 503
打开环境突然发现openstack neutron相关命令都用不了了 [root@openstack21 xxxxxxx]# openstack network list HttpException: ...
- 深入理解 OpenStack Neutron:VXLAN
深入理解 OpenStack Neutron:VXLAN 原创: 李宗标 网事如烟云 2017-02-01 3.8 VXLAN 终于用上了这张图: 老爷子,鸡年大吉! 好吧,我们言归正传!(老爷子说: ...
- 【neutron】OpenStack Neutron -- 学习资料
OpenStack Neutron -- 学习资料 学习什么 neutron代码的整体架构,消息通知.rpc如何实现,RESTful API如何实现 neutron的部署,常见问题的定位方法 neut ...
最新文章
- 深入探究Java中equals()和==的区别是什么
- STL系列:map和unordered_map
- u852日期限制解决补丁_用友U8hotfix和补丁包替换原则及注意事项
- ( 一 ) Jpbm环境的搭建
- 乐高ev3涉及到的一些赛事_使您成为英雄的前五名开发者技能(提示:涉及LEGO)
- Python3生成脚本实现重置键盘键位
- svn判断通过svnkit,获取最新的revision以及判断某个revsion是否存在
- 某项目网络实施中的几个关键点解析
- missingno库—缺失值可视化
- 《101 Windows Phone 7 Apps》读书笔记-TODO LIST
- 获取本机局域网IP地址
- STM32串口通信以寄存器地址和HAL两种方式实验Hello Windows!
- 山东高中学业水平考试时间2020计算机,2020年山东省高中学业水平等级考试报名时间及科目...
- 可视化绘图技巧100篇分析篇(一)-数据降维NMDS分析(补充篇)
- IE浏览器一打开就提示“已停止工作”的解决方案
- 【唐诗学习】六、诗仙李白
- MySQL——读写分离 理论+实操!!!
- mysql数据库物理结构_MySQL数据库结构设计(物理设计)
- 电脑密码忘了怎么解除?最简单操作的方法
- 瑞吉外卖:linux课程学习(软件安装、项目部署)