网络时延的构成

Network delay including four parts:

Processing delay - time routers take to process the packet header.

Queuing delay - time the packet spends in routing queues

Transmission delay - time it takes to push the packet's bits onto the link.

Propagation delay - time for a signal to reach its destination.

本文关注的是其中的排队时延(Queuing delay)。

为什么会有排队时延?

A:When packets arrive at a router, they have to be processed and transmitted.

A router can only process one packet at a time. If packets arrive faster than the router

can process them the router puts them into the queue until it can get around to

transmitting them.

As a queue begins to fill up due to traffic arriving faster than it can be processed,

the amount of delay a particular packet experiences traversing the queue increases.

数据报的到达速度 > 路由器的处理速度,就会将数据报暂存起来,等待处理。

排队时延的影响因素?

路由器利用率 = 每秒到达的数据报个数 /  路由器每秒能处理的数据报个数。

路由缓存大小:和最大排队时延成比例。

几个参数

路由器的传输速度(Transmission rate),10Mbps / 100Mbps / 1000Mbps / 10Gbps。

路由器的服务速度(Service rate):Transmission rate / average packet size,路由器每秒最多能处理的数据报个数。

数据报的到达速度(Arrival rate):每秒有多少个数据报到达路由器。

路由器利用率(Resource utilization):Arrival rate / Service rate,表示路由器的使用情况。

T:路由器的传输速度。

S:路由器的服务速度。

A:数据报的到达速度。

U:路由器的利用率。

P:数据报的平均大小。

D:排队时延。

时延曲线(delay curve)可以用以下函数来表示:

几个结论:

(1) T和A相同时,P越小,D越小。

同一条链路,发送10个小包,和发送10个大包相比,小包经历的排队时延小。

当然,这个时候10个小包所占用的带宽也少。

(2) 路由器的利用率

对于高优先级、低延迟的流来说,路由器的利用率不能太高。

对于低优先级、时延敏感度低的流来说,路由器的利用率不受限制。

从上图可以看到:

U <= 80%,D随着U的增长而缓慢增长。

U > 80%,D随着U的曾展而剧烈增长。

因此,要保证排队时延不剧烈增长,U要小于80%,即数据报的发送速度 < 0.8 * 路由器传输速度。

例如,对于一个1000Mbps的路由器来说,数据报的发送速度在800Mbps以下为佳。

当数据报的发送速度超过800Mbps时,排队时延就会猛涨,响应也巨慢。

(3) 最大排队时延

最大排队时延和路由缓存大小是成比例的。

如果使用了一个很大的路由缓存,则当排队时延很大的时候,也不会发生丢包,这显然是不合理的。

当路由缓存满了的时候,路由器就会把数据报丢掉,这就是拥塞丢包。

这个时候,路由器所经受的排队时延应该是最大的。

同时,路由的变化也会导致时延的变化。

Reference

[1] http://www.hill2dot0.com/wiki/index.php?title=Queuing_delay

[2] http://en.wikipedia.org/wiki/Queuing_delay#cite_note-4

排队时延(Queuing delay)的更多相关文章

  1. [A Top-Down Approach][第一章 计算机网络和因特网]

    [A Top-Down Approach][第一章 计算机网络和因特网] 标签(空格分隔): 计算机网络 介绍基本术语和概念 查看构成网络的基本硬件和软件组件. 从网络的边缘开始,考察在网络中运行的端 ...

  2. 《数据通信与网络》笔记--QoS

    QoS(Quality of Service)服务质量,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术. 1.QoS参数 衡量服务质量QoS的参数主要包括: 端到端延迟(Delay) ...

  3. High Performance Browser Networking - TCP UDP TLS

    延迟 定义和标准延迟 延迟简单地说,它是一种转移或信息包从起点到终点,所花费的时间. 延迟=发送延迟+传播延迟+处理延迟+排队延迟: Propagation delay 传播时延 传播时延这个概念.是 ...

  4. Computer Networking: A Top Down Approach

    目录 Chapter 1: Computer Networks and the Internet 1. What is the Internet? 2. The Network Edge 3. The ...

  5. Computer Neworking: A Top-Down Approach

    目录 Chapter 1: Computer Networks and the Internet 1. What is the Internet? 2. The Network Edge 3. The ...

  6. 深入理解RabbitMQ中的prefetch_count参数

    前提 在某一次用户标签服务中大量用到异步流程,使用了RabbitMQ进行解耦.其中,为了提高消费者的处理效率针对了不同节点任务的消费者线程数和prefetch_count参数都做了调整和测试,得到一个 ...

  7. tcp协议头窗口,滑动窗口,流控制,拥塞控制关系

    参考文章 TCP 的那些事儿(下) http://coolshell.cn/articles/11609.html tcp/ip详解--拥塞控制 & 慢启动 快恢复 拥塞避免 http://b ...

  8. WebRTC之带宽控制部分学习(1) ------基本demo的介绍

    转自:http://blog.csdn.net/u013160228/article/details/46392037 WebRTC的代码真是非常之大啊,下载以及编译了我好几天才搞完..... 可以看 ...

  9. 【温故而知新】Tcp/Ip协议——总览

    Tcp/Ip协议 一.概念 “三网”:即电信网络.有线电视网络和计算机网络 标准(Standards) 描述了协议的规定,设定了最简的性能集. 协议(Protocol) 网络设备用于交换信息的系列规则 ...

随机推荐

  1. linux添加环境变量(path)

    分为三步 1.sudo vim /etc/profile 2.export PATH="全路径:$PATH" 3.source /etc/profile 我的微信二维码如下,欢迎交 ...

  2. mvn管理项目jar包

    Maven是一个采用纯Java编写的开 源项目管理工具.Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xm ...

  3. JavaWeb 文件 上传 下载

    文件上传下载对于一个网站来说,重要性不言而喻.今天来分享一个JavaWeb方式实现的文件上传下载的小例子. 项目依赖 项目目录 工作流程 文件上传 表单处的设置 服务器端 上传功能的实现 upload ...

  4. Python Skelve 库

    在Python中有一个简单的轻量级的类似于Key-value的存储型数据库,那就是Skelve.下面就来一起看一看这个库的简单的使用吧. 小例子 我本人比较喜欢从例子出发,然后再来研究这些内部的行为. ...

  5. Spark技术内幕:Executor分配详解

    当用户应用new SparkContext后,集群就会为在Worker上分配executor,那么这个过程是什么呢?本文以Standalone的Cluster为例,详细的阐述这个过程.序列图如下: 1 ...

  6. Android的四个基本概念(线程通信和GLSurfaceView)

    GLSurfaceView提供了下列特性: 1> 管理一个surface,这个surface就是一块特殊的内存,能直接排版到android的视图view上. 2> 管理一个EGL disp ...

  7. 【Linux驱动】字符设备驱动

    一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 1.字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面 ...

  8. Access数据类型和.NET数据类型映射

    下表列出了 Microsoft Access 和这些数据类型与 Microsoft.NET Framework 数据类型与 OleDbType 枚举的方式中使用的最常见的数据类型. 访问类型名称 数据 ...

  9. 关于android app签名文件获取sha1和MD值

    最近在做百度地图的嵌入,因为从同事接手的android app,所以第一次接触android的签名. 总的来说签名还比较简单,我用的是eclipse ADT自带的签名工具来做的签名,方法如下: 选择项 ...

  10. x264 n-th pass编码时候Stats文件的含义

    x264 n-th pass(一般是2pass)编码时所用的文件包括下述x264参数生成.stats文件 options: 1280x816 fps=2997/125 timebase=125/299 ...