如果网络芯片用上可编程技术,那将会怎样?

2018-01-02 13:08:28 来源:企业网
标签:

 

网络是数据中心里的交通枢纽,连接着所有运行应用业务的设备。没有网络,也就没有数据中心,没有互联网的今天,网络在数据中心里发挥着非常关键的作用,所以网络技术一直是热点,在不断发展进化着,其中就包含可编程技术。可编程技术在各行各业中都有广泛应用,同样在网络世界里也很普遍。这种技术在芯片上实现各硬件单元都不是固定的,可由用户在使用中选择,即通过计算机指令来选择不同的通道和不同的电路功能,称为编程控制,这给使用者提供了极大的灵活性。

 

比如:处理器、FPGA、CPLD、DSP,这四种都是可编程芯片。其中处理器是个大类,包含各种位数的单片机、电脑的CPU、以及ARM的一系列手机用芯片,还有复合芯片,比如一些是单片机+无线功能的芯片,如带单片机内核中的蓝牙芯片。一些可简单编程芯片,比如时钟芯片,你可以设置它到特定时间点时某个管脚电平高低,或者是数字温度芯片输出温度格式以华氏度输出,这些芯片在网络设备中应用很广,网络设备的CPU处理器可以实现各种复杂的网络协议处理,FPGA可以将转发表项扩展到很大,满足高规格的网络环境使用,网络设备通过这些可编程芯片,实现了很多特殊网络流量的转发。

 

网络设备的硬件内部一般由CPU、内存、Flash、转发芯片、FPGA、EEPROM等芯片组成,这些大部分都是可编程芯片,可有没有人注意到其实转发芯片绝大部分都不是可编程芯片,无论是路由器中采用的NP,还是交换机中采用的Switch Chip,都不是可编程芯片。这些芯片的硬件转发逻辑已经设计好,无法通过调整软件参数去更改,软件设置的只是让这些功能模块可以运转起来,但绝不可以调整它们的处理顺序,而且软件设置的范围都是提前预定好的。比如我们需要在交换机上实现入方向上的报文过滤,这样就需要在转发芯片入方向下发一些ACL过滤规则。在一些商用转发芯片上,这些ACL过滤规则固定下发在转发模块之后,如果进入芯片的是三层转发流量,此时下发的ACL过滤规则匹配的就是三层转发之后的报文,此时报文MAC已经发生了替换,下发的ACL规则只能匹配转发之后的报文特征,这就是不能可编程实现的局限性。一个报文进入转发芯片,从入端口检查,到查找转发表项,再到出口,这中间要经过几十个功能模块的处理,有修改报文优先级的,有修改报文VLAN TAG的,有做队列调度的,有做路由策略的等等,这些功能模块都是按照固定顺序来对报文处理的,灵活性比较差,常常会遇到不少实现上的限制,若能实现网络芯片可编程将可以很好解决这些问题。

 

当然,网络芯片和其它芯片不同,芯片要承担大量的数据流量转发,这些数据远远大于CPU、内存以及Flash这些器件的数据,这就要求芯片硬件处理逻辑要尽可能地简单,否则转发效率都成问题,延迟是网络设备一个重要的考核指标,这使得网络芯片要尽可能做到简单。使用者只要做选择就可以,将参数输入芯片,芯片就可以按照制定的数据来转发,所以多年以来,转发芯片都是不能编程的,网络发展也好好的。随着云计算、大数据和虚拟化技术的出现,这给网络带来的冲击是最大的,网络固定的转发模式无法适应这些年新技术的应用,在这些新技术面前,网络部分显得相形见绌,是到了该要改变的时刻了。

 

三年前,一家专做SDN芯片的公司成立,叫Barefoot Networks,Barefoot Networks从事开源可编程网络芯片的设计和研究,Barefoot Networks的芯片Tofino是一种可编程芯片,可实现高达6.5 Tbps处理速度,用户或网络供应商可以利用P4编程语言来定制白盒解决方案或固定配置产品,这样用户可以在数周内部署新协议,而不需要新版本的芯片来支持,具有极大的灵活性。现在很多网络需求,听到最多的就是芯片限制实现不了,只能换更高级的芯片设备,有了可编程芯片的设备就不同了,可以根据客户需求,通过软件对网络设备进行重新设计都可以实现,不用再去更换硬件,刷新软件就可以解决。今年6月,Broadcom也发布了可编程网络商用芯片Trident 3系列,虽然处理速度只有Tofino的一半3.2Tbps,但Broadcom控制了整个网络芯片市场的90%左右,其垄断地位决定了Trident 3芯片一定会得到很多使用者的追捧,网络设备进入了可编程时代。现在的网络设备,快和手机行业一样了,使用三年基本就不能再满足业务发展需要了,使用五年基本成古董了,这给数据中心带来了很大成本压力,数据中心要不断增加设备采购,同时淘汰更多的老旧设备,说是老旧也不过就两三年。如果网络设备具有可编程性,就可以通过重新编程来满足未来需求,同时继续大力降低网络设备使用的成本和功耗。

 

