19

SDN与开放网络:从Openflow到P4

 4 years ago
source link: https://www.sdnlab.com/24077.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

作者简介:中国联通网络技术研究院 曹畅

自2008年至今,SDN的思想已经在业界诞生12年了。SDN从互联网起步,成熟于电信网,并且可能在今后广泛的应用于行业组网,可以说以SDN为代表的控制平面技术革新和云网融合已经深刻地改变了IP数据通信这一技术领域,并由于其与各种云化业务的良好结合,使得IP在今后还将肩负更为复杂和艰巨的使命。本文旨在对这12年来SDN的发展历程做一简单回顾,并权且将其称为SDN1.0时代。之后,文章还展望了未来SDN2.0时代的主要技术发展趋势。结合作者在运营商的工作经历,在技术分析之余也略微加入了对网络运营行业商业逻辑和研发体系的分析,不当之处,敬请指正。

1 SDN 1.0的发展历程回顾

1.1 学术研究与互联网引入期:2008-2012

SDN的思想起源于美国GENI项目资助的斯坦福大学Clean Slate课题。2006年斯坦福大学的学生Martin Casado领导了一个关于网络安全与管理的项目Ethane,该项目通过使用一个集中式的控制器,使网络管理员能够在各种网络设备中定义基于网络流的安全策略,从而实现对整个网络的安全控制。同年,Nick Mckeown教授、Scott Shenker教授和Martin博士在硅谷一起创办了Nicira,这是SDN历史上第一个初创公司。基于Ethane及其前序项目Sane的启发,Casado及其导师Nick教授等人提出了OpenFlow的概念,并于2008年在ACM SIGCOMM上发表了《OpenFlow:enabling innovation in campus networks》,首次详细地介绍了OpenFlow的概念、工作原理,列举了OpenFlow的几大应用场景。从此,OpenFlow成为了数据中心SDN网络的主流协议,其定义了SDN控制器与交换机之间的通信标准。SDN控制器通过OpenFlow协议对OpenFlow交换机中的流表进行控制。控制器会为特定的工作负载计算最佳路径,从而对交换机的数据转发定义路径。Openflow之所以能在数据中心取得成功,这是和数据中心的网络流量大部分为运营者可控,以及数据中心转发网元的设备功能比较简单密切相关。2011年在Mckeown等研究学者的推动下,成立了开放网络基金会Open Networking Foundation,ONF),主要致力于推动SDN架构、技术的规范和发展工作。

2012年,谷歌首次详细介绍了其全球数据中心骨干网——B4和其背后的SDN控制技术,这是世界上首个跳出数据中心网络,而在骨干网上取得巨大成功的SDN案例,这标志着Openflow技术SDN完成了从实验技术向网络部署的重大跨越,一下子点燃了业界对SDN的热情。谷歌B4网络已经全面运行在OpenFlow上,并且通过10G网络链接分布在全球各地的12个数据中心,使广域线路的利用率从30%提升到90%以上,该优化结果令业界对SDN对网络的巨大改善作用十分震惊,从而开启了SDN网络新时代,相关内容可详见2013年8月SIGCOMM发表B4 SDN控制器白皮书《B4: Experience with a Globally-Deployed Software Defined WAN》。而后VMware以12.6亿美金的天价收购SDN创业公司Nicira,该公司基于开源技术OpenFlow创建了网络虚拟平台(NVP)。VMware的此次收购把网络软件从硬件服务器中剥离出来,推动SDN走向市场化,给资本市场以极大的信心。

1.2 运营商概念推广与架构确立期:2013-2016

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和运营商骨干网络连接,以及云网时代经营模式的探讨方面。

1.3 运营商试点与规模应用期:2017-2019

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

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

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

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

2 对上述时期SDN发展历程的思考

站在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时代的技术趋势。

3 基于P4语言和可编程芯片的SDN2.0时代:2020-

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的方式真正贯穿网络的端-管-云,网络配置与数据中心的业务配置相统一,促进云网一体。

4 对SDN未来发展的展望

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

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

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

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

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

未来,随着行业和产业生态建设的逐步完善,更多的协议无关交换机应用场景还有待探索,相信在SDN2.0时代,运营商更有动力,也更有能力实现SDN赋予的目标和使命,将网络开放进行到底,引领5G/B5G发展迈向新的台阶,推动网络创新更上一层楼。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK