P4 可编程网元 — 数据面转发技术发展史

Posted 范桂飓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P4 可编程网元 — 数据面转发技术发展史相关的知识,希望对你有一定的参考价值。

目录

第一代转发架构:集中转发、总线交换。

最早期的路由器,就是由普通的计算机加多几张网卡构成的。当时流量小,所以主频很低、实时性很差的 CPU 也能够应付带宽需求。

第二代转发架构:集中+分布转发、接口模块化、总线交换

随着网络用户增多、网络流量增大,需提高网络接口数量,通过接口卡 Cache 路由表直接转发,降低 CPU、总线负担。

第三代转发架构:分布转发、总线交换

路由与转发分离:

  • 主控板:管理设备、收集/计算路由、下发路由表。
  • 业务板:根据路由表独立路由转发。
  • 总线:业务板之间的数据转发独立于主控板。

第四代转发架构:ASIC 分布转发,网络交换

后 Web 时代核心网络的流量以指数级数增长,基于软件的 IP 路由器无法再满足带宽的要求,ASIC 实现应运而生,转发过程通过 ASIC 硬件方式实现。

第四代转发架构:NP(网络协处理器)

NPU 的处理性能可达到同规格单核单线程 CPU 的 24 倍(理论值)。

第五代转发架构:NP 分布转发、网络交换

网络处理器(NP)提升吞吐量的关键:流水线处理和并行处理。

  • 流水线方式:报文处理分段:接收、解析、查找、修改、发送…,在减少指令总数、缩短处理时间的同时,简化指令和引擎设计,提升执行效率。

  • 并行处理:充分发挥所有处理器所有硬线程的威力,隐藏 I/O 访问时延。

网络处理器的另一个大杀器就是灵活编程,灵活编程在应对 VPN、MPLS 网络、IPV4/IPV6 混合网络、精细的流量管理、各种安全网关以及BT这种高带宽但不增值的数据流识别与限制上得心应手。

基于 MIPS(Million Instructions Per Second)架构开发的商业多核芯片,将网络连接、负载均衡、加/解密、应用加速等功能集成在一个芯片上,即 SoC(片上系统),在高度灵活性和较高性能方面,找到了最佳平衡点。

第六代转发架构:SDN/NFV、DPDK/VPP

2013 年伊始,在 B4 成功案例的鼓舞下,运营商紧跟互联网厂家步伐,积极对 SDN 技术张开怀抱。

  • 2013 年,AT&T 发布了 Domain2.0 计划,并发布 Domain2.0 白皮书,通过 SDN/NFV 技术将网络基础设施从 “以硬件为中心” 转向 “以软件为中心”,实现基于云架构的开放网络,率先打造 ECOMP 网络编排系统,首次将 SDN 技术用于电信运营商大网的编排管理。

  • 在此之后, Verizon 发布 SDN/NFV 参考架构白皮书,详细阐述面向未来网络的架构设计,引入统一的端到端网络编排和业务编排,从顶层设计对网络进行升级,推动网络能力提升;

  • Telefonica 提出 UNICA 架构,使用 SDN 将分散在各地的数据中心统一管理;

  • Vodafone 发布基于 SDN/NFV 网络转型战略 Ocean,构建自动、资源优化的IP和光网络,面向企业提供实时敏捷、简化自配置的业务,支持端到端的业务编排;

  • 国外代表运营商 Telstra,NTT,SK telecom 等也相继开始引入 SDN技术进行试点。

在此期间,中国三大运营商也陆续发表了以网络转型为主要内容的技术白皮书,阐述了 SDN 技术在运营商网络转型中的重要作用。

  • 中国移动首先发布下一代革新网络 NovoNet 白皮书,旨在融合 IT 技术,构建一张 “资源可全局调度、能力可全面开放、容量可弹性伸缩、架构可灵活调整” 的新一代网络;
  • 中国联通发布新一代网络架构 CUBE-Net 2.0 网络架构白皮书,旨在通过面向云端双中心的解耦集约型网络架构牵引网络重构,建立新网络、新服务和新生态;
  • 中国电信发布 CTNet2025 网络架构白皮书,旨在通过智能化牵引网络重构,建立简洁、敏捷、开放和集约的新型网络体系,并在其中重点强调了新型 OSS 系统的重要性以及 O 域与 B 域的协同。

上述三部白皮书的发布,代表着中国三大运营商对以 SDN/NFV 为代表的网络转型的理解趋于深入和成熟,从各方的关注点来看,虽然各有侧重,但是总体聚焦在网络的控制技术优化,直接建立云 IDC 和运营商骨干网络连接,以及云网时代经营模式的探讨方面。

