第一:为什么须要网络虚构化?
一.数据中心的现有网络不能满足云计算的物理需求;
互联网行业数据中心的基本特色就是主机的规模偏大。进入云计算时代后,其业务特色变得愈加复杂,包括:虚构化支持、多业务承载、资源灵敏调度等(如下图所示)。与此同时,互联网云计算的规模岂但没有缩减,反而愈加庞大。这就给云计算的网络带来了渺小的压力。
互联网云计算业务特点
1. 大容量的MAC表项和ARP表项
虚构化会造成更大的MAC表项。假定一个互联网云计算中心的主机有5000台,依照1:20的比例启动虚构化,则有10万个虚构机。通常每个虚构时机性能两个业务网口,这样这个云计算中心就有20万个虚构网口,对应的就是须要20万个MAC地址和IP地址。云计算要求资源灵敏调度,业务资源恣意迁徙。也就是说恣意一个虚构机可以在整个云计算网络中恣意迁徙。这就要求全网在一个一致的二层网络中。全网恣意替换机都有或许学习到全网一切的MAC表项。与此对应的则是,目前业界干流的接入替换机的MAC表项只要32K,基本无法满足互联网云计算的需求。另外,网关须要记载全网一切主机、一切网口的ARP信息。这就须要网关设施的有效ARP表项超越20万。大局部的网关设施芯片都不具有这种才干。
2. 4K VLAN Trunk疑问
传统的大二层网络支持恣意VLAN的虚构机迁徙到网络的恣意位置,普通有两种方式。方式一:虚构机迁徙后,经过智能化网络治理平台灵活的在虚构机对应的一切端口高低发VLAN性能;同时,还须要灵活删除迁徙前虚构机对应一切端口上的VLAN性能。这种方式的缺陷是成功十分复杂,同时智能化治理平台对多厂商设施还面临兼容性的疑问,所以很难成功。方式二:在云计算网络上静态性能VLAN,在一切端口上性能VLAN trunk all。这种方式的好处是十分便捷,是目前干流的运行方式。但这也带来了渺小的疑问:任一VLAN内假设出现广播风暴,则全网一切VLAN内的虚构机都会遭到风暴影响,出现业务终止。
3. 4K VLAN下限疑问
云计算网络中有或许出现多租户需求。假设租户及业务的数量规模超出VLAN的下限(4K),则无法撑持客户的需求。
4. 虚构机迁徙网络依赖疑问
VM迁徙须要在同一个二层域内,基于IP子网的区域划分限度了二层网络连通性的规模。
二.数据中心的现有网络不能满足云计算的软件化即SDN要求。
数据中心(Data Center)中的物理网络是固定的、须要手工性能的、繁多的、没有多租户隔离的网络,无法满足现有的需求。
云架构往往是多租户架构,这象征着多个客户会共享繁多的物理网络。因此,除了提供基本的网络衔接才干以外,云还须要提供网络在租户之间的隔离才干;同时云是自服务的,这象征着租户可以经过云提供的 API 来经常使用虚构出的网络组建来设计,构建和部署各种他们须要的网络
小结:数据中心现有的物理网络基础之上叠加一层咱们自己的虚构网络
第二:网络虚构化
一:openstack相关网络
在实践的数据中心中,与openstack相关的物理网络可以分为三层:
1. OpenStack Cloud network:OpenStack 所治理的网络。
2. 机房intranet (external network):数据中心所治理的的公司网(Intranet) ,虚机经常使用的 Floating IP 是这个网络的地址的一局部。
3. 真正的外部网络即 Internet:由各大电信运营商所治理的公共网络,经常使用公共IP。
二:网络(Neutron L2 network)
网络(network)是一个隔离的二层网段,相似于物理网络环球中的虚构 LAN (VLAN)。更详细来讲,它是为创立它的租户而保管的一个广播域,或许被显式性能为共享网段。端口和子网一直被调配给某个特定的网络。这里所谓的隔离,可了解为:
1.跨网络的子网之间的流量必定走 L3 Virtual Router
2.每个网络经常使用自己的 DHCP Agent,每个 DHCP Agent 在一个 Network namespace 内
3.不同网络内的IP地址可以重复(overlapping)
依据创立网络的用户的权限,Neutron L2 network 可以分为:
虚机可以间接挂接到 provider network 或许 tenant network 上“VMs can attach directly to both tenant and provider networks, and to networks with any provider:network_type value, assuming their tenant owns the network or its shared.”。
依据网络的类型,Neutron L2 network 可以分为:
注:如今企业环境中普通经常使用vlan,gre,vxlan网络形式,后续博客会详细引见这三种网络形式
三.Neutron L2 network的Provider network形式
Provider Network 是由 OpenStack 治理员创立的,间接对应于数据中心的已有物理网络的一个网段。这种网络有三个和物理网络无关属性:
这种网络是可以在多个租户之间共享的。这种网络经过计算和网络节点上指定的 bridge 间接接入物理网络,所以自动的状况下它们是可以路由的,因此也不须要接入 Neutron Virtual Router,也不须要经常使用 L3 agent。经常使用这种网络,必定预先在各计算和网络节点上性能指定的网桥。
只管可以创立 GRE 和 VXLAN 类型的 Provider network, 但是(团体以为)Provider network 只对 Flat 和 VLAN 类型的网络才无心义,由于 Provider network 的一个关键属性是 provider:physical_network,而这个参数对其余网络类型没无心义。
创立 provider network:
四.Neutron L2 network的Tenant network
Tenant network 是由 tenant 的普通用户创立的网络。自动状况下,这类用户不能创立共享的 tenant network(因此 Nuetron Server 的policy 设置了"create_network:shared": "rule:admin_only"。),因此这种网络是齐全隔离的,也无法以被别的 tenant 共享。
Tenant network 也有 local,flat,vlan,gre 和 vxlan 等类型。但是,tenant 普通用户创立的 Flat 和 VLAN tenant network 实践上还是 Provider network,所以真正无心义的是 GRE 和 VXLAN 类型,这种网络和物理网络没有绑定相关。
创立 tenant network 的环节:
(0)治理员在 neutron 性能文件中性能 tenant_network_types,其值可以设为一个所支持的网络类型列表,比如 “vlan,gre,vxlan”。其自动值为 “local“,因此须要扭转。该值标明该 OpenStack 云中准许被创立的 tenant network 类型。
(1)运转命令 neutron net-create <net_name>
(2)neutron server 逐一依据该性能项尝试创立 network segment,成功则立刻前往。
创立每种网络时,经常使用不同的性能项:
五:Provider与Tenant的区别
六:子网
子网是一组 IPv4 或 IPv6 地址以及与其无关联的性能。它是一个地址池,OpenStack 可从中向虚构机 (VM) 调配 IP 地址。每个子网指定为一个无类别域间路由 (Classless Inter-Domain Routing) 范畴,必定与一个网络相关联。除了子网之外,租户还可以指定一个网关、一个域名系统 (DNS) 称号主机列表,以及一组主机路由。这个子网上的 VM 实例随后会智能承袭该性能。
在创立虚构主机时,nova-network会从指定子网中取一个闲暇IP并将它写入此虚构主机的性能文件。在一个子网内的虚构主机可以经过创立Linux桥成功互通。
七:端口
一个 Port 代表虚构网络替换机(logical network switch)上的一个虚机替换端口(virtual switch port)。虚机的网卡(VIF - Virtual Interface)会被衔接到 port 上。当虚机的 VIF 衔接到 Port 后,这个 vNIC 就会领有 MAC 地址和 IP 地址。Port 的 IP 地址是从 subnet 中调配的。
八:虚构替换机
Neutron 自动驳回开源的 Open vSwitch 作为其虚机替换机,同时还支持经常使用 Linux bridge。
九:虚构路由器
一个 Virtual router 提供不同网段之间的 IP 包路由性能,由 Nuetron L3 agent 担任治理
nova治理的vm与neutron提供的虚构网络之间的相关
第三:二层网络虚构化的成功
一个规范 OpenStack 环境中的物理网络性能往往包括:
租户网络(Tenant network):提供虚机在计算节点之间,以及计算节点和网络节点之间的通讯。雷同这也是数据中心的外部网络。
存储访问网络(storage access network):访问存储的网络。
存储后端网络(storage backend network):比如 Ceph 和 Swift 集群用于后端数据复制的网络。
治理网络(management network):提供 OpenStack 各个组件之间的外部通讯,以及 API 访问端点(Endpoint)。为安保思考,该网络必定限度在数据中心之内。
API 网络:其实这不是一个独自的网络,而是蕴含在外部和外部网络中。API 的 Endpoint 包括 publicurl 和 internalurl,其中,publicurl蕴含的是 externa network 的 IP 地址,internal network 蕴含的是 management network IP 地址。为了便捷起见,提供应内外网络访问的API的 publicurl 和 internalurl 相反,而只给外部网络访问的 API 只经常使用 internalurl。
数据网络(data network):除治理网络以外的其它网络,往往还可以细分为上方几种。它们可以合为一种,也可以从性能方面思考分别出一种或几种作为独自的网络。
一. 大二层的概念
二层指的是数据链路层,计算机与计算机之间的通讯驳回的是基于以太网协定广播的方式,而大二层的概念指的是openstack中一切的vm都处于一个大的二层网络中,大二层也可以被构想成一堆二层替换机串联到一同。这么做的目标就是为了满足vm可以迁徙到全网的恣意位置,二层无需网关,无需路由,因此资源调用愈加灵敏,反之,假设一切vm不在一个大二层中,那么vm迁徙到另外一个位置(另外一个网络中),则须要咱们人为地指定网关,增加路由战略,但是这还只是针对一台vm的迁徙,要满足一切的vm的灵活迁徙,再去指定网关、路由等就不事实了。
二.物理的二层与虚构的二层(vlan形式)
物理的二层指的是:物理网络是二层网络,基于以太网协定的广播方式启动通讯
虚构的二层指的是:neutron成功的虚构的网络也是二层网络(openstack的vm机所用的网络必定是大二层),也是基于以太网协定的广播方式启动通讯,但毫无不懂的是该虚构网络依赖于物理的二层网络
三.物理的三层与虚构的二层(gre模块与vxlan形式)
物理的三层指的是:物理网络是三层网络,基于ip路由的方式启动通讯
虚构的二层指的是:neutron成功的虚构的网络依然是二层网络(openstack的vm机所用的网络必定是大二层),依然是基于以太网协定的广播方式启动通讯,但毫无不懂的是该虚构网络依赖于物理的三层网络,这有点相似于VPN的概念,基本原理就是将私网的包封装起来,最终打上隧道的ip地址传输。
四.虚构路由器
跨子网的通讯须要走虚构路由器。同物理路由器一样,虚构路由器由租户创立,领有多个 virtual interface,衔接一个租户的子网,以及外部网络。它具有以下个性:
五.dhcp服务
DHCP 服务是网络环境中必定有的。Neutron 提供基于 Dnamasq (轻型的dns和dhcp服务)成功的虚机 DHCP 服务,向租户网络内的虚机灵活调配固定 IP 地址。它具有以下个性:
第四:Neutron租户网路的隔离性
Neutron 成功了不同档次的租户网络隔离性:
Neutron 对每个租户网络(tenant network)都调配一个 segmentation_id,其特点包括:
GRE Tunnel ID
原图链接:
第五 Neutron租户网络的安保性(security)
除了租户的隔离性以外,
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/7282.html