白盒交换机技术概述(附下载)
共 6093字,需浏览 13分钟
·
2021-06-24 12:07
全文下载:关注微信公众号,回复关键字“白盒交换机”,获取下载链接。
白盒交换机在过去三十年间得到了快速发展, 其中开放网络基金会(Open Networking Foundation,ONF)、Linux 基金会、开放计算项目(Open Compute Project,OCP)、电信基础设施项目(Telecom Infra Project,TIP)等开源组织做出了重要贡献。白盒交换机是一种软硬件解耦的开放网络设备,与传统软硬一体的封闭交换机相比具有诸多优势:
首先,白盒交换机采用开放的设备架构和软硬解耦思想,可以根据业务需求,按需定制底层硬件和 上层软件,相比传统交换机软硬件捆绑购买、垄断使用,能够显著降 低交换机的购置成本。另外,在软件功能方面,可以基于开源软件进 行二次开发,降低开发周期和成本。
其次,白盒交换机支持硬件数据面可编程和软件容器化部署,通过软件定义的方式定制数据面的转发 逻辑,还充分利用现代云计算技术,对网络功能进行快速升级迭代, 提升网络的灵活性、敏捷性、确定性,优化网络性能,满足复杂的业 务需求。另外,借助容器化部署,能统一简化管理运维,降低网络的 运维成本。
最后,交换机白盒化已得到了芯片厂商、设备提供商、云服务商、电信运营商等交换机上下游企业的一致认同,可以联动白盒 开源生态和产业生态的发展,形成繁荣的白盒化网络生态,最终能够 促进网络的不断革新演进,解决当前业务问题、满足未来网络需求。
目前,从研制商用可编程芯片到白盒硬件设备的标准化,从统一 芯片接口到开发开源的交换操作系统,白盒交换机已经形成具备产业 化能力的网络生态。本章首先简述白盒交换机的发展历程,然后从开 源生态和产业生态两个方面对白盒交换机的现状进行介绍,最后阐述 白盒交换机相关的未来发展趋势。
1998 年 IBM、Compaq、Dell 等公司陆续开始商用 Linux 系统,其网络技术及相关生态开始快速发展。
2008 年,Linux 开始尝试与交换芯片结 合,在数据中心场景中提供大容量、高带宽的域内数据传输服务。
为进一步推动 Linux 交换机商业发展,2010 年日本电器(NEC)和惠普 (HP)着手研究交换机软件化技术,推出基于 OVS(OpenVSwitch) 的开放软件交换机,网络的资源和能力得到前所未有地释放,网络运 营开始走向自动化、智能化。
2011 年,基于交换机软件化技术, OCP 等组织开始关注交换机虚拟化技术,并于 2013 年开启了对交换 机硬件白盒化的标准化工作,推出了 ONIE(Open Network Install Environment)开放安装环境、FBOSS(Facebook Open Switching System) 设备管理软件以及 ODL(OpenDaylight)控制器标准文档,在 SDN 和白盒交换机领域取得了重大突破。
2015 年,OCP 成功推出第一款 白盒交换机 Wedge。与此同时,OVN(Open Virtual Network)虚 拟化 SDN 网络、ONL(Open Network Linux)操作系统、ONOS(Open Network Operating System)控制器以及电信领域 OpenNFV、CORD 等虚拟化、白盒化项目也相继兴起。
2016 年至今,白盒设备、软件操作系统、网络自动化 等技术已得到蓬勃的发展。微软推出的 SONiC(Software for Open Networking in the Cloud)、惠普推出的 OpenSwitch、AT&T 推出的 DANOS(Disaggregated Network Operating System)以及谷歌面向 NG-SDN(Next Generation SDN)推出的 Stratum,开源交换机操作系统层出不穷。同时,ONAP、P4Runtime 接口、Trellis 等网络管控解决方案也呼之欲出,白盒交换 机相关的网络技术空前繁荣。
白盒交换机开源生态主要围绕几个国内外的开源组织:一是开放计算项目,负责白盒交换机硬件标准的制定;二是开放网络基金会, 推进白盒交换机中 SDN 相关技术的发展与落地;三是电信基础设施项目,探索利用白盒交换机技术来改变传统的构建和部署电信网络基 础设施的新方法;四是开源数据中心委员会,联合国内机构围绕数据中心基础设备进行开放、合作、创新、共赢的发展。
开放计算项目(OCP)是由 Facebook 联合英特尔、Rackspace、 高盛及 Andy Bechtolsheim 在 2011 年为共享开源设计而推出的一个开 放硬件项目,目前已成为一个快速发展的全球合作社区。OCP 专注 于重新设计硬件技术,使其更加高效、灵活和可扩展,以支持不断增 长的计算基础设施需求。OCP 为个人和组织提供与他人分享知识产 权的体系架构,通过开源硬件和软件相结合,促进服务、存储和数据 中心技术的开放与普及。
开放网络基金会(ONF)是 SDN 主要提出者 Nick McKeown 及 Scott Shenker 于 2011 年创立的网络领域开源组织,旨在推进 SDN 的 发展与落地,是 SDN 领域公认的领导者和标准承载者。自成立以来, ONF 已成功推动 SDN 从前景不明到成为被运营商、设备商、服务提 供商普遍接受的下一代网络技术。
电信基础设施项目(Telecom Infra,TIP)是 Facebook 于 2016 年 主导成立的一个电信领域开放组织,旨在通过共同合作发展新技术, 改变传统的构建和部署电信网络基础设施的方法。
开源数据中心委员会(Open Data Center Comittee,ODCC)在中 国通信标准化协会指导下,以开放、合作、创新、共赢为宗旨,围绕 服务器、数据中心设施、网络、新技术与测试、边缘计算、智能监控 与管理等内容进行发展。
在白盒交换机产业生态里,从上游的设备提供商到下游的云服务 商、电信运营商,已经在一定规模上形成完整的产业生态链。设备供 应商主要包括思科以及新华三集团等,他们面向市场提供更具开放性 的类白盒设备解决方案;云服务商主要包括谷歌、微软、阿里巴巴、 腾讯等,他们纷纷开始研究白盒交换机操作系统,并借之推新去陈;电信运营商主要包括美国 AT&T、中国移动、中国联通、中国电信等, 他们利用白盒交换机进行业务转型和网络重构。
从设备控制的粒度上看,白盒化网络设备的发展至今经历了两个阶段。在第一阶段,网络设备及其软件由网络所有者进行集中式控制。网络设备功能/协议可以被远程修改、配置。在此阶段,网络设备/软 件/接口较为封闭,协议互通性差,转发逻辑固化,新协议/功能开发 时间长,研发成本高,无法满足灵活多样的新型网络功能需求。
因此,网络设备逐渐发展为设备架构开放、数据包转发可控的第二阶段,原有的固定pipeline 转变为灵活可编程的 PISA(Protocol-Independent Switch Architecture)架构,伴随着 OVS、SONiC、FBOSS、FRR (FRRouting)、ONOS 等开源网络软件的崛起,不透明且封闭的网络开始变得透明且开放。
随着网络规模不断扩大,业务种类的不断增多,网络管控难度不断提升,对网络设备的管理需要摒弃由专人管理与维护的方式,构建包括 5G 在内的端到端白盒化开放体系,实现端到端、自顶向下、完全由软件定义的可编程。采用先进的软硬分离、灵活可编程、随需而变的开放网络架构,力求满足不同行业的差异化、定制化网络需求,加速网络与实体经济的深度融合。
针对网络管理面,构建智能化网络管理闭环,网络管理者仅需在顶部描述管理行为,网络会自动根据行为进行分区、编译和运行,将网络资源(包括云、ISP、5G 网络)视为可编程的载体,通过软件自动化的方式进行日常的校 验与实时检查。
为了实现上述功能,需要掌握以下三个方面的关键技术:(1)高可控维护:高性能 BFD(Bidirectional Forwarding Detection)研究,实现网络资源的毫秒级状态检测;(2)高精度网络感知:基于 INT(In-band Network Telemetry)、Telemetry 等,开展高精度网络测量研究,实现带内网络遥测, 验证每个数据包或所有的状态是否“正确”;(3)高效网络调度:适用于大规模网络的 SR 路由机制,实现 流量带宽、路径高效调度与控制。
白盒交换机涉及多个层次的相互配合,不仅包括硬件的选择与适 配,还包括多项新型网络技术。为了梳理白盒交换机涉及的架构与技 术,更好的推动该领域的技术研究与生态构建,本章将从软硬件解耦 技术、可编程网络技术、硬件加速技术、白盒安全技术四个方面介绍 白盒交换机设计的关键技术点:
AT&T 将白盒交换机的生态系统可分解为四层:
硬件1层(Hardware 1 Layer):商用芯片层,负责底层的交换 转发。目前该层还没有硬性的标准。 软件1层(Software 1 Layer):芯片接口层,提取芯片的功能并 向上提供服务。该层原则上需要标准化,但还需要一个过程。 硬件2层(Hardware 2 Layer):网络功能参考设计层,提供硬 件设备网络功能设计参考。该层主要包括 OCP 项目制定的硬件设备 网络功能的参考性设计。 软件2层 (Software 2 Layer):网络操作系统和协议层,负责 实现控制和管理平面的功能。该层主要包括网络操作系统和上层的网 络协议应用,是最重要的一层。
控制面主要对底层网络交换设备进行集中管理,包括状态监测、 转发决策以及处理和调度数据平面的流量,实现链路发现、拓扑 管理、策略制定、表项下发等功能;向上则通过北向接口为上层业务 应用以及资源管理系统提供灵活的网络资源抽象,开放多个层次的可编程能力。
控制面可编程技术的发展将带来以下几点优势:
1)白盒交换机 使用与服务器相似的网络操作系统,能够使用现有的服务器管理工具 实现网络自动化,支持对开源服务器软件包的轻松访问,实现在交换 机上使用与服务器完全相同的配置管理接口,提高创新速度; 2)将传统交换机特殊的网络环境变为较为通用的环境,从而对网络服务进 行高效地拓展和管理,提高了白盒交换机的可编程性和对网络的可见 性; 3)能够通过API 和控制器,在交换机的网络操作系统中实现动 态可编程,编写需要的网络功能(如网络分流器),从而在每一个交 换机上减少硬件部署,做到对网络进行集中管理和监控。
传统数据面将网络的报文处理和转发逻辑全部固化在硬件芯片 中,由完全线速的芯片逻辑完成,从而使网络性能得到大幅提升,但 却无法满足当今上层业务与控制软件对底层网络逐渐增加的特殊需求。转发平面很大程度上受制于功能固定的 ASIC 芯片。
可编程网络技术的核心是具备可编程特性的交换芯片,即芯片的 报文处理和转发逻辑能够通过软件来按需调整。目前,可编程交换芯 片的硬件载体是 ASIC 与 FPGA(Field Programmable Gate Array)的 结合体。
在大部分的场景中,交换机负责处理网络数据包的传输,数据包 最后抵达目的服务器后才进行相应的处理和计算。但是随着网络流量 的急剧增长,限于 CPU 与交换芯片的性能瓶颈,现有的数据平面架 构已经不能很好满足用户对于低延迟、高传输的需求。
为解决上述问题,可在数据面上整合智能网卡、FPGA 等硬件加 速卡,利用硬件加速技术实现网络流量卸载,降低整体网络延迟、减 少 CPU/交换芯片的资源消耗,能显著提高网络的整体性能和服务质 量。
数据面可采用 CPU+SmartNIC 的异构组合。其 中,CPU 通过高速的 PCIe接口与 SmartNIC 相连。在转发过程中,针对数据包需要特殊处理的部分(CPU 资源消耗巨大或硬件处理增益较大的网络功能)可以直接卸载至智能网卡。这种组合方式不仅能实现正常的网络数据包 转发,还强化设备的处理能力,可以有效提高白盒交换机的性能并减 小网络延迟。
白盒交换机的开放架构存在不可忽略的安全问题,例如针对 ONIE 的漏洞利用。ONIE 允许用户在不更换硬件的情况下,部署或 更换网络操作系统(包括启动和恢复 Big Switch Networks、Cumulus Networks 等供应商的网络操作系统)。
利用 ONIE 的漏洞和缺陷(包 括缺乏身份验证和加密),攻击者可以在交换机的启动阶段(即操作 系统完全加载之前),插入恶意代码。而操作系统的安全软件无法在启动阶段运行,已加载的恶意代码会被认为是已知/良好的组件。即 使检测到攻击,用户通过更换固件来移除恶意代码的成本也会很高。
白盒交换机分硬件和软件两个部分,硬件一般包括交换芯片、CPU 芯片、网卡、存储以及外围硬件设备 等,其接口、结构等需要符合 OCP 标准化规范;软件主要是指网络 操作系统(Network Operating System,NOS)及其搭载的网络应用。在白盒交换机中,NOS 一般通过基础软件平台(如 ONIE)的引导完 成安装,芯片接口层(如 SAI 等)则将交换芯片的硬件功能封装为统 一的接口,解耦上层应用与底层硬件。具体而言,上层应用通过调用 芯片接口定制底层转发逻辑,提供网络的可编程功能。
硬件转发层通常包含以下几类器件:1) 交换芯片:用于转发 数据;2) CPU 芯片:主要管控系统运作;3) 网卡:提供 CPU 侧管理功能;4) 存储器件:包括内存、硬盘等;5) 外围硬件:包括风扇、电源等。其中,交换芯片负责交换机底层数据包的交换转发,是交换机最核心的部件。
全文下载:关注微信公众号,回复关键字“白盒交换机”,获取下载链接。
来源:网络通信与安全紫金山实验室
转载申明:转载本号文章请注明作者和来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。
推荐阅读
更多架构相关技术知识总结请参考“架构师全店铺技术资料打包”相关电子书(37本技术资料打包汇总详情可通过“阅读原文”获取)。
全店内容持续更新,现下单“全店铺技术资料打包(全)”,后续可享全店内容更新“免费”赠阅,价格仅收198元(原总价350元)。
温馨提示:
扫描二维码关注公众号,点击阅读原文链接获取“架构师技术全店资料打包汇总(全)”电子书资料详情。