网络——关于数据时延的计算问题
关于数据总时延和时延带宽积的计算
数据总时延
通常来说,数据总时延=发送时延+传播时延+处理时延+排队时延(题目中一般会忽略处理时延和排队时延)
发 送 时 延 = 分 组 长 度 ( b ) 发 送 速 率 ( b / s ) 发送时延=\frac{分组长度(b)}{发送速率(b/s)} 发送时延=发送速率(b/s)分组长度(b)
传 播 时 延 = 信 道 长 度 ( m ) 电 磁 波 传 播 速 率 ( m / s ) 传播时延=\frac{信道长度(m)}{电磁波传播速率(m/s)} 传播时延=电磁波传播速率(m/s)信道长度(m)
常见的传播速度:
自由空间:
3
×
1
0
8
m
/
s
3\times10^{8}m/s
3×108m/s
铜线:
2.3
×
1
0
8
m
/
s
2.3\times10^{8}m/s
2.3×108m/s
光纤:
2
×
1
0
8
m
/
s
2\times10^{8}m/s
2×108m/s
m-1 即为转发的次数
时延带宽积
时延带宽积=传播时延 × \times ×带宽,又称以比特为单位的链路长度,它是一种利用比特来作为度量长度的单位。例如,A、B两点之间的传播时延是100s,每秒可以发送1bit的数据,那么A、B两点之间的长度(时延带宽积)就是100b
例题
【例】(2010)如图所示采用“存储——转发”方式的分组交换网络中,所有链路的数据传输速率是100Mbit/s,分组大小为1000B,其中分组头大小为20B。若主机H1向主机H2发送一个大小为980000B的文件,则在不考虑分组拆装时间和传播延迟的情况下,从H1发送开始到H2接收完为止,需要的时间至少为______。
A 80ms
B 80.08ms
C 80.16ms
D 80.24ms
【分析】从主机H1到H2至少要经过两个转发点,三段路径(即直线的那条路径);
分组大小1000B,分组头部大小10B,那么数据部分大小980B;发送980000B大小的文件,共计有 980000B/980B=1000个分组;
解法一:
题目中说不考虑分组拆装时间和传播延迟,那么只需要考虑发送时延,先计算第一个分组的发送时延:
1000
B
100
M
b
=
1000
×
8
100
×
1
0
6
=
0.08
m
s
\frac{1000B}{100Mb}=\frac{1000\times 8}{100\times10^{6}}=0.08ms
100Mb1000B=100×1061000×8=0.08ms
那么
1000
个
分
组
的
发
送
总
时
延
:
80
m
s
{\color{Pink}1000个分组的发送总时延:80ms}
1000个分组的发送总时延:80ms
经
过
三
段
路
径
,
两
次
转
发
的
发
送
时
延
:
{\color{blue}经过三段路径,两次转发的发送时延:}
经过三段路径,两次转发的发送时延:
0.08
m
s
×
2
0.08ms\times2
0.08ms×2=0.16ms
总计发送时延:79.92+0.24=80.16ms
解法二:
先计算一个分组在三段路径的发送时延:
3 × 1000 B 100 M b = 3 × 1000 × 8 100 × 1 0 6 = 0.24 m s 3\times \frac{1000B}{100Mb}=3\times \frac{1000\times 8}{100\times10^{6}}=0.24ms 3×100Mb1000B=3×100×1061000×8=0.24ms
再计算剩余其它分组在最后一个转发点的发送时延:
1000 × 8 100 × 1 0 6 × ( 1000 − 1 ) = 79.92 m s \frac{1000\times 8}{100\times10^{6}}\times(1000-1)=79.92ms 100×1061000×8×(1000−1)=79.92ms
总计发送时延:79.92+0.24=80.16ms
【例】(2013年35题)主机甲通过1个路由器(存储转发方式)与主机乙互联,两段链路的数据传输速率为10Mbps,主机甲分别采用报文交换和分组大小10Kb的分组交换向主机乙发送一个大小为8Mb(1M=106)的报文。若忽略链路传播延迟,分组头开销和分组拆装时间,则两种交换方式完成该报文传输所需的总时间分别为______。
【分析】报文交换方式:
总的时延:
8
M
b
10
M
b
p
s
×
2
=
1.6
s
=
1600
m
s
\frac{8Mb}{10Mbps}\times2=1.6s=1600ms
10Mbps8Mb×2=1.6s=1600ms(传播时延忽略不计)
分组转发方式:
分组数: 8 M b 10 k b = 800 \frac{8Mb}{10kb}=800 10kb8Mb=800
总的时延: 10 k b 10 M b p s × 800 + 10 k b 10 M b p s = 801 m s \frac{10kb}{10Mbps}\times800+\frac{10kb}{10Mbps}=801ms 10Mbps10kb×800+10Mbps10kb=801ms (传播时延忽略不计)
【例】在分组交换网中要传送的数据总共1000B,每个分组长度100B,数据发送速率为100Mb/s,从源点到终点一共经过5段链路,每段链路的长度1km,数据信号传播速率为105km/s。忽略处理时延和排队时延,试计算数据传输的总时延并给出各部分时延的计算过程。
【分析】根据题意,忽略处理时延和排队时延,那么总时延=发送时延+传播时延。
对于每组数据在每段链路上:
发送时延:
△
t
1
=
100
B
100
M
b
/
s
=
800
b
100
M
b
/
s
=
8
×
1
0
−
3
s
\triangle t_{1} =\frac{100B}{100Mb/s}=\frac{800b}{100Mb/s}=8\times10^{-3}s
△t1=100Mb/s100B=100Mb/s800b=8×10−3s
传播时延:
△
t
2
=
1
k
m
1
0
5
k
m
/
s
=
1
0
−
5
s
\triangle t_{2} =\frac{1km}{10^{5}km/s}=10^{-5}s
△t2=105km/s1km=10−5s
那么,一组数据在一段链路上的总时延:
△
t
=
△
t
1
+
△
t
2
\triangle t=\triangle t_{1}+\triangle t_{2}
△t=△t1+△t2
方法一:
由题目可知,共10组数据,在一段链路发送这10组数据的发送时延为
10
△
t
1
10\triangle t_{1}
10△t1,1个分组在5段链路的发送时延为
4
△
t
1
4\triangle t_{1}
4△t1,传播时延为
5
△
t
2
5\triangle t_{2}
5△t2,那么数据传输的总时延为
14
△
t
1
+
5
△
t
2
=
112.05
m
s
14\triangle t_{1}+5\triangle t_{2}=112.05ms
14△t1+5△t2=112.05ms
方法二:
当第一组数据,在5段链路发送完成时,之后的9组数据在最后一个转发点的发送时延,于是数据传输的总发送时延为:
5
△
t
1
+
9
△
t
1
=
14
△
t
1
5\triangle t_{1}+9\triangle t_{1}=14\triangle t_{1}
5△t1+9△t1=14△t1,数据在5段链路的传播时延为
5
△
t
2
5\triangle t_{2}
5△t2
数据传输的总时延为:
14
△
t
1
+
5
△
t
2
=
112.05
m
s
14\triangle t_{1}+5\triangle t_{2}=112.05ms
14△t1+5△t2=112.05ms
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)