1.6 分组延时,丢失和吞吐量

分组丢失和延时是怎样发生的?

在路由器缓冲区的分组队列
 分组到达链路的速率超过了链路输出的能力
 分组等待排到队头、被传输

分组排队,传输分组(延时)
分组到达路由器,没有可用的队列,则该分组被丢掉(分组丢失)


四种分组延时

  1. (节点)处理延时:
     检查 bit级差错
     检查分组首部和决定将分组导向何处

  2. 排队延时
    在输出链路上等待传输的时间
    取决于路由器的拥塞程度

  3. 传输延时:
     R=链路带宽(bps)
     L=分组长度(bits)
     将分组发送到链路上的
    时间= L/R
     存储转发延时
    (R 带宽 ,打一个比特需要1/R秒,分组长L,需要L/R秒)

  4. 传播延时:
     d = 物理链路的长度
     s = 在媒体上的传播速度
    (~2x108 m/sec)
     传播延时 = d/s

![[Pasted image 20240421150537.png|150]]![[Pasted image 20240421151036.png|200]]

如果距离短,传播时延忽略。

A-B称为一跳(hop)


车队类比

![[Pasted image 20240421151503.png]]
汽车以100 km/hr 的速度传播
 收费站服务每辆车需 12s(传输时间)
 汽车~bit; 车队 ~ 分组

Q: 在车队在第二个收费站排列好之前需要多长时间?
 即:从车队的第一辆车到达第一个收费站开始计时,到这个
车队的最后一辆车离开第二个收费站,共需要多少时间

 将车队从收费站输送到公路上的时间 = 12*10 =120s
最后一辆车从第一个收费站到第二个收费站的传播时间:
100km/(100km/hr)= 1 hr
A: 62 minutes

(续)
 汽车以1000 km/hr 的速度传播汽车

 收费站服务每辆车需 1分钟
 Q:在所有的汽车被第一个收费站服务之前,汽车会
到达第二个收费站吗?

==Yes!==7分钟后,第一辆汽车到达了第二个收费站,
而第一个收费站仍有3辆汽车

 在整个分组被第一个路由器传输之前,第一个比特已经
到达了第二个路由器!
(信道容量:计算机局域网:容量几乎没有
local:很大)


![[Pasted image 20240421152052.png]]
 dproc = 处理延时
 通常是微秒数量级或更少

 dqueue = 排队延时
 取决于拥塞程度

 dtrans = 传输延时
 = L/R, 对低速率的链路而言很大(如拨号),通常为微秒级
到毫秒级

 dprop = 传播延时
 几微秒到几百毫秒


排队延时

取决于:流量强度

![[Pasted image 20240421152717.png]]

 R=链路带宽 (bps)
 L=分组长度 (bits)
 a=分组到达队列的平均速率

==流量强度= La / R ==
La / R ~0:平均排队延时很小
La / R -->1:延时变得很大
La / R >1:比特到达队列的速率超过从该队列输出的速率,平均排队时延将趋于无穷大

设计系统时流量强度不能大于1


Internet的延时和路由

 Internet 的延时和路由是什么样的呢?
 Traceroute 诊断程序: 提供从源端,经过路
由器,到目的的延时测量

 For all i:
 沿着目的的路径,向每个路由器发送3个探测分组
 路由器 i 将向发送方返回一个分组
 发送方对发送和回复之间间隔计时

(Traceroute 个简单的程序,它能够在任何因特网主机上运行。当用户指定 一个目的主机名字时,源主机中的该程序朝着目 的地发送多个特殊的分组 。当这些分组向着目的地传送时,它们通过 一系列路由器 。当路由器接收到这些特殊分组之 一时,它向源回送 一个短报文,该短报文包括路由禄的名字和地址)


分组丢失

 链路的队列缓冲区容量有限

 当分组到达一个满的队列时,该分组将会丢失

 丢失的分组可能会被前一个节点源端系统重
,或根本不重传(三种情况,提供的服务是否可靠)


吞吐量

吞吐量: 在源端和目标端之间传输的速率(数据量/单位时间)
(A到B传输有效的)
 瞬间吞吐量: 在一个时间点的速率
 平均吞吐量: 在一个长时间内平均值
![[Pasted image 20240421155004.png]]
取决于最小的

