云计算涉及通过网络连接的大量计算机,这些网络可以物理地位于任何地方。提供商严重依赖虚拟化来提供其云计算服务。云计算可以通过更有效地使用资源来降低运营成本。云计算解决了各种数据管理问题:
云计算及其“按需付费”模型使组织可以将计算和存储费用更多地视为一种实用工具,而不必投资基础架构。资本支出转换为运营支出。
云服务有多种选择,可以满足客户需求。美国国家标准技术研究院(NIST)在其特殊出版物800-145中定义的三种主要云计算服务如下:
云服务提供商已经扩展了该模型,从而也为每个云计算服务(ITaaS)提供了IT支持,如图所示。对于企业而言,ITaaS可以扩展网络的功能,而无需投资新的基础架构,培训新的人员或许可新的软件。这些服务可按需提供,并且经济地交付到世界上任何地方的任何设备,而不会影响安全性或功能。
数据中心和云计算的术语经常被错误地使用。这些是数据中心和云计算的正确定义:
数据中心可以占用建筑物的一个房间,一个或多个楼层或整个建筑物。数据中心的构建和维护通常非常昂贵。因此,只有大型组织才能使用私有数据中心来存储其数据并向用户提供服务。负担不起维护自己的私有数据中心的小型组织可以通过从云中的大型数据中心组织租用服务器和存储服务来降低总体拥有成本。
术语“云计算”和“虚拟化”通常可以互换使用;但是,它们的含义不同。虚拟化是云计算的基础。没有它,就不可能实现云计算,因为它是最广泛实施的。
虚拟化将操作系统(OS)与硬件分开。各种提供商都提供了可以根据需要动态配置服务器的虚拟云服务。例如,Amazon Web Services(AWS)为客户提供了一种简单的方式来动态配置其所需的计算资源。这些服务器虚拟化实例是按需创建的。如图所示,网络管理员可以从AWS管理控制台部署各种服务,包括虚拟机,Web应用程序,虚拟服务器以及与IoT设备的连接。
要完全理解虚拟化,首先必须了解服务器技术的一些历史。历史上,企业服务器由安装在特定硬件上的服务器操作系统(例如Windows Server或Linux Server)组成,如图所示。服务器的所有RAM,处理能力和硬盘驱动器空间都专用于所提供的服务(例如,Web,电子邮件服务等)。
此配置的主要问题是,当组件发生故障时,此服务器提供的服务将不可用。这被称为单点故障。另一个问题是专用服务器未得到充分利用。专用服务器通常长时间闲置,直到需要交付它们提供的特定服务为止。这些服务器浪费了能源,占用的空间比所提供的服务数量所保证的要多。这称为服务器蔓延。
服务器虚拟化利用空闲资源并整合了所需服务器的数量。这也允许在单个硬件平台上存在多个操作系统。
例如,在图中,之前的八个专用服务器已使用管理程序整合为两个服务器,以支持操作系统的多个虚拟实例。
虚拟化的使用通常包括冗余以防止单点故障。冗余可以以不同的方式实现。如果虚拟机管理程序发生故障,则可以在另一个虚拟机管理程序上重新启动VM。同样,同一台VM可以同时在两个虚拟机管理程序上运行,在它们之间复制RAM和CPU指令。如果一个虚拟机监控程序发生故障,则VM会继续在另一虚拟机监控程序上运行。在VM上运行的服务也是虚拟的,可以根据需要动态安装或卸载。
系统管理程序是在物理硬件之上添加抽象层的程序,固件或硬件。抽象层用于创建虚拟机,这些虚拟机可以访问物理机的所有硬件,例如CPU,内存,磁盘控制器和NIC。这些虚拟机均运行完整的独立操作系统。通过虚拟化,企业现在可以合并所需的服务器数量。例如,将100台物理服务器整合为使用管理程序的10台物理服务器之上的虚拟机的情况并不少见。
虚拟化的一大优势是总体上降低了成本:
虚拟化的其他好处:
为了帮助解释虚拟化的工作原理,它有助于在计算机体系结构中使用抽象层。计算机系统由以下抽象层组成,如图所示:
图中显示了一个虚拟化示例。系统管理程序安装在固件和操作系统之间。系统管理程序可以支持多个操作系统实例。
二类虚拟机管理程序是用于创建和运行VM实例的软件。系统管理程序在其上支持一个或多个VM的计算机是一台主机。第2类管理程序也称为托管管理程序。这是因为系统管理程序安装在现有OS(例如macOS,Windows或Linux)的顶部。然后,将一个或多个其他OS实例安装在虚拟机管理程序的顶部,如图所示。
Type 2虚拟机管理程序在消费者和尝试虚拟化的组织中非常受欢迎。常见的2类管理程序包括:
类型1管理程序也称为“裸机”方法,因为管理程序直接安装在硬件上。类型1虚拟机管理程序通常用于企业服务器和数据中心网络设备。
对于类型1虚拟机管理程序,虚拟机管理程序直接安装在服务器或网络硬件上。然后,在虚拟机管理程序上安装OS实例,如图所示。类型1虚拟机管理程序可以直接访问硬件资源。因此,它们比托管体系结构更有效。Type 1虚拟机管理程序改善了可伸缩性,性能和健壮性。
安装类型1虚拟机管理程序并重新引导服务器后,仅显示基本信息,例如OS版本,RAM数量和IP地址。无法从该屏幕创建OS实例。第1类管理程序需要一个“管理控制台”来管理管理程序。管理软件用于使用同一管理程序管理多个服务器。管理控制台可以自动整合服务器,并根据需要打开或关闭服务器电源。
例如,假设图中的服务器1的资源不足。为了使更多资源可用,网络管理员使用管理控制台将Windows实例移至服务器2上的管理程序。还可以使用将自动触发移动的阈值对管理控制台进行编程。
管理控制台可从硬件故障中恢复。如果服务器组件发生故障,管理控制台会自动将VM移至另一台服务器。图中显示了Cisco统一计算系统(UCS)管理器的管理控制台。Cisco UCS Manager控制多个服务器并管理数千个VM的资源。
一些管理控制台还允许服务器过度分配。过度分配是指安装多个OS实例,但是它们的内存分配超过了服务器拥有的内存总量。例如,一台服务器具有16 GB的RAM,但是管理员创建了四个OS实例,每个实例分配了10 GB的RAM。这种类型的过度分配是一种常见的做法,因为所有四个OS实例很少在任何时刻都需要完整的10 GB RAM。
服务器虚拟化对服务器用户隐藏了服务器资源,例如物理服务器,处理器和操作系统的数量和身份。如果数据中心正在使用传统的网络体系结构,则这种做法可能会产生问题。
例如,必须将VM使用的虚拟LAN(VLAN)分配给与运行管理程序的物理服务器相同的交换机端口。但是,VM是可移动的,并且网络管理员必须能够添加,删除和更改网络资源和配置文件。对于传统的网络交换机,此过程将是手动的,并且非常耗时。
另一个问题是流量与传统的客户端-服务器模型有很大的不同。通常,数据中心在虚拟服务器(例如,图中所示的UCS服务器)之间交换大量流量。这些流量称为东西向流量,其位置和强度会随时间而变化。南北流量发生在分布层和核心层之间,通常是发往异地位置的流量,例如另一个数据中心,其他云提供商或互联网。
该图说明了在虚拟服务器之间交换的数据中心中的南北向和东西向流量。该图显示了分支拓扑。顶部是标记为异地的云。从异地分支是在核心层的两个防火墙路由器。路由器在分布层通过冗余链路分支到两个Nexus交换机。异地,路由器和交换机被标记为南北流量。从分布层交换机分支出的是在接入层具有冗余链路的四个Nexus交换机。每个访问层交换机都有三个链接,分别连接到独立的UCS服务器。在拓扑的底部,水平向左和向右移动的箭头标记为东西向交通。
动态变化的流量需要灵活的网络资源管理方法。现有的网络基础架构可以通过使用单个流的服务质量(QoS)和安全级别配置来响应与流管理有关的变化需求。但是,在使用多供应商设备的大型企业中,每次启用新的VM时,必要的重新配置都会非常耗时。
网络基础架构也可以从虚拟化中受益。网络功能可以虚拟化。每个网络设备都可以划分为多个作为独立设备运行的虚拟设备。示例包括子接口,虚拟接口,VLAN和路由表。虚拟路由称为虚拟路由和转发(VRF)。
网络如何虚拟化?
网络设备包含以下平面:
第3层交换机上的本地控制与SDN中的集中控制器之间的区别:
十多年前,VMware开发了一种虚拟化技术,使主机操作系统能够支持一个或多个客户端操作系统。现在,大多数虚拟化技术都基于该技术。专用服务器到虚拟服务器的转换已被接受,并正在数据中心和企业网络中快速实施。
已经开发出两种主要的网络体系结构来支持网络虚拟化:
软件定义网络(SDN) -虚拟化网络的网络体系结构,为网络管理和管理提供了一种新方法,旨在简化和简化管理过程。
思科以应用为中心的基础架构(ACI) -一种专用于集成云计算和数据中心管理的硬件解决方案。
SDN的组件可能包括以下内容:
OpenFlow-这种方法是由斯坦福大学开发的,用于管理路由器,交换机,无线接入点和控制器之间的流量。OpenFlow协议是构建SDN解决方案的基本要素。搜索OpenFlow和开放网络基金会以获取更多信息。
OpenStack-这种方法是一种虚拟化和编排平台,旨在构建可扩展的云环境并提供IaaS解决方案。OpenStack通常与Cisco ACI一起使用。网络中的编排是指自动配置网络组件(例如服务器,存储设备,交换机,路由器和应用程序)的过程。搜索OpenStack以获取更多信息。
其他组件 -其他组件包括路由系统接口(I2RS),大量链接的透明互连(TRILL),Cisco FabricPath(FP)和IEEE 802.1aq最短路径桥接(SPB)。
在传统的路由器或交换机体系结构中,控制平面和数据平面功能发生在同一设备中。路由决策和数据包转发是设备操作系统的责任。在SDN中,控制平面的管理已移至集中式SDN控制器。该图比较了传统架构和SDN架构。
SDN控制器是一个逻辑实体,使网络管理员可以管理和指示交换机和路由器的数据平面应如何处理网络流量。它协调,中介并促进了应用程序和网络元素之间的通信。
完整的SDN框架如图所示。请注意在SDN框架内使用应用程序编程接口(API)。API是一组标准化的请求,它们定义了应用程序从另一个应用程序请求服务的正确方式。SDN控制器使用北向API与上游应用程序进行通信。这些API可帮助网络管理员调整流量并部署服务。SDN控制器还使用向南的API定义下游交换机和路由器上数据平面的行为。OpenFlow是最初广泛使用的南向API。
SDN控制器定义集中式控制平面与各个路由器和交换机上的数据平面之间的数据流。
每个通过网络的流都必须首先获得SDN控制器的许可,该SDN控制器根据网络策略验证是否允许通信。如果控制器允许流,它将为该流计算一条路由,并在该路径上的每个交换机中为该流添加一个条目。
所有复杂功能均由控制器执行。控制器填充流表。交换机管理流表。在图中,SDN控制器使用OpenFlow协议与与OpenFlow兼容的交换机进行通信。该协议使用传输层安全性(TLS)来通过网络安全地发送控制平面通信。每个OpenFlow交换机都连接到其他OpenFlow交换机。它们还可以连接到作为包流一部分的最终用户设备。
在每个交换机中,使用以硬件或固件实现的一系列表来管理通过交换机的数据包流。对于交换机而言,流是与流表中的特定条目匹配的一系列数据包。
上图中显示的三种表类型如下:
实际上,很少有组织愿意使用SDN工具对网络进行编程。但是,大多数组织希望实现网络自动化,加速应用程序部署以及调整其IT基础架构以更好地满足业务需求。思科开发了以应用程序为中心的基础架构(ACI),以实现比早期SDN方法更先进,更创新的方式。
思科ACI是用于集成云计算和数据中心管理的硬件解决方案。在较高级别上,网络的策略元素已从数据平面中删除。这简化了数据中心网络的创建方式。
这些是ACI体系结构的三个核心组件:
如图所示,Cisco ACI架构由APIC和使用两层书脊叶拓扑的Cisco Nexus 9000系列交换机组成。叶片开关始终附在棘刺上,但它们从未相互附接。类似地,主干交换机仅连接到分支交换机和核心交换机(未显示)。在这种两层拓扑结构中,一切都是一跳。
网络中的Cisco APIC和所有其他设备物理连接到叶子交换机。
与SDN相比,APIC控制器不会直接操纵数据路径。相反,APIC集中了策略定义,并根据定义的策略对叶交换机进行编程,以转发流量。
1. 基于控制器的SDN
在这种SDN中,设备可由设备本身或网络中的服务器上运行的应用程序编程,如图所示。Cisco OnePK是基于设备的SDN的示例。它使程序员能够使用C和Java与Python来构建应用程序,以与Cisco设备集成并与之交互。
2. 基于控制器的SDN
如图所示,这种类型的SDN使用一个集中控制器,该控制器了解网络中的所有设备。这些应用程序可以与负责管理设备并操纵整个网络流量的控制器进行交互。思科Open SDN控制器是OpenDaylight的商业发行版。
3. 基于策略的SDN
这种SDN类似于基于控制器的SDN,其中集中式控制器具有网络中所有设备的视图,如图所示。基于策略的SDN包括一个在更高抽象层运行的附加策略层。它使用内置的应用程序,这些应用程序通过指导的工作流程和用户友好的GUI自动执行高级配置任务。不需要编程技能。Cisco APIC-EM是此类SDN的示例。
每种类型的SDN都有其自身的功能和优势。基于策略的SDN最强大,它提供了一种简单的机制来控制和管理整个网络中的策略。
Cisco APIC-EM是基于策略的SDN的示例。Cisco APIC-EM提供了用于网络管理的单一接口,包括:
APIC-EM路径跟踪工具使管理员可以轻松地可视化流量并发现任何冲突,重复或阴影的ACL条目。该工具检查两个末端节点之间路径上的特定ACL,以显示任何潜在问题。您可以看到该路径上任何ACL允许或拒绝您的流量的位置,如图所示。请注意,Branch-Router2如何允许所有流量。现在,网络管理员可以根据需要进行调整,以更好地过滤流量。