Neutron概念认识

Neutron介绍

传统的网络服务模式一般都依赖网管手动配置和维护各种硬件设备来实现;而在云环境中,网络环境变得更加复杂,每一个租户都随时可能对网络进行更改,这些对业务快速响应的需求使得传统的网络管理不再胜任,因此,SDN(software-defined networking,软件定义网络)所具有的灵活性和自动化优势使其成为云环境下网络管理的主流元素。

Neutron的设计目的是实现云环境下的网络即服务,在设计上遵循基于SDN实现网络虚拟化的原则,在实现上充分利用了Linux系统中各种网络相关技术。

Neutron为OpenStack平台提供网络支持,包括二层交换、三层路由、负载均衡、防火墙和VPN等。

  • switching
    实例通过虚拟交换机连接到虚拟二层网络。Neutron支持多种虚拟交换机,包括Linux原生的 LinuxBridge 和 OpenvSwitch 等。利用虚拟交换机,Neutron既可以创建传统的vlan网络,也可以创建基于隧道技术的vxlan或GRE网络
  • routing
    实例可以配置不同网段的IP地址,然后借助虚拟路由实现跨网段通信
  • load-balancing
    OpenStack从G版本开始引入负载均衡,并且支持多种实现方式,这些方式以插件的形式被集成在Neutron中,默认的插件是HAProxy
  • firewalling
    Neutron可以通过iptables规则限制进出实例的网络包,也可以限制进出虚拟路由的网络包从而保护实例

对于OpenStack的租户来说,创建了实例还不够,必须要给实例连上网络,而传统的网络服务一般都是靠网管手动配置或者是通过DHCP获取

我们知道nova在OpenStack中负责创建虚拟机,neutron就是为这些创建好的虚拟机提供虚拟网络。既然是虚拟网络,网络设备和网络组件也应当一同虚拟化,

对象模型

网络(network)

这里的网络指的是一个隔离的二层广播域,是虚拟网络,就类似于物理网络中的一个lan,在neutron中支持很多种虚拟网络类型。

  • local
    local是一种只允许在本服务器内通信的虚拟网络,不能够跨服务器进行通信。这样就避免了外界的一切干扰,一般用于单机测试中。

  • flat
    所有租户都在一个网络里面,没有进行网络隔离,只要是同一网段就能进行通信,而且可以跨节点。

  • vlan
    基于物理vlan网络实现的虚拟网络,共享同一个虚拟网络的多个vlan间是相互隔离的,甚至彼此间可以使用重叠的ip地址,每个支持vlan network的物理网络可以视为一个分离的vlan trunk,使用一组独占的vlan ID。
    在思科的交换机上开启vlan功能后,整个网络就处于默认的vlan1中,就是这个道理。

  • vxlan
    vxlan网络是基于隧道技术的网络类型。
    隧道技术简单来说就是属于二层的数据包没有在二层传输,而是在其外加上了一层封装然后进入了第三层,在第三传输到目的地后解开封装。
    vxlan网络通过唯一的 segmentation ID(也叫VNI)与其他vxlan网络互相区分,vxlan中的数据包会通过VNI封装成UDP包进行传输,因为在网络层传输,所以克服了vlan和硬件网络设备的限制

  • GRE
    GRE网络是与vxlan类似的一种覆盖网络,主要区别是使用IP包进行封装

我们可以看出,不同的网络在二层中是隔离的,属于network1的广播不会传到network2中,除非借助路由,否则不同network之间无法通信。
network既然是一种网络资源,那就一定属于一个项目或者说租户,对于租户来说,可以创建多个network,这说明Project和network是一对多的组合。

子网(subnet)

子网是一组IPv4或IPv6地址以及与其有关联的配置,就像一个IP地址池,OpenStack从中向虚拟机提供IP地址,每个子网都需要定义IP地址的范围和掩码。子网的定义说明网络和子网是一对多的组合,子网一定属于某个网络,而网络中可能有多个子网,这些子网可能属于不同网段,但必定不能重叠

端口(port)

物理交换机上有固定个数的端口,虚拟交换机也有类似的设定,这就是port。port上定义了Mac地址和IP地址,当虚拟机的虚拟网卡绑定到port上时,port就会将Mac地址和IP分配给虚拟网卡。这说明subnet和port是一对多的组合,一个port必定属于某个subnet,subnet中可以包含多个port。

由此我们可以看出一个项目中的网络关系:

一个Project多个Network
一个Network多个subnet
一个subnet多个port
一个port一个虚拟网卡
多个虚拟网卡一个实例

虚拟交换机

neutron默认采用开源的Open vSwitch作为虚拟交换机,也可以用Linux bridge。

虚拟路由

虚拟路由提供不同网段的IP包路由功能,由neutron l3 agent管理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值