- 数据交换之报文、分组交换
报文交换(message switching)
什么是报文?
报文:源(应用)发送信息整体,比如一个文件,一个图像等。
报文交换是指在整个数据传输过程中,要以整个报文作为一个整体,一次性转发到下一个相邻节点上去。
最具有代表性的是早期的电报通讯方式。
分组交换(package switching)
把报文拆出若干个小的数据包,也就是分组。
- 分组:报文分拆出来的一系列相对较小的数据包。

就好像我们寄一封信,不能仅仅把信纸交道邮局,还需要在信封上写明目的地、收信人等信息。
- 分组交换需要报文的拆分与重组。
- 产生额外开销



分组交换:统计多路复用(Statistical Multiplexing)

并不是事先分配好,具有很强的随机性,看谁发的多少,故也称为统计多路复用。
存储-转发(store-and-forward)
报文交换与分组交换均采用存储-转发交换方式。

- 区别:
- 报文交换以完整报文进行“存储-转发”
- 分组交换以较小的分组进行“存储-转发”
报文交换 vs 分组交换
为了评价两种交换方式的优劣,我们看看传输延迟,通过时间方式来看看。

发送主机:
- 接收应用报文(消息)
- 拆分为较小长度为 L bits的分组(packets)
- 在传输速率为R的链路上传输分组

开始比较:

- 报文交换:
- 报文长度为M bits
- 链路带宽为R bps
- 每次传输报文需要M/R秒
- 分组交换:
- 报文被拆分为多个分组
- 分组长度为L bits
- 每个分组传输时延为L/R秒
例:
M=7.5 Mbits,
L=1500bits
M=5000L
R = 1.5 Mbps
- 报文交换:
- 报文交付时间=15 sec
- 路由器至少要 7.5M 的缓存
- 分组交换:
- 报文交付时间=5.002 sec
产生差别的原因:报文是串行,分组是并行。
分组交换的报文交付时间

例题
在下图所示的采用“存储-转发”方式的分组交换网络中,所有链路的数据传输速率为100 Mbps,分组大小为1 000 B,其中分组头大小为20 B。若主机H1向主机H2发送一个大小为980 000 B的文件,则在不考虑分组拆装时间和传播延迟的情况下,从H1发送开始到H2接收完为止,需要的时间至少是多少?

【解】980 000 B大小的文件需要分1000个分组,每个分组1 000 B。H1发送整个文件需要的传输延迟为(980 000+201000)8/100 000 000=80ms;根据路由选择本原理,所有数据分组应该经过两个路由器的转发,所以再加上最后一个分组的两次转发的传输延迟,即210008/100 000 000=0.16ms。所以,H2收完整个文件至少需要80+0.16=80.16ms。
分组交换 vs 电路交换
例:
1 Mb/s链路
每个用户:
“活动”时需100 kb/s
平均活动时间10%

- 电路交换:
- 10用户
- 分组交换:
- 对于35个用户, 大于10个用户同时活动的概率<0.0004
分组交换允许更多用户同时使用网络!
——网络资源充分共享
分组交换绝对优于电路交换??
Internet就是分组交换~
- 分组交换适用于突发数据传输网络
- 资源充分共享
- 简单、无需呼叫建立
- 可能产生拥塞(congestion): 分组延迟和丢失
- 需要协议处理可靠数据传输和拥塞控制
Q: 如何提供电路级性能保障?
例如,音/视频应用所需的带宽保障