计算机网络扫盲(4)——时延

2023-12-05

一、概述

在这里,我们考虑分组交换网的情况,因特网可以被看成是一种基础设施,该基础设施为运行在端系统上的分布式应用提供服务。在理想情况下,我们希望因特网服务能够在任意两个端系统之间随心所欲地移动数据而没有任何数据地丢失。然而,这是一个极高的目标,实践中几乎无法达到。与之相反,计算机网络必须限制在端系统之间的吞吐量(每秒能够传送的数据量),在端系统之间引入时延,而且必定会丢失分组。

二、时延分类

分组从一台主机(源)出发,通过一系列路由器传输,在另一台主机(目的地)中结束它的历程。当分组从一个节点(主机或者路由器)沿着这条路径到后继节点(主机或者路由器),该分组在沿途的每个节点经受了几种不同类型的时延。这些时延最为重要的是:

  • 节点处理时延(nodal processing delay)
  • 排队时延(queuing delay)
  • 传输时延(transmission delay)
  • 传播时延(propagation delay)

这些时延总体累加起来是节点总时延(total nodal delay)。许多因特网应用,如搜索、Web浏览、电子邮件、地图、即时讯息和IP语音,它们的性能受网络时延的影响很大。为了深入理解分组交换和计算机网络,我们必须理解这些时延的性质和重要性。

我们来探讨一下下图环境中的这些时延。作为源和目的地之间的端到端路由的一部分,一个分组从上游节点通过路由器A向路由器B发送。我们的目标是在路由器A刻画出节点时延。值得注意的是,路由器A具有通往路由器B的出链路。该链路前面有一个队列(也称为缓存)。当分组从上游节点到达路由器A时,路由器A检查该分组的首部以决定它的适当出链路,并将该分组导向该链路。在这个例子中,对该分组的出链路是通向路由器B的那条链路。仅当在该链路没有其他分组正在传输并且没有其他分组排在该队列前面时,才能在这条链路上传输该分组;如果该链路当前正繁忙或有其他分组已经在该链路上排队,则新到达的分组将加入排队。

2.1 处理时延

检查分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。处理时延也能够包括其他因素,如检查比特级别的差错所需要的时间,该差错出现在从上游节点向路由器A传输这些分组比特的过程中。高速路由器的处理时延通常是微秒或更低的数量级。在这种节点处理之后,路由器将该分组引向通往路由器B链路之前的队列。

2.2 排队时延

在队列中,当分组在链路上等待传输时,它经受排队时延。一个特定分组的排队时延长度将取决于先期到达的正在排队等待向链路传输的分组数量。如果该队列是空的,并且当前没有其他分组正在传输,则该分组的排队时延为0。另一方面,如果流量很大,并且许多其他分组也在等待传输,该排队时延将很长。我们将很快看到,到达分组期待发现的分组数量是到达该队列的流量的强度和性质的函数。实际的排队时延可以是毫秒到微秒量级。

2.3 传输时延

假定分组以先到先服务方式传输——这在分组交换网中是常见的方式,仅当所有已经到达的分组被传输后,才能传输刚到达的分组。用L比特表示该分组的长度,用R bps (即b/s)表示从路由器A到路由器B的链路传输速率。例如,对于一条10Mbps的以太网链路,速率R=10Mbps;对于100Mbps 的以太网链路,速率 R=100Mbps。传输时延是L/R。这是将所有分组的比特推向链路(即传输,或者说发射)所需要的时间。实际的传输时延通常在毫秒到微秒量级。

2.4 传播时延

一旦一个比特被推向链路,该比特需要向路由器B传播。从该链路的起点到路由器B传播所需要的时间是传播时延。该比特以该链路的传播速率传播。该传播速率取决于链路的物理媒体(即光纤、双绞铜线等)。该传播时延等于两台路由器之间的距离除以传播速率。即传播时延是d/s,d是路由器A和路由器B之间的距离,s是该链路的传播速率。一旦该分组的最后比特传播到节点B,该比特及前面的所有比特被存储于路由器B。整个过程将随着路由器B执行转发而持续下去,在广域网中,传播时延为毫秒级。

三、传输时延和传播时延的比较

计算机网络领域的新手有时难以理解传输时延和传播时延之间的差异。该差异是微然而重要的。传输时延是路由器推出分组所需要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之间的距离无关。另一方面,传播时延是一个比特从一台路由器传播到另一台路由器所需要的时间,它是两台路由器之间距离的函数,而与分组长度或链路传输速率无关。

一个类比可以阐明传输时延和传播时延的概念。考虑一条公路每100km有一个收费站,可认为收费站间的公路段是链路,收费站是路由器。假定汽车100km/h的速度(也就是说当一辆汽车离开一个收费站时,它立即加速到100km/h并在收费站间维持该速度)在该公路上行驶(即传播)。假定这时有10 辆汽车作为一个车队在行驶,并且这10辆汽车以固定的顺序互相跟随。可以认为每辆汽车是一个比特,该车队是一个分组。同时假定每个收费站以每辆车12s 的速度服务(即传输)一辆汽车,并且由于时间是深夜,因此该车队是公路上唯一一批汽车。最后,假定无论该车队的第一辆汽车何时到达收费站,它在入口处等待,直到其他9辆汽车到达并整队依次前行。(因此,整个车队在它能够"转发"之前,必须存储在收费站。)收费站将整个车队推向公路所需要的时间是(10辆车)/(5辆车/min)=2min。该时间类比于一台路由器中的传输时延。一辆汽车从一个收费站出口行驶到下一个收费站所需要的时间是100km/(100km/h)=1h。这个时间类比于传播时延。因此,从该车队存储在收费站前到该车队存储在下一个收费站前的时间是"传输时延"与"传播时间"总和,在本例中为62min。

