所以,NFV如果要大行其道的话,CPU必须在性能方面大大缩短与NP及ASIC之间的差距。
随着云数据中心里计算虚拟化的趋势,数据中心中业务快速部署、自动化以及自服务成了必然的需求,这在公有云,大规模私有云里体现的最为明显。对网络提出了以下几个方面新的要求:
云平台无法操纵现有网络设备,无法根据应用的要求配置网络。
多租户之间要实现隔离。
单租户的不同应用之间安全性要保障。
虚拟机迁移的要求打破了原有网络的边界,配置的网络策略需要随动迁移。
上述要求使得现有网络无所适从,所以NV应运而生。
NV的方法是在现有网络之上构建了一个叠加(Overlay)的,虚拟的网络,这个网络直接支持业务,由云平台操控。而现有网络只作为传输通道,只在特定情况下支持业务(如需要虚机与物理机之间互通)。
服务器Hypervisor上安装转发部件,接收Controller下发的转发指令,形成转发表,转发数据报文。
Controller控制其下的Hypervisor们,准确的说是控制其上的转发部件;管理整个虚拟网络。
对于东西向流量,由Controller控制下的Hypervisor之间(以下称虚拟机集群)转发实现,而南北向流量,需要部署专门的虚拟路由器或物理网络设备作为虚拟机集群的出口。
南北向流量处理需要多提一点的是,不论专门的虚拟路由器还是物理设备,上面运行的是传统路由协议,Controller要与其互通,需要支持相同的协议。
叠加网络是这样形成的,Hypervisor之间建立隧道,通用的协议是VXLAN或NVGRE(隧道协议后续还有发展,这里不作探讨)。虚拟机之间的流量封装在Hypervisor地址内传送。物理网络设备只看到Hypervisor地址,不会看到虚拟机地址。
了解传统网络设备的就会意识到,这个架构似曾相识,虚拟机集群像一台机架式路由器或交换机,Controller就是主控,Hypervisor就是接口卡,每台虚拟机连接到接口卡上。Hypervisor之间通过VXLAN连接,VXLAN相当于机架式设备的背板或交换引擎(当然VXLAN报文不能跑在空气中,由物理网络设备转发)。这里,Controller负责控制平面,Hypervisor们组成转发平面。
在此回答NV是如何解决前面提到的计算虚拟化挑战问题的:
云平台通过Controller控制虚拟网络,满足应用部署要求。
隧道建立时,有隧道标识,VXLAN封装有VNI字段,24位,1千6百万个。每个VXLAN就是一个广播域,VXLAN之间二层隔离。为单个租户建立独有的虚拟路由器,租户VXLAN终结到自己的路由器,自然也实现了三层隔离。
云平台在迁移虚拟机时同时调用Controller接口,配置的网络策略实现随动迁移。
最后谈谈SDN,NFV,NV三者之间的关系:
就之前对三者的描述,大家可以了解到,三者间绝不等同,但又互有交集。
总结一下,SDN,NV,NFV分别对应网络的面,角,点。
NV是虚拟机世界的网络解决方案,我的理解是它采用了SDN的思想,NFV的方式满足数据中心云化的特定网络需求。之前的NV架构中,Controller与Hypervisor转发部件之间就是控制与转发分离,控制平面集中化的体现,Controller又有接口供云平台调用,实现可编程,不是完全符合SDN的三个特征吗
在介绍NV时提到的处理南北向流量的虚拟路由器,与物理路由器功能上没有什么不同,只是运行在物理服务器上的一台虚拟机,实现了路由器功能,这不就是NFV的实际应用!
SDN与NFV诉求不同,前者面向面,后者面向点,但它们尽管不同,但有关联,而且关联关系会随着这两项技术的发展会越来越密切。先抛开SDN说NFV,现网中如果拿通用服务器替代专用网络设备,就是NFV的实现。而网络中实现SDN可以通过现有的专用设备,只要满足开篇提到的三特征即可。这么说,好像SDN与NFV无关。那为什么又说SDN与NFV会越来越密切通用服务器替换专用设备,可能会更便于实现SDN定义的三特征,而且SDN与NFV都是大势所趋,未来会出现在Controller控制下用通用服务器作为网元形成的网络,既实现了SDN,又是NFV。如果发展到这一步,SDN与NFV就是完美的融合了。
关于作者:薛保平,曙光信息产业公司网络架构师,分别在曙光,爱立信,世纪互联从事网络架构,网络设计与设施等工作,在数据通信行业有超过15年的从业经验。