ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Mbps与MB/s换算详解:从理论带宽到实际传输速率

Mbps与MB/s换算详解:从理论带宽到实际传输速率 1. 为什么实际传输速率总比理论值低一截1.1 先把“Mb”和“MB”的账算清我最早接触网络带宽这个概念的时候也犯过一个很经典的错误以为 100Mbps 的宽带下载速度就是 100MB/s。直到下载工具里稳定跑出 11.5MB/s我还去怪运营商缺斤少两。后来才明白这里面的核心区别就在大小写Mbps 里的 b 是 bit也就是“比特”而 MB/s 里的 B 是 Byte也就是“字节”。1 个 Byte 等于 8 个 bit所以从链路速率换算成文件传输速率第一步就是除以 8。这也是网上到处流传的“8 倍换算法则”的由来。100Mbps ÷ 8 12.5MB/s1000Mbps ÷ 8 125MB/s10000Mbps ÷ 8 1250MB/s。这个换算本身没有错但它只是最理想、最干净的物理层速率并不是你在操作系统里能看到的应用层速度。如果你只是拿这个数去作为参考方向是对的。但如果你把它当成验收标准那后面大概率会发现不少设备都“不合格”。我在实际测试中见过太多新手拿着千兆网线折腾半夜最后发现跑不出 125MB/s 就觉得网线坏了。实际上真实环境里的传输速率要按照另一套逻辑去估算它牵扯到协议开销、设备转发能力、硬盘读写速度和网卡驱动状态。这些因素一个叠一个最后能跑出理论值的 90% 到 95%已经算是很健康的网络环境了。1.2 1000Mb 与 1024MB 的进制陷阱除了大小写还有一个特别容易被忽略的坑进制到底按 1000 算还是按 1024 算。网络设备厂商在标注带宽时用的都是十进制也就是说 1000Mbps 等于 1,000,000,000 bit/s而不是 1,073,741,824 bit/s。但操作系统在显示文件大小的时候用的却是二进制比如 Windows 资源管理器里的 1GB 实际是 1024MB也就是 1,073,741,824 字节。这个差异会造成一个很微妙的现象你用千兆网络去复制一个标称 1GB 的文件按照纯换算应该是 8 秒传完但实际上从 Windows 的资源监视器里看速度往往只有 113MB/s 到 118MB/s。这里有两层原因第一层是协议开销第二层就是进制差异。如果再把硬盘厂商以 1000MB 为 1GB 的算法考虑进去数字就更对不上了。所以在和身边人聊带宽时我习惯直接给一个“粗略区间”而不是一个精确点。100Mbps 对应 10 到 11.5MB/s1000Mbps 对应 110 到 118MB/s10000Mbps 对应 1GB/s 到 1.18GB/s。只要落在这个区间里设备基本都没问题。接下来我会详细拆一下这个区间到底是怎么来的。2. 百兆/千兆/万兆的理论峰值怎么算2.1 纯线路速率除以 8 就行先回到最干净的理论层。链路速率指的是物理层每秒能传输多少 bit这在以太网标准里是固定写死的。100BASE-T 就是 100Mbps1000BASE-T 就是 1000Mbps10GBASE-T 就是 10000Mbps。换算成 Byte 每秒的方法非常简单100Mbps 100,000,000 bit/s ÷ 8 12,500,000 Byte/s 12.5MB/s1000Mbps 1,000,000,000 bit/s ÷ 8 125,000,000 Byte/s 125MB/s10000Mbps 10,000,000,000 bit/s ÷ 8 1,250,000,000 Byte/s 1250MB/s这个结果只考虑了 bit 和 Byte 的换算在实际网络通信中数据并不是裸传到对端就结束了。以太网帧有帧头、帧尾IP 层有 IP 头TCP 层有 TCP 头这些都要占用带宽。所以在专业测试软件里比如 iperf3很多人会看到“TCP window”和“MSS”这些参数它们的存在说明一点上层应用实际能用的负载一定小于物理链路的原始速率。2.2 上限只是参考别当合同金额把理论峰值看成“合同金额”把实际吞吐看成“到手工资”可能更好理解。合同上写 125MB/s这是链路能提供的最大交易额但真正打到银行卡里的钱要先扣除五险一金、个税和各种手续费。对网络来说这部分“扣除项目”就是协议头开销、设备转发损耗和链路层调度。以最常见的 1500 字节 MTU 以太网帧为例帧前有 8 字节前导码和 12 字节帧间隔帧本身包括 14 字节以太网头、4 字节 CRC 校验IP 头占用 20 字节TCP 头占用 20 字节。算下来一个 TCP 数据包实际能承载的应用数据只有 1460 字节左右总帧大小约 1518 字节。如果只算这些固定开销效率大约是 1460 ÷ 1538 ≈ 94.9%也就是说理论 125MB/s 的千兆链路应用层上限已经降到了 118MB/s 上下。这还没算 TCP 确认包、发送窗口启动、小包丢包重传这些动态损耗。所以我在评估网络性能时基本不会拿 125MB/s 作为复现目标。我会先看一眼 MTU 和网卡是不是默认配置如果默认是 1500那我就把预期先调到 118MB/s 以下。能用 iperf3 跑出 115MB/s 以上我就认为这条链路是健康的。3. 三种带宽在真实环境里的速度表现3.1 100M长期的“够用主义者”百兆网络在家庭和小型办公场景里服役了非常多年直到今天还有不少老路由器、老 NAS、老摄像头在用它。100Mbps 的链路速率理论峰值是 12.5MB/s。在理想环境下用一根质量不错的超五类网线直连两台设备通过 iperf3 测试大概能跑到 11.2MB/s 到 11.8MB/s。如果是通过路由器转发数字会再降一点常见在 10.5MB/s 左右。为什么降这么多因为家用级百兆路由器的 CPU 转发能力普遍有限。尤其是同时在做 NAT、QoS、防火墙过滤的时候路由器芯片要把每个包拆开看再做转发决策包一多就容易跑不满。我遇到过一台很老的百兆无线路由器有线到有线测速只有 8MB/s无线更是掉到 6MB/s问题就出在它的交换芯片和 CPU 共用总线一旦有流量就互相争抢。百兆带宽下如果你只是看高清视频、网页浏览、远程桌面其实体感并没有那么差。因为这类应用的峰值带宽需求不高4K 视频在没有 HDR 的情况下大约 25Mbps远程桌面通常在 2Mbps 到 8Mbps。但如果你把 NAS 接到百兆网络里想备份一个 10GB 的照片库那就得做好按小时等时间的心理准备。所以我的建议是百兆网络可以作为接入层用来带监控摄像头、智能家居设备这种低带宽场景但不要指望它承担大规模文件传输。3.2 1000M目前性价比最高的局域网络千兆网络是现在家用和小型工作室的主流标配。千兆的理论上限是 125MB/s在前面提到的协议开销影响下实际能跑到 112MB/s 到 118MB/s 就已经非常理想了。我用 iperf3 测试过多种组合比较典型的结果是一台 PCIe 千兆网卡的台式机直连一台全千兆交换机再连一台同样用 PCIe 千兆网卡的 NAS测速稳定在 116MB/s 左右CPU 占用大约 15% 到 20%。但如果中间有一台设备用的是 USB 转千兆网卡情况就不一样了。USB 转千兆网卡普遍受限于 USB 控制器的转发效率极限速度往往只有 100MB/s 上下有些低端芯片还会因为过热降速。此外如果你的交换机背板带宽不足或者在多设备同时通信时发生队列拥塞千兆网络也容易出现速度从 118MB/s 掉到 80MB/s 的情况。我自己就遇到过一台标称“千兆”的傻瓜交换机实际同时收发流量只能跑 600Mbps后来换了带足够缓存的企业级小交换机才稳定下来。千兆网络最适合的场景是NAS 备份、多台电脑之间互传大文件、剪辑工程文件直接放在 NAS 上访问。拿一个人口不多的家庭来说千兆网络至少能保证你在同时间看 4K 视频、传大文件、打游戏时不会互相拖垮。比百兆带来的体验提升是质变级的这也是为什么我一直建议还在用百兆路由器的人尽早换代。3.3 10000M一步一步接近“内存级”传输到了万兆网络情况又上了一个台阶。理论峰值 1250MB/s也就是 1.25GB/s。听起来非常夸张但真正把这个速度跑起来你会发现瓶颈几乎不在网线上而在设备的各个环节。首先要求网卡、交换机、网线都支持万兆标准网线通常得用六类或超六类光纤方案则用 SFP。然后你的电脑 CPU 得够强否则中断处理不过来。最后也是最关键的一点你的硬盘写入速度必须能超过 1GB/s否则网络再快数据也只能在内存缓存里排队。我在本地测过一台装了 Intel X550-T2 万兆电口网卡的机器连接一台万兆交换机再对接到一台用了 NVMe SSD 的服务器。iperf3 单线程跑出了 1.1GB/s多线程能拉到 1.18GB/s算是非常优秀的成绩了。但如果用 SMB 协议从这台服务器上复制文件速度就降到了 950MB/s 到 1.05GB/s因为 SMB 本身要处理和加密一部分头部信息。如果目标盘是普通机械硬盘那速度更会直接掉到 200MB/s万兆网络瞬间变成了“硬盘瓶颈展示器”。万兆的应用场景目前主要集中在数据中心、影视后期工作室、高频量化交易这类需要频繁移动海量数据的领域。家里如果只是为了传点照片、看视频暂时不用上。但如果你在玩虚拟化需要通过网络访问大量虚拟机镜像或者你是个内容创作者NAS 里堆着几 TB 的素材那万兆确实能把“用网络连接存储”从一个口号变成现实。4. 一张带宽计算速查表4.1 理论值、实测值与典型应用场景为了方便对照我把不同带宽下的理论换算值、实际传输速率区间和典型场景整理成了表格。平时规划网络时直接查这个表就能做出初步判断。网络带宽理论速率MB/s实际速率参考区间MB/s典型应用场景100Mbps12.510 - 11.5百兆宽带入户、监控摄像头、智能家居1000Mbps125110 - 118家庭 NAS、办公文件共享、高清视频剪辑10000Mbps1250950 - 1180影视后期、虚拟机热迁移、海量数据备份这个表格里的实际速率默认是“有线网络、MTU 1500、网络设备无严重转发瓶颈”的前提。如果你的环境用了 Wi-Fi那数值会低非常多Wi-Fi 5 的 5GHz 频段实际传输速率通常在 300Mbps 到 600Mbps 之间Wi-Fi 6 能高一点但也很难跑满 1000Mbps 这个有线物理极限。所以你是无线用户的话别拿这个表去怼路由器要先看无线协商速率和信号衰减。4.2 上下游设备对结果的影响还有一点容易被忽略网络带宽的“实际传输速率”不是单点决定而是由链路中最低的那个环节决定。我经常把这条链路比喻成水管运营商给你一根很粗的主管道但你家里那段管径细水流一样上不去。在百兆宽带环境里光猫的 LAN 口如果是百兆那你家路由器即便支持千兆最终出口也只能跑 100Mbps。在千兆局域网里交换机、网线、网卡只要有一个环节是百兆整体就会协商成百兆速率。所以制定网络方案时我习惯先做一次“最弱环节排查”。从光猫开始一个一个看端口协商速率再顺着网线看水晶头是不是八芯全通最后看交换机端口和电脑网卡是不是一致。只有在物理层链路全部对齐的前提下再去谈实际传输速率才有意义。否则你永远在折腾第一个 8 倍换算却忽略了木桶效应里更短的那块板。5. 真正影响实际传输速率的 4 个隐蔽因素5.1 协议头开销和帧间隔很多人知道除以 8但不知道网络传输在成帧的时候还会“额外附带行李”。每一个以太网帧进入网线之前都要先加 8 字节前导码用来同步时钟再加 12 字节帧间隔用来区分相邻帧最后帧体里还带着目标 MAC、源 MAC、类型和 CRC 校验。这些都不是你应用的业务数据但它们确实要占链路资源。以一个 1518 字节的标准帧为例真正能被 IP 层使用的 payload 是 1500 字节再剥掉 IP 头和 TCP 头留给应用的数据只有 1460 字节。用 1460 去除以 1518 加前导码和帧间隔可以算出来有效利用率大约在 94% 到 95%。这意味着1000Mbps 链路的应用层理论天花板实际上只有 117MB/s 到 118MB/s。这也是为什么很多测试工具跑到 117MB/s 就再难往上突破因为再往上就不是网络问题而是物理格式问题。5.2 小包与多流量的极端情况以太网帧最小是 64 字节如果大量传输小包比如远程桌面协议、数据库查询、工业采集数据那么固定开销的比例会急剧上升。64 字节数据帧里真正能携带 IP 数据的内容可能只有几十字节但前导码、帧间隔、以太网头一个都不少。我做过一次实验在千兆链路上用 TCP 单线程持续发送 64 字节小包应用层速率只能跑到理论值的 40% 左右处理器的一大半时间都被中断、拷贝头部信息吃掉了。这就是为什么在测试网络带宽时大家会特意分“大包测试”和“小包测试”。大包测试能反映出链路带宽上限小包测试更能反映出设备处理能力和并发能力。对一般用户来说日常的网页浏览、视频流媒体都属于中等包长不太会触发小包瓶颈。但如果你在家里跑 PVE 虚拟化或者经常操作远程桌面就得意识到小包场景会把实际传输速率拉低一截。5.3 交换机的背板带宽和转发方式交换机的背板带宽决定了它能同时转发的总流量上限。一台全千兆 8 口交换机在最理想情况下8 个端口全双工同时跑满需要的背板带宽大约是 16Gbps。如果产品页标注只有 4Gbps 或者 8Gbps那它本质上是“共享带宽”多端口同时高负载时会互相抢资源。这种交换机装在家里单独带一两台电脑问题不大但如果每个人都在传文件就会发现所有设备的总吞吐被锁在一个平面上。我的经验是挑选交换机时不要只看端口速度和价格要优先看背板带宽和包转发率。真正设计良好的交换机包转发率会达到线速也就是每个端口都能以满速转发。而一些低端设备转发率标注只有几兆包每秒实际多端口合流后就会剧烈掉速。对于千兆网络来说如果一个交换机自带的上联口是 2.5G 或万兆那它在多设备并发时会更从容代价是价格高一点。5.4 网卡、驱动、中断合并与 CPU 频率网卡是整个链路里非常关键又非常容易忽视的一环。千兆网卡在 Windows 和 Linux 下都有对应的驱动设置比如“中断节流”“数据包合并”“卸载校验和”等方式可以减轻 CPU 负载。如果你把这些功能全关掉CPU 会被网络中断打满这时候网络再大也跑不动。反过来如果你开启了过度的中断合并延迟会升高小包转发能力会受影响。在万兆场景里CPU 的影响会更明显。我做过一次对比测试同一台万兆服务器用低主频的省电 CPU 跑 iperf3只有 800MB/s换到高主频并开启多队列网卡后速度直接跳到 1.15GB/s。这是网卡多队列把不同 CPU 核心绑定到不同中断上分担了网络处理压力。所以如果你准备上 10G 环境别只盯着网线和交换机先把主机的 PCIe 通道、CPU 核数、散热结构都想好。最怕的就是一堆高端设备装到老主板上结果 PCIe 带宽不够网卡实际只能跑在 x1 模式上速度大打折扣。6. 实操中常见的“跑不满”问题与排查实录6.1 “千兆网卡只协商到 100M”这个问题我见过不下十次排查到最后往往都是网线和水晶头的问题。百兆网络只要用到 1、2、3、6 四根芯线就能工作但千兆必须 8 根芯线全部接通。如果你手里的网线是三类、四类线或者水晶头只压了 4 根芯又或者墙插模块质量不过关网卡就会自动降级到 100Mbps 协商速率。遇到这种情况先别急着换路由器。先用测线仪或者直接把设备搬到一起用一根超五类成品线排除物理因素。如果换线后网卡恢复到 1000Mbps那问题就出在原网线的线路质量或长度上单根网线超过 80 米就建议加交换机中继不要硬靠长线去跑千兆。我还遇到过一种情况是路由器 LAN 口默认把“节能以太网”关了之后速率才恢复满血所以驱动和固件里的相关选项也要多看一眼。6.2 “SMB 复制大文件只有 30-40MB/s”千兆网络复制大文件如果速度只有 30 到 40MB/s很多人第一反应是网络没配好。但我在排查时发现有相当大一部分原因是 SMB 协议本身受到小文件延迟的拖累。如果你从 NAS 复制的是一个包含成千上万个照片文件的文件夹SMB 需要不断发起请求、等待响应、确认接收单个文件之间的交互延迟会显著拉低平均速率。这时候测出来的 30MB/s其实是“随机读写”的场景不是持续吞吐。解决办法是先用一个大文件测试比如 10GB 以上的视频文件看能不能跑到 100MB/s 以上。如果能说明网络没问题瓶颈在文件系统对大量小文件的处理速度。如果不是很赶时间可以把多个文件打包成压缩文件再传或者开启 Windows 的 SMB 多通道让多个 TCP 连接并行传输。从体验上讲这种改法比换网线和路由器更有效。6.3 “单线程 1G 只能跑 500M多线程能跑满”这个现象在跨设备文件复制时尤其常见。iperf3 测单线程只有 500Mbps加上多个线程之后总速率却能接近 950Mbps。出现这种差距通常是因为 TCP 单连接的拥塞窗口受限于往返延迟和接收窗口的大小达不到线速。特别是一边是机械硬盘一边是网络转码缓存的小型 NAS硬件处理单数据流的能力本身就有限。如果你追求大文件传输的极致速度可以先检查网卡的“接收/发送窗口自动调优”有没有被系统或杀毒软件禁用。在 Windows 里可以用 netsh interface tcp show global 查看调整情况在 Linux 里则要关注 TCP buffer 和 congestion control 的配置。另外很多 NAS 系统里的文件分享服务比如 SMB本身就支持多线程复制。如果你的客户端也支持多通道再配合超五类以上的网线经常能把单线程 500Mbps 的瓶颈拉到接近 900Mbps 甚至更高。6.4 “开了巨型帧反而更卡”在千兆以上的内网环境中有人会把 MTU 从 1500 调到 9000也就是开启“巨型帧”。大帧能减少帧数量降低 CPU 负载从理论上讲确实能提升大文件传输效率。但这个设置有个前提链路里的所有设备包括电脑网卡、交换机、NAS都必须同时启用巨型帧且 MTU 一致。只要有一个设备没有设置好或者隔着一层互联网出口就会出现大包被丢弃或分片的情况。后果就是网络时而通畅时而卡死甚至某些网页都打不开。根据我自己的经验如果只是普通家庭或者小型工作室完全没必要开巨型帧。千兆网络在默认 1500 MTU 下已经能发挥 95% 左右的性能巨型帧带来的提升通常只有几个百分点。真到了万兆网络再次考虑才稍微值得一些但前提是你对整条链路的设备都了如指掌。否则你可能为了那 3% 的带宽换来一堆“时好时坏”的玄学故障很不划算。7. 带宽计算之外的经验之谈7.1 为 NAS 和家庭工作室选多快合适做网络规划之前先问自己两个问题你主要在局域网里做什么数据流量是持续大文件还是突发小包如果只是存照片、看视频、共享文档千兆已经完全足够。如果要做 4K 视频剪辑、虚拟机镜像备份那 2.5G 网卡和 2.5G 交换机能给你很好的性价比。现在 2.5G 设备的价格已经降到比较亲民的位置在千兆基础上翻 2.5 倍对于内容创作者来说是明显的体验提升。万兆虽然更快但它的成本不仅仅是交换机和网卡还包括对应的高性能存储。我给朋友做方案时经常说万兆网络的价值取决于你的硬盘阵列能不能扛住 1GB/s 的持续写入。如果硬盘是 4 块机械盘组 Raid5写速度可能在 400 到 600MB/s那万兆网卡跑出来其实和 2.5G 网络差距不大。不如把钱省下来把硬盘换成 SSD或者先做分层存储用 SSD 做热数据缓存把大文件放在机械盘里文件传输效率反而更高。7.2 不同终端走不同链路别一个标准套到底很多人在调整完家里网络后发现手机速度远不如电脑就开始怀疑路由器功率。其实无线终端和有线终端本身就不应该拿同一个标准去衡量。手机 Wi-Fi 的协商速率受天线数量、发射功率、信道干扰、手机芯片节能策略影响经常只有连接速率的 50% 到 70%。比如你手机连上 Wi-Fi 6 显示 1200Mbps实际跑到 700Mbps 左右已经是很正常的表现了。所以我的建议是把家里的各种设备按需分流。固定位置的高性能需求设备比如台式机、NAS、游戏主机尽量用网线直连交换机。移动终端和 IoT 设备走 Wi-Fi但 2.4GHz 和 5GHz/6GHz 频段也要分开规划后台该关的节能模式关掉该固定的信道固定下来。这样你既不会因为无线拉低全屋体验也不会因为一个设备把整个网络的性能基线拉低。在实际折腾网络的过程中我最大的感受是带宽计算不是玄学但它也不是简单的除法。从 Mbps 到 MB/s再到实际传输速率每一层都在提醒你网络是一个由很多环节构成的系统。你换一根好网线、一个高性能交换机、一块正经的千兆/万兆网卡每个环节都能减少一点损耗最后叠加起来体感提升会非常明显。我现在规划网络时已经习惯了先算物理层理论值再打折到实际可用区间然后在这个区间里评估设备和布线是否达标。这样下来后续排查问题会轻松很多至少心里会有一个准确的尺子而不是等到速度不达标才手忙脚乱地去踩坑。
返回列表