这跟交通网络很相似,连接两个城市的交通网络具备的第一个功能就是汽车从一个城市到达另一个城市;第二个功能是控制到底走哪条线路最好。前者就是由公路组成的交通网络,后者就是交通控制系统。
下面我们再来看看传统的网络设备(比如一台路由器)的逻辑分层结构,如图 9 所示。
图 9 路由器的逻辑分层
传统的网络设备包含了完整的三层,由厂商统一捆绑销售,第三方很难修改里面的软硬件结构,由此对用户来说有以下几个明显的缺点:
- 容易被网络设备厂商绑定。
- 不能快捷满足业务的需求。
- 成本高。
- 无法实现网络虚拟化。
- 数据传送的路径很难保证全局最优。
如今,SDN 是网络虚拟化技术当中最热门的技术。SDN 技术通过分离网络控制部分和封包传送部分来避免传统网络设备的缺点,处于数据通路上的网络设备蜕化为准硬件设备,网络中的所有网络设备的网络控制部分独立出来由一台服务器单独承担,示意图如图 10 所示。
把网络控制部分从各个网络设备中独立出来,统一由 SDN 网络控制器承担,这样做的最大好处是数据传送的路径是全局最优的。
SDN 网络控制器类似于 GPS 导航卫星,它存储了全局的网络拓扑图,俯视着整张网络,精确导航着每个数据包的流向。当某台网络设备收到一个数据包时,就会询问网络控制器:“这个包要往哪个口送出去?”SDN 网络控制器可能回答:“从 2 端口送出去。”
为了加快转发速度,SDN 网络设备会存储答案,即属于同一个会话的数据包直接从之前的出口送走,类似于现实生活中完成同一个运输任务的车队,在每个交叉路口,GPS 卫星只导航第一辆车,后面的车跟着行驶即可。SDN 网络设备和网络控制器之间采用 Openflow 协议进行通信。
图 10 SDN 原理图
云端一般采用 Open vSwitch 交换机,它是一款开源的网络虚拟化产品,是二层交换机,性能可以与硬件交换机媲美。利用它可以在虚拟机的下面构筑虚拟网络层,通过实时修改 Open vSwitch 的配置,可以组建变化灵活的局域网,使得一台虚拟机能快速地从一个局域网迁移到另一个局域网中,这是物理交换机所无法实现的,如图 11 所示。
图 11 迁移
不同物理机上的两台虚拟机之间的网络通路如图 12 所示。
图 12 不同物理机上的两台虚拟机之间的网络通路
VDI(远程桌面)是什么?
使用过 Windows 操作系统的用户都知道,计算机启动完毕后看到的那个屏幕叫桌面,上面有很多小图标,包括此电脑、回收站,以及很多由用户自己创建的应用程序快捷方式。图 1 所示是我的 Windows 10 桌面。
图 1 Windows 10桌面
图 2 所示是安装了 Linux 操作系统的桌面。
图 2 Linux 桌面
不同的用户登录计算机后看到的桌面是不一样的,每个用户都可以定制自己的桌面,而不会影响到同一台计算机上的其他人的桌面。
如果把桌面放在云端,就成了远程桌面,租户输入账号和密码就可以登录到云端的桌面,此后使用云端桌面与本地桌面一样,没有区别。有人喜欢把远程桌面称为虚拟桌面接口(VDI),这样学术性更浓厚一些。
使用云端桌面能实现移动办公,请看下面的情景描述:
李昭在一家公司做售后,主要工作是解决客户的问题,其活动范围包括家、公司、客户处。他经常出差,具体工作包括写文档、修改软件 Bug、管理问题库工具。李昭家里有台式机,公司有办公计算机,出差时携带笔记本电脑,公司还给他在私有云上创建了一个虚拟机。
李昭在虚拟机里安装了 Windows 8 操作系统,然后又安装了 Office 2013 办公软件、QQ、PDF 阅读器、暴风影音、Visual Studio 2012 开发工具、Photoshop CS5、Chrome 网页浏览器、问题管理工具等软件,最后开启了虚拟机的远程桌面。
这样,李昭就能在家里、公司和客户处登录到云端桌面了。云端桌面成了李昭唯一的办公桌面,如图 3 所示。他写的文档、修改的软件、设计的图片、下载的电影和歌曲等都在这里,不管李昭走到哪里,都可以随时随地访问其数据资料。
图 3 云端桌面
远程桌面协议是实现远程桌面应用的关键技术之一,协议规定终端与云端桌面如何通信。
目前的远程桌面协议有微软的 RDP10、EMC 公司的 EOP/PCoIP、思杰公司的 ICA/HDX、红帽公司的 SPICE,以及 Ericom 公司的远程桌面产品。
微软的 RDP10 客户端软件目前能运行在安装了 Windows10、Windows Server 2012 的计算机上,或者固化了相应操作系统内核(Windows Embedded Standard 10、Windows 10 IoT)的嵌入式终端上,同时发布了针对安卓和苹果操作系统的客户端软件。
而云端桌面的操作系统只能安装 Windows 8、Windows Server 2012 和 Windows Server 2016,比如图 3 就是在安装了 Windows 7 操作系统的计算机上登录到云端的 Windows 8 桌面所看到的开始菜单。
开源项目 FreeRDP 支持 RDP 协议