网络芯片上可编程逻辑技术的应用状况

在一些商用转发芯片上,这些ACL过滤规则固定下发在转发模块之后,如果进入芯片的是三层转发流量,此时下发的ACL过滤规则匹配的就是三层转发之后的报文,此时报文MAC已经发生了替换,下发的ACL规则只能匹配转发之后的报文特征,这就是不能可编程实现的局限性。一个报文进入转发芯片,从入端口检查,到查找转发表项,再到出口,这中间要经过几十个功能模块的处理,有修改报文优先级的,有修改报文VLAN TAG的,有做队列调度的,有做路由策略的等等,这些功能模块都是按照固定顺序来对报文处理的,灵活性比较差,常常会遇到不少实现上的限制,若能实现网络芯片可编程将可以很好解决这些问题。

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

三年前,一家专做SDN芯片的公司成立,叫Barefoot Networks,Barefoot Networks从事开源可编程网络芯片的设计和研究,Barefoot Networks的芯片Tofino是一种可编程芯片,可实现高达6.5 Tbps处理速度,用户或网络供应商可以利用P4编程语言来定制白盒解决方案或固定配置产品,这样用户可以在数周内部署新协议,而不需要新版本的芯片来支持,具有极大的灵活性。现在很多网络需求,听到最多的就是芯片限制实现不了,只能换更高级的芯片设备,有了可编程芯片的设备就不同了,可以根据客户需求,通过软件对网络设备进行重新设计都可以实现,不用再去更换硬件,刷新软件就可以解决。

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

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查