网站首页 > 技术文章 正文
网络延迟是指一个IP包从源主机进程发出开始计时,到达目的地主机进程为止,所经历的时间,以毫秒为单位。
IP包从源主机一路经过多个中继设备,如交换机、路由器,最终到达终点,网络延迟由以下三者组成:
网络延迟 = 传输延迟 + 处理延迟 +缓冲队列延迟
传输延迟
这个延迟很好理解,指光、电信号在有线介质上的延迟,或无线电信号在空气介质中的延迟,这种传输延迟只和光速有关、或电信号的传输速度有关,用户无法改变该延迟。对于一条选定的端对端路径,此值是恒定的。
处理延迟
接收IP包,查询转发表,硬件、或软件转发,包括封装、解封装、编码、解码时间,经过设备越多,设备吞吐能力越弱(一秒可以转发多少Gb的数据),延迟越大。但对于一条选定的端对端路径,此值也是恒定的。
缓冲队列延迟
当端到端的路径上,没有任何网络拥塞,缓冲队列的延迟几户为0,网络转发性能达到线速度,好像两端用一根线直连。
但是网络拥堵经常发生,因为主机对带宽的需求无止境,所以拥堵是常态。当网络拥堵时,路由器将无法及时转发的流量缓冲在出口队列,可能采用加权公平队列WFQ(Weighted FairQueue)、或低延迟队列LLQ (Low Latency Queue),或默认的先进先出队列FIFO(First In FirstOut),这个队列可能会造成几百毫秒或更多的延迟,此值是可变的,可以接近0或几秒不等,依赖网络的拥堵程度。
1. 什么是加权公平队列WFQ?
将不同的种类流量放入不同的队列,预先给不同的队列分配一个权值、或百分比,采用公平轮转的方式来依次发送每个队列的缓冲数据。
2. 什么是低延迟队列LLQ?
依据IP优先级,高优先级的语音流量(Precedence =5),最先发送,可以插队,VIP客户。
3. 什么是先进先出队列FIFO?
先到的先发,后到的后发。
所以过大的网络延迟主要是由缓冲队列延迟过大造成的!
Google最新的TCP BBR算法,就是积极主动测量网络的延迟,运用智能算法,获知网络的最大可利用带宽,使发送速率≤ 最大可利用带宽,最大限度减少路由器的缓冲队列的深度,最大限度减少延迟。
综上可知,网络延迟是由不受人类控制的传输延迟,以及人类可以控制的处理延迟、队列延迟所组成。很显然,如果想减小IP报文的整体延迟,必须从后两者入手,即如何降低处理延迟、队列延迟。
处理延迟是一个衡量一台设备是否牛叉的关键指标。以路由器为例,拥有近百万条路由表的路由器,如何用最快速度匹配到正确的路由条目,包含着满满的黑科技。采用多级查询,只需要查询几百、最多几千次条目,就可以hit到正确的条目。这是产品设计时候需要实现的技术要素。
猜你喜欢
- 2024-10-19 3分钟大幅提升CentOS 7的TCP下载性能
- 2024-10-19 Springcloud-alibaba-sentinel 学习
- 2024-10-19 Sentinel 系统自适应限流原理剖析与实战思考
- 2024-10-19 腾讯内核团队发布 TCPA,为什么是 OPEN 而非开源?
- 2024-10-19 服务器为什么要用BBR加速以及安装版本的推荐
- 2024-10-19 阿里面试:说说自适应限流? 自适应控制流程图
- 2024-10-19 谷歌云新网络算法逆天了,可提高网络吞吐量2700倍
- 2024-10-19 4重高阶教程:RAID、快照、3-2-1、混合云,一篇打尽NAS数据安全
- 2024-10-19 tcp收包和发包受哪些linux配置项影响?
- 2024-10-19 谷歌的新网络算法与众不同,看上去很牛,可大大提升网速
你 发表评论:
欢迎- 11-18软考系统分析师知识点十六:系统实现与测试
- 11-18第16篇 软件工程(四)过程管理与测试管理
- 11-18编程|实例(分书问题)了解数据结构、算法(穷举、递归、回溯)
- 11-18算法-减治法
- 11-18笑疯了!巴基斯坦首金!没有技巧全是蛮力!解说:真远啊!笑死!
- 11-18搜索算法之深度优先、广度优先、约束条件、限界函数及相应算法
- 11-18游戏中的优化指的的是什么?
- 11-18算法-分治法
- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)