前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络设备硬核技术内幕 路由器篇 21 可重构的路由器

网络设备硬核技术内幕 路由器篇 21 可重构的路由器

作者头像
用户8289326
发布2022-07-27 13:29:44
6700
发布2022-07-27 13:29:44
举报
文章被收录于专栏:帅云霓的技术小屋

在前面20篇专题中,我们看到了,路由器可以通过这些方法实现:

  1. 家用路由器,一般使用Broadcom或MTK的SoC方案实现,如Broadcom 的BCM7218X,一颗芯片就可以实现集成了Wi-Fi6和IPTV功能的家用路由器盒子。
  2. 企业级别,1Gbps-200Gbps性能区间的路由器,可以使用Marvell (Cavium),Broadcom(RMI)的MIPS或ARM多核处理器实现。未来也可以利用x86+DPDK实现。
  3. 企业高端与运营商级别,200G-20T性能区间的路由器,目前一般使用NP实现。

我们发现,性能越高的路由器,使用的转发芯片灵活性越低。以NP为例,NP的报文处理流水线是有限制的。在实践中,出现过这样的案例:

互联网企业需要将城域线路分光出来的流量送到后端进行分析,由于单台分析设备的性能有限,需要按流(业务流的TCP五元组)进行负载均衡。

如下图所示:

其中,右边的数字指的是数据包各个头部字段开始的偏移量。

实际上,用户期望的是,根据内层IP/TCP将数据包分流到多个分析器上。但由于内层IP/TCP被封装在了70多字节以后,而一般的NP/ASIC内置的分析器只能提取报文头部64字节进行解析,因此难以实现这样的功能。对于多核处理器,虽然内部也有硬件解析加速器,同样地,对于这种深层次封装的隧道,处理起来也有困难。

这时候,我们就需要一种可编程的硬件加速单元实现这一功能。工程师们将眼光投向了一类可重构器件——FPGA。

FPGA是"Field Programmable Gate Array" (现场可编程门阵列)的缩写。这个绕口的中文名称实际上可以拆解为几部分:

可编程——它的处理逻辑是可以修改的,不像ASIC那样是相对固化的;

门阵列——它内部的最小编程分配单元是门电路和触发器,因此可以编程的程度很高,可以重构各种处理逻辑;

现场——FPGA内置SRAM存放编译后的代码,可以通过软件在运行时升级,甚至不重启就完成升级;

由于这些特点,FPGA经常用于网络中数据包处理的加速,最典型地就是用于路由器或防火墙的加速。

对于前面提到的城域网镜像流量分析的场景,就是FPGA的用武之地。工程师只需要对FPGA进行编程,让它从78字节处开始提取内层IP/UDP(真实业务地址/端口)的五元组,计算hash后,发送到对应的分析器,就可以完成NP和多核路由器有困难的任务了。

由于FPGA的可重构特性,它实现的可重构路由器更加开放,功能更加强大,也弥补了多核处理器在业务叠加时性能下降的弱点。

大家知道最经典的可重构FPGA路由器是哪款吗?

明天在揭晓答案时,也为大家讲一个路由器故事…

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的四七层流量分发服务,访问流量经由 CLB 可以自动分配到多台后端服务器上,扩展系统的服务能力并消除单点故障。轻松应对大流量访问场景。 网关负载均衡(Gateway Load Balancer,GWLB)是运行在网络层的负载均衡。通过 GWLB 可以帮助客户部署、扩展和管理第三方虚拟设备,操作简单,安全性强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档