进入 2017 年以后,SDN 的概念越来越多的不止停留在运营商的白皮书和报告中,而是开始了针对性的试点,在部分场景的试点完成后,已经转入了正式的商用。其中比较有代表性的领域有:

  1. 数据中心网络:中国联通通过参与 CORD 项目,借助开源软件进行了数据中心网络白盒交换机的试点;中国移动以研发机构为主,坚定地开展了白盒相关技术的自主研发。

  2. 骨干网:中国联通云联网通过 Underlay 的方式实现了云网打通和用户一键入云,并且通过 SD-WAN 等方式实现了客户最后一公里的无缝覆盖;中国移动研发的 OpenDaylight 控制器,在 IP 承载网 NovoWAN 的全局流量调度优化,实时感知网络流量,全局集中调度流量,提升IP网络带宽利用率;中国电信 IP 骨干网互联网业务智能调度管控方案实现了集约的 “多级网络协同”,IP 网络资源均衡与一键式流量调度。

  3. 城域网:AT&T 开始在移动回传网中引入白盒设备,并且研发了自己的白盒设备操作系统 DANOS;中国移动的 SPTN 实现了回传业务 VPN 的自动开通,实现了跨厂商端到端业务开通;中国联通通过引入 SD-IPRAN 等技术,在 IPRAN 专线承载领域实现了网络能力的开放,可对外对接多种业务。

站在 2020 年初的时间点上,回顾过去 10 多年来 SDN 的发展,可以权且将其称为 SDN1.0 时代,针对 SDN 对电信运营商网络带来的变革,有以下几点思考:

  • 第一,SDN 便利流量调度,调优的特性,对需要向一级运营商批发带宽,然后将带宽向其自身用户进行转售的 OTT 和二级运营商有着重要的意义。同时,OTT 具备很强的 SDN 控制器的研发能力,并且很多要调度的流量本身就是自己产生的,因此 SDN 技术在互联网行业得到了更好的应用。但是,进行流量调优的上限取决于购买的可使用的总带宽,如果总带宽不扩容的话,OTT 仍然难以与一级运营商通过网络扩容取得的能力抗衡,因此从网络发展的现阶段来看,获取资源的重要性仍大于精细化管理的重要性,或者说二者是互补的关系,在进行网络的实际部署和优化时,应综合考虑扩容和提智(控制能力),包括软硬件建设成本,运营难度,实际收益等因素。

  • 第二,对运营商而言,SDN 更多的解决的是多域协同和多业务编排问题,但是要实现协同编排的前提是底层网络的提速,提质,互联互通,这些目前并不是通过 SDN 做到的,但确实通过部署 SDN 网络,带动了电信运营商的基础网络建设,以 DC 为中心来设计网络,在云 DC 和骨干网之间建立更多的连接,部署更多的 POP 点,网络与云数据中心更多的直连打通,这些措施与 SDN 协同编排的能力融合到一起,显著提升了网络对云服务的支持。

  • 第三,SDN 带来了网络能力开放。目前通过 SDN 控制器或协同器、编排器实现网络能力开放的理念已经深入人心。但是 SDN 带来的能力开放是一把双刃剑,如果网络运营者具备强大的自研能力,DevOps 能力,对自身业务的流量流向又了解的比较深入,那么确实可以带来网络能力与云网融合业务体验的极大飞跃,反之,如果网络运营者没有具备上述能力,则可能效果十分有限。因为一方面潜在的网络运营竞争对手(如 OTT)大量增加,另一方面能力开放后,IT 思想下的开源工具 + 产品自研模式,逐步取代了 CT 思想下的技术标准化 + 产品采购模式,以电信运营商为例,将会更加难以去控制产业链,主导网络技术发展方向。

总体来看,在 SDN1.0 阶段,SDN 的上述三大特性使 OTT 收益最大,其次是传统的设备商和一些第三方 SDN 软硬件提供商,再次才是电信运营商。对电信运营商而言,对 SDN 能力开放的认识和利用实际上还刚刚开始,目前看更多的是推动了其云网融合的进度,丰富了面向云业务的底层基础资源供给,电信运营商未来继续发展 SDN 不能寄希望于传统硬件时代的技术标准化,而只能依靠自身软件研发能力和 DevOps 能力的进一步提升,以及更加精细的掌握网络的流量流向,这也契合了下面要谈到的 SDN2.0 时代的技术趋势。

第七代转发架构:P4、SmartNIC

2014 年,随着 McKeown 教授等人联合发布论文《P4: Programming Protocol-Independent Packet Processors》,P4 作为一种全新的专用编程语言,正式进入大众视野并在 SDN 界引起极大的反响和关注。

P4 语言的目标是实现协议无关性,目标无关性以及现场可重配置能力,以期解决 OpenFlow 编程能力不足和可拓展性差等问题,而 Barefoot Tofino 交换芯片是业内首个支持协议无关交换机架构的以太网交换 ASIC,它的转发逻辑并非传统的同硬件绑定的模式,而是由网络运营商或交换机制造商通过 P4 语言编程来灵活实现的。

