为什么大型路由器交换机再另开发 CPU 而不用 Intel 至强系列呢
思科的Nexus 7000的CPU用的就是Xeon,不过这颗CPU只负责控制面,转发面是交给ASIC去处理的。 以下说一个拿CPU跑转发的黑案例:前阵子有同行咨询,说一个安防项目里边用国内某厂商的三层交换机做汇聚,前后端同一VLAN的话一点问题都没有,只要有一个前端接到另一个VLAN,就会卡死导致系统几乎不可用。 经排查发现只要把一个前端接到另一个VLAN,区区2Mbps的VLAN间路由流量就会导致那个交换机的CPU使用率暴涨到98%以上,怀疑这个所谓的三层交换机根本就是个二层交换机,调用CPU来跑路由,更换另一个型号之后一切正常,但原先那台交换机厂商不给退只能留着当库存,真坑。 专用集成电路是由特定使用者要求和特定电子系统的需要而设计、制造 。对于【路由器】来说,本质上就是一个转发问题,转发实际上就是处理一个队列的问题,也就是经典的生产者消费者问题。这么确定的需求,这么明确的指标,是不需要CPU的通用可编程能力的。 可以类比一下显卡,为什么不用CPU做图像处理呢?因为为了特定目标设计的芯片往往可以更好更快的完成任务。实际上,每一块背板上除了有专门的转发ASIC,往往都还有一块CPU,甚至有自己的操作系统,大型【路由器】往往是由很多个CPU组成的分布式系统。 举个例子,这是Juniper的核心【路由器】PTX5000,这上面每一个背板上都有好几个ASCI芯片用来转发,每个上面还有个PMB,上面都有块CPU来负责控制。可以简单理解成,这一个大柜子,其实是好几台电脑,每台电脑都有自己的CPU和转发芯片(可以类比显卡来理解)。所以这跟Intel 至强强不强没关系,CPU就不是用来干这个事儿的,就如同让至强跑游戏也不行一样。 交换机,【路由器】这种要求高转发的设备,一般还是用线卡(ASIC处理器)来转发,主控板辅以控制就可以。目前国产或者国外的部分安全设备如,防火墙,流控设备等有很多是基于X86架构。假如运营商级别或者数据中心级别的防火墙如山石网科的设备,应该还是用的线卡转发吧,不然单存靠CPU转发上百万兆的包,肯定不可能。这种防火墙在做包的状态检测时用的CPU不知道用的哪种处理器。 |
Powered by Discuz! X3.4
© 2001-2023 Discuz! Team.