计算机网络——各种时延的计算

来源:互联网 发布:sql 带游标的存储过程 编辑:程序博客网 时间:2024/05/21 09:40

时延:是数据(一个报文或分组,甚至比特)从网络或链路的一段传送到另一端所需要的时间。
发送时延:是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
发送时延=数据帧长度(b) /信道带宽(b/s) [信道带宽就是数据率]
传播时延:电磁波在信道中需要传播一定的距离而花费的时间。
传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)
处理时延:主机或路由器处理所收到的分组的时间。
排队时延:分组在输入队列中排队等待处理,在输出队列中等待转发,就形成了排队时延。
总时延=发送时延+传播时延+处理时延+排队时延


例题1:
试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源点到终点共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察k段链路共有几个结点。)
答:在电路交换中,电路的建立时延是s,报文的发送时延是x/b,报文的传播时延是:kd,故总时延为:x/b+kd+s;
在分组交换中,报文的发送时延是(x/p)(p/b); K段传输中,有(k-1)次的储存转发延迟,(p/b)(k-1);传播时延是kd;故总时延是:(x/p)(p/b)+ (p/b)(k-1)+kd=x/b+kd+(p/b)*(k-1);
当s>(k-1)*(p/b)时,电路交换的时延比分组交换的时延大,当x>>p,相反。


例题2:
在上题的分组交换网中,设报文长度和分组长度分别为x和(p+h)(bit),其中p为分组的数据部分的长度,而h为每个分组所带的控制信息固定长度,与p的大小无关。通信的两端共经过k段链路。链路的数据率为b(b/s),但传播时延和结点的排队时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度p应取为多大?(提示:参考图1-12的分组交换部分,观察总的时延是由哪几部分组成。)
答:总时延:y=(x/p)((p+h)/b)+(k-1) ((p+h)/b)+kd
两边求导,并令其值为0得p=[(xh)/(k-1)]^0.5