软件定义网络:sdn与openflow解析(第一章)-2014年4月全球首发

上传人:cjc****537 文档编号:44561175 上传时间:2018-06-14 格式:PDF 页数:7 大小:3.21MB
返回 下载 相关 举报
软件定义网络:sdn与openflow解析(第一章)-2014年4月全球首发_第1页
第1页 / 共7页
软件定义网络:sdn与openflow解析(第一章)-2014年4月全球首发_第2页
第2页 / 共7页
软件定义网络:sdn与openflow解析(第一章)-2014年4月全球首发_第3页
第3页 / 共7页
软件定义网络:sdn与openflow解析(第一章)-2014年4月全球首发_第4页
第4页 / 共7页
软件定义网络:sdn与openflow解析(第一章)-2014年4月全球首发_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《软件定义网络:sdn与openflow解析(第一章)-2014年4月全球首发》由会员分享,可在线阅读,更多相关《软件定义网络:sdn与openflow解析(第一章)-2014年4月全球首发(7页珍藏版)》请在金锄头文库上搜索。

1、1第1 章引言直到几年前,存储、计算和网络资源在物理上和运营上还是刻意分开的。甚至用来管理这些资源的系统也是分开的通常是在物理上分开。运维监控系统等和资源进行交互的应用,都被非常复杂的访问策略、系统和访问规则等以安全的名义控制着。IT 部门就喜欢这种方式。只有等到数据中心环境需要并引入廉价的计算能力、存储空间和网络连接之后,这些机构才不得不将这些网元设备放在一起考虑。这种范式上的变迁,让管理和操作这些资源的应用比以前更加紧密地联系在一起。数据中心最初被设计用来在物理上分隔传统计算单元(如 PC 服务器) 、它们所用的存储,以及连接它们和用户的网络。这种数据中心的计算能力往往被用于特定的服务器功

2、能,例如运行邮件服务器、数据库服务器或其他被广泛使用的功能,来为桌面客户端提供服务。以前,这些功能通常运行在企业机构中数千台(或更多)桌面电脑上,由专职部门内部使用的部门级服务器群提供服务。随着时间的推移,出于多种原因,部门级服务器群迁移到了数据中心,这样做主要是为了管理上的便利,其次是企业用户之间的资源共享。大约 10 年之前,发生了一个有趣的变化。一家叫做 VMware 的公司发明了一项有趣的技术,它允许一个或多个客户操作系统(如 Windows)在流行的 Linux 发行版等主机操作系统上运行。VMware 公司所做的是创建了一种小程序,用来建立集成了真实计算环境(如虚拟 NIC、BIO

3、S、声卡和视频装置)的虚拟环境,然后在多个虚拟机之间分配资源,并且将虚拟机隔离开。这种监控程序被称为虚拟机管理程序(hypervisor) 。2 第 1 章最初的时候,VMware 软件是为那些想要在 Linux 下完成大多数计算任务,而只在某些需要 Windows 操作系统环境时才用 Windows(那时候,这种情况在企业里是常态)的工程师们设计的。他们在 Windows 下完成操作后可以像关闭一个普通程序那样关掉 Windows,然后继续使用 Linux。有意思的是,这样用户就可以把客户操作系统当作其磁盘上的一个程序文件(尽管很大) 。人们能够像操作其他文件那样操作这个文件(比如可以把它移

4、动或复制到其他机器,而且还能像安装在原来的机器上一样运行) 。更有意思的是,这个操作系统可以在它察觉不到的情况下被中止,实质上是让它进入历程中断状态(suspended animation) 。随着操作系统虚拟化的出现,原本运行 Microsoft Windows Server 这种单一的、专用的操作系统以及运行为这些操作系统量身定做的应用的服务器,现在可以被看作普通的计算和存储平台。随着内存、计算能力、存储的进一步发展和增加,数据中心服务器增强了在虚拟化环境中同时运行多个操作系统的能力。VMware 扩展了它的单机版,让它更加适用于数据中心环境,以便在一个终端上运行和控制成百上千的虚拟机。W

5、indows Server 这种以往占据整台物理机器的操作系统如今可以在一个个虚拟机中,各自运行着用户所需的应用。唯一不同的是,每个系统运行在自有的环境中,可以中止、迁移、克隆或者复制(比如备份) 。弹性计算(elastic computing)的时代就这样开始了。在弹性计算环境中,运维部门只需简单地暂停虚拟机再复制文件,就可以将服务器迁移到数据中心的任意物理位置。它们甚至只需要克隆相同虚拟机的文件,然后让虚拟机管理程序将它作为新的实例来运行,就可以创建一个新的虚拟机。凭借这样的灵活性,网络管理员可以利用能源和冷却等指标,来优化数据中心里资源的位置。通过将所有运行中的虚拟机整合在一起,管理员可

