网络为什么延迟?


网络为什么延迟?很高兴回答你的问题。我觉得您既然问这个问题,肯定就是对网络几乎不了解,所以我以微信开启视频聊天的过程为例讲解下哪里耗时,让我们觉得都是网络延迟导致的:

一.视频数据处理。

1.发送方的手机捕捉人像和音频,然后处理人像数据(一般是编码加压缩数据)。

2.接收方的手机会接收发送的人像和音频信息,然后处理数据(一般是解码后再把信息展现到手机上)。

二.视频传输过程。

1.视频数据处理好后,要把数据发送给对方,数据传输主要是靠光纤和通信基站传输的。

2.光纤好比一条城市公路,当四个车道只有一条车道有人开车(视频数据)行驶,并且没有红绿灯时,传输速度就快,网络延时就小,但都会有耗时。当四个车道都有车,并且很多车(很多人发送数据)排队行驶,那么耗时就更多。

3.基站传输也是类似的,再怎么都会有时间耗时的。总结:所以人为感觉网络延时是光纤传输的耗时、编码和压缩、解码后渲染数据的用时等因素造成了表面现象的网络延时。其他信息在网络上传输也是一样的。回答完毕,谢谢。我是只说代码的大饼。

网络无处不在,尤其是移动互联网时代,离开网络简直不可想象,但是人们经常遭遇到访问速度变慢,网页长时间才能打开等问题,这就是网络延迟,人们经常被问到网络延迟。它是什么?典型值是多少?是什么原因造成的?它为什么如此重要?为什么网络之间存在差异?显然延迟对网络性能产生了重大影响,直接影响了网络访问的用户体验。什么是网络延迟?网络延迟从广义上讲,是指信号经过网络所需的时间。网络造成的延迟范围实际上可以保持恒定,但是在大多数情况下,它是可变的。如果可以保证可变延迟不超过某个预定值,则网络具有一定的可用性。延迟是一种度量,在网络中,延迟衡量的是一些数据通过网络到达目的地所需的时间。通常以往返延迟来衡量信息到达目的地并再次返回所花费的时间。往返延迟是一项重要措施,因为使用TCP/IP网络的计算机将有限数量的数据发送到其目的地,然后等待确认返回,然后再发送。因此,往返延迟对网络性能具有关键影响。网络等待时间是数据或请求从源发送到目的地所花费的时间。网络中的延迟以毫秒为单位。延迟越接近零,就越好。网络高延迟的最常见迹象包括:数据发送时间很长,就像带有大附件的电子邮件一样;访问服务器或基于Web的应用程序速度很慢;网站无法加载。延迟vs带宽vs吞吐量。网络和应用程序的性能取决于延迟、带宽和吞吐量,但重要的是不要将两者混淆。带宽是在任何给定时间可以通过网络的数据量。将带宽视为管道的窄或宽。较宽的管道允许推送更多的数据。另一方面,吞吐量是在给定时间段内可以传输的数据量。高效的网络连接包括低延迟和高带宽。这样可以实现最大吞吐量。带宽只能增加有限的数量,因为延迟最终会造成瓶颈并限制随时间推移可以传输的数据量。延迟的典型值是什么?可能会遇到的典型延迟近似值包括:海事卫星通信800ms;4G蜂窝数据需要60ms,通常用于4GWAN和连接;使用服务等级优先级(QOS)流量时,对于20ms;对于现代电信级以太网,如移动、联通等运营商网络10ms;高延迟可能会对网络性能产生不利影响,并大大降低应用程序与用户通信的速度。可以通过在Windows或Mac上的命令提示符中传递其网址或IP地址来检查与任何网站的互联网连接的网络延迟。如何衡量网络延迟。延迟可以用往返时间(RTT)或到第一个字节的时间(TTFB)来衡量:RTT定义为数据包从客户端到达服务器再返回所需的时间。TTFB是客户端发送请求时服务器接收数据的第一个字节所花费的时间。延迟是指数据包从发送方到接收方再回到发送方所花费的时间。高延迟会导致网络瓶颈,从而降低其性能;通过使用CDN和专用网络主干来传输数据,可以减少Web应用程序的潜伏期。确定网络延迟并加以改善,以使网络流程运行得更快,这对于提高业务效率至关重要,同时也可以简化工作日的工作。为什么延迟很重要?网络流量每年以1.5倍的容量增长。随着智能设备和云服务促进网络数据交换,通信故障已成为一个瓶颈问题。根据一项调查报告,加载互联网购物网站的时间延迟了一秒钟会导致客户满意度下降16%。几个小时的通信故障会使用户断开连接,从而严重影响业务和日常活动。要防止此类通信故障,需要一个稳定的,防延迟和防中断的网络。人们通常会认为高性能来自高带宽,但这还不是全部。网络或网络的带宽是指其承载流量的能力,单位为比特/秒;通常为每秒兆位(Mbps)。更高的带宽意味着可以承载更多的流量。例如,更多同步对话。它并没有暗示如何快速的通信将发生(但如果试图把更多的流量在网络上比可用带宽,会得到的数据被丢弃,后来重传的包,否则会影响性能)。另一方面,延迟是指馈送到网络一端的数据出现在另一端所花费的时间。实际上通常测量往返时间,数据到达一端,然后又返回。为什么在两个方向上计数时间很重要,TCP将确认位发送回发送方,事实证明这很关键。直觉上说,延迟越大意味着连接速度越慢,但是,由于网络协议的性质,延迟对性能的影响更为复杂且影响深远:延迟会影响您的网络带宽(吞吐量),如果网络中有很多延迟,那么带宽可能会减少,因此将无法发送那么多数据。值得注意的是,尽管带宽不会一直受到延迟的影响,并且可能仅持续几秒钟,但是带宽可能会发展成为一个连续的问题。延迟是物联网(IoT)涉及的任何产品或服务的问题。物联网不仅仅是一个流行词,它正在影响越来越多的企业,并极大地改变了我们查看,接收,访问和使用数据的方式,物联网和延迟的问题在于,大量的延迟会影响设备的功效,或者甚至影响物联网中的“事物”。这可能会带来严重的后果。高延迟意味着延迟的响应能力。延迟的响应会导致事物无法完全发挥作用,甚至无法发挥作用。但是请记住,延迟不是导致应用程序性能下降的唯一原因。当我们研究客户网络中性能问题的根本原因时,我们发现只有30%是由网络引起的。其余70%是由应用程序、数据库或基础结构问题引起的。为了解决这些问题,通常需要进行应用程序性能审核,或者可能是在IT资产上设置关键路径监视,来识别关键路径问题。网络延迟的原因网络延迟的组成。网络延迟是计算机网络或电信网络的重要设计和性能特征。网络的延迟指定了一点数据在网络中从一个节点或端点传输到另一节点或端点所花费的时间。通常以秒的倍数或分数测量。根据特定的一对通信节点的位置,延迟可能会略有不同。尽管用户只关心网络的总延迟,工程师需要执行精确的测量。因此,工程师通常会报告最大延迟和平均延迟,并将延迟分为几部分:处理延迟:路由器处理数据包头所需的时间;处理延迟是交换机处理数据包头所需的时间。延迟取决于开关的处理速度。排队延迟:数据包在路由队列中花费的时间;排队延迟是指数据包在交换机的缓冲区中等待处理的时间。延迟取决于传入数据包的到达速率,传出链路的传输容量以及网络流量的性质。传输延迟:将数据包的比特推送到链路上所花费的时间;传输延迟是指将数据包传输到出站链路所需的时间。延迟由数据包的大小和传出链路的容量决定。如果数据包包含L位,链接的容量为B每秒比特数,则传输延迟等于:L/B。传播延迟:信号到达目的地的时间。传播延迟是指从链接的一端到另一端所花费的时间。延迟取决于距离(D)在发送方和接收方之间,以及传播速度(S)。计算公式为:D/S由于通过链路串行传输数据包需要花费一定的时间,因此会有一定程度的最小延迟。由于网络拥塞,在此基础上增加了更多可变的延迟级别。IP网络延迟的范围可以从几毫秒到几百毫秒。影响延迟的原因。延迟通常以毫秒(ms)为单位,由于网络之间的通信方式而不可避免。它取决于网络的多个方面,如果其中任何一个发生更改,则可能会有所不同。有四个主要因素会影响网络延迟,包括:传输介质。起点和终点之间的物理路径。介质的类型会影响延迟。例如,旧的基于铜缆的网络比现代的光纤具有更高的延迟。传播路径。两个节点相距越远,延迟就越多,因为延迟取决于两个通信节点之间的距离。从理论上讲,数据包在世界范围内往返的延迟为133ms。实际上,尽管实现了通过网络骨干网的直接连接时的等待时间减少了,但是这种往返花费的时间更长。路由器。路由器处理传入数据的效率直接影响延迟。路由器到路由器的跃点会增加延迟。存储延迟。由于存储网络可能需要一些时间来处理和返回信息,因此访问存储的数据可能会增加延迟。如果延迟导致网络出现问题,请首先确定延迟的来源。如果距离导致延迟,请找到缩短距离的方法。如果确定两点之间的路径效率低下,则可以重新配置网络以缩短数据包在两点之间传播的距离。如果确定繁忙的网络或路由器正在引起延迟,则可以升级路由器或增加可用带宽。或者可以使用基于策略的QoS来对最重要的流量进行优先级排序,以减少对时间敏感的传输(例如流媒体和VOIP)的延迟。如何减少网络延迟当考虑如何改善网络延迟时,可以在网络的各个位置采取不同的步骤。首先,请确保网络上的其他人没有通过所有下载或流传输来耗尽所有带宽或增加延迟。然后,检查应用程序性能以确保没有应用程序以异常方式运行并给网络造成压力。子网划分还可以帮助减少相互之间最频繁的通信,因为可以将通信最频繁的端点分组在一起。此外,请考虑使用流量整形和带宽分配措施来改善网络关键业务部分的延迟。最后,可以使用负载平衡器来帮助将流量分流到网络的某些部分,并具有处理某些额外活动的能力。如果要确保网络上存在延迟问题,可以尝试断开计算机或网络设备的连接并重新启动所有硬件。确保还安装了网络设备监视器,以便可以检查网络上是否有任何设备引起了特定问题。请注意,即使修复了网络中某个地方的瓶颈,也可能只是在其他地方创建了另一个瓶颈。如果在仔细查看所有本地设备后仍然存在延迟问题,则可能是尝试连接的目标引起了问题。当尝试手动确定问题时,对大型网络中的问题进行故障排除会变得很复杂,通常建议使用故障排除工具和软件来帮助完成此任务。了解用户的体验始终至关重要,因为它会影响用户是否返回网站,延迟总是会影响网站的性能,但是通过适当的工具,可以通过首先解决引起延迟的主要问题来减轻其对用户体验的影响。以上是我的浅薄之见,欢迎指正,谢谢!

