电路、报文与分组交换
约 40 分钟
电路、报文与分组交换
上一课已经能画出端系统、链路和路由器。现在发送一份 12 000 bit 数据,三段链路速率都为 1 Mbit/s,每段传播时延 5 ms。新困难是不同交换方式会改变资源占用和时间线,不能只背“分组交换更灵活”。
电路交换先建立端到端专用通路。若建立连接需 20 ms,数据发送时延为
三段传播共 15 ms,总时间约 ms。数据一旦进入电路可连续前进,不会在每台交换节点等待完整报文,但空闲时预留资源仍不能给别人用。
报文交换不预留线路,每个节点收到完整 12 000 bit 报文后再转发。忽略排队和处理,三段链路产生三次发送时延:
它无需建立电路,却要求中间节点容纳完整报文;长报文还会长时间占住输出链路。
分组交换把数据拆成三个 4000 bit 分组。每个分组发送需 4 ms,第一分组走完三跳需 ms;流水线稳定后,第二、第三分组各再隔 4 ms 离开发送端,因此最后一分组到达时间
这次比较暂时忽略每个分组的首部。分组让不同用户统计复用链路,也让后续分组与前面分组在不同链路并行;代价是每包首部、排队、乱序与丢失处理。
常见错误是把“传输时延”当成传播时延。 描述把比特推上链路的时间,距离不出现;传播时延是距离除以信号速度,分组长短不出现。另一错误是认为分组越小越快:首部比例、路由处理和丢包恢复都会随分组数增加。
迁移题:仍走三跳,数据拆成六个 2000 bit 分组,其他参数不变且无首部。答案:每包发送 2 ms,第一包到达需 ms,最后一包再等五个发送间隔,总时间 31 ms。下一课暂不计算时间,改为用不同分类坐标描述网络,避免把范围、拓扑和所有权混成一个标签。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。