2000年
这些都是那个年代的符号,朋友为了测试通话质量是否OK,浪费了小O六角钱至今仍让人耿耿于怀……
从90年代到现在,应用从少至多,从单调到丰富。那么,支撑这些应用的网络,它的转发方式经历了哪些变化呢?
90年代校园局域网大获发展,web、bbs、甚至音乐视频点播服务层出,但网络出口小,2M专线已属高配。
路由器,连接局域网和广域网,根据静态或动态的路由信息,生成转发表,到达路由器的IP报文就可以根据转发表把报文从目的端口发到下一跳。
最早期的路由器甚至就是普通的计算机加多个网卡构成,当时流量小,主频很低、实时性很差的CPU也能够应付带宽需求。
第一代转发架构:集中转发、总线交换
特点:
单核单线程,控制转发合一,没有并行处理、保序、pipeline,架构简单实用。
随着网络用户增多、网络流量增大,需提高网络接口数量,降低CPU、总线负担。
接口智能化
Web技术导致用户访问量拓宽,一方面,Cache经常找不到路由,总线、CPU瓶颈效应出现;另一面,联网计算机增加后路由器接口数量不足。
路由与转发分离
后Web时代核心网络的流量以指数级数增长,基于软件的IP路由器无法再满足带宽的要求,ASIC实现应运而生。
中国互联网海外上市并迅速破灭,引发对网络的理性思考,业界认为需要从业务、运维、管理、安全的角度重新思考互联网的未来,网络处理器(NP)登上舞台。
一款革命性的NP:IXP1200
流水线方式+并行处理,满足带宽要求,满足复杂业务不降低整体性能的要求。
网络处理器的另一个大杀器就是灵活编程,灵活编程在应对VPN、MPLS网络、IPV4/IPV6混合网络、精细的流量管理、各种安全网关以及BT这种高带宽但不增值的数据流识别与限制上得心应手。
网络处理器为产业发展立下汗马功劳,但世事难料,IXP、Xelerated、EZchip等早期英雄被并风潮后,NP黯然退场。
NP消退必然因素:
基于MIPS(Million Instructions Per Second)架构开发的商业多核芯片,将网络连接、负载均衡、加/解密、应用加速等功能集成在一个芯片上,即片上系统SoC,在高度灵活性和较高性能方面,找到了最佳平衡点。
多核处理器一度被认为是完美的处理器,在40Gbps甚至80Gbps以下所向无敌,在安全、业务路由器、L4+报文处理领域完全独领风骚。
多核和NP区别:
谷歌在全球有几十个数据中心,每个数据中心有数十万台服务器和上千台交换机。为了减少数据中心互联的带宽成本、提高利用率,谷歌引入了SDN/OpenFlow。
流量分级需要的配合:应用所需的带宽预估;低优先级应用无法保证带宽和丢包;需要一个中心控制系统分配带宽。
SDN使谷歌的网络带宽利用率大大提高,网络更稳定,管理简化了,Cost降低了。将原来网络设备盒子中的控制分离出来集中到Controller,以及基于流表的交换机取代原来各种路由器交换设备,是SDN/OpenFlow最核心的两个点。
OpenFlow将数据面的交换机行为进行了统一,如果推动整个产业链的话,硬件成本将大幅下降。但这一过程异常艰难,除利益既得者会想尽一切办法阻止这一进程,技术上也是困难重重。
NFV通过基于行业标准的x86服务器、存储和交换设备,来取代通信网的那些私有专用的网元设备,可节省成本,并通过API获得更加灵活的网络能力。
但NFV里没有NP、ASIC或多核处理器,x86中的转发性能怎么解决呢?
DPDK(Data Plane Development Kit),配合Intel的高速网卡和IO虚拟化技术,解决了x86服务器这些年来最让人诟病的IO性能问题,NFV也因此有胆量抛弃所有的非标准,(非x86cpu、非intel网卡或不支持IO虚拟化的网卡)组件。
DPDK提供了一系列用于报文处理的库函数和驱动,提供的L3转发模型在Intel最新的CPU上可以达到28Mpps/core性能,比linux内核态IO性能提升几十倍。
DPDK相对NP和多核处理器在报文处理上并无过人之处,但X86在转发领域的不完美,“倒逼”DPDK解决X86的短板。
在硬件通用化、虚拟化大行其道的今天,DPDK的地位已经无法撼动,NFV明确要把DPDK加速纳入标准体系,所有的x86平台上只要跟IP相关,都逃不脱DPDK的绑架。
而NP已经被逼到只能和ASIC竞争高端路由交换市场,多核处理器也只能自降身份,沦为x86的配角,在智能网卡领地求得一丝喘息。
OpenFlow协议作为SDN最流行的南向协议广受关注,但OpeFlow交换机还不能提供更好的可编程能力。P4(Programming protocol-independent packet processors)是种高级“协议独立数据包处理编程语言”。
主要优点:
P4语言支持对交换机处理逻辑进行编程定义,使得协议版本在更新迭代时无需购买新设备,只需通过控制器编程更新交换机处理逻辑即可。这种创新解决了OpenFlow编程能力不足,版本不稳定的问题。此外,这也让底层交换机更加白盒化,适用范围更广,更容易降低设备采购成本,也解除了服务提供商对网络设备厂家绑定的顾虑。
自诞生以来,P4得到了业界的关注和认可,被认为将成为OpenFlow2.0的可能方向。不过,作为完全可编程的SDN实现,性能问题是其需要面临的大问题,也是急需解决的技术难题。
软件方案并不能提供足够的网络可靠性和服务质量,而具有高级可编程功能的智能网卡(SmartNIC),在虚拟化网络中扮演非常重要的角色。
智能网卡核心:
Smart NIC能提升应用程序和虚拟化性能,实现SDN和NFV的诸多优势,将网络虚拟化、负载均衡和其他低级功能从服务器CPU中移除,确保为应用提供最大的处理能力。
与此同时,智能网卡还能够提供分布式计算资源,使用户可以开发自己的软件或提供接入服务,从而加速特定应用程序。
从IP到SDN、NFV、DPDK、P4、SmartNIC……转发技术的变革大潮已势不可挡,随着5G、物联网的迎到来,ICT的完全融合、云计算承载一切,大数据主导一切,互联网将引来第二次革命。
未来已来,拭目以待。
注:本文原作者岳青伦,原标题《转发技术风雨三十年,你经历过……》,小O对内容进行了改编。可点击“阅读原文”查看更详细内容。
小O,全名51OpenLab,是个一站式ICT创新服务平台(www.51openlab.com),提供实验平台、测试验证、实验教程等服务,连接产业、学术、科研,促进产学研融合发展。
扫码,加入51OpenLab交流群,结交志同道合者。
接头暗号请输入“加群”,欢迎关注 微信“51OpenLab”