6、以让数据中心其他部分的服务器休眠或空转,调低这部分的冷却性能,从而优化了数据中心的冷却负荷。类似地,管理员也可以根据区域的需求,移动或动态地扩展计算、存储或网络资源。和所有技术上的进步一样,这种在操作部署计算、存储和网络资源上引入的新的灵活性也带来了一个新问题:在考虑对存储和计算能力实现最大化的同时,又要兼顾能源和冷却时的运营效率。正如前面提到的那样,网络管理员开始意识到,一般来说,对于计算能力的需求会随着时间而增长。为了跟上这种需求,IT 部门(通常按年度分配预算)会预测并订购下一年所需的所有设备。然而,只要设备到位并且放置在了机架上,就算它尚未使用,那也还是会消耗电力、冷却和空间资源。亚马

7、逊首先发现了这个左右为难的问题。当时亚马逊的业务正呈现出“曲棍球杆曲线”(hockey stick graph) ,每 69 个月翻一倍。因此,为零售、库存和仓库管理系统以及内部 IT 系统提供计算服务的系统,其增长必须快于需求。所以亚马逊的 IT 部门不得不预先订购大量的存储、网络和计算资源,但他们又陷入了另一个窘境,在需引言 3求赶上之前,这些设备会一直处于闲置状态。为了商品化这些未利用的资源池,充分利用这些资源,亚马逊发布了 Amazon Web Services(AWS) 。当亚马逊的内部需要更多资源时,AWS 就会简单地压缩零售用户的资源,否则零售用户可以用尽未使用的资源。有人称之为

8、弹性计算服务,本书称之为超虚拟化(hyper virtualization) 。从那时起,亚马逊、Rackspace 等公司等为了价格优惠而大量购买存储和计算设备,结果发现他们并没有充分地利用自己的存储和计算资源,实际上他们可以将多余的计算能力和存储转售给外部用户,从而弥补一些资金投入。多租户的数据中心就这样兴起了。当然,这就引入了一个新的问题,如何将上千个潜在的租户互相隔离开,而这些租户所租用的资源却是任意地分散在不同数据中心的虚拟机上。还有一种理解这个困境的方式是,注意到在迁移到超虚拟化环境之前, (计算任务的)执行环境一般都是由单个企业或者组织来操作的。这就是说,他们通常拥有所有的计算和

9、存储资源(尽管一些是租用的主机托管空间) ,并把这些资源看做一个连接了大量虚拟机或物理机以及存储设备的扁平局域网(LAN)来操作。 (唯一的例外是在金融机构中,需要按照规范要求来实施隔离。 )但是,在这些示例中,部门的数量都相对较小,不到 100,所以这个问题可以简单地用现有的工具(如 2 层或 3 层 MPLS VPN)来解决。就算使用这两种解决方案,连接所有计算和存储资源的网络组件也还相当简单,它基本上是一个连接所有物理机或虚拟机的扁平以太网LAN。因为这些机器都归一家企业所有,只供他访问,在绝大多数这样的环境中,所有(虚拟或物理的)设备都分配了同一个网络(可能是同一个 IP 子网)内的

10、IP地址。这也意味着将虚拟机在同一家企业的不同数据中心之间迁移不会产生问题,因为它们也都在同一个路由域下,并且不管物理位置如何,都可以互相联通。多租户数据中心的计算、存储和网络资源可以分成相互独立或隔离的分片来提供服务。事实上,将它们隔离开十分关键。这带来了一些有趣的挑战,这些挑战在以往单租户数据中心环境下是不存在的。请记住,多租户的环境允许任意数量的操作系统和运行在这些操作系统上的应用,但如果它是要被其拥有者或者其他外部用户(如客户)访问的话,那么每个操作系统都需要一个唯一的网络地址。在过去,可以从单个、可能是私有网段的内部地址块分配,并且可以轻松在企业内部进行路由。然而现在需要分配唯一并且

11、可以从外部路由和访问的地址。此外,考虑到相关虚拟机也都还有一个唯一的 2 层网络地址。路由器最终需要利用以太网来传送数据报文(而不仅仅通过 IP) 。这通常不成问题,除非需要考虑虚拟机的移动性(VM molibity) 。在这些数据中心里,虚拟机会由于电力、冷却或计算密度等原因而迁移。难点就在这里,因为物理位置的迁移意味着物理地址的迁移。这也意味着可能需要对 3 层路由进行更改,以确保发往该机器原先所在位置的数据报文现在可以发送到新位置。4 第1章在数据中心不断发展的同时,网络设备却似乎在满足吞吐量和速度以外的方面缺乏创新。也就是说,在 IP、MPLS 和移动技术出现之后,网络技术在交换结构能