由此可见,网络芯片进入了可编程时代,这就增强网络部分的灵活性,更加适应未来业务发展需要。这种可编程能力与软件定义SDN还有些区别,可编程能力指的是通过基于脚本的编程灵活实现各种网络协议功能,SDN则是通过控制器向网络设备下发转发流表,实现流量转发,流表实现只是网络设备功能的一部分,网络设备还有ACL过滤、路由策略、修改报文内容、队列调度等丰富的网络功能,这些通过SDN都无法实现,通过可编程技术则可以很好实现。未来,若是某项网络功能满足不了,又说是芯片限制,就要考虑下这个说法的真实性了,芯片的可编程能力极大地扩展了网络处理的灵活性,可适应各种复杂网络场景的应用,即便有限制也会很少。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
小企业该如何借助云计算这股东风?

云计算技术的出现,给大企业造成了不小的影响,因为在他们有人力,更有财力,可以先于小企业尝试新鲜技术。那么云计算对小企业有哪些影响?

通过单片机控制数据流对FPGA进行编程配置

基于FPGA基本数据流的下载控制方式,利用遗传算法,通过单片机控制数据流的方式对FPGA进行编程配置,实现自身重构,使系统具有自适应、自组织和自修复的特性。

“云端”生存指南,智能家居产品成黑客“武器”

今天,云作为互联网的核心,是一个由强大的能量组成的全球系统。但是,其仍保留着一个神秘的光环 — 几乎不可能被完全掌控。

一文带你看懂什么叫“雾端”

微软和思科等公司近来频繁使用“雾端”这个术语,那“雾端”究竟是什么呢?

供用户高效使用资源,云计算好处这么多?

“云计算”可说是数据中心,这个中心既能动态地分配、配置、部署及回收计算机资源,同时又能自动地管理资源,动态安装软件及应用。也有专家讲“云计算”仅是一种计算模式,此模式中,无论是计算资源、软件资源、数据资源,还是各类应用,都通过局域或广域网络,以服务的方式供用户使用。

更多资讯
搞懂数据分析中因变量和自变量之间的关系

回归模型有多种,一般在数据分析中用的比较常用的有线性回归和逻辑回归。其描述的是一组因变量和自变量之间的关系,通过特定的方程来模拟。这么做的目的也是为了预测,但有时也不是全部为了预测,只是为了解释一种现象,因果关系。

树莓派 3B 接MPU6050方法 以及ROS应用
树莓派 3B 接MPU6050方法 以及ROS应用

主要是ROS应用,不多说了,可能要你自己重新编译工作空间的话,可以选择性的只编译这个包就行了。

典型的SDSoC设计开发的几个步骤
典型的SDSoC设计开发的几个步骤

类比到FPGA SoC的应用开发中,用户最关注的部分往往是算法的最终实现和算法模块的优化——包括IP或是软件功能块——SDSoC的设计理念正是让用户能够更加专注于这些核心问题,其他问题SDSoC帮你搞掂。从这个意义上看,SDSoC在“简单”的背后确实不简单。

HDL仿真器基于事件的仿真算法
HDL仿真器基于事件的仿真算法

目前,HDL仿真器主要有三种实现算法(机制):基于时间的算法(Time-Based)、基于事件的算法(Event-Based,EBS)和基于周期的算法(Cycle-Based,CBS)。

当FPGA越来越像SoC,FPGA跟ASIC还有啥区别
当FPGA越来越像SoC,FPGA跟ASIC还有啥区别

随着处理器被添加到传统FPGA中,可编程性被添加到ASIC中,FPGA和ASIC的分界线日益模糊。

Moore8直播课堂
电路方案