当前位置: 首页 > news >正文

计算机网络——06分组延时、丢失和吞吐量

分组延时、丢失和吞吐量

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

在路由器缓冲区的分组队列

  • 分组到达链路的速率超过了链路输出的能力
  • 分组等待排到队头、被传输

在这里插入图片描述

延时原因:

  • 当当前链路有别的分组进行传输,分组没有到达队首,就会进行排队,从而产生排队延迟
  • 丢失原因:分组到达的时候,队列满了,就会丢弃
  • 除了排队延时,还有传输延时

四种延时类型

  • 节点处理延时
    • 检查bit级差错
    • 检查分组首部和决定将分组导向何处
  • 排队延时
    • 在输出链路上等待传输的时间
    • 依赖于路由器的拥塞程度
  • 传输延时
    • R = 链路带宽(bps)
    • L = 分组长度(bits)
    • 将分组发送到链路上的时间 = L / R
    • 存储转发延时
  • 传播延时
    • d = 物理链路的长度
    • s = 在媒体上的传播速度( 2 ∗ 1 0 8 2 * 10^{8} 2108 m/sec)
    • 传播延时 = d/s

节点延时

在这里插入图片描述

排队延时

  • 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 是 利用 ICMP协议(互联网控制报文协议) 运作的
TTL的原理:

  • 假设源客户端是A,目标客户端是B,中间的路由器标号一次为 1 2 3 4 5
  • 在分组的头部header中有一个字段叫TTL(Time to leave)是整数,每经过一个路由器时路由器将TTL-1,如果TTL=0,则该路由器向原客户端发送消息,从而得到时间
  • A设置TTL=1,那么第一个路由器返回时间;设置TTL=2,那么第二个路由器返回时间

依次增大TTL,得到每个路由器返回的延时

  • 对于目标客户端B,设置TTL足够大能够达到B,但是设置端口号没有对应的服务,这样到达B之后找不到对应的端口号就又会向A返回时间,得到B的延时

  • 在Windows系统下

    • Tracert hostname
    • 如 Tracert www.gucas.ac.cn
  • 更完整的例子

    • tract [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
    • 请见帮助: http://www.linkwan.com/gb/broadmeter/article/trace -help.htm
  • 测试网址

    • www.traceroute.org
    • www.linkwan.com

分组丢失

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

在这里插入图片描述

吞吐量

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

在这里插入图片描述

在这里插入图片描述

吞吐量取决于吞吐量最小的路径

在这里插入图片描述

吞吐量:互联网场景

在这里插入图片描述

  • 如图,可以看到R链路同时由多个连接共享,这样的话不同的连接就要平分带宽

  • 这样尽管R的带宽比 R s R_s Rs R c R_c Rc大,但是实际给AB的带宽是 1/n,最终比较的是 1/n 的大小

http://www.lryc.cn/news/300262.html

相关文章:

  • [C#] 如何调用Python脚本程序
  • AlmaLinux更换鼠标样式为Windows样式
  • BUGKU-WEB 留言板
  • Linux之动静态库
  • 手机常亮屏不自动灭屏
  • JVM(1)基础篇
  • 相机图像质量研究(12)常见问题总结:光学结构对成像的影响--炫光
  • [OPEN SQL] 删除数据
  • C语言第二十五弹---字符函数和字符串函数(上)
  • 寒假学习记录16:Express框架(Node)
  • 机器学习中的10种非线性降维技术对比总结
  • [ubuntu]split命令分割文件
  • 《小强升职记:时间管理故事书》阅读笔记
  • visual studio code could not establish connection to *: XHR failed
  • JVM-面试题
  • 计算机网络——多媒体网络
  • GPIO八种工作模式
  • C++初阶:适合新手的手撕list(模拟实现list)
  • js手写Promise(上)
  • 基于Web技术的家居室内温湿度监测系统
  • ubuntu22.04@laptop OpenCV Get Started: 009_image_thresholding
  • Zeek实战—快速构建流量安全能力
  • vim命令编辑完文件后,按ESC键退出编辑模式,无法进入命令模式解决方案
  • 【生产实测有效】Linux磁盘清理常用命令
  • 练习:鼠标类设计之1_类内容解析
  • 消息队列RabbitMQ-使用过程中面临的问题与解决思路
  • 搜索Agent方案
  • 排序算法---计数排序
  • STM32——LCD(1)认识
  • iTop-4412 裸机程序(二十二)- RTC时钟