四、小结

在端到端的传输过程中,时延是不可避免的,其中主要的几种类型有节点处理时延(nodal processing delay)、排队时延(queuing delay)、传输时延(transmission delay)、传播时延(propagation delay) 。其中需要注意区分传播时延和传输时延的区别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络扫盲(4)——时延 的相关文章

  • MySQL中,什么是脏页和干净页?

    MySQL 为了操作的性能优化 会把数据更新先放入内存中 之后再统一更新到磁盘 当内存数据和磁盘数据内容不一致的时候 我们称这个内存页为脏页 内存数据写到磁盘后 内存的数据和磁盘上的内容就一致了 我们称为 干净页 在MySQL中 脏页 Di
  • MySQL InnoDB 存储引擎有几种锁算法?

    Record Lock 单个行记录上的锁 Gap Lock 间隙锁 锁定一个范围 不包括记录本身 Next Key Lock 锁定一个范围 包括记录本身 MySQL InnoDB存储引擎主要使用两种锁算法 分别是行级锁和间隙锁 行级锁 Ro
  • 浅谈安科瑞无线测温设备在挪威某项目的应用

    摘要 安科瑞无线温度设备装置通过无线温度收发器和各无线温度传感器直接进行温度值的传输 并采用液晶显示各无线温度传感器所测温度 Absrtact Acre wireless temperature device directly transm
  • yum 操作,出现Cannot retrieve metalink for repository: epel/x86_64

    详细报错如下 Loaded plugins fastestmirror Determining fastest mirrors One of the configured repositories failed Unknown and yu
  • 2024年甘肃省职业院校技能大赛(中职教师组)网络安全竞赛样题卷④

    2024年甘肃省职业院校技能大赛 中职教师组 网络安全竞赛样题卷 2024年甘肃省职业院校技能大赛 中职教师组 网络安全竞赛样题卷 A模块基础设施设置 安全加固 本模块200分 A 1任务一 登录安全加固 Windows A 2任务二 本地
  • 什么是Redo Log Buffer缓冲区?

    Redo Log 重做日志 会先存储在内存中 在MySQL中 Redo Log是一种事务日志 用于记录正在进行中的事务的修改操作 当事务执行更新操作 如插入 更新 删除 时 MySQL会先将对应的Redo Log记录写入到内存中的Redo
  • MySQL 刷脏页的速度很慢可能是什么原因?

    在 MySQL 中单独刷一个脏页的速度是很快的 如果发现刷脏页的速度很慢 说明触发了 MySQL 刷脏页的 连坐 机制 MySQL 的 连坐 机制是指当 MySQL 刷脏页的时候如果发现相邻的数据页也是脏页也会一起刷掉 而这个动作可以一直蔓
  • 使用idea如何快速的搭建ssm的开发环境

    文章目录 唠嗑部分 言归正传 1 打开idea 点击新建项目 2 填写信息 3 找到pom xml先添加springboot父依赖

