先播放观察瓶颈,再把 B—C 的带宽调大,比较延迟与丢包。
构造自己的网络
新增双向链路
↔
拖动只改布局。每条链路的两个方向各有独立队列,标签为每方向带宽。
记录一份基线
带走实验结果
CSV 为完整实验,时间线与上方六项指标随回放时刻变化。图面长名称缩略,完整内容保留在实验JSON。
链路与流量
| 链路 | Mbps | 传播 ms | 等待槽 | 开启 | 断链 ms |
|---|
等待槽不包含正在发送的包;0 有效。断链时刻留空表示不安排,0 表示起始断开。
流量源
| 名称 | 起点 | 终点 | bytes | 包数 | 间隔 ms | 起始 ms |
|---|
最多16节点、32链路、8条流、全实验1000个包。相同输入产生相同事件。
这一封包,等在了哪里?
| 跳 | 路径 | 入队 ms | 开始发送 | 发送完成 | 到达 | 排队 ms |
|---|
模型约定、公式与一手资料
本实验是确定性、全双工、FIFO、存储转发的离散事件模型。发送时延 = 字节数 × 8 ÷(带宽 Mbps × 1000),单位 ms。每跳总时延 = 等待 + 发送 + 传播;节点处理时间在此模型取零。
每次到达节点,用 Dijkstra 选择当前可用链路的最小「发送+传播」路径,不把队列预测放进路由代价。同一时刻依次处理断链、发送完成、到达/新发送;同级按事件插入次序。断链丢弃该链路两个方向的等待包,已经开始发送或传播的包按教学约定继续完成该跳。没有恢复、ACK、重传、拥塞控制或协议头,也不是 TCP/IP 性能预测器。
吞吐率统计为在观察窗口内成功到达的完整包位数 ÷ 从首包发送至当前时刻(最多全实验完成时刻)的时长。延迟均值和 P95 仅针对已经交付的包;P95 使用排序后的最近秩。丢失比例分母为已发送包。空集合显示 —。所有示例为原创合成数据。
参考:MIT 6.02 · Lecture 17: Packet switching。链接用于阅读,不是运行依赖。