分组交换:存储转发与分组转发
存储转发传输(Store-and-Forward Transmission)
在网络应用中,端系统彼此交换报文(message),报文能够包含任何数据。报文从源端系统发送到目的端系统的过程中,长报文会被划分为较小的数据块,称为分组(packet),每个分组都通过通信链路和分组交换机传送。如果源端系统发送一个 bits分组,链路的传输速率为 bits/sec,则传输该分组的时间为秒。
多数分组交换机在链路的输入端使用存储转发传输机制,存储转发传输是指在交换机能够开始向输出链路传输该分组的第一个bit之前,必须接收到整个分组。
收齐分组,再进行转发
模型分组包含三个比特。把它们送入路由器缓存,再决定路由器何时能够转发分组。过早转发时,检查还缺少什么。
3/3
0/3
0/3
路由器仍在接收分组。
假设忽略传播时延(propagation delay),源端系统在时间0开始传输,路由器在时间刚好接收到整个分组,之后再向输出链路开始传输,在时间整个分组被目的端系统接收。
因此,由条速率为的链路组成的路径(在源和目的地之间有台路由器)发送一个分组,端到端的时延为
知识测验
转发表(Forwarding Table)
路由器从输入链路获得分组,然后向输出链路发送分组,但是路由器怎样决定应当向哪一条链路发送呢?
因特网中每一个端系统都有一个IP地址,源在发送分组时在分组首部包含了目的地的IP地址。当分组到达每一个路由器时,路由器根据转发表,为其查询适当的输出链路。
端到端的选路过程类似于现实中的问路,每到一个地点都询问别人路线,逐步找到最终的目的地。在这个类比中,被问路的人就类似于路由器。
当一次路由器:按目的地址转发
每台路由器只知道自己的转发表:目的地址 → 下一跳。发送一个分组,然后扮演它到达的每台路由器。之后切断链路R1–R3,并修改R1的转发表,让分组仍能送达。地址均为文档示例地址。
| 目的地址 | R1下一跳 | R2下一跳 | R3下一跳 |
|---|---|---|---|
| 198.51.100.7 | R2 | 主机A | R2 |
| 203.0.113.5 | R3 | R3 | 主机B |
选择一个目的地址。在每台路由器,在它自己的转发表中找到该地址,再点击表项指向的高亮链路。
知识测验
计算一个分组经过三条链路的时间
一个12,000比特的分组经过三条6 Mbps链路与两个存储转发路由器。忽略传播、处理与排队时延。计算每条链路的传输时间与最终到达时间。第一个路由器能否在1 ms时开始转发?说明理由。