科技创新就是艺术创造
SDN前景及未来
来源: | 作者:davincinet | 发布时间: 2020-07-02 | 705 次浏览 | 分享到:

SDN还处于初期。云托管的控制平面正在生产网络中部署,但是我们才刚刚开始看到SDN在接入网络中正在试用,而可编程管道则用于引入新的数据平面功能。随着技术的成熟和API的稳定,我们希望看到更多的采用,但是可能仍在出现的新用例对SDN最终扮演的角色具有最大的影响。

可验证的网络

众所周知,很难使网络具有强大的可靠性和安全性,以防止出现故障,攻击和配置错误。尽管在应用程序级安全性方面取得了进展,但是几乎没有做任何工作来解决基础网络基础结构的安全性和健壮性。尽管在使计算机网络更具可编程性方面取得了进步,但是大多数网络仍使用封闭/专有软件和复杂/固定功能的硬件来构建,这些硬件的正确性难以证明,其设计来源也不明。

5G网络和应用的出现只会加剧这种情况。 5G网络不仅可以连接智能手机和人,还可以连接从门铃到照明,冰箱,自动驾驶汽车和无人机的所有内容。如果我们无法保护这些网络的安全,那么网络灾难的风险将比迄今为止所经历的任何事情都要严重得多。

确保Internet安全的最关键能力是可验证性:确保网络中的每个数据包都遵循运营商指定的路径,并且在运营商预期的每个设备内仅遇到一组转发规则的能力。一无所有。

在以组合(即分解)方式构建整个系统的环境中,验证效果最好。能够对小零件进行推理使验证变得容易,而将组件缝合在一起形成复合系统所需的推理也可以带来洞察力。以分解为基础,可验证性源自(1)陈述意图的能力,以及(2)以细粒度和实时观察行为的能力。正是这正是SDN所带来的价值,这使人们对可验证的闭环控制现在可以实现感到乐观。

上图说明了基本思想。 本文描述的软件堆栈增加了可验证闭环控制所需的测量,代码生成和验证元素。 可以使用INT(带内网络遥测)来实现细粒度的测量,它允许转发元素对每个数据包进行标记,以指示其所经过的路径,所经历的排队延迟以及所匹配的规则。 然后可以对这些度量进行分析,并将其反馈给代码生成和形式验证工具。 该闭环补充了分解的内在价值,这使得可以通过构造来推理正确性。

目的是使网络运营商能够自上而下地指定网络的行为,然后验证每个接口的正确性。在最低级别,P4程序指定如何处理数据包。这些程序被编译为在转发平面元素上运行。基于两个关键的见解,这种方法代表了常规设计中不可能实现的一项基本的新功能。

首先,尽管网络控制平面本来就很复杂,但是P4数据平面捕获了网络的基本事实(即,它如何转发数据包),因此是部署验证技术的有吸引力的平台。通过观察然后验证数据平面级别的行为,可以减少可信的计算基础:交换机操作系统,驱动程序和其他低级组件不需要可信。而且,尽管控制平面倾向于用通用语言编写并且相对复杂,但是数据平面必然很简单:它最终被编译为具有简单数据类型和有限状态的高效前馈管道体系结构。虽然在一般情况下无法验证通用软件,但数据平面验证既强大又实用。

这种实用性主张基于当前的最新技术水平。一旦定义并了解了转发行为,则转发表状态将定义转发行为。例如,如果已知所有内容都将转发IPv4,则所有路由器中的转发表状态足以定义网络行为。这种想法已被Veriflow和Header Space Analysis(HSA)等技术简化为实践,现已在市场上出售。知道此状态足以验证具有固定转发行为的网络,这意味着我们“仅”添加了一个新的自由度:允许网络运营商使用P4对转发行为进行编程(并随时间演变)。使用P4对数据平面进行编程是关键:该语言仔细排除了诸如循环和基于指针的数据结构之类的功能,这些功能通常会使分析变得不切实际。

第二个见解是,除了构建用于分析网络程序的工具外,重要的是还开发通过深度防御提供更高级别保证的技术。 这解决了当前网络验证方法的主要弱点之一-它们基于网络组件的数学模型,因此,当这些组件的行为方式与模型中捕获的方式不同时,它们可能会产生错误的答案。 通过利用P4数据平面收集丰富的遥测和其他监视数据的能力,可以开发将静态验证的组件与运行时验证相结合的网络验证工具。


展望未来,SDN的第3阶段专注于可验证的自上而下的网络行为控制。

为了将所有这些放到历史背景下,上图在将其扩展到未来,在此期间,可验证的闭环控制将使网络运营商能够完全拥有定义其网络的软件的所有权。这使网络所有者能够以与众不同的方式定制网络。

SD-RAN

围绕5G的早期宣传大都是关于其带来的带宽增加,但是5G的承诺主要是关于从单一接入服务(宽带连接)到更丰富的边缘服务和设备的过渡,包括对沉浸式用户界面的支持(例如AR / VR),关键任务应用程序(例如公共安全,自动驾驶汽车)和物联网(IoT)。仅当将SDN原理应用于无线接入网(RAN)时,许多这些新应用程序才是可行的,从而导致特征速度提高。因此,移动网络运营商正在努力实现软件定义的RAN(SD-RAN)。

为了从技术层面理解SD-RAN,重要的是要认识到组成RAN的基站实际上是分组转发器。给定地理区域中的一组基站相互协调以分配共享的且极为稀缺的无线电频谱。他们做出切换决策,决定共同为给定的用户服务(将其视为链路聚合的RAN变体),并根据观察到的信号质量做出数据包调度决策。如今,这些纯粹是地方决策,但将其转化为全局优化问题却在SDN的操舵室中。

SD-RAN的思想是让每个基站将本地收集的有关无线电传输质量的统计信息报告回中央SDN控制器,该中央SDN控制器将来自一组基站的信息进行组合,以构建有关如何利用无线电频谱的全局视图。然后,一组控制应用程序(例如,一个专注于切换,一个专注于链路聚合,一个专注于负载平衡,一个专注于频率管理)可以使用此信息来做出全局最优决策,并将控制指令推回各个基站。这些控制指令的粒度并不安排要传输的各个段(即,每个基站上仍然有一个实时调度程序,就像SDN控制的以太网交换机仍然具有本地数据包调度程序一样),但是它们确实发挥了作用。近乎实时的基站控制,控制环路的测量时间不到十毫秒。


通过适应和扩展ONOS构建的符合3GPP要求的RAN智能控制器(RIC)。

像已验证的闭环控制示例一样,刚刚描述的场景已可触及,并且已经针对SD-RAN用例进行了ONOS的重新定位。上图显示了该设计,其中引入了一些新组件,但主要基于现有的ONOS体系结构。在某些情况下,这些变化是肤浅的。例如,ONOS采用3GPP和O-RAN标准化机构[1]提出的术语,最著名的是,NOS被称为RAN智能控制器(RIC)。在其他情况下,则需要采用标准化接口:控制应用程序通过该接口与RIC通信的C1接口,操作员配置RAN的A1接口和RIC与底层RAN元素的通信的E2接口。这些接口的详细信息超出了本文的范围,但是对于我们而言,重要的一点是它们与支持任何其他标准的北向和南向接口(例如,gNMI,gNOI,OpenFlow)没有什么不同。