时延是指一个报文或分组从网络的一端传送到另一端所耗费的时间,时延由节点处理时延、排队时延、发送时延、传播时延组成。下面为大家一一介绍一下:
节点处理时延:
主机或路由器在收到分组后要花费一定的时间进行处理,比如分析首部,提取数据,差错检验,路由选择等。一般高速路由器的处理时延通常是微秒或更低的数量级。
排队时延:
排队时延很好理解,就是路由器或者交换机处理数据包排队所消耗的时间。一个特定分组的排队时延取决于先期到达的、正在排队等待向链路传输分组的数量。如果该队列是空的,并且当前没有其他分组在传输,则该分组的排队时延为0;另一方面,如果流量很大,并且许多其他分组也在等待传输,该排队时延将很大。实际的排队时延通常在毫秒到微秒级。
传输时延:
传输时延又被称为“发送时延”,是发送数据所需要的时间,也就是从网卡或者路由器队列递交网络链路所需要的时间。用L比特表示分组的长度,用R bps表示从路由器A到路由器B的链路传输速率,传输时延则是L/R。实际的发送时延通常在毫秒到微秒级。
传播时延:
传播时延是指在链路上传播数据所需要的时间。传播时延等于两台路由器之间的距离除以传播速率,即传播时延是D/S,其中D是两台路由器之间的距离,S是该链路的传播速率。实际传播时延在毫秒级。
举个例子分析一下数据包Y从A路由器到B路由器的总时延:
当A接收到数据包时,会先检测数据包,然后决定将该数据包导向哪一个链路上,这个过程所需的时间叫做节点处理时延。(路由器的优劣对处理时延起决定性作用)
知道了数据包Y该导向哪个链路后,接下来Y要经历排队时延,排队时延取决于先期到达的、正在排队等待向该链路传输数据包的数量。如果队列是空的,并且没有其它分组正在传输,那么排队时延就为0。
当先期到达的数据包,传输完毕后,就下来就将Y的全部数据推向链路,这个过程所需要的时间就是传输时延。传输时延取决于数据包Y的长度和链路传输速率。
当Y所有的数据全部推到链路上后,这是就进入了传播时延。传播时延取决于传播的距离及传播速度,传播速度则取决于该链路的物理媒介,如光纤,双绞线等,一般等于或者小于光速,单位是m/s。经历过传播时延后,数据包Y就能到达目的地路由器B了。
想要了解更多?请移步至镭速云传官网(raysync,cloud),或者关注【镭速】公众号哦~
来源:https://blog.51cto.com/13609234/2437187