瓶颈链路
端到端路径上,限制端到端吞吐的链路
![[Pasted image 20240421155123.png]]

互联网场景

![[Pasted image 20240421155410.png|300]]
注意到在R处,每个主机对获得的带宽是“R/10”,(平分,TCP的公平性)

 链路上的每一段实际可用带宽 Ri ’ = ?

 端到端吞吐量:min{Ri’,}

 每个连接上的端到端吞吐:
min(Rc ,Rs ,R/10)

 实际上: Rc 或者Rs 经常是瓶颈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/17396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用audacity和ffmpeg制作测试音频文件

最近要用SIPP测试一个场景,需要发送双声道/16K采样率/16bit量化的PCM流,但是下载的素材往往不能满足参数要求。那么就自己制作。 首先下载mp3文件,并用audacity打开。 接下来,点击菜单栏中轨道-重采样,将采样频率设为1…

Java:String、StringBuffer和StringBuilder的区别

参考: https://blog.csdn.net/kingzone_2008/article/details/9220691 https://blog.csdn.net/itchuxuezhe_yang/article/details/89966303 String 常量字符串,每次修改都是会新创建一个字符串,当要频繁修改字符串的时候不建议使用 String S…

C++实现日期类(类和对象总结与实践)

头文件&#xff1a; 首先&#xff0c;在头文件Date.h中声明日期类 先上代码&#xff0c;然后一步一步解析每个函数 #include<iostream> #include<assert.h> using namespace std;class Date {public:void Print() const;// 获取某年某月的天数// 这个函数会被频…

做好随时离开的准备:前一天还在为618加班到凌晨,第二天就被裁了

今日感悟 最近&#xff0c;一则令人唏嘘的新闻在网络上引起了广泛关注&#xff1a;一名员工前一天还在为618大促活动加班到凌晨&#xff0c;身心疲惫&#xff0c;然而第二天却收到了裁员通知&#xff0c;顿时陷入了失业的困境。 这则新闻不仅揭示了职场竞争的残酷现实&#xff…

有关服务器安全的反思

文章目录 前言MySQL数据库的安全物理服务器总结 前言 人都说学的越多&#xff0c;不懂的东西也就越多&#xff0c;很多人都会有这个感受&#xff0c;面对信息爆炸的互联网时代&#xff0c;有种“学不完&#xff0c;根本学不完”沧桑无力感&#xff0c;最近有关服务器安全的了解…

Flutter 中的 ConstrainedBox 小部件:全面指南

Flutter 中的 ConstrainedBox 小部件&#xff1a;全面指南 在 Flutter 的世界中&#xff0c;布局小部件扮演着至关重要的角色&#xff0c;它们帮助开发者以声明式的方式构建用户界面。ConstrainedBox 是其中一种强大的布局小部件&#xff0c;它允许开发者对子组件的尺寸施加额…

Vistual Studio Release模式 调试方法

在开发过程中&#xff0c;有时会遇到这样的问题&#xff1a;代码在Debug模式下运行良好&#xff0c;但在Release模式下运行却出现错误。通常&#xff0c;这类问题往往与缓冲区越界等内存管理相关的错误有关。在Release模式下&#xff0c;由于编译器的优化&#xff0c;错误更容易…

js全国省市区JSON数据(全)

AreaJson 就是全国省市区的具体数据信息&#xff0c;下面我自定义了一些方法&#xff0c;获取数据用的&#xff0c;不需要的可以删掉&#xff0c;只拿JSON内的数据即可 const AreaJson [{"name": "北京市","city": [{"name": "…

数据结构算法题day02

数据结构算法题day02 【day02】思想代码 【day02】 将两个有序顺序表合并为一个新的有序顺序表&#xff0c;并由函数返回结果顺序表。思想 两个有序顺序表&#xff0c;AB本身就是由大到小或者由小到大排序的顺序表。 思路比较经典&#xff0c;希望大家记忆 将AB中较小的依次存…

Git钩子(Hooks)之commit之前自动执行脚本

介绍 官方文档&#xff1a; 英文&#xff1a;https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks中文&#xff1a;https://git-scm.com/book/zh/v2/自定义-Git-Git-钩子 下面只复制了pre-commit部分文档&#xff0c;其他详见官方文档。 Git Hooks Like many other…