随机推荐

  • netty源码:(3) ThreadPerTaskExecutor

    这个类封装了一个ThreadFactory 同时提供了一个execute方法 用来把Runnable提交给ThreadFactory来执行
  • Jmeter接口自动化测试 —— Jmeter变量的使用

    专注于分享软件测试干货内容 欢迎点赞 收藏 留言 如有错误敬请指正 交流讨论 欢迎加入我们一起学习 资源分享 耗时200 小时精选的 软件测试 资料包 最困难的时候 也就是我们离成功不远的时候 在使用jmeter进行接口测试时 我们难免会遇
  • C#与Java的不同

    https www cnblogs com Yan3399 p 17324904 html 1 C 对应java中关键字 base super this this sealed final 1 base关键字 对应java super C
  • 英伟达狂卖50万台GPU!AI爆火背后,是显卡的争夺

    据市场跟踪公司Omdia的统计分析 英伟达在第三季度大约卖出了50万台H100和A100 GPU 此前 Omdia通过英伟达第二季度的销售额 估计其大概卖出了900吨GPU 大语言模型火爆的背后 英伟达建立起了强大的显卡帝国 在人工智能的大
  • 搭建 ebpf 开发测试环境

    0 内容说明 这部分主要讲述了如何通过官网学习ebpf 以及如何搭建自己的ebpf开发测试环境 主要是需要安装哪些工具链 1 ebpf在线学习 ebpf官网中提供了一个快速在线学习ebpf的路径 在这个学习平台中一共有两项学习内容 一个是学
  • Perplexity发布两款LLM模型:pplx-7b-online和pplx-70b-online 可利用实时互联网数据查询

    Perplexity AI 一家创新的人工智能初创公司 近日推出了一项能够改变信息检索系统的解决方案 该公司推出了两款新的大语言模型 LLMs 分别是 pplx 7b online 和 pplx 70b online 标志着首次通过API公
  • 求最大公约数,和最小公倍数的规则

    求最大公约数 和最小公倍数的规则 最大公约数 Greatest Common Divisor 简称GCD 是指两个或多个整数共有约数中最大的一个 例如 12和18的最大公约数是6 因为12和18同时都能被6整除 求最大公约数的规则包括 辗转
  • js操作excel常用方法,js制作表格代码

    这篇文章主要介绍了js操作excel常用方法 具有一定借鉴价值 需要的朋友可以参考下 希望大家阅读完这篇文章后大有收获 下面让小编带着大家一起了解一下 本文基于react项目实现 起因 接了一个需求 要求实现点击页面上的一个按钮 复制某个表
  • Mongodb与MySQL的异同,使用场景,优缺点。。。

    Mongodb与MySQL的使用场景有什么不同 列出详细异同及各自的优缺点 两者对内在的要求如何 MongoDB与MySQL是两种不同类型的数据库管理系统 它们在使用场景 优缺点和内在要求上有很大的不同 使用场景的不同 MongoDB适合用
  • 如何查重复值【详细说明】

    大家好 今天来聊聊如何查重复值 希望能给大家提供一点参考 以下是针对论文重复率高的情况 提供一些修改建议和技巧 如何查重复值 在数据处理和分析过程中 查重复值是一个常见的问题 小发猫写作 重复值会使得数据冗余 影响数据的准确性和可信度 为了
  • 自定义软件app定制开发的需求和趋势|企业网站小程序搭建

    自定义软件app定制开发的需求和趋势 企业网站小程序搭建 随着智能手机的普及和移动互联网的快速发展 移动应用程序 App 成为人们日常生活和工作中必不可少的一部分 然而 市面上已有的应用程序并不能完全满足用户的个性化需求 于是越来越多的人开
  • Linux下设置定时任务常用的三种方法

    在 Linux 系统中 设置定时任务是一项常见且重要的操作 它有助于自动化执行各种任务 如系统维护 备份和日志审计 Linux 提供了多种工具来安排这些自动化任务 其中最常用的三种方法是 Cron At 和 Systemd Timers 1
  • javascript中文文档下载,javascript中文文档

    大家好 小编来为大家解答以下问题 professional javascript for web developers javascript中文文档下载 现在让我们一起来看看吧 HTML 编辑器推荐 可以使用专业的 HTML 编辑器来编辑
  • 浅谈安科瑞网络电力仪表在斯里兰卡某项目的应用

    摘要 安科瑞APM系列网络仪表适用于高低压柜 进线以及出线处的全电量测量及监测 Absrtact APM series of network power meter are suitable for full power measureme
  • 一文2000字从0到1手把手教你jmeter分布式压测

    专注于分享软件测试干货内容 欢迎点赞 收藏 留言 如有错误敬请指正 交流讨论 欢迎加入我们一起学习 资源分享 耗时200 小时精选的 软件测试 资料包 最困难的时候 也就是我们离成功不远的时候 一 jmeter为什么要做分布式压测 jmet
  • 消费数据可视化大屏,助力金融机构智慧运维

    在今天的数字化时代 消费数据的可视化已经成为了一种重要的趋势 通过将消费数据以图表 图像等形式展现出来 可以帮助我们更直观地了解消费者的行为和趋势 同时 这也为企业提供了更多的分析和决策依据 无论是针对市场营销策略的制定 还是产品设计的优化
  • js中声明函数的三种方式,javascript声明变量的语句

    大家好 给大家分享一下javascript中函数如何声明及其作用 很多人还不知道这一点 下面详细解释一下 现在让我们来看看 类的声明以及使用 声明 先声明 再访问 函数声明会提升 类声明不会 类关键字 class YourName 类的主体
  • .NET 7(C#)配置使用log4net日志框架的方法

    NET 7 C 中配置和使用 log4net 日志框架是一个涉及多步骤的过程 log4net 是一个高度灵活且强大的日志记录库 可用于记录应用程序的运行时信息 它支持各种日志输出格式和目的地 如文件 数据库 控制台等 以下是在 NET 7
  • 浅谈安科瑞ASJ继电器在马尔代夫环岛水上排屋的应用

    摘要 对电气线路进行接地故障保护 方式接地故障电流引起的设备和电气火灾事故越来越成为日常所需 针对用户侧主要的用能节点 设计安装剩余电流继电器 实时监控各用能回路的剩余电流状态 通过实时监控用能以及相关电力参数 提高用能安全 可靠及维护效率
  • 计算机网络扫盲(4)——时延

    一 概述 在这里 我们考虑分组交换网的情况 因特网可以被看成是一种基础设施 该基础设施为运行在端系统上的分布式应用提供服务 在理想情况下 我们希望因特网服务能够在任意两个端系统之间随心所欲地移动数据而没有任何数据地丢失 然而 这是一个极高的