P4 语言和 Tofino 芯片的诞生,实现了转发层面的可编程,因此也标志着 SDN 由 1.0 时代正式进入 2.0 时代。随着 P4 的发展成熟,一系列新奇瑰丽的想法接踵而至,网络运营者已经将其应用于带内网络遥测、传输层负载均衡、DDoS,NetCache,转发时延优化,边缘云卸载以及网络自动化测试等场景。

2017 年 3 月,AT&T 宣布已在部分现有的基于 MPLS 的网络中安装了基于 Tofino 的白盒。翌年,AT&T 开源 dNOS,除了支持现有的网络协议,还提供了扩展功能,并支持开源编程语言 P4。在 VNF 卸载方面,基于 P4 的数据层面可编程性提供了很强大的灵活性,使得数据层面不仅仅是一个传输管道。以 P4 具备的可编程能力出发,可以构建相应的 VNF 模块。VNF 卸载后,对于 DC 交换机,VNF 可以工作在 Tbit/s 为数量级的线速,性能得到了很大提升。通过可编程芯片的卸载功能,避免了 x86 存在的不确定性处理等问题,从而降低了时延和拥塞,相较传统模式,处理数据包所占用的 CPU 资源变少,从而降低了整体能耗。

2019 年 10 月,中国联通在实验室成功实现了基于 Tofino 交换机的面向 5G 核心网 CUPS 架构的 UPF 卸载方案。该基于 P4 协议无关交换机架构的创新解决方案专门为 5G 核心网 CUPS 架构定制,方案中采用了完全分离部署的处理模式,控制平面和用户平面均可以按需扩展,同时也提供灵活处理方式,既可以独立部署,也可以集成在 Fabric 中进行部署。目前,单个 UPF 节点最大可支持 3Tbps 的吞吐率,未来随着 PISA 架构交换机的发展,性能可以进一步提升,此外,诸如负载均衡,QoS,DPI 等相关的 L4-L7 功能也会相继引入。

除了芯片层面的可编程以外,在网络协议领域,以 SRv6 为代表的新一代控制协议也正在加速成熟。分段路由(Segment Routing,SR)技术的本质是源节点规划 + 关键节点选路,该技术继承了网络控制的必要性,但又相比传统的资源预留和分布式协议降低了控制的冗余性,并且有望通过 IPv6 技术的大规模部署,首次实现承载网与业务的拉通,即 Underlay 的方式真正贯穿网络的端-管-云,网络配置与数据中心的业务配置相统一,促进云网一体。

对 SDN 未来发展的展望

从 P4 语言的诞生和可编程芯片的发展来看,SDN 技术已进入 2.0 时代,未来技术发展的主要趋势可归纳为三点:

  • 第一,从流控制走向包控制:P4 语言真正实现了对 ASIC 芯片转发状态机的编程,给予网络开发者以更大的自由,结合该技术,网络开发者不仅能知其然(了解业务流量特征),更能知其所以然(了解每个数据包的转发行为对流量的影响),方便了对网络的更深层次控制。

  • 第二,从关注业务走向业务运维并重:SDN1.0 阶段的网络能力开放主要是针对各种上层的业务和云平台,实现云网一体化配置和优化;而在 SDN2.0 阶段,由于芯片具备了可编程性,对网络中转发的每个数据包的行为都可以进行全面掌握和深度分析,这就能极大地提升网络的运维能力,包括通过可编程交换机实现类似于网络测试仪表的功能,并将这样的测试仪嵌入在实际网络中。

  • 第三,从控制层自研走向设备自研:SDN1.0 时代自研的重点还是网络的控制器与协同器,而 2.0 时代,结合可编程芯片,网络所有者真正可以基于该芯片去开发按照自身需求打造的网络设备,目前已有面向 5G 边缘计算场景的 MEC 分流器,UPF 设备通过 P4 交换机实现的案例,这就给运营商进一步引入白盒设备,降低网络建维成本,提升网络灵活性提供了更多的手段。

不难看出,在 SDN1.0 时代,网络运营者需要解决的软件自研、研发运营一体(DevOps)、掌握业务流量流向这三大问题。通过网络和芯片能力的进一步开放而带来的设备可自研、业务运维并重、包控制这三大特性有望较好的解决上述问题,但这个的前提仍是网络所有者特别是运营者自身研发能力的提升,因为进一步开放的网络仍是一把双刃剑,在提供了更好的工具的同时,也对所有玩家均降低了进行网络运营的门槛。

以上是关于P4 可编程网元 — 数据面转发技术发展史的主要内容,如果未能解决你的问题,请参考以下文章

P4 可编程网元 — 全可编程网元的发展

P4 可编程网元 — 全可编程网元的发展

可编程网元的前世今生

P4 可编程网卡 — In-Network Computing(在网计算)

当P4遇见NAT64,UCloud如何快速从IPv4向IPv6演进?

互联网协议 — 互联网的技术发展