为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

云计算原理与实践06云计算网络

2020-04-19 42页 ppt 5MB 8阅读

用户头像 个人认证

孟子73代

暂无简介

举报
云计算原理与实践06云计算网络云计算原理与实践PrinciplesandPracticeofCloudComputing云计算原理与实践PrinciplesandPracticeofCloudComputing《云计算原理与实践》课程总览Outline6.1 基本概念6.2 数据中心网络:云计算的骨架6.3 网络虚拟化6.4 租户网络管理6.1 基本概念计算机网络覆盖网络大二层网络租户网络6.1.1 计算机网络通俗地讲,计算机网络指的是为多个计算设备提供信息交换支持的系统。因此,它不仅包括底层的物理硬件、通信线路,同时也包括构建在这些硬件基础设施之上的软件...
云计算原理与实践06云计算网络
云计算原理与实践PrinciplesandPracticeofCloudComputing云计算原理与实践PrinciplesandPracticeofCloudComputing《云计算原理与实践》课程总览Outline6.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、IPSEC1.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外部的计算机不能),又合手规则(例如,交易部门中的计算机不能与零售银行中的计算机交互)。3.VXLAN虚拟可扩展局域网(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.IPSECIPsec是用于网络或网络通信的分组处理层的一组安全协议的框架,通常和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.4OpenDaylight基本架构4.使用ONOS管理云网络图6.5Intent编译过程状态转移图5.未来:可编程数据平面图6.6P4运行时的工作流6.3.2 快速部署:网络功能虚拟化SDN并不会为网络引入新的网络功能,SDN的主要功能是解决如何让网络的控制逻辑更好地控制网络中交换机和路由器的行为。而事实上,大多数企业网络的关键却在于丰富而日益增长的网络功能。传统的网络功能,如防火墙、深度包检测、流量负载局衡器等,在各种类型的服务器操作系统上也都带有相关软件实现。然而,为了使其性能足够适用于大规模的企业网络或软件/内容服务提供商的网络,大多采用的是定制的高性能网络设备进行硬件实现,而非软件实现。这些提供各种网络功能的专有硬件便是我们常说的网络中间盒。1.ETSINFV框架2.服务功能链(SFC)图6.9服务功能链(SFC)体系结构6.4 租户网络管理网络功能即服务OpenStackNeutronGroup-BasedPolicy6.4.1 网络功能即服务云计算的核心观念是将所有资源以服务的形式进行抽象,网络也不例外,也就是网络功能即服务(NetworkFunctionasaService)。云服务提供商可以将自身的网络资源虚拟化,并允许租户对它们按需进行租用。6.4.2 OpenStack NeutronOpenStackNeutron是一个专注于在虚拟计算环境中提供网络即服务(NaaS)的SDN网络项目。它的前身是OpenStack中原有的定义网络模块管理接口的Quanntum项目。Neutron目前已经在OpenStack中的Quantum里提供原有网络应用的接口(API)。Neutron旨在解决在云环境中已知传统网络技术的缺陷。传统网络管理在多租户环境中租户缺乏对网络拓扑和寻址控制,使得租户难以部署高级网络服务。6.4.3 Group-BasedPolicy基于组的策略(GBP)是OpenStack的API框架,提供了一种Intent驱动模型,旨在以独立于底层基础架构的方式描述应用程序需求。与其提供以网络为中心的结构(如第2层域),GBP引入了一个通用的“组”基元及一个策略模型来描述组之间的连接性、安全性和网络服务。虽然GBP目前仅专注于网络领域,但它完全可以成为一个通用的框架,在网络之外的其他领域取得应用。6.5 实践:用Mininet搭建OpenFlow实验环境Mininet入门Mininet实验6.5.1 Mininet入门图6.12用Mininet搭建OpenFlow实验环境6.5.2 Mininet实验图6.13Wireshark中捕获的OpenFlow流量课内复习1.什么是覆盖网络?2.VXLAN协议是什么?3.什么是大二层网络?4.Clos网络结构是什么样的?5.软件定义网络(SDN)的概念是什么?6.什么是控制平面和数据平面?7.什么是网络功能虚拟化(NFV)?6.6 本章小结计算机网络在云计算的方方面面都扮演着重要的角色,云计算的系统供应商需要通过网络协调资源的管理与调度,云计算的服务商需要通过网络将不同类型的资源以服务的形式向用户提供访问,而云计算的租户又需要对自身所获取的虚拟化资源通过网络进行管理。这些需求都对云计算系统的网络架构提出了巨大的挑战。本章带领读者从数据中心的构建出发,自底向上地讲述软件定义网络、网络虚拟化以及OpenStack中基于Neutron和Group-BasedPolicy的租户网络管理等关键技术,最后通过构建一个基于Mininet的OpenFlow实验环境来开展实践。课外思考1.SDN相对于传统网络有些什么优势?2.如果SDN是下一代网络技术,为什么直到现在,SDN还没能替代传统网络?3.ONOS和Opendaylight这样的开源项目是如何推动SDN技术的?动手实践1Mininet是一个轻量级软件定义网络和测试平台,它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行想过的内核系统和用户代码,也可简单理解为SDN网络系统中的一种基于进程虚拟化平台,它支持OpenFlow、OpenvSwith等各种协议。Mininet也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用OpenFlow和SDN的技术,同时也可将此进程虚拟化的平台下代码迁移到真实的环境中。任务1:通过Mininet的官方网站下载并安装使用最新的软件,进一步熟悉Mininet的操作。任务2:Mininet中安装OpenFlow,并测试其性能。动手实践2OpenDaylight是由Linux基金会推出的一个开源项目,聚集了行业中领先的供应商和Linux基金会的一些成员。其目的在于通过开源的方式创建共同的供应商支持框架,不依赖于某一个供应商,竭力创造一个供应商中立的开放环境,每个人都可以贡献自己的力量,从而不断推动SDN的部署和创新。打造一个共同开放的SDN平台,在这个平台上进行SDN普及与创新,供开发者来利用、贡献和构建商业产品及技术。ODL的终极目标是建立一套标准化软件,帮助用户以此为基础开发出具有附加值的应用程序。任务1:通过OpenDaylight的官方网站进一步了解OpenDaylight。任务2:利用Mininet和Opendaylight搭建一个完整的SDN环境,并测试其性能。Thanks!
/
本文档为【云计算原理与实践06云计算网络】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索