网络的延迟,大致由以下几个部分组成:物理层的延迟:

1.传输延迟。无论电信号还是光信号,即使传输的距离再短,都会有一个传输延迟。

2.带宽延迟。物理媒质,无论电缆,光纤或光缆,都有一个带宽限制。如果要传输的数据太多,就会收到带宽的限制,必须一点点的传输。链路层的延迟:

3.信号处理延迟。信号通过物理传输后,需要通过处理还原出原来的数据。这里牵涉到如何把数据转换成光、电信号,和反过来把光、电信号转换回数据。一般需要芯片来处理,需要一定的处理时间。

4.信号中继延迟。有时需要传输较长的距离,信号会衰减,需要对信号进行放大。这叫做信号中继。这也会带来一定延迟网络层延迟:

5.网络层有路由控制。网络路由控制处理会带来额外的延迟。

6.网络层拥塞控制。大型网络会有复杂的路由结构,不同的链路繁忙带宽可能不同,繁忙程度也可能不同。链路太忙会引发拥塞。网络层对拥塞进行控制,会带来额外延迟。传输层延迟:

7.数据丢失重发延迟。传输层如TCP协议会对传输数据完整性进行校验。一旦发现传输数据包有丢失,会要求重发改丢失的数据包。这会带来一定的延迟。

