互联网技术 · 2024年2月2日

SDN与NFV的区别与联系:构建5G网络的核心技术

经常听到网络运营商和设备商提到SDN和NFV,称其为构建未来5G网络的核心技术。那么这两种技术究竟是什么,又有什么区别与联系呢?

SDN是什么?

SDN,即软件定义网络(Software Defined Network),是一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心思想是将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络变得更加智能。

SDN起源于高校的研究项目。2006年,美国GENI项目资助的斯坦福大学Clean Slate课题,斯坦福大学Nick McKeown教授为首的研究团队提出了OpenFlow 的概念。OpenFlow协议使控制平面和数据平面的接口标准化,为网络带来了可编程的特性。在此基础上,Nick McKeown教授及其团队进一步提出了SDN的概念。

早期的网络协议研究一般利用一些网络模拟器来模拟真实的网络环境,但研究者们仍然希望在真实的网络环境中测试正处于研究阶段的网络协议和算法。最初研究Openflow协议的目的就是为新协议和新算法提供一个试验平台。在校园网内部署Openflow网络试验平台,更接近于真实网络的复杂度。

随后研究者们意识到基于Openflow的SDN技术不仅可以用于研究,在实际的网络环境中部署,可以让网络控制更加灵活。尤其是在数据中心部署,可以实现路径优化,避免数据拥塞。随着云计算的发展,数据中心的规模也越来越大,SDN技术可以发挥越来越大的作用。

SDN的网络架构:控制平面与数据平面分离

SDN的控制面和数据面分离以后有什么好处呢?最大的好处就是可编程。

原来的各种网络协议都是固化在网络设备里面,网络设备的功能由其内部程序以及配置决定,可以说功能是死的,无法根据流量变化动态调整。如果要改变的话,必须重新配置或部署网络设备。

分离以后,网络管理者可以在SDN控制器的A-CPI接口上开发应用软件,结合流量监控,动态调整SDN控制器的路由协议,从而影响数据平面中的网元(Openflow交换机)对流量的转发控制,这样网络由死的变成活的了。

另外还有一个好处,就是传统网络的路由协议,是由网络上所有的路由器组成的一个分布式系统,也就是说带宽资源调度是分布式的,难免存在分配不合适,出现网络拥塞。有了SDN控制器,相当于把原来分布在各个路由器上的流控功能给集中了,可以更有效地进行资源分配。

SDN还可以与云计算相结合,比如SDN控制器以及上面的网络应用软件,都可以运行在云计算的虚拟机上面。

NFV是什么?

NFV,即网络功能虚拟化,Network Function Virtualization。通过使用x86等通用性硬件以及虚拟化技术,来承载专用硬件的软件功能,从而降低昂贵的设备成本。利用软硬件解耦及功能抽象,使网络设备功能不再依赖于专用硬件,可以实现新业务的快速开发和部署,并基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。

NFV概念提出源自于网络运营商。随着网络技术的不断升级,每次技术升级都需要新的网络设备,网络运营商每次部署不同功能的网络设备,不仅成本很高,对于网络管理也非常复杂。

出于设备成本和管理难度的需求,运营商希望能够使用通用性的硬件来承载之前专用硬件的网络功能,比如负载均衡、防火墙等。

NFV技术与云计算的虚拟化技术很容易结合,比如承载各种网络功能的通用硬件,可以直接用虚拟机来代替。网络功能如果需要升级,运营商也不用购买专用硬件,直接部署新的网络软件上去跑就行,如果计算资源不够,那就多部署一些虚拟机。

SDN与NFV的区别与联系

SDN和NFV的设计思想其实都是通过解耦来提高系统的灵活性,让系统变得更加智能,从设计思想上来说是非常接近的。那么这两者又有什么区别呢?

SDN跟NFV最明显的区别是,SDN解耦的是控制平面与数据平面;NFV主要是软硬件解耦。另外就是SDN处理的是OSI模型中的2-3层,涉及到交换机、路由器等;NFV处理的是4-7层,比如负载均衡,防火墙等。

SDN和NFV技术有很强的互补性,且并不相互依赖,NFV可以不依赖于SDN部署,反之亦然。在数据中心的实施中,SDN和NFV技术可以共存,各自发挥作用。

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.