• SOHO路由器处理能力


    所了解到的网络设备设计情况,网络设备CPU很弱,只用来完成如DHCP、ARP路由更新等较轻工作,主要的路由转发直接有ASIC专用芯片。ASIC芯片类似于一段固定程序由硬件来实现,处理速度和能效相比CPU要高出一两个数量级,而且可以由很多物理核心并行完成;这好比GPU要比CPU在专用计算上的差距。思科最新的路由设备号称一台就能实现中国所有人一起视频的能力。

    一直挺好奇SOHO路由器如果不使用专用芯片,如何靠那么低配小CPU完成工作的,同时使用无线两台设备直接数据传输为啥就会那么慢。

    做个简单测试,先准备材料:

    TP-Link TL-WR841ND v7 路由一只(标称300M路由,3年前买的)

    固件版本:DD-WRT v24-sp2 (11/21/10) std - build 15778

    CPU:Atheros AR7241 rev 1.1 (0x0101) / 400M

    内存:32M

    测试场景:两台设备A、B连到路由器,A向B 发送20字节TCP 包,B回复A 10 字节TCP 包

    1. A  连接无线,B连接有线

    测试结果如下:

    CPU:  0.0% usr  0.0% sys  0.0% nic 40.1% idle  0.0% io  1.3% irq 58.4% sirq
    19时07分38秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
    19时07分39秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    19时07分39秒      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    19时07分39秒     wlan0   2056.00   2110.00    142.33    255.83      0.00      0.00      0.00

    可以看到网络转发能力在4k/s左右,再也上不去了;CPU 60%占用,虽然没有跑满,但显然已经成为瓶颈。CPU 都是被linux系统的软中断消耗了。

    从这看无线传输的瓶颈在于路由器的CPU。

    A、B都连无线的场景应该差不多,就不测试了,目测速度在2000/s,无线局域网速度就是个悲剧。。

    2. A 、B 都连有线

    CPU: 0.0% usr 0.0% sys 0.0% nic 99.0% idle 0.0% io 0.0% irq 0.9% sirq
    19时02分38秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
    19时02分39秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
    19时02分39秒 eth0 49602.00 50085.00 3631.25 5381.04 0.00 0.00 0.00
    19时02分39秒 wlan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00

    可以看到,路由器CPU 占用几乎为0,但平均处理10W/s次TCP包转发.

    实际情况下不可能都是这么小包,有线网到达300M速度还是没问题的。

    从这可以看出,这个路由器的转发还是用的ASIC芯片,CPU完全不参与转发逻辑。

    如果用目前最新CPU处理器处理,单核心差不多也就能达到这个速度了。

    总结

    有线转发由硬件处理,非常快。无线传输靠CPU计算,系统软中断成为瓶颈。两者快差两个数量级了。

    至于无线转发要CPU参与,不懂硬件,不知道啊。。

  • 相关阅读:
    win10快速搭建git服务
    java字节流转对象,应用于协议解析
    产品设计-后台管理权限设计RBAC
    Git :fatal: 错误提示解决办法
    初学git,出现错误:fatal: Not a git repository (or any of the parent directories): .git
    css 清除浮动
    asp.net连接SQL SERVER 2012的方法
    c#的序列化与反序列化
    .NET三层架构例子超链接可以点击显示内容页面
    ASP.NET中iframe框架点击左边页面链接,右边显示链接页面内容
  • 原文地址:https://www.cnblogs.com/lulu/p/3131106.html
Copyright © 2020-2023  润新知