首先对在公式推导中需要的一些变量进行说明:假设我们有 的报文需要进行发送,采用分组交换的方式进行发送,假设分组的长度(大小)为 .假设链路带宽(数据传输速率)为 .假设从发送方到接收方的跳步数为 , 路由器 数为 .那么我们可以得到分组交付时间 的计算公式如下:
下面给出上面 公式 的推导过程:
- 由于采用分组交换的方式,因此从发送开始计时,经过时间,源端系统的发送的第一个分组经过一个跳步达到第一个路由器;
- 经过第二个此时源端系统发送了两个分组,同时第二个第二个路由器也收到了第一个路由器转发的分组;
- 重复上面的过程,经过时间,目的端系统收到了第一个分组;
- 此后每经过一个时间目的端系统就收到一个分组,总的分组数量为,同时由于已经接收到了一个分组,因此还需要接收个分组.
由此我们得到总的交付时间的计算公式
显然我们知道跳步数和路由器数之间存在这样的关系,将其带入 公式 因此我们最后得到的公式为
示例
下面我们通过以2009年全国计算机考研中的一道试题来加深对上面推导过程的理解:
图2在下图所示的采用“存储-转发”方式的分组交换网络中,所有链路的数据传输速率为, 分组大小为 ,其中分组的头部大小为. 若主机H1向主机H2发送一个大小为 的文件,则在不考虑分组拆装时间和传播延迟的情况下,从H1发送开始到H2接收完为止,需要的时间至少是多少?
【分析&求解】:由于题目中需要计算的是一个最小 时间,因此我们需要选择图中上面的一条链路进行计算.我们还需要计算的数据需要拆分为多少个分组.由于每个分组大小为,我们假设有个分组,因此可以列出下面方程:
解上面方程我们知道有个分组,由于在发送数据的过程中头部数据也需要进行发送,因此我们按 公式 列出下面的算式计算得到时间:
因此,从H1发送开始到H2接收完为止,需要的时间至少是80.16ms.
网友评论