【计算机网络】第1章:概述—分组延时、丢失和吞吐量

news2025/6/4 1:35:05

目录

一、分组延时、丢失

1. 节点处理延时:

2. 排队延时:

3. 传输延时:

4. 传播延时:

5. 节点延时

6. 排队延时

7. 分组丢失

二、吞吐量

三、总结

(一)分组延时

1. 处理延时(Processing Delay)

2. 排队延时(Queuing Delay)

3. 传输延时(Transmission Delay)

4. 传播延时(Propagation Delay)

📌 总延时:

(二)分组丢失

1. 主要原因

2. 影响与应对

3. 丢包率(Loss Rate)

(三)吞吐量(Throughput)

1. 两种定义

2. 瓶颈带宽(Bottleneck Bandwidth)

3. 实际吞吐量影响因素

4. 吞吐量计算示例

(四)关键知识关联


一、分组延时、丢失

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


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

 


 

四种分组延时

1. 节点处理延时:

  • 检查 bit 级差错
  • 检查分组首部和决定将分组导向何处

2. 排队延时:

  • 在输出链路上等待传输的时间
  • 依赖于路由器的拥塞程度

3. 传输延时:

  • R = 链路带宽 (bps)
  • L = 分组长度 (bits)
  • 将分组发送到链路上的时间 = L/R
  • 存储转发延时

4. 传播延时:

  • d = 物理链路的长度
  • s = 在媒体上的传播速度 (~2×10⁸ m/sec)
  • 传播延时 = d/s

车队类比

  • 汽车以 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 辆汽车
  • 在整个分组被第一个路由器传输之前,第一个比特已经到达了第二个路由器!

5. 节点延时

  • d-proc = 处理延时
    • 通常是微秒数量级或更少
  • d-queue = 排队延时
    • 取决于拥塞程度
  • d-trans = 传输延时
    • = L/R,对低速率的链路而言很大(如拨号),通常为微秒级到毫秒级
  • d-prop = 传播延时
    • 几微秒到几百毫秒

6. 排队延时

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

流量强度 = La/R

  • La/R ~ 0: 平均排队延时很小
  • La/R -> 1: 延时变得很大
  • La/R > 1: 比特到达队列的速率超过了从该队列输出的速率,平均排队延时将趋向无穷大!

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

7. 分组丢失

  • 链路的队列缓冲区容量有限
  • 当分组到达一个满的队列时,该分组将会丢失
  • 丢失的分组可能会被前一个节点或源端系统重传,或根本不重传

二、吞吐量

  • 吞吐量:在源端和目标端之间传输的速率(数据量 / 单位时间)
    • 瞬间吞吐量:在一个时间点的速率
    • 平均吞吐量:在一个长时间内平均值

Rs < Rc 端到端平均吞吐是多少?---------------------Rs

Rs > Rc 端到端平均吞吐是多少?---------------------Rc

瓶颈链路:

端到端路径上,限制端到端吞吐的链路。

其他节点都不传输,吞吐量min{Rs,Rc}。

端到端平均吞吐=min{R1,R2 ,…,Rn }

吞吐量:互联网场景

  • 链路上的每一段实际可用带宽 Ri ’ = ?
  • 端到端吞吐量:min{ Ri ’ }
  • 每个连接上的端到端吞吐:min(Rc ,Rs ,R/10)
  • 实际上:Rc 或者 Rs 经常是瓶颈

三、总结

(一)分组延时

指数据分组从源主机发送到目的主机所经历的总时间。由四部分构成:

1. 处理延时(Processing Delay)
  • 定义:路由器/交换机检查分组头部、决定转发路径、检查比特错误等处理时间。
  • 影响因素:硬件性能、路由算法复杂度、安全检查(如防火墙)。
  • 典型值:微秒级(μs)。