【绝地求生game】

编写一个完整的《绝地求生》这样的游戏程序代码是一个庞大的工程&#xff0c;涉及到成千上万行的代码和复杂的多模块协作。在这里&#xff0c;我可以提供一个非常简化的示例&#xff0c;用于演示游戏编程中可能用到的基本概念&#xff0c;比如玩家移动、基本物理和简单的游戏逻…

【Java面试】四、MySQL篇(上)

文章目录 1、定位慢查询2、慢查询的原因分析3、索引3.1 数据结构选用&#xff1a;二叉树 & 红黑树3.2 数据结构选用&#xff1a;B树 4、聚簇索引、非聚簇索引、回表查询4.1 聚簇索引、非聚簇索引4.2 回表查询 5、覆盖索引、超大分页优化5.1 覆盖索引5.2 超大分页处理 6、索…

联发科MT8370平台Genio 510物联网应用程序处理器详细规格参数

MT8370是一款高度集成、功能强大的平台&#xff0c;专为各种人工智能(AI)和物联网(IoT)用例而设计&#xff0c;这些用例需要高性能边缘处理、先进的多媒体和连接功能、多个高分辨率摄像头、连接的触摸屏显示器以及多任务高级操作系统(HLOS)的使用。http://Genio 510 (MT8370) E…

Mybatis源码剖析

文章目录 一、前置1.1概念ORMSqlSession会话 二、快速入门2.1 SpringBoot整合Mybatis2.2 XML配置2.2.1 路径位置2.2.2 名称2.2.3 configuration标签内容环境environments标签映射器mappers标签 2.3 Mapper接口2.3.1 单Mybatis项目2.3.2 SpringBoot整合mybatis2.3.3 m整合mybati…

字符串函数(2)<C语言>

前言 快一周没更博客了&#xff0c;最近有点忙&#xff0c;今天闲下来了&#xff0c;还是不行&#xff0c;继续干&#xff0c;书接上回继续介绍字符串函数&#xff1a;strncpy()、strncat()、strcmp()、strtok()使用、strstr()使用以及模拟实现、strerror()使用。 strncpy()、s…

blender serpens3 个人总结

Serpens 全节点个人备注 快捷键 &#xff1a;shift v&#xff1a; 从复制版 添加执行操作&#xff08;blender任何执行动作按钮&#xff0c;右键可以获取操作命令&#xff09; 概念分析&#xff1a; 属性&#xff08;Properties&#xff09;&#xff1a;用于定义持久性数据…

揭秘网络编程:同步与异步IO模型的实战演练

摘要 ​ 在网络编程领域&#xff0c;同步(Synchronous)、异步(Asynchronous)、阻塞(Blocking)与非阻塞(Non-blocking)IO模型是核心概念。尽管这些概念在多篇文章中被广泛讨论&#xff0c;它们的抽象性使得彻底理解并非易事。本文旨在通过具体的实验案例&#xff0c;将这些抽象…

在React中使用Sass实现Css样式管理-10

0. 什么是Sass Sass(Syntactically Awesome Stylesheets)是一个 CSS 预处理器&#xff0c;是 CSS 扩展语言&#xff0c;可以帮助我们减少 CSS 重复的代码&#xff0c;节省开发时间&#xff1a; Sass 引入合理的样式复用机制&#xff0c;可以节约很多时间来重复。支持变量和函…

【HM】简单说明白:装饰器@State、@Prop、@Link、@Provide、@Consume修饰变量,@Watch监听变量状态发生变化

首先要明白什么是“状态变量”&#xff1f;即被状态装饰器&#xff08;State、Prop、Link、Provide、Consume&#xff09;修饰的变量&#xff0c;比如 State str : string; str就是状态变量。状态变量值的改变会引起UI界面重新渲染。 State State装饰的变量&#xff0c;是私…

C++之“流”-第2课-C++和C标准输入输出同步

为什么C和C的标准输入输出不同步时&#xff0c;数据会混乱&#xff1f;同步会带来多大性能损失&#xff1f;为什么说这个损失通常不用太在乎&#xff1f; 0. 课堂视频 C之“流”-第2课&#xff1a;和C输入输出的同步 1. 理解cin和cout的类型与创建过程 std::cout 是std::ostre…