linux幼儿园

  • 首页
  • 信息安全
    • 红队
    • 密码学
  • 软件
  • 硬件
  • 活动目录
  • 知识点
  • linux干货
  • linux命令集
    • 磁盘管理
    • 文档编辑
    • 设备管理
    • 网络通讯
    • 系统管理
    • 文件管理
    • 其他命令
  1. 首页
  2. 软件
  3. 正文

网络延迟是如何产生的?

2019年09月04日 55点热度 0人点赞 0条评论

网络延迟

网络延迟是指一个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到正确的条目。这是产品设计时候需要实现的技术要素。

本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可
标签: 网络延迟
最后更新:2019年09月04日

jcghaier

from zero to hero

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复
最新 热点 随机
最新 热点 随机
windows入侵检查流程 安全事件应急响应工具箱 利用腾讯轻量服务器搭建FRP服务 Windows局域网渗透(IPC$管道) 国内三大运营商宽带线路及分级介绍(联通篇) Windows Server 2012 R2 辅助域控制器搭建
windows入侵检查流程
netplan命令 - 网络配置工具 docker命令 - 应用容器引擎 getenforce命令 - 显示SELinux的状态 setfacl命令 - 设置文件ACL规则 ausearch命令 - 搜索审计记录 fdisk命令 - 磁盘分区
标签聚合
zabbix iptables Debian tcp 防火墙 X.509 勒索病毒 CentOS 深信服 nmap
书签
  • Linux就该这么学
  • pfschina.org
  • ruyo
  • 佐须之男
  • 大象笔记
  • 小陈博客
  • 我能过软考
  • 教父爱分享
  • 散尽浮华
  • 现代魔法学院

COPYRIGHT © 2020 linux幼儿园. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

51la