OpenStack的neutron的概念原理(网络)

一、概述

  1. neutron:是为了实现网络即服务(Networking as a Service),基于SDN 网络实现虚拟化网络的一种技术          ----NaaS
  2. SDN:软件定义网络(Software-defined networking),是一种技术概念
  3. Neutron功能
  • 二层交换Switching

支持多种虚拟交换机(Linux Bridge和Open vSwitch)

  • 三层路由Routing

支持虚拟路由器,则虚机可划分不同网段IP来通过路由进行通信

(IP forwarding 实现路由转发、iptables实现NAT)

  • 负载均衡Load Balancing

支持负载均衡能力,以Plugin的形式集成进neutron,当前默认的 Plugin是HAProxy             ----LBaaS

  • 防火墙 Firewalling
  1. (1)Security Group:放在虚机前,保护虚机(下图中蓝色部分)
  2. (2)Firewall as a Service:放在虚拟路由器中,限制进出网路包

----FWaaS

  • VPN

虚拟专用网络,属于远程访问技术,简单的说就是利用公用网络进行加密架设成专用网络(形成隧道),从而构成‘局域网’—vpnaas

二、Neutron管理的网络资源

  1. 三大基础资源
  • network  网络
  1. local网络:同节点同网络,用于本地测试
  2. Flat网络:跨多个节点无VLAN划分的网络
  3. VLAN网络:根据IEEE 802.1q协议构建的网络,用来实现网络隔离(不同VLAN网络只能通过路由进行通信)

编号:1-4096   header头部限长是12bit,212=4096

  1. VxLAN网络:VLAN的升级版,基于隧道技术的overlay网络
  1. overlay网络:与传统的物理网络不同,传统网络为了与虚机进行对接,需要网络自己进行调整;而overlay网络是在传统网络上虚拟出一个虚拟网络,物理网络不需要进行调整
  2. VNI:类似于VLAN中的编号,区分VxLAN网络

header头部限长为24bit,224=16000000

  1. GRE网络:也是属于一种overlay网络
  1. GRE:封装成IP包进行传输,OVS支持GRE
  2. VxLAN:封装VNI成UDP包进行传输,Linux Bridge目前只支持VxLAN

Network必须属于某个project,project中可创建多个network

  • subnet   地址段
  1. subnet是一个ip的地址段,每个subnet需要定义IP的范围和掩码,虚机的IP从subnet中分配
  2. subnet与network是多对1的关系。一个subnet只能属于某个network;一个network可以有多个subnet,这些subnet可以是不同的ip段,但是子网地址不能重复
  • port     端口
  1. 虚拟交换机上的一个端口,当虚机开机运行,就会将虚机的虚拟网卡VIF绑定到port,由dnsmasq分配IP到port上,port会将MAC和IP分配给VIF(因此neutron网络不需要ARP协议
  2. Port和subnet是多对1关系,一个port必须属于某个subnet,一个subnet可有多个port
  1. 高级资源
  • Routing
  • Firewall
  • Load balance
  • neutron架构

  • Neutron-server:提供网络API,接收请求并调用Plugin处理请求
  • Neutron agents:安装在计算节点上,处理Plugin请求,调用LB/OVS处理请求
  • Neutron plugins:接收neutron-server发来的请求,并调用计算节点的agents处理请求
    1. Core plugin:负责基础网络的实现(network、subnet、port)
    2. Service plugin:负责高级网络功能(routing、firewall、

load balance)

  • Network provider:Linux Bridge /OVS或者其他支持neutron的交换机
    1. LB实现core plugin
    2. OVS实现service plugin
  • Database:存放network、subnet、port、router等信息
  • 搭建方案
  • 控制节点+计算节点

控制节点:neutron server 、core plugin-agent、service plugin-agent

计算节点:core plugin-agent

此方式的弊端:所有计算节点的流量都要经过控制节点,因此控制节点的流量压力比较大

  • 控制节点+网络节点+计算节点

控制节点:neutron server

网络节点:core plugin-agent 、service plugin-agent

计算节点:core plugin-agent

  • neutron的分层结构

Core plugin:在数据库中维护network、subnet、port的状态,并负责调用相应的agent

Service plugin:在数据库中维护router、load balance、security group等资源的状态,并负责调用相应的agent

注:大二层网络

产生背景:虚拟机的动态迁移要保证业务不中断,IP地址不变,运行状态不变,因此虚机的迁移只能在二层中进行,为了提高网络的冗余性,采用了设备的冗余和链路冗余。但是会产生广播风暴,采用STP技术来解决,但是STP的性能限制,通常不超过50个网络设备,限制了迁移的范围。为了实现VM大范围跨地域的迁移,诞生了大二层

大二层的分类

网络设备虚拟化技术(各厂商的私有技术)

TRILL/SPB等路由化二层转发技术(将三层路由的转发机制引入二层)

VxLAN和NVGRE等Overlay技术(采用隧道封装技术)

   Overlay技术:将源主机发出的原始数据包(二层报文)进行二次封装后在现有网络中进行透明传输,到达目的地后再进行解封装,再转发给目的主机,从而实现主机之间的二层通信

  • 27
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值