软件定义网络(SDN)起源于学术界,特别是斯坦福大学的实验室,其核心理念是控制转发分离、可编程接口和集中控制。这些特点旨在简化网络管理、降低成本并提高网络的灵活性和可编程性。SDN的出现为网络管理员提供了一种更加动态和开放的方式来管理网络资源。
相比之下,网络功能虚拟化(NFV)则源自工业界,它是一种将网络功能从专用的硬件设备中分离出来的技术。NFV使用虚拟化技术在标准化的x86架构服务器上实现各种网络功能,从而减少了对于专有硬件的依赖。NFV的目标是提高网络的敏捷性、降低CAPEX和OPEX,并简化新服务的部署。
尽管SDN和NFV有着不同的起源,但两者在网络虚拟化领域中是互补的。研究表明,将SDN和NFV相结合可以带来更优的效果,尤其是在实现敏捷、高效和灵活的网络服务方面。然而,这种结合也带来了一些挑战,例如需要解决不同技术之间的集成和互操作性问题。
从宏观层面来看,SDN和NFV都提倡软件和硬件的分离。但是,深入理解两者的区别是关键。SDN的重点是分离网络设备的控制平面和数据转发平面,从而实现集中控制和简化底层设备。而NFV则是将网络设备的功能模块化,并通过虚拟化技术在软件层面实现这些功能。NFV的目标是使用通用硬件来取代专有硬件,并通过虚拟化技术提供可组合和可分离的功能模块。
SDN中确实包含了虚拟化技术,但与NFV的虚拟化有所不同。SDN虚拟化的是网络设备本身,而NFV虚拟化的是网络功能。虽然NFV也包括对基础网络设备的虚拟化,但这只是实现NFV目标的一种手段,其核心在于功能的虚拟化和动态部署。