SDN代表着虚拟化从服务器到网络的演变发展。这个新兴架构将控制平面从网络交换机和路由器中的数据平面分离出来。它使用动态用户数据包协议(User Datagram Protocol,UDP)通道--这与GRE(通用路由封装)通道类似,使通道可以动态地打开和关闭。
SDN的一大优势是,让你快速地动态地分割你的网络。这有什么用呢?想象一下,一名典型的程序员,他认为自己在开发系统工作,但他不知道,一个错误的配置实际上会让他进入现场生产系统中。一个简单的拼写错误可能会摧毁整个生产系统,甚至是整个企业。而SDN可以解决这个问题。程序员可以在沙箱中创建一个开发系统,然后在两周内将其转入到生产系统。
这听起来很抽象吧?让我们来看看这个比喻。当我开车从旧金山到洛杉矶,我选择了I-5 South公路(对所有人开放的公共道路),这代表着现在的网络。在SDN中,工程师可以快速地低成本地为每个驾驶员创建专用匝道、高速公路和进出通道。并且,工程师可以只授权部分人使用。你可以想象这种类型的道路行驶系统带来的驾驶乐趣和效率。而在传统网络中这样做的话,马上会变成一个成本高昂的噩梦。
你失去了什么:可视性
SDN的唯一缺点是,你失去了对网络流量的可视性,使故障排除几乎是不可能的。假设你的用户抱怨访问数据库的速度太慢。在SDN出现之前,网络团队可以快速发现问题,例如,备份正在减缓网络速度,解决办法就是在下班以后再进行备份。
然而,对于SDN,你可以看到UDP流量的通道源和通道端点,但重要的是你看不到谁在使用它们。你不知道“罪魁祸首”是复制过程、电子邮件系统或是其他。这意味着,当流量减慢,用户抱怨时,你无法发现网络中的问题所在。失去了可视性,故障排除受到阻碍,这将严重影响企业的运作。
如何解决这个问题
网络工程师需要了解这些问题,并做出计划,部署工具来解决问题。幸运的是,一些网络性能管理解决方案可以让你知道数据包是如何物理地穿行于网络以及流量背后的逻辑,它们可以让你同时看到物理网络和封装的SDN通道内的情况。
通过查看每个物理主机上的虚拟机之间的相互作用,你可以监控流经虚拟交换机的所有应用程序流量,提供对虚拟化和私有云环境的实时和历史可视性。并且,在捕捉数据包和流量数据后,你可以对它们进行分析来检测最终用户体验问题、TCP错误(转发、复位)、服务器延迟、利用率等。这使网络管理员能够及时发现虚拟网络中的问题。
无论你喜不喜欢,现在SDN正渗入到网络的方方面面,因此,网络工程师需要确定如何最有效地使用该技术,以及考虑如何解决它带来的网络可视性挑战。