网络虚拟化
软件定义网络(英语:software-defined networking,缩写作SDN)是一种新型网络构架。它利用OpenFlow协定将路由器的控制平面(control plane)从数据平面(data plane)中分离,改以软件方式实作,从而使得将分散在各个网络装置上的控制平面进行集中化管理成为可能,该构架可使网路管理员在不更动硬件装置的前提下,以中央控制方式用程序重新规划网络,为控制网络流量提供了新方案,也为核心网络和应用创新提供了良好平台。SDN可以按使用领域分为:SD-WAN,SD-LAN,SD-DC,SDN将人工智慧引入到网络系统里来,将是未来几年最热门的网络前沿技术之一。
网络虚拟化
云计算
云的概述:
云概念是基于“ 云计算 ” 技术,实现各种终端设备之间的互联互通。
云计算解决了各种数据管理问题:
- 支持随时随地访问组织数据
- 通过订购所需的服务来简化组织的IT运营
- 消除或减少对现场IT设备,维护和管理的需求
- 降低设备、能源、物理设施和人员培训的成本
- 快速响应不断增长的数据量要求
云服务
本地 | laaS | PaaS | SaaS |
---|---|---|---|
应用 | 应用 | 应用 | ✅应用 |
数据 | 数据 | 数据 | ✅数据 |
运行时 | 运行时 | ✅运行时 | ✅运行时 |
中间件 | 中间件 | ✅中间件 | ✅中间件 |
操作系统 | 操作系统 | ✅操作系统 | ✅操作系统 |
虚拟化 | ✅虚拟化 | ✅虚拟化 | ✅虚拟化 |
网络 | ✅网络 | ✅网络 | ✅网络 |
存储 | ✅存储 | ✅存储 | ✅存储 |
服务器 | ✅服务器 | ✅服务器 | ✅服务器 |
可以理解为:
本地:需要有块地自己种“菜”,需要用自己的“厨房”烹饪,需要用自己的“桌子”吃饭
laaS:买来了“菜”,需要用自己的“厨房”烹饪,需要用自己的“桌子”吃饭
PaaS:叫了外卖(不需要田地和厨房),需要用自己的“桌子”吃饭
SaaS:直接去店里吃饭(不需要田地,厨房和桌子了)
云模型:
公有云 : 提供基于云的应用程序和服务可用于一般人群
私有云 : 特定组织或实体提供基于云的应用程序或服务
社区云 : 提供特定社区专用的服务
云计算与数据中心
数据中心 : 满足云计算服务的计算、网络和存储需求的物理设施
云计算 : 通常是一种服务,可按需求访问共享的可配置计算资源池
虚拟化
云计算和虚拟化
虚拟化是支持云计算的基本技术:
- 划分物理基础结构以创建多个专用资源的软件
- 将操作系统和硬件分开
- 虚拟云服务 ———— 根据需要动态配置服务器
专用服务器
传统企业服务器:
- 在硬件上安装服务器操作系统(Windows,Linux等)
- 服务器的所有RAM,CPU和硬盘空间均专用于所提供的服务(电子邮件,Web等)
缺点:
- 单点故障
- 服务器通常会长时间闲置,浪费资源(内存,机房空间等)
服务器虚拟化
- 服务器虚拟化利用空间资源并且整合了所需服务器的数量
- 允许在单个硬件平台上存在多个操作系统
- 虚拟化的使用通常包括冗余以防止单点故障
- 系统管理程序(hypervisor)是在物理硬件之上添加抽象层的程序、固件或硬件
- 抽象层用于创建虚拟机,这些虚拟机可以访问物理机的所有硬件,例如CPU,内存,磁盘控制器和NIC
虚拟化优势
通过提高服务器利用率降低成本:
  服务器虚拟化允许中小型企业整合其物理服务器并运行多个虚拟机(vm),每个虚拟机具有不同的工作负载。这可以提高他们的IT效率,并帮助他们获得灵活性,只需增加新硬件的一小部分成本。
增加正常运行时间和可用性:
  硬件故障是业务中断的常见原因。通过故障转移群集和实时迁移,企业可以在物理服务器之间无缝地移动虚拟机,以最大限度地减少停机时间。
提高安全性和数据保护:
  通过在单独的vm中隔离不同的工作负载,您的客户可以提高安全性并将恶意软件的影响降到最低。
简化服务器和应用程序管理:
  员工可以在任何地方、任何时间、任何设备上自由开展业务,并使用单一视图仪表板管理用户、设备、存储、资源和虚拟机。
实施灾难恢复和业务连续性:
  传统的灾难恢复解决方案可能要花费数万美元!与使用单独的物理服务器相比,客户可以更经济地备份其虚拟化环境。
