Openstack学习(2)——Neutron

Neutron 的设计目标是实现“网络即服务(Networking as a Service)”。为了达到这一目标,在设计上遵循了基于SDN 实现网络虚拟化的原则,在实现上充分利用了Linux系统上的各种网络相关技术

Neutron 功能

  • 二层交换Swithing:Nova的Instance是通过虚拟交换机连接到虚拟二层网络的。Neutron支持多种虚拟交换机,包括 Linux 原生的 Linux Bridge 和 Open vSwitch。 Open vSwitch(OVS)是一个开源的虚拟交换机,它支持标准的管理接口和协议。 用 Linux Bridge 和 OVS,Neutron 除了可以创建传统的 VLAN 网络,还可以创建基于隧道技术的 Overlay 网络。
  • 三层路由Routing:Instance可以配置不同网段的 IP,Neutron 的 router(虚拟路由器)实现 instance 跨网段通信。router 通过 IP forwarding,iptables 等技术来实现路由和 NAT。
  • 负载均衡:Load-Balancing-as-a-Service(LBaaS),提供了将负载分发到多个 instance 的能力。LBaaS 支持多种负载均衡产品和方案,不同的实现以 Plugin 的形式集成到 Neutron,目前默认的 Plugin 是 HAProxy。
  • 防火墙:

    • Security Group: 通过iptables 限制进出instance的网络包。

    • Firewall-as-a-Service:FWaas,限制进出虚拟路由器的网络包,也是通过iptables实现。

网络资源

neutron管理的网络资源包括:

  • network: local、flat、VLAN、VcLAN
  • subnet:是一个IPv4或者IPv6地址段。instance的IP从subnet中分配。每个subnet需要定义IP地址的范围和掩码。network 与 subnet 是 1对多 关系。一个 subnet 只能属于某个 network;一个 network 可以有多个 subnet。
  • port: port 可以看做虚拟交换机上的一个端口。port上定义了MAC地址和IP地址,当instance的虚拟网卡VIF(Virtual Interface)绑定到port时,port会将MAC和IP分配给VIF。 subnet 与 port 是 1对多 关系。一个 port 必须属于某个 subnet;一个 subnet 可以有多个 port。

LBaaS

Load Balance as  a service(LBaaS)是Neutron提供的一项高级网络服务。LBaaS允许的租户在自己的网络中创建和管理load balancer。

LBaaS 有三个主要的概念:Pool Member,Pool 和 Virtual IP

  • Pool Member: 是layer4的实体,拥有IP地址并通过监听端口对外提供服务。例如 Pool Member 可以是一个web server,IP 为 172.16.100.9 并通过 80 端口提供 HTTP 服务。

  • Pool: 由一组 Pool Member组成。 这些Pool Member 通常提供同一类服务。

  • VirtualIP: 也称作VIP,是定义在load balancer上的IP地址。每个pool member都有自己IP,但对外服务 则是通过VIP。 

load balancer 负责监听外部的连接,并将连接分发到 pool member。外部 client 只知道 VIP,不知道也不需要关心是否有 pool 或者有多少个 pool member。

OpenStack Neutron 目前默认通过 HAProxy 软件来实现 LBaaS。HAProxy 是一个流行的开源 load balancer。Neutron 也支持其他一些第三方 load balancer。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值