2. 排队延时(Queuing Delay)
  • 定义:分组在输出队列中等待链路空闲的时间。
  • 关键公式
    • 平均排队延时 ≈ (流量强度) / (1 - 流量强度)
      流量强度 = 分组到达速率 / 链路输出速率
    • 当流量强度 → 1 时,延时趋近无穷大
  • 影响因素:流量突发性、队列调度策略(FIFO、优先级队列)。
3. 传输延时(Transmission Delay)
  • 定义:将分组所有比特推送到链路上的时间。
  • 公式
    传输延时 = 分组长度 (L) / 链路带宽 (R)
    • 例:1KB 分组,1Gbps 链路 → 延时 = 8μs。
4. 传播延时(Propagation Delay)
  • 定义:比特在物理介质中传播的时间。
  • 公式
    传播延时 = 距离 (d) / 传播速度 (s)
    • 传播速度 s:光纤中 ≈ 2×10⁸ m/s(真空中光速的2/3)。
📌 总延时

总延时 = 处理延时 + 排队延时 + 传输延时 + 传播延时


(二)分组丢失

分组在传输过程中未能到达目的地的现象。

1. 主要原因
  • 路由器队列溢出:当流量强度 > 1 时,队列满导致后续分组被丢弃。
  • 链路错误:物理介质干扰(如无线网络)、比特错误(CRC校验失败)。
  • 路由问题:路由表错误导致分组进入“黑洞”。
2. 影响与应对
  • TCP 的应对机制
    • 超时重传(RTO)
    • 快速重传(收到3个重复ACK)
    • 拥塞控制(如 Tahoe、Reno 算法)
  • UDP 无恢复机制:需应用层处理(如实时音视频的冗余编码)。
3. 丢包率(Loss Rate)
  • 公式:丢包率 = 丢失分组数 / 发送分组总数
  • 典型要求:语音通话 <1%,视频流 <5%。

(三)吞吐量(Throughput)

单位时间内通过网络的有效数据量。

1. 两种定义
  • 瞬时吞吐量:某一时刻的速率(bps)。
  • 平均吞吐量:一段时间内的平均速率(bps)。
2. 瓶颈带宽(Bottleneck Bandwidth)
  • 定义:端到端路径中带宽最小的链路速率。
  • 公式(N条链路串联):
    端到端吞吐量 = min{R1, R2, ..., RN}
  • 示例
    • 服务器 → 路由器1:100Mbps
    • 路由器1 → 路由器2:10Mbps
    • 路由器2 → 客户端:1Gbps
    • 实际吞吐量 = 10Mbps
3. 实际吞吐量影响因素
  • 网络拥塞程度
  • 协议开销(TCP头部、ACK确认)
  • 接收端窗口大小(TCP流量控制)
4. 吞吐量计算示例
  • 文件大小 F,传输时间 T → 吞吐量 = F / T
  • 若多用户共享链路:公平共享时每个用户获得 R/N(R为总带宽,N为用户数)。

(四)关键知识关联

概念核心影响因素典型优化方法
延时传播距离、链路带宽、队列长度CDN、协议优化(QUIC)、优先级调度
丢失队列溢出、信道错误增大缓冲区、前向纠错(FEC)
吞吐量瓶颈带宽、并发连接数多路径传输(MPTCP)、负载均衡

延时 vs 吞吐量权衡

  • 低延时:需小队列(但易丢包)
  • 高吞吐量:需大窗口(但增加排队延时)
  • TCP拥塞控制(如BBR算法)旨在平衡二者。

完结撒花🎉

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

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

相关文章

DeepSeek R1 模型小版本升级,DeepSeek-R1-0528都更新了哪些新特性?

DeepSeek-R1‑0528 技术剖析&#xff1a;思维链再进化&#xff0c;推理性能飙升 目录 版本概览深度思考能力再升级基准测试成绩功能与体验更新API 变动与示例模型开源与下载结语 版本概览 DeepSeek 团队今日发布 DeepSeek‑R1‑0528 —— 基于 DeepSeek V3 Base&#xff08;2…

