雷锋网按:本文来自英特尔中国研究院。
自从被MIT Review评选为2009年的10大科技进展以来,SDN一直保持着相当的热度。从字面上看,SDN是软件定义网络(software defined networking)的缩写,其本质是通过网络设备控制面和转发面的分离实现网络流量的灵活控制。那么“软件”又是如何定义“网络”的呢,对“5G网络”又有什么影响呢?今天,我们就来聊一聊SDN那些事儿。
SDN的起源:分布式还是集中式?谈到SDN,业内人士必然会提及“转发、控制分离”。实际上,SDN的本质一语便可道破:SDN没有另起炉灶,只是重构了传统网络而已。
从互联网的鼻祖APRANET开始,传统网络就采用了分布式架构,通过一系列网络协议传递可达信息。一传十,十传百,从而实现互联互通。这种结构最显著特点就是转发、控制合二为一:各节点决定自己的转发规则;一旦有节点损坏或有新的节点加入,各节点通过网络协议重新学习、收敛,再次实现互通。
ARP:地址解析协议,通过IP地址获取主机MAC地址
OSPF:开放式最短路径优先,用于一个自治域内的一种基于链路状态的路由协议
RIP:路由信息协议,用于一个自治域内的一种基于距离矢量的路由协议
BGP:边界网关协议,用于不同自治域间交换路由信息
传统网络
这种“各自为政”的方式看似不错,既能抵御部分节点失效的风险,又具有一定的可扩展性。但是,随着互联网的飞速发展,尤其是云计算、大数据等新兴技术的出现,传统网络的瓶颈也逐渐显现,比如:每个节点自主决定转发规则,缺乏整体观念;制定新的网络协议耗时过长等。
为应对上述问题,一些公司从上世纪90年开始尝试将转发和控制进行分离。SDN一词的创立和风靡则归功于斯坦福大学的Nick McKeown教授,其推动的OpenFlow几乎已成为实际的南向接口标准。
SDN的网络架构分为三层,从下至上分别是转发面,控制面和应用层。控制面向下的接口为南向接口,负责配置、修改转发规则,其主流标准就是前文提及的OpenFlow。控制面向上为北向接口,为网络应用提供API,实现网络的定制化,目前尚没有开放的标准化接口。
SDN网络
SDN的现状:精耕细作还是遍地开花?自从ONF (Open Networking Foundation,主要推进SDN和OpenFlow的标准化)于2011年成立以来,SDN基本上朝着两个维度发展:一个维度是SDN关键组件,包括转发面、控制面和南向接口的演进;另一个则是向其它应用领域的延伸。
转发面由于是对传统网络的重构,转发面的最初形态自然与传统网络设备类似。随着数据中心和网络虚拟化的兴起,软件作为一种新的转发面开始出现,代表之一是开源社区的Open vSwitch。值得一提的是,与DPDK(由英特尔联合第三方软件开发公司推出的一款数据面开发套件)结合之后,Open vSwitch在某些应用场合展示了优异的线性交换能力,逼近硬件的性能,而软件在可重配可扩展方面的潜力却是硬件无法比肩的,具有非常广阔的应用前景。
控制面作为SDN的中枢大脑,控制面根据网络运营商定义的策略配置网络拓扑和转发规则。比较著名的控制器有OpenDayLight(目前成熟度最高的开源平台)和ONOS(面向运营商领域,在集群、可靠性和性能方面做了增强)。
南向接口南向接口的发展基本上呈现OpenFlow一枝独秀的局面。OpenFlow以流表作为配置对象,流表定义了对报文的基本处理,包括匹配(match)、计数(counter)和操作(action)等。高度抽象和易于实现是OpenFlow取得成功的关键 。
应用领域延展在数据中心取得成功后,SDN开始被应用到其它领域。被5G网络架构采用是SDN发展史上的又一重要里程碑(虽然3GPP将会定义新的南向接口)。在4G/LTE设计之初,由于业务不丰富以及用户的数据需求不高,分组核心网被设计成以下架构。从接入网涌入的数据统一汇入服务网关(S-GW)和分组数据网关(P-GW)。
4G/LTE网络架构
随着VR/AR,无人驾驶,无人机集群等新应用和新服务不断涌现,用户对数据获取不仅在量(即带宽)上要求更高,在质(即时延)上也提出了明确的要求。LTE的这种架构已经明显阻碍了新应用和新服务被采用。为了应对这些挑战,3GPP遵循SDN“转发、控制分离”这一基本原则,在设计5G网络架构时做出重大改变:数据面下沉 控制面集中。
5G网络架构
在LTE时代,分组核心网关的数量屈指可数,而5G则会大量采用分布式网关(即上图中的UPF)。我们在软件交换机Open vSwitch的基础上,增加了无线分组数据(主要是GTP-U隧道)的封装、解封装、转发以及其它网关功能,完成了业界第一台支持5G分布式网关的SDN软件交换机,有望在流量导出与分流,移动边缘计算,高可靠、低时延通信等业务中得到广泛应用。
SDN的未来:演进还是重生?“转发、控制分离”这一金科玉律很难撼动,但在SDN的关键组件方面,变革似乎难以避免。以南向接口OpenFlow为例,1.0版本仅有12个匹配域,而最新的1.4版激增到41个。随着新协议的加入,如果只做补丁式演进,这一数字必定还会持续增加。
在转发方面,以前文提到的支持5G分布式网关的SDN软件交换机为例,为支持对无线分组数据的处理,我们曾对Open vSwitch进行修改,涉及到20多个文件,共计300多处。功能升级所需付出的代价不小。
作为SDN的演进方向之一,P4(Programming Protocol-Independent Packet Processors)在2016年ACM SIGCOMM成为了热点之一,多篇关于硬件交换芯片,FPGA交换设备,软件交换机的文章与之有关。P4带给我们的变化是:不再拘泥于MAC/IP/TCP(UDP),可以按需自行定义报文封装格式,利用编译器自动生成硬件或者软件转发面。
SDN是继续1.x,还是直接跨入2.0?是演进还是重生?让我们拭目以待。
联系客服