类型2 Hypervisors
- 类型2 Hypervisors在一台主机操作系统上运行,以提供虚拟化服务
- 类型2 Hypervisors的一大优势是不需要管理控制台软件
- 常见的类型2 hypervisors 包括:
– Virtual PC(Win)
– VMware Workstation(Win,Linux)
– Oracle VM VirtualBox(通用)
– VMware Fusion(Mac)
– Mac OS X Parallels(Mac)
虚拟化网络设备
类型1 Hypervisors
- 类型1 Hypervisors 也称为“裸机”方法,因为管理程序直接安装在硬件上。
– 通常用于企业服务器和数据中心网络设备。
– 可以直接访问硬件资源。
– 加强了可伸缩性、性能和健壮性。
– 类型1 Hypervisors 需要一个“management console”(管理控制台)来进行管理。
– 管理控制台使用同一Hypervisors管理多个服务器。
– 管理控制台可以自动整合服务器,并根据需要打开或关闭服务器电源。
网络虚拟化的复杂性
在传统网络体系结构中部署服务器虚拟化会带来一些问题:
• 需要手工调整漂移VM的网络配置(VLAN)
• 动态变化的流量需要灵活的网络资源管理方法
• 扩展性问题(Qos配置)
解决方法: 网络虚拟化
软件定义网络(SDN)
控制平面和数据平面
网络设备包含以下平面:
• 控制平面 -被视为设备的大脑
– 用于制定转发决策
– 包含第2、3层转发机制
– 发送到控制平面的信息有CPU处理
• 数据平面-也称为转发平面
– 连接网络端口的交换结构
– 用于转发流量
– 由芯片处理,不涉及CPU
SDN:软件定义网络
分离控制平面和数据平面。
• 控制平面由 集中控制器执行,而从每个设备
中删除。
• 集中控制器将控制平面功能传达给每个设备。
• 网络设备可以专注于 转发数据,
• 集中控制器可以 管理数据流,提高安全性并
提供其他服务。
管理平面
管理平面通过网络连接来管理设备。
• 用来访问和配置网络设备
• TELNET、SSH
• TFTP、FTP
• HTTP、HTTPS
• SNMP
网络虚拟化技术
支持网络虚拟化的两种主要网络体系架构:
• 软件定义网络( SDN )
–虚拟化网络的网络体系结构,为网络管理和管理提供了一种新方法,旨
在简化管理过程。
• 思科应用中心基础架构( ACI )
–用于集成云计算和数据中心管理的专用硬件解决方案。
SDN的组件可能包括以下内容:
• OpenFlow
– 这种方法是由斯坦福大学开发,用于管理路由器、交换机、AP和控制器之间的流量。
• OpenStack
– 这是一种虚拟化编排平台,旨在构建可扩展的云环境并提供IaaS解决方案。
– OpenStack通常与Cisco ACI一起使用。
– 网络中的编排是指自动配置网络组件(例如服务器,存储设备,交换机,路由器和应用程序)的过程
• 其他组件
– 包括路由系统接口(I2RS),大量链接的透明互连(TRILL),Cisco FabricPath(FP)和IEEE 802.1aq最短路径桥接(SPB)。
传统架构与SDN
控制器
SDN控制器的运行
- 通过网络所有流都必须首先获得SDN控制器的许可
- SDN控制器根据网络策略验证是否允许通信
- 如果控制器允许流,它将为该流计算一条路由并下发交换机
- 每个交换机中为该流添加一个条目
三种表
• 流表
– 此表将传入的数据包与特定流进行匹配,并指定要在数据包上执行的功能
• 组表
– 流表可以将流定向到组表,这可能会触发影响一个或多个流的各种操作
• 计量表
– 该表在流上触发各种与性能相关的动作,包括对流量进行速率限制的能力。
FLOW TABLE定义路由
MAC SRC | MAC DST | SRC IP | DST IP | TCP DPort | TCP SPort | Action | Count |
---|---|---|---|---|---|---|---|
* | * | * | 192.168.1.0/24 | * | * | Port1 | 249 |
* | * | * | 192.168.2.0/24 | * | * | Port2 | 229 |
* | * | * | * | * | * | Port3 | 898 |
FLOW TABLE定义防火墙规则
MAC SRC | MAC DST | SRC IP | DST IP | TCP DPort | TCP SPort | Action | Count |
---|---|---|---|---|---|---|---|
* | * | 192.168.2.2 | 192.168.3.5 | 80 | * | Drop | 250 |
* | * | 192.168.3.4 | 192.168.5.4 | 80 | * | Port3 | 300 |
* | * | * | * | * | * | Controller | 9 |
SDN类型
基于设备的SDN
– 在这种类型的SDN中,设备可由运行在设备本身或网络中的服务器上的应用程序编程。
– Cisco OnePK是基于设备的SDN的示例。它使程序员能够使用C和Java与Python来构建应用程序,以与Cisco设备集成并与之交互。
基于控制器的SDN
– 这种类型的SDN使用一个集中控制器,该控制器了解网络中的所有设备。
– 应用程序可以与负责管理设备并操纵整个网络流量的控制器进行交互。
– 思科Open SDN控制器是OpenDaylight的商业发行版。
基于策略的SDN
– 这种SDN类似于基于控制器的SDN,在该控制器中,集中式控制器具有网络中所有设备的视图。
– 基于策略的SDN包括一个在更高抽象层运行的附加策略层。
– 使用内置的应用程序,这些应用程序通过工作流程和用户友好的GUI自动执行高级配置任务。不需要编程技能。
– Cisco APIC-EM是此类SDN的示例。