SQL正则表达式总结

这里写目录标题 一、元字符二、正则表达函数1、 regexp_like(x,pattern[,match_option])2、 regexp_instr(x,pattern[,start[,occurrence[,return_option[, match_option]]]]) 3、 REGEXP_SUBSTR(x,pattern[,start[,occurrence[, match_option]]]) 4、 REGEXP_REPLACE(x,patter…

力扣经典算法篇-13-接雨水(较难,动态规划,加法转减法优化,双指针法)

1、题干 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3…

STM32 -- USB虚拟串口通信

本篇操作: 通过CubeMX Keil&#xff0c;配置STM32作为USB设备端&#xff0c;与电脑上位机进行通信&#xff08;CDC&#xff09;&#xff1b;通用带USB功能的 STM32 芯片 &#xff08;如F1、F4等&#xff0c;系统时钟配置不同&#xff0c;代码通用&#xff09;。 目录 一、 S…

uni-app开发特殊社交APP

uni-app开发特殊社交APP 目录 1.展示APP功能 2.展示项目结构 3.关于我的GitHub 引言 博主最近自己在GitHub上面上传了一个关于社交软件的项目&#xff08;该项目早已开发完毕&#xff09;, 这个社交软件比较特殊, 被称之为blind-date&#xff0c; blind-date 是基于 uni-…

Linux中Shell脚本的常用命令

一、设置主机名称 1、通过修改系统文件来修改主机名称 [rootsakura1 桌面]# vim /etc/hostname sakura /etc/hostname&#xff1a;Linux 系统中存储主机名的配置文件。修改完文件后&#xff0c;在当前的shell中是不生效的&#xff0c;需要关闭当前shell后重新开启才能看到效…

RabbitMQ项目实战

先参考文章&#xff1a;&#xff08;必看&#xff09; 06-MQ基础_mq服务-CSDN博客 07-MQ高级&#xff08;幂等性&#xff09;-CSDN博客 https://cloud.iocoder.cn/message-queue/rabbitmq/#_2-0-%E5%BC%95%E5%85%A5%E4%BE%9D%E8%B5%96%E4%B8%8E%E9%85%8D%E7%BD%AE 1、Rabbi…

安卓开发用到的设计模式(3)行为型模式

安卓开发用到的设计模式&#xff08;3&#xff09;行为型模式 文章目录 安卓开发用到的设计模式&#xff08;3&#xff09;行为型模式1. 命令模式&#xff08;Command Pattern&#xff09;2. 策略模式&#xff08;Strategy Pattern&#xff09;3. 观察者模式&#xff08;Observ…

尚硅谷redis7 90-92 redis集群分片之集群扩容

90 redis集群分片之集群扩容 三主三从不够用了&#xff0c;进行扩容变为4主4从 问题&#xff1a;1.新建两个redis实例&#xff0c;怎么加入原有集群&#xff1f;2.原有的槽位分3段&#xff0c;又加进来一个槽位怎么算&#xff1f; 新建6387、6388两个服务实例配置文件新建后启…

离散化算法的二分法应用

我们思考一个问题&#xff1a;其实这里的二分法回归本源也是基于下标映射的原理&#xff0c;只是实现是借助二分的形式。 在排序好的数组中对目标数值进行二分搜索&#xff0c;在 O(logn) 的时间复杂度内找到该数值是整体数据中的第几个。 具体的我们可以如下操作&#xff1a; …

半导体厂房设计建造流程、方案和技术要点-江苏泊苏系统集成有限公司

半导体厂房设计建造流程、方案和技术要点-江苏泊苏系统集成有限公司 半导体厂房的设计建造是一项高度复杂、专业性极强的系统工程&#xff0c;涉及洁净室、微振动控制、电磁屏蔽、特殊气体/化学品管理等关键技术。 一、设计建造流程&#xff1a; 1.需求定义与可行性分析 &a…

一种通用图片红色印章去除的工具设计

朋友今天下午需要处理个事情&#xff0c;问我有没有什么好的办法能够去除&#xff0c;核心问题是要去除图片上的印章。记得以前处理过类似的需求&#xff0c;photoshop操作比较简单&#xff0c;本质是做运算。这种处理方式有很多&#xff0c;比如现在流行的大模型&#xff0c;一…

RapidOCR集成PP-OCRv5_det mobile模型记录

该文章主要摘取记录RapidOCR集成PP-OCRv5_mobile_det记录&#xff0c;涉及模型转换&#xff0c;模型精度测试等步骤。原文请前往官方博客&#xff1a; https://rapidai.github.io/RapidOCRDocs/main/blog/2025/05/26/rapidocr%E9%9B%86%E6%88%90pp-ocrv5_det%E6%A8%A1%E5%9E%8B…

Dify理论+部署+实战

概述 一个功能强大的开源AI应用开发平台&#xff0c;融合后端即服务&#xff08;Backend as Service&#xff09;和LLMOps理念&#xff0c;使开发者能够快速搭建生产级的生成式AI应用。 核心优势 直观的用户界面&#xff1a;提供简洁明了的操作界面&#xff0c;使得用户能够…

内网穿透系列五:自建SSH隧道实现内网穿透与端口转发,Docker快速部署

​以下是对这个自建SSH隧道工具的简单介绍&#xff1a; 一款基于OpenSSH构建的内网穿透与端口转发工具&#xff0c;通过SSH隧道技术实现支持所有TCP协议通信&#xff0c;包括SSH、HTTP、HTTPS等各类应用提供灵活部署方式&#xff0c;特别支持Docker容器化快速部署开源工具地址…

桥梁进行3D建模时的数据采集、存储需求及技术参数

桥梁进行3D建模时的数据采集、存储需求及技术参数 1公里桥梁进行3D建模时的数据采集、存储需求及技术参数的详细分析 1. 照片数量估算 关键影响因素 桥梁类型&#xff1a;梁桥/拱桥/斜拉桥&#xff08;结构复杂度不同&#xff09; 建模精度&#xff1a;工程级&#xff08;1-…

Transformer架构技术学习笔记:从理论到实战的完整解析

引言&#xff1a;重新定义序列建模的里程碑 2017年&#xff0c;Vaswani等人在论文《Attention Is All You Need》中提出的Transformer架构&#xff0c;彻底改变了自然语言处理领域的游戏规则。与传统RNN/LSTM相比&#xff0c;Transformer具有三大革命性特征&#xff1a; 全注意…

1、python代码实现与大模型的问答交互

一、基础知识 1.1导入库 torch 是一个深度学习框架&#xff0c;用于处理张量和神经网络。modelscope是由阿里巴巴达摩院推出的开源模型库。 AutoTokenizer 是ModelScope 库的类&#xff0c;分词器应用场景包括自然语言处理&#xff08;NLP&#xff09;中的文本分类、信息抽取…

Java开发经验——阿里巴巴编码规范实践解析6

摘要 本文深入解析了阿里巴巴编码规范在数据库设计和Java开发中的实践应用。详细阐述了数据库字段命名、类型选择、索引命名等规范&#xff0c;以及Java POJO类的对应规范。强调了字段命名的重要性&#xff0c;如布尔字段命名规则、表名和字段名的命名禁忌等。同时&#xff0c…

工业自动化实战:基于 VisionPro 与 C# 的机器视觉 PLC 集成方案

一、背景介绍 在智能制造领域&#xff0c;机器视觉检测与 PLC 控制的无缝集成是实现自动化生产线闭环控制的关键。本文将详细介绍如何使用 C# 开发上位机系统&#xff0c;实现 Cognex VisionPro 视觉系统与西门子 S7 PLC 的数据交互&#xff0c;打造高效、稳定的工业检测方案。…