12、力和接口速度、数据通信以外的方面有些停滞不前。IP 和 MPLS 允许网络管理员在这些基础网络上创建网络和虚拟叠加网络,就像数据中心管理员可以利用计算虚拟化技术在物理机上创建并运行虚拟机那样。网络虚拟化通常被称为虚拟专用网络(VPN) ,并且以多种形式存在,包括点对点(如个人 VPN,在笔记本上用它来连接到公司的网络) ;3 层(虚拟化 IP 或路由网络,比如网络管理员可以用它们将本企业的流量和其他流量隔离开,以此保证企业网络的安全)和 2 层 VPN(交换网络虚拟化以提供和 3 层 VPN 类似的隔离,只不过这里用的是以太网地址) 。商用路由器和交换机通常配备了管理接口,支持网络管理员配置和

13、通过其他手段管理这些设备。这些管理接口包括命令行接口、XML/Netconf、图形用户界面(GUI)和简单网络管理协议(SNMP)等。通过这些接口,管理员可以用恰当的方式来管理设备,但是它们通常仍然对管理员隐藏了最底层的细节。例如,网络管理员可以编写静态路由表或其他静态的转发项,但是这些最终都要转化为传递给设备操作系统的请求。如果有人想利用设备上已有功能的语法或功能来配置,这通常不成问题。但如果有人希望试验新的路由协议,就只能使用固件中支持这种新协议的设备。在这种情况下,客户经常会向设备厂商提出功能增强的要求,并且需要等待很长的时间(等待数年也不罕见) ,客户请求的功能才会加入。与此同时, (

14、至少在逻辑上)分布式控制平面的概念再一次出现在人们视野中。一个网络设备由数据平面和一个控制平面组成。数据平面通常是一个交换结构,连接了设备上的多个网络端口。控制平面则是设备的大脑。例如,用来在一个网络中构建无环路的路由协议,通常以分布式的方式实现。也就是说,网络中的每个设备都有一个实现了该协议的控制平面。这些控制平面相互沟通、协调,以构建网络路径。然而,在集中式控制平面范式中,会存在一个(至少在逻辑上)单独的控制平面。这个超级大脑会将命令推送到每个设备,从而指挥这些设备来操控各自的物理交换和路由硬件。应该特别注意的是,虽然构成设备数据平面的硬件仍然相当专业化,因而价格昂贵,但是控制平面却日益倾

15、向于使用越来越便宜的通用计算设备,如 Intel 公司生产的中央处理单元。上面提到的都是重要的概念,因为它们为今天软件定义网络(SDN)的技术提供了核心动因。SDN 的早期倡导者发现网络设备厂商不能满足他们的需求,尤其在功能开发和提供的创新空间上。高端的路由和交换设备也被认为定价过高,至少对于这些设备上的控制元件来说是这样。与此同时,他们看到了原材料价格,即弹性计算力的成本快速下降。这让一个人处理上千个处理器成为了现实。从那时起,他们意识到可以利用这些计算力来运行一个逻辑的集中式控制平面,这样就可以使用引言 5哪怕是廉价、商品级价位的交换硬件。斯坦福大学的几位工程师创造出了一种称为OpenFl

16、ow 的协议,这个协议正好可以采用上述硬件配置来实现。OpenFlow 的架构为一些只有数据平面的设备而设计,这些设备被一个(逻辑上的)集中式控制器所控制,这个控制器是该网络中唯一一个控制平面。这个控制器负责维护所有的网络路径,以及对其所控制的网络设备进行编程。OpenFlow 的协议描述了这些指令和响应规范。值得一提的是,开放网络基金会(ONF)对 SDN 提供商业上的支持,并且今天仍然是其标准化和市场推广的权威机构。基于刚才所描述的这个基本架构,人们现在可以想象,在数据中心的廉价硬件上实现新的协议是多么地快捷和方便。更妙的是,人们可以在弹性计算环境中的虚拟机上实现它。对于 SDN 还有一个稍有不同的视角,业内一些人士称之为软件驱动网络(software-driven network) ,而不是软件定义网络。这种文字游戏并不是故意要把读者搞晕,而是为了突出在方法理念上的差别。在软件驱动的方式中,人们将 OpenFlow 及其架构视作所有可实现功能的一个特殊子集。不是在逻辑上把网络看做集中式控制平面和一堆非智能的网络设备,而是将这个世界看

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号