← 前一天目录后一天 →

每日科普 · 2026-10-03 周六

考研 408 × 求职面试

知识点 · 计算机网络 · 进阶

时延、带宽与吞吐量的计算

时延、带宽和吞吐量常一起考。 1)带宽是链路每秒最多能发多少比特,单位 bps,不是“信号跑多快”。 2)发送时延=数据量/带宽,数据量先换成 bit;例如 1 MB=8×10^6 bit,100 Mbps 下发 1 MB 需 0.08 s。 3)传播时延=距离/传播速度,光纤中约 2×10^8 m/s,与带宽无关;带宽再大也不能缩短传播时延。 4)总时延通常=发送+传播+处理+排队,端到端是多段链路之和;若题目忽略则只算给定项。 5)吞吐量是单位时间真正成功传输的数据量,可能低于带宽;多段链路时稳态吞吐量受瓶颈链路限制,即 min(R1,…,Rn),还要扣除协议头、重传、拥塞和窗口等待。 6)时延带宽积=传播时延×带宽,表示链路“管道”中可容纳的比特数。 计算时统一单位:bit、s、bps;区分 Byte 与 bit、单向时延与 RTT。

每日一题 · 计算机网络

时延、带宽与吞吐量的计算

主机 A 经两段链路向 B 发送 4 MB 文件。链路1带宽 100 Mbps,链路2带宽 10 Mbps,两段单向传播时延共 20 ms,忽略处理、排队和协议开销。若中间节点按分组流水转发,端到端吞吐量约为多少? A. 100 Mbps B. 10 Mbps C. 约 9.95 Mbps D. 5 Mbps

解析

选 C。瓶颈链路是 10 Mbps。文件 4 MB=32 Mbit,瓶颈发送时延=32/10=3.2 s;再加传播 0.02 s,总时延约 3.22 s。吞吐量=32 Mbit/3.22 s≈9.94 Mbps,接近但略低于瓶颈带宽。若只问带宽上限,可答 10 Mbps;精确计算需把传播时延纳入总时间。

面试小贴士 · 计算机网络

时延、带宽与吞吐量的计算

常问:给拓扑和文件算时延/吞吐量。先统一 bit 与秒,列发送=长度/带宽、传播=距离/速度,总时延相加;吞吐量看瓶颈链路,扣除协议开销。易错:Byte/bit 混用、把带宽当传播速度、漏 RTT/排队、用带宽代替吞吐量。

代码实现 · C

代码示例

#include <stdio.h>

int main() {
    double file_MB = 2.0;          // 文件大小,按 1 MB=10^6 B
    double bw_Mbps = 100.0;        // 链路带宽 Mbps
    double distance_km = 1000.0;   // 距离 km
    double prop_speed = 2e8;       // 传播速度 m/s
    double data_bits = file_MB * 8 * 1e6;
    double tx = data_bits / (bw_Mbps * 1e6);
    double prop = (distance_km * 1000.0) / prop_speed;
    double total = tx + prop;
    double throughput = data_bits / total / 1e6; // Mbps
    double bdp = bw_Mbps * 1e6 * prop / 8.0;     // Byte

    printf("发送时延=%.6f s\n", tx);
    printf("传播时延=%.6f s\n", prop);
    printf("总时延=%.6f s\n", total);
    printf("吞吐量=%.2f Mbps\n", throughput);
    printf("时延带宽积=%.2f Byte\n", bdp);
    return 0;
}
← 前一天目录后一天 →