网络中的延迟和抖动问题

好文共享

延迟

数据包穿越一个或多个网段所经历的时间称为延迟。从用户的角度讲,延迟即用户发出请求到接收到远端应用系统的响应的时间。基于TCP/IP协议网络传输包括以下处理过程:路由器处理、用户数据单元在网络上传输以及服务器处理过程,相应地将产生路由延迟和用户数据单元在网络上的传输延迟。路由延迟包括域名请求延迟、TCP连接建立和释放延迟以及IP寻径延迟。

延迟的分类

在数据传输过程中,一般认为延迟分为:传输延迟,传播延迟,处理延迟和排队延迟,打包延迟。
传输延迟:将所有分组的比特全部传送到线路上所需要的时间,即PDU的第一个比特从端点传送到线路上直到最后一个比特离开端点的这段时间。
传播延迟:一个数据包中的每一个比特被推向链路后,该比特向下一跳路由器进行传播。从该链路的起点到到达下一跳路由器传输所需要的时间。
处理延迟:分组交换过程中发送端和目的端对数据进行处理所需时间的总和,如检查分组首部和决定将该分组导向哪里所需要的时间等。
排队延迟:每一次分组交换将使数据加入到缓冲队列中,每一个PDU的目的输出端可能存在着许多分组排队。
打包延迟:协议层等待应用层产生满足PDU有效负载长度的字节流量, 然后才能打包成协议数据单元(PDU)。这段等待时间就是打包延迟。

抖动

抖动是QOS里面常用的一个概念,其意思是指分组延迟的变化程度。如果网络发生拥塞,排队延迟将影响端到端的延迟,并导致通过同一连接传输的分组延迟各不相同,而抖动,就是用来描述这样一延迟变化的程度。
抖动的原因:是由于各种延时的变化导致网络中的数据分组到达速率的变化。网络的传输是一个复杂的过程,中间要经过路由器和不同的链路,每个数据包历经的延时不一样。数据包离开发送端时,按照规则的间隔均匀排列,在通过网络之后,这一均匀的间隔因数据包经历不同的延迟大小而遭到破坏,从而产生抖动。

解决抖动的方法

1.数据包接收端的抖动缓存指针队列的入队线程接收数据包,对接收到的数据包进行排序后将接收到的数据包插入抖动缓存指针队列的相应位置。
2.抖动缓存指针队列的出队线程定时器以一定时间间隔触发出队线程,出队线程判断抖动缓存指针队列队头的数据包是否应该在当前触发时刻出队,如果是,则将该数据包出队.
3.根据抖动缓存指针队列中的队尾数据包和队头数据包时戳值之差与当前抖动缓存深度的大小关系,以及根据数据包在抖动缓存指针队列中的缓存时间与该抖动缓存指针队列缓存数据包的最小延时量之间的关系,增大或缩小当前抖动缓存深度的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值