8.数据排序延迟。在接收端会对流式数据进行正确排序,会带来一定延迟。应用端处理延迟:

9.应用端需要对流式数据进行处理,需要CPU资源,利用线程对数据进行处理,会带来额外的延迟。



1.本机到服务器之间路由跳数过多,由于光,电的传输速度非常快,他们在物理介质中的传播时间几乎可以忽略不计,但是路由器转发数据包的处理时间是不可忽略的,当本机到服务器链路中有太多路由转发处理时,网络延时就会很明显。

2.网络带宽不够,排除其它因素,如果客户端和服务器端直接通过一个路由器连接,但带宽只有10Kbps,却同时有多个应用需要传输远超带宽的数据量200Kbps,这时候会造成大量数据丢失,从而表现为响应延时。

3.处理带宽不够,排除其它因素,如果客户端和服务器端直接通过一个路由器连接,且带宽足够,但服务器端处理能力不足,也会造成响应延时,可以将Windows电脑中的定位功能关闭掉来降低延迟。

说得简单通俗一点:一个快递员从你家取了一个包裹,送到你朋友家,然后跑回来跟你说,包裹已经送达!这就是网络传递信息的最简单的描述,包裹就是信息,快递员走的路,就是网络。那么,路一共就这么宽,只有一两个快递员的时候,运送很通畅,都能及时到达。当路上跑满了快递员,大家就挤来挤去,发生交通堵塞,包裹就会大半天才能送到,这就是“延迟”。当挤到爆的时候,有的快递员被从路上挤了出去,包裹就无法送到了,这就是“丢包”!大概就是这个过程。