转发技术风雨三十年

引子

2000年

转发技术风雨三十年_第1张图片

大学报道,为了给家人报平安,小O在电话亭足足排了2小时。
转发技术风雨三十年_第2张图片

这些都是那个年代的符号,朋友为了测试通话质量是否OK,浪费了小O六角钱至今仍让人耿耿于怀……

2010年
转发技术风雨三十年_第3张图片

乔布斯和他的革命性产品–苹果手机问世,世界从此改变。
转发技术风雨三十年_第4张图片

从90年代到现在,应用从少至多,从单调到丰富。那么,支撑这些应用的网络,它的转发方式经历了哪些变化呢?

IP起航

90年代校园局域网大获发展,web、bbs、甚至音乐视频点播服务层出,但网络出口小,2M专线已属高配。
转发技术风雨三十年_第5张图片

路由器,连接局域网和广域网,根据静态或动态的路由信息,生成转发表,到达路由器的IP报文就可以根据转发表把报文从目的端口发到下一跳。

第一代转发架构

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

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

转发技术风雨三十年_第6张图片

特点:
单核单线程,控制转发合一,没有并行处理、保序、pipeline,架构简单实用。

第二代转发架构

随着网络用户增多、网络流量增大,需提高网络接口数量,降低CPU、总线负担。

第二代转发架构:集中+分布转发、接口模块化、总线交换
转发技术风雨三十年_第7张图片

接口智能化

  • 常用路由信息:接口卡Cache路由表直接转发
  • 其他报文:CPU处理

第三代转发架构

Web技术导致用户访问量拓宽,一方面,Cache经常找不到路由,总线、CPU瓶颈效应出现;另一面,联网计算机增加后路由器接口数量不足。

第三代转发架构:分布转发、总线交换
转发技术风雨三十年_第8张图片

路由与转发分离

  • 主控板:管理设备、收集/计算路由、下发路由表
  • 业务板:根据路由表独立路由转发
  • 总 线:业务板之间的数据转发独立于主控板
    并行高速处理,性能成倍提高,90年代中期主流设备。

第四代转发架构

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

第四代转发架构:ASIC分布转发,网络交换
转发技术风雨三十年_第9张图片

  • ASIC:转发过程通过硬件方式实现
  • CrossBar:无阻塞交换方式,解决内部交换瓶颈
    诞生了早期的千兆交换式路由器GSR

IP黄金十年

中国互联网海外上市并迅速破灭,引发对网络的理性思考,业界认为需要从业务、运维、管理、安全的角度重新思考互联网的未来,网络处理器(NP)登上舞台。
转发技术风雨三十年_第10张图片

一款革命性的NP:IXP1200

  • 包转发引擎*6个:指令空间和寄存器独立,内存和总线共享;可编程;具有2K条指令空间;为包转发处理设计了移位、Bit操作、比较、跳转等单条指令。
  • 硬线程*4:指令空间共享,寄存器可独立或共享。可充分发挥并行性。
  • 性能可达到同规格单核单线程CPU的24倍(理论值)

第五代转发架构

第五代转发架构:NP分布转发、网络交换
转发技术风雨三十年_第11张图片

网络处理器(NP)提升吞吐量的关键:流水线处理和并行处理。
转发技术风雨三十年_第12张图片
转发技术风雨三十年_第13张图片

  • 流水线方式:报文处理分段:接收、解析、查找、修改、发送……,在减少指令总数、缩短处理时间的同时,简化指令和引擎设计,提升执行效率。
  • 并行处理:充分发挥所有处理器所有硬线程的威力,隐藏IO访问时延。

流水线方式+并行处理,满足带宽要求,满足复杂业务不降低整体性能的要求。

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

网络处理器为产业发展立下汗马功劳,但世事难料,IXP、Xelerated、EZchip等早期英雄被并风潮后,NP黯然退场。
转发技术风雨三十年_第14张图片

NP消退必然因素:

  • 诞生“原罪”:是性能和灵活性折中的产物,性能比不过ASIC、灵活性比不过CPU。
  • 开发门槛:从微码到C语言,写出高性能的转发软件难度大。
  • 无OS裸跑:迁移工作量大且不增值。大厂不重视,产业链不成熟。

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

多核处理器一度被认为是完美的处理器,在40Gbps甚至80Gbps以下所向无敌,在安全、业务路由器、L4+报文处理领域完全独领风骚。

多核和NP区别:

  • 多核处理器的CPU通用,可运行vxworks或者Linux;
  • 多核处理器没有NP的指令空间限制,包转发处理可以是流水线或RTC(Run-to-Completion)模式;
  • 基于Linux的SMP降低开发和移植难度;

继往开来

SDN

谷歌在全球有几十个数据中心,每个数据中心有数十万台服务器和上千台交换机。为了减少数据中心互联的带宽成本、提高利用率,谷歌引入了SDN/OpenFlow。
转发技术风雨三十年_第16张图片

  • 高优先级流量只占10%-15%,对数据中心流量分级:
  • 用户数据备份至远程数据中心:数据量小、延迟敏感、高优先级
    = 多个数据中心数据同步:数据量大、延迟不敏感、低优先级
  • 远程存储访问进行分布式计算

