外观
千兆网卡为什么跑不出每秒千兆字节?延迟又是从哪来的?
阶段 1 · 物理层 · 第 7 课
宿舍刚升级了“千兆宽带”,你在第 6 课用 ethtool 确认网卡已经稳定工作在 1000 Mb/s 全双工。可当你满怀期待地下载一个大文件时,下载软件上显示的速度却停在 112 MB/s 左右,怎么也到不了 1000。与此同时,室友在旁边打游戏,哪怕只发送几百字节的小数据包,屏幕右上角依然显示着 25 ms 的网络延迟。
为什么 1000 Mb/s 的链路最多只能测出约 118 MB/s 的下载速度?换了更快的网卡,能让跨省光缆里光脉冲的飞行速度变快吗?
学完本课后,你将能够:
- 区分接口速率(带宽)(标称速率)与端到端实际吞吐量,并熟练换算
Mb/s与MB/s。 - 算出给定帧长度、链路速率、介质距离与信号速度下的发送时延和传播时延。
- 完成阶段 1 总目标:结合波形、链路状态与四类时延模型,判断一个网络现象究竟受限于带宽还是受限于距离。
1. 速率(带宽) vs 吞吐量:为什么下载速度到不了 1000?
要解开“千兆宽带下载只有一百多兆”的疑惑,我们需要连续跨越两道换算关卡:
第一关:比特(bit,b)与字节(Byte,B)相差 8 倍
回顾第 1 课,1 个字节(Byte)(B)等于 8 个比特(bit)(b):
- 网络运营商、交换机端口和
ethtool标注的速率(带宽)(速率),一律按**每秒传输多少个比特(bit/s或bps)**计算,并且使用十进制词头: - 而浏览器、迅雷、Steam 等下载软件显示的下载速度,通常是每秒写入硬盘多少个字节(
MB/s)。 - 因此,就算没有任何损耗,
换算成每秒字节数也只有:
第二关:瓶颈链路与协议封装开销
如上图所示,数据从服务器流向你的电脑,往往要经过多段不同速率的链路:
- 瓶颈带宽限制:如果接入网线是
1000 Mb/s,但中间某一段出口链路只有100 Mb/s,那么端到端的最大水流速度(即吞吐量上限)就卡在最窄的100 Mb/s上。 - 协议首部开销:正如第 3 课所讲,网卡发出的比特里不全是你的文件内容,还包含以太网前导码、帧间隔、帧头帧尾、IP 首部和 TCP 首部(通常每个满载帧约有
的控制开销)。 - 扣掉这约
的封装开销后,千兆以太网在应用层能测出的有效吞吐量上限大约是 ,除以 正好就是你在下载软件里看到的 112 MB/s ~ 118 MB/s!
2. 四类时延:一个数据包在路上花了哪些时间?
带宽决定了“水管有多粗”,而**时延(Delay / Latency)**决定了“第一滴水从龙头流到终点要花多久”。当一个数据包从主机 A 出发,经过交换机或路由器到达主机 B 时,总单向时延由四部分组成:
| 时延类型 | 发生在哪里? | 物理意义与决定因素 | 计算公式与常用单位 |
|---|---|---|---|
| ① 发送时延(传输时延) | 发送端网卡出口 | 网卡把一帧的第 1 个比特到最后 1 个比特全部推上网线所需的时间 | |
| ② 传播时延 | 铜缆、光纤或空气中 | 1 个比特变成物理信号后,从链路这头飞到那头所需的时间(铜缆/光纤中 | |
| ③ 处理时延 | 交换机 / 路由器内部 | 设备检查帧差错(FCS)、读取首部并查找转发表/路由表的时间 | 硬件转发通常为微秒( |
| ④ 排队时延 | 设备的输出/输入队列 | 当出接口繁忙时,数据包在内存队列里排队等待前面数据包发完的时间 | 随网络拥塞程度从 |
最易混考点:发送时延( )vs 传播时延( )
在华为 ICT 大赛和计算机网络考试中,90% 的计算失分都源自把发送时延和传播时延搞混,或者忘记把字节乘以 8。请记住一个形象的比喻:
- 发送时延(
)像车队通过高速收费站:100 辆车的车队(帧长 ),收费站每秒放行 10 辆(速率 ),整支车队全部驶入高速需要 秒。它只看车队多长、收费站多快,跟高速公路有多长毫无关系。 - 传播时延(
)像头车在高速公路上狂奔:高速公路长 200 千米(距离 ),车速是每小时 100 千米(电磁波传播速度 ),头车跑到终点需要 小时。它只看路有多远、电磁波跑多快,跟收费站放行速度毫无关系。
手算一步:百米千兆网线 vs 千里万兆光纤
让我们亲手算两个典型例子(取铜缆与光纤中的信号传播速度
- 场景 A:工位电脑通过
100 m千兆网线()发送一个 1500 Byte的满载帧- 帧比特数:
- 发送时延:
- 传播时延:
- 对比发现:在百米局域网里,发送时延(
)是传播时延( )的 24 倍!
- 帧比特数:
- 场景 B:跨城数据中心通过
1000 km万兆光纤()发送同一个 1500 Byte的帧- 发送时延:
- 传播时延:
- 对比发现:在长途骨干网里,光脉冲在光纤里飞行的时间(
)是发送时延( )的 4000 多倍!哪怕把网卡升级到 100 Gbps,这的物理光速飞行时间也一微秒都省不掉。
- 发送时延:
3. 动手预测并验证:调整帧长、速率与距离
先在心里预测:如果把速率从 1000 Mb/s 降到早期的 10 Mb/s,百米网线上的发送时延会放大多少倍?点击下方实验面板的预设按钮或拖动滑块亲自验证:
交互实验 · 发送时延 vs 传播时延
调整帧长度、接口速率和链路距离(设铜缆/光纤信号传播速度 v = 2.0 × 108 m/s),观察哪项时延占主导。
- 发送时延 (L / R)
- 12.00 μs
- 传播时延 (D / v)
- 0.50 μs
- 两项合计
- 12.50 μs
结论:当前场景下 发送时延占主导(升级网卡速率能明显提速)。
4. 阶段 1 总结与下一步
至此,我们已经走完了**阶段 1(物理层,第 4~7 课)**的全部旅程!回头看一眼物理层为我们解决了什么问题:
- 波形、噪声与编码(第 4 课):在存在衰减和噪声的信道上,利用线路编码(曼彻斯特、4B/5B、8B/10B、64B/66B)与多电平调制保持时钟同步,在高信噪比(SNR)下实现极低误码率(BER)。
- 传输介质(第 5 课):100 米内用对绞抗干扰的双绞线,机房短距高速用多模光纤(MMF),跨楼宇与远距离主干用单模光纤(SMF),移动接入用无线电波。
- 网卡与链路状态(第 6 课):网卡内部由 PHY 负责物理信号与自动协商,由 MAC 负责帧处理;通过
ip -br link和ethtool可以一眼分辨管理状态(UP)与物理连通状态(LOWER_UP)。 - 速率与四类时延(第 7 课):分清
bit/s与Byte/s、接口速率(带宽)与实际吞吐量,掌握发送时延()与传播时延( )的计算。
现在,物理层已经能把一连串 0 和 1 可靠地从网线这一头送到那一头。但新的问题马上出现了:物理层看到的只是源源不断的比特流,接收端网卡的 MAC 控制器怎么知道一个帧从哪一位开始、到哪一位结束?如果交换机上连着十台电脑,这一帧又该交给谁? 下一阶段(阶段 2 · 数据链路层),我们从以太网帧和 MAC 地址继续追下去!