云计算网络.pptx
《云计算网络.pptx》由会员分享,可在线阅读,更多相关《云计算网络.pptx(39页珍藏版)》请在冰豆网上搜索。
,云计算原理与实践PrinciplesandPracticeofCloudComputing,Outline,6.1基本概念6.2数据中心网络:
云计算的骨架6.3网络虚拟化6.4租户网络管理,6.1基本概念,计算机网络覆盖网络大二层网络租户网络,6.1.1计算机网络,通俗地讲,计算机网络指的是为多个计算设备提供信息交换支持的系统。
因此,它不仅包括底层的物理硬件、通信线路,同时也包括构建在这些硬件基础设施之上的软件驱动、协议抽象、控制与管理服务等。
计算机网络是一个极其复杂的系统,为了解决网络中信息交换的稳定性问题、一致性问题及性能问题,计算机科学家和网络工程师们做出了巨大的努力。
计算机网络相关术语,网络节点(NetworkNode):
在计算机网络基础设施中,不是所有物理设备都充当网络的节点。
这些节点主要根据它们在网络中的位置与所担任的角色,可划分为以下几种类型。
网络终端(NetworkEndpoint):
位于网络边缘,可以作为网络通信端点的设备,包括服务器主机、用户的桌面计算机、笔记本、智能手机等设备。
交换机(Switch):
作为网络中间节点一类网络设备,负责将网络数据包在不同端口间转发。
可工作在OSI模型的第2层或第3层。
路由器(Router):
工作于网络层,负责将数据包从源IP向目的IP转发的网络设备。
中间盒(MiddleBox):
一切位于网络传输的非端点,负责将信息在网络终端之间传输的设备,包括网络交换机、路由器、网关服务器等。
网络链路(NetworkLink):
连接相邻的网络节点之间的设备。
可以是同轴线缆、双绞线、光纤等有线介质,也可以是无线传输的抽象链路。
网络拓扑(NetworkTopology):
由网络节点和网络链路构成的有向图称为该网络的拓扑。
路径(Path):
有时也称为路由(Route),数据包从源网络终端发出到达目的网络终端的过程中所经过的所有网络节点和链路。
信道(Channel):
网络终端之间建立的逻辑上的网络连接。
数据平面(DataPlane):
网络系统中承载数据流量的抽象组件。
控制平面(ControlPlane):
构建于数据平面之上,网络系统中负责流量转发的逻辑控制的抽象组件。
管理平面(ManagementPlane):
构建于数据平面与控制平面之上,网络系统中直接面向网络管理人员操作的抽象接口组件。
网络功能(NetworkFunction):
网络系统中提供功能性服务的组件。
通常具有定义良好的外部接口和明确的功能行为。
实际应用中经常指网络中间盒所提供的逻辑功能。
6.1.2覆盖网络,覆盖网络(OverlayNetwork)是一种在原有网络基础上构建网络连接抽象及管理的技术。
覆盖网络中的节点可以被认为是通过虚拟或逻辑链接相连,其中每个链接对应一条路径(Path)。
节点之间也可能通过下、层网络中的多个物理连接实现相连。
例如P2P网络或Client/Server应用这类分布式系统都可视为覆盖网络,因为它们的节点都运行在因特网之上。
覆盖网络通常的实现方法是在原有网络的基础上构建隧道。
目前常用于构建隧道的网络协议有GRE、VLAN、VXLAN、NVGRE、IPSEC,1.GRE,通用路由封装协议(GRE)是一种对不同网络层协议数据包进行封装,通过IP路由的隧道协议,其标准定义于RFC2784中。
GRE是作为隧道工具开发的,旨在通过IP网络传输任意的OSI模型第3层协议GRE的实质是创建一个类似于虚拟专用网络(VPN)的专用点对点网络连接。
GRE通过在外部IP数据包内封装有效载荷(即需要传递到目标网络的内部数据包)来工作。
GRE隧道端点经由中间IP网络路由封装的分组通过GRE隧道发送有效载荷,沿途的其他IP路由器不解析有效载荷(内部数据包),它们仅在外部IP数据包转发给GRE隧道端点时才解析外部IP数据包。
到达隧道端点后,GRE封装将被移除,并将有效负载转发到其最终目的地。
与IP到IP隧道不同,GRE隧道可以在网络之间传输多播和IPv6流量GRE隧道的优势有以下几点。
GRE隧道通过单协议骨干网封装多种协议;GRE隧道为有限跳数的网络提供解决法;GRE隧道连接不连续的子网络;GRE隧道允许跨越广域网(WAN)的VPN。
虽然GRE提供了无状态的专用连接,但它并不是一个安全协议,因为它不使用RFC2406定义的IPsec协议封装加密有效负载(ESP)等加密技术。
2.VLAN,通用虚拟局域网(VLAN)是一种对局域网(LAN)进行抽象隔离的隧道协议。
VLAN可能包含单个交换机上的端口子集或多个交换机上的端口子集。
默认情况下,一个VLAN上的系统不会看到与同一网络中其他VLAN上的系统关联的流量。
VLAN允许网络管理员对其网络进行分区,以匹配其系统的功能和安全要求,而无须运行新电缆或对当前网络基础架构进行重大更改。
IEEE802.1Q是定义VLAN的标准,VLAN标识符或标签由以太网帧中的12位组成,在局域网上创建了4096个VLAN的固有限制。
交换机上的端口可以分配给一个或多个VLAN,从而允许将系统划分为逻辑组。
例如,基于它们与哪个部门相关联,以及关于如何允许分离组中的系统进行彼此间的通信。
这些内容既简单实用(一个VLAN中的计算机可以看到该VLAN上的打印机,但该VLAN外部的计算机不能),又合手规则(例如,交易部门中的计算机不能与零售银行中的计算机交互)。
3VXLAN,虚拟可扩展局域网(VXLAN)是一种封装协议。
它的提出是为了用于在现有的OSI3层网络基础架构上构建覆盖网络。
VXLAN可以使网络工程师更轻松地扩展云计算环境,同时在逻辑上隔离云应用和租户。
对于一个多租户的网络环境,每个租户都需要自己的逻辑网络,而这又需要自己的网络标识。
传统上,网络工程师使用虚拟局域网(VLAN)在云计算环境中隔离应用程序和租户,但VLAN规范只允许在任何给定时间分配多达4096个网络ID,这可能不足以满足大型云计算环境。
VXLAN的主要目标是通过添加24位段ID,并将可用ID增加到1600万个来扩展虚拟LAN(VLAN)地址空间。
每个帧中的VXLAN段ID区分了各个逻辑网络,因此数百万个隔离的第2层VXLAN网络可以共存于公共第3层基础架构上。
与VLAN一样,同一逻辑网络内只有虚拟机(VM)可以相互通信。
4.NVGRE,使用通用路由封装的网络虚拟化(NVGRE)是一种网络虚拟化方法,它使用封装和隧道为子网创建大量虚拟LAN(VLAN),这些子网可以跨分散的数据中心和第2层(数据链路层)和第3层(网络层)。
其目的是启用可在本地和云环境中共享的多租户和负载平衡网络。
NVGRE旨在解决由IEEE802.1Q规范支持的VLAN数量有限而导致的问题,这些问题不适用于复杂的虚拟化环境,并且难以在分散的数据中心所需的长距离上扩展网段。
NVGRE标准的主要功能包括识别用于解决与多租户网络相关问题的24位租户网络标识符(TNI),并使用通用路由封装(GRE)创建可能被限制隔离的虚拟第2层网络,到单个物理第2层网络或跨越子网边界。
NVGRE还通过在GRE报头中插入TNI说明符来隔离各个TNI。
NVGRE规范由微软、英特尔、惠普和戴尔提出。
NVGRE与另一种封装方法VXLAN(虚拟可扩展LAN)存在竞争。
5.IPSEC,IPsec是用于网络或网络通信的分组处理层的一组安全协议的框架,通常和VPN等隧道技术结合进行报文的隐私保护。
早期的安全方法已经在通信模型的应用层插入了安全性。
IPsec对于实现虚拟专用网络和通过拨号连接到专用网络的远程用户访问很有用。
IPsec的一大优势是可以在不需要更改个人用户计算机的情况下处理安全性安排。
思科一直是提议IPsec作为标准(或标准和技术的组合)的领导者,并且在其网络路由器中包含对IPsec的支持。
IPsec提供了两种安全服务选择:
基本上允许数据发送者认证的认证报头(AH),支持发送者认证和数据加密的封装安全有效负载(ESP)。
IPsec与这些服务中的每一个相关联的特定信息被插入IP包头后的头中的包中,可以选择单独的密钥协议,例如ISAKMP/Oakley协议。
6.1.3大二层网络,大型IT企业(如微软、谷歌、亚马逊以及百度、阿里、腾讯等)为了满足各自的业务需求,都需要在全球范围的不同地理位置建立数据中心来管理它们的计算设备。
为了便于管理和进行企业内部网络的流量调度,这些分布于不同地理位置的数据中心之间往往需要在同一个二层网络之下,保证它们的流量可以在网络层以下进行多路径路由,以及负载均衡等控制。
因此,需要在原有数据中心网络互连的基础上,构建一张可以允许二层协议通信的覆盖网络。
在数据中心互连领域,通常将这样的覆盖网络称为大二层网络。
6.1.4租户网络,在云计算服务的供应关系中,接受云服务供应商直接提供服务的客户被称为租户(Tenant)。
租户向云服务供应商租用相应的虚拟化资源,并利用这些虚拟化资源来构建自己的软件服务,完成自身的业务需求。
这些虚拟化资源除了包括传统的虚拟机实例作为计算资源,以及网络磁盘作为存储资源外,通常也会包括虚拟化的网络系统,来管理和调度不同虚拟设备之间的通信。
这一虚拟化的网络系统被称为租户网络(TenantNetwork)。
由此引出的两种不同的云计算服务架构便是“单租户架构”(Single-Tenancy)和“多租户架构”(Multi-Tenancy),其区别在于同一套云计算的管理系统是否能够同时服务于多个租户。
6.2数据中心网络:
云计算的骨架,数据中心网络拓扑用Mininet搭建数据中心仿真环境,6.2.1数据中心网络拓扑,数据中心网络的拓扑设计是一个长期研究的课题。
其核心挑战在于一个简单的矛盾冲突,即建设成本、设备规模及资源利用率之间的矛盾。
构建数据中心网络是为了支撑数据中心中服务器主机之间的东西流量和南北流量的。
数据中心能够提供服务的规模取决于服务器主机的数量,而构建一个数据中心的成本还需要考虑到支撑其网络通信的交换机等设备的数量。
如何设计数据中心的网络架构,用尽可能少的交换机和链路,为尽可能多的服务器主机提供尽可能满的资源利用率,并不是一个简单的问题。
为了设计更加高效的数据中心网络,数据中心网络的拓扑结构也在不断发生着新的变化。
6.2.2用Mininet搭建数据中心仿真环境,为了加深大家对数据中心网络的理解,我们接下来用Mininet创建一个简单的软件定义网络控制的Clos数据中心网络。
Mininet是一款基于Python和Linux网络命名空间实现的轻量级网络仿真工具。
由于其默认支持OpenFlow实现,经常被用于软件定义网络相关的网络仿真实验中。
Mininet的最新发布版本2.2.2可以从其官方网站下载获得。
Mininet的官方网站界面,图6.11Mininet的官方网站界面,6.3网络虚拟化,灵活控制:
软件定义网络(SDN)快速部署:
网络功能虚拟化(NFV),6.3.1灵活控制:
软件定义网络(SDN),构成网络的核心是交换机、路由器以及诸多的网络中间盒。
而这些设备的制造规范大多为Cisco、Broadcom等通信厂商所垄断,并不具有开放性与扩展性。
因此,长期以来,网络设备的硬件规范和软件规范都十分闭塞。
尤其是对于路由协议等标准的支持,用户并没有主导权。
对于新的网络控制协议的支持,需要通过用户与厂商沟通之后,经过长期的生产线流程,才能形成最终可用的产品。
尽管对于网络的自动化管理,已有SNMP等规范化的协议来定义,但这些网络管理协议并不能直接对网络设备的行为,尤其是路由转发策略等进行控制。
为了能够更快速地改变网络的行为,软件定义网络的理念便应运而生。
1软件定义网络基础架构,图6.1软件定义网络系统总体结构,2基于OpenFlow的SDN系统架构,图6.2SDN控制器基本架构,图6.3OpenFlow流表示例,3使用OpenDaylight管理云网络,图6.4Op