流量分级需要的配合:应用所需的带宽预估;低优先级应用无法保证带宽和丢包;需要一个中心控制系统分配带宽。

SDN使谷歌的网络带宽利用率大大提高,网络更稳定,管理简化了,Cost降低了。将原来网络设备盒子中的控制分离出来集中到Controller,以及基于流表的交换机取代原来各种路由器交换设备,是SDN/OpenFlow最核心的两个点。
转发技术风雨三十年_第17张图片

OpenFlow将数据面的交换机行为进行了统一,如果推动整个产业链的话,硬件成本将大幅下降。但这一过程异常艰难,除利益既得者会想尽一切办法阻止这一进程,技术上也是困难重重。

DPDK

NFV通过基于行业标准的x86服务器、存储和交换设备,来取代通信网的那些私有专用的网元设备,可节省成本,并通过API获得更加灵活的网络能力。

但NFV里没有NP、ASIC或多核处理器,x86中的转发性能怎么解决呢?

DPDK(Data Plane Development Kit),配合Intel的高速网卡和IO虚拟化技术,解决了x86服务器这些年来最让人诟病的IO性能问题,NFV也因此有胆量抛弃所有的非标准,(非x86cpu、非intel网卡或不支持IO虚拟化的网卡)组件。
转发技术风雨三十年_第18张图片

DPDK提供了一系列用于报文处理的库函数和驱动,提供的L3转发模型在Intel最新的CPU上可以达到28Mpps/core性能,比linux内核态IO性能提升几十倍。
转发技术风雨三十年_第19张图片

DPDK相对NP和多核处理器在报文处理上并无过人之处,但X86在转发领域的不完美,“倒逼”DPDK解决X86的短板。
转发技术风雨三十年_第20张图片

在硬件通用化、虚拟化大行其道的今天,DPDK的地位已经无法撼动,NFV明确要把DPDK加速纳入标准体系,所有的x86平台上只要跟IP相关,都逃不脱DPDK的绑架。

而NP已经被逼到只能和ASIC竞争高端路由交换市场,多核处理器也只能自降身份,沦为x86的配角,在智能网卡领地求得一丝喘息。

P4

OpenFlow协议作为SDN最流行的南向协议广受关注,但OpeFlow交换机还不能提供更好的可编程能力。P4(Programming protocol-independent packet processors)是种高级“协议独立数据包处理编程语言”。

主要优点:

  • 可灵活定义转发设备数据处理流程,且可以做到转发无中断的重配置。
  • 协议无关。交换设备无需关注协议语法语义等内容,就可以完成数据处理。
  • 设备无关。无需关心底层设备的具体信息,P4编译器会将通用的P4语言处理逻辑编译成设备相关的指令,完成转发设备的配置和编程。

P4语言支持对交换机处理逻辑进行编程定义,使得协议版本在更新迭代时无需购买新设备,只需通过控制器编程更新交换机处理逻辑即可。这种创新解决了OpenFlow编程能力不足,版本不稳定的问题。此外,这也让底层交换机更加白盒化,适用范围更广,更容易降低设备采购成本,也解除了服务提供商对网络设备厂家绑定的顾虑。

自诞生以来,P4得到了业界的关注和认可,被认为将成为OpenFlow2.0的可能方向。不过,作为完全可编程的SDN实现,性能问题是其需要面临的大问题,也是急需解决的技术难题。

SmartNIC

软件方案并不能提供足够的网络可靠性和服务质量,而具有高级可编程功能的智能网卡(SmartNIC),在虚拟化网络中扮演非常重要的角色。

智能网卡核心:

  • 通过FPGA协助CPU处理网络负载,编程网络接口功能。
  • FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

Smart NIC能提升应用程序和虚拟化性能,实现SDN和NFV的诸多优势,将网络虚拟化、负载均衡和其他低级功能从服务器CPU中移除,确保为应用提供最大的处理能力。

与此同时,智能网卡还能够提供分布式计算资源,使用户可以开发自己的软件或提供接入服务,从而加速特定应用程序。

结束语

从IP到SDN、NFV、DPDK、P4、SmartNIC……转发技术的变革大潮已势不可挡,随着5G、物联网的迎到来,ICT的完全融合、云计算承载一切,大数据主导一切,互联网将引来第二次革命。

未来已来,拭目以待。

注:本文原作者岳青伦,原标题《转发技术风雨三十年,你经历过……》,小O对内容进行了改编。可点击“阅读原文”查看更详细内容。

关于我

小O,全名51OpenLab,是个一站式ICT创新服务平台(www.51openlab.com),提供实验平台、测试验证、实验教程等服务,连接产业、学术、科研,促进产学研融合发展。

转发技术风雨三十年_第21张图片
(部分课程截图,全部免费)

扫码,加入51OpenLab交流群,结交志同道合者。

转发技术风雨三十年_第22张图片

接头暗号请输入“加群”,欢迎关注 微信“51OpenLab”

你可能感兴趣的:(技术交流,网络,交换机,路由器)