中科大计网学习记录笔记(四):Internet 和 ISP | 分组延时、丢失和吞吐量

news2024/9/24 5:22:16

前言:

学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程
该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信息量过大,有太多无法理解的地方,在我第一次点开的时候也有相同的感受,但经过了一段时间项目的学习,对计网有了更多的了解,所以我准备在这次学习的时候做一些记录并且加入一些我的理解,希望能够帮助到大家。
往期笔记可以看专栏中的内容😊😊😊

资料分享:
视频课件分享链接,提取码 pho1
计算机网络(第七版) 自顶向下方法分享链接,提取码 7ln4

1.5 Internet 和 ISP

1.5.1 互联网络结构 —— 网络的网络

端系统通过接入 ISPs 连接到互联网,比如住宅、公司和大学的 ISPs,然后接入的 ISPs 必须是互联的,因此任何两个端系统的用户苦于相互发送分组给对方;接入 ISPs 互联的方式的发展和演化是根据经济的、国家的原因变化和发展的。

以渐进式的方式来看当前互联网的结构

  1. 直接将他们互联在一起,成本指数级增长

  2. 将每个接入的 ISP 接入到全局的 ISP

  3. 能够实现全局 ISP 的运营商有很多,同时有利可图,很多的全局 ISP 被建立起来

  4. 在竞争的同时还会有合作,上面的各种全局 ISP 不互通,通过各个 ISP 之间的合作可以完成业务的拓展,且如果从一方到另一方之间互相的流量对等,就可以实现对等互联的结算关系

  5. 然后业务会进行细分,会出现区域网络,用户通过区域网络接入到全局的 ISPs

  6. 内容提供商网络(ICP),也可能会构建他们自己的网络,因为要将他们的服务接入其他 ISP 会导致成本过高,而且对其他地区的服务提供会很困难(跨州、跨国等),所以为了让他们的服务和内容更加靠近用户,他们会选择自己提供网络,来优化用户体验和减少支出。

最终可以抽象这个图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在网络的最中心,存在为数不多的充分链接(带宽很宽)的大范围网络,然后向下又与其他的 ISP 相连。

IXP(Internet Exchange Point),互联网交换点。IXP 是一种网络设施,其主要目的是促进不同互联网服务提供商(ISPs)、内容交付网络(CDNs)和其他网络服务提供商之间的互联互通。

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

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

分组到达链路的速率超过了链路的输出能力

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分组延迟的分类

  1. 节点检查延时:检查 bit 级的差错,检查分组首部来决定将分组传到何处
  2. 排队延时:在输出链路上等待传输的时间,依赖于路由器的拥塞程度
  3. 传输延时:将分组发送到链路上的时间
  4. 传播延时:数据在链路上传播的时间
1.6.2 车队类比

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

车辆以 100 km/h 的速度传播,收费站服务每一辆车需要 12s(传输延时)

通过计算可得,将完全经过第一个收费站(最后一个车通过收费站),需要 120s,而传播延时也就是数据在链路上传播的时间,需要 1h,所以在最后一个车通过收费站的时候第一辆车还远远没有到达下一个收费站,所以传播延时是不能忽略的,其远大于传输延时

再来看另一种情况

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

车辆以 1000 km/h 的速度传播,收费站服务每辆车需要 1分钟

通过计算可得,完全经过第一个收费站需要 60min,而到达第二个收费站仅仅需要 6min,也就是第一个收费站还在服务的时候,第二个就已经有车辆开始了,这时候就可以忽略掉传传播延迟,因为其远小于传输延时

1.6.3 排队延时

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

排队延时取决于流量强度:
I = L ∗ a / R I=L*a / R I=La/R
L:分组长度(bits)

a:分组到达队列的平均速率

R:链路带宽

排队延时随流量强度的变化,当流量强度为 1 的时候,其排队延时趋向于无穷

Tranceroute 诊断工具:用于跟踪数据包从源主机到目标主机的路径。通过 traceroute,用户可以 了解数据包在互联网中经过的中间路由器(或跳数),以及每个路由器的响应时间

在使用 traceroute 时,用户向目标主机发送一系列的 ICMP(Internet Control Message Protocol)或 UDP(User Datagram Protocol)数据包,这些数据包会依次经过网络中的路由器。每个路由器在接收到数据包后,会返回一个响应,包含了它自身的信息。这个过程会重复多次,形成一个跟踪路径的列表。

1.6.4 分组丢失

原因:链路的队列缓冲区的容量有线

当分组到达一个满的队列的时候,该分组就会被丢失,丢失的分组可能会被前一个节点或者源端系统重传或者不重传。

重传是由上一条还是源主机重传是取决于通信协议的设计和实现

  1. 由上一个链路重传:
    • 停等协议(Stop-and-Wait): 在停等协议中,发送方发送一个分组,然后等待接收到对应的确认(ACK)之后才发送下一个分组。如果发送方在一定时间内没有收到确认,它会假设分组丢失,并重新发送。这里的重传是由上一个链路(接收方)触发的。
    • 自动重传请求(Automatic Repeat reQuest,ARQ): 在ARQ类协议中,发送方周期性地重传未收到确认的分组。这包括选择性重传(Selective Repeat)和连续 ARQ(Continuous ARQ)等变种。重传的触发仍然是由上一个链路(接收方)检测到分组丢失而引发的。
  2. 由源头重传:
    • TCP 协议: 在TCP中,如果发送方检测到未收到确认的分组,它会根据接收到的重复确认(Duplicate ACK)信息来触发重传。TCP的重传机制是由源头(发送方)主动发起的。
1.6.5 吞吐量

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从源端到目标端之间传输的速率

  • 瞬间吞吐量:在一个时间点的速率
  • 平均吞吐量:在一个长时间的平均值

理解为平均速度和瞬时速度的关系

  • 瓶颈链路(Bottleneck Link)是指在一个网络中,由于某个特定链路的带宽、延迟或其他性能限制,导致整个网络的传输速率受到限制的链路。这条链路的性能相对较差,成为整体网络性能的瓶颈点。

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

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

相关文章

27. 云原生流量治理之kubesphere灰度发布

云原生专栏大纲 文章目录 灰度发布介绍灰度发布策略KubeSphere中恢复发布策略蓝绿部署金丝雀发布流量镜像 灰度发布实战部署自制应用金丝雀发布创建金丝雀发布任务测试金丝雀发布情况 蓝绿部署创建蓝绿部署测试蓝绿部署情况 流量镜像创建流量进行任务测试流量镜像情况 灰度发布…

Vue CLI学习笔记

在看任何开源库的源码之前,必须先了解它有哪些功能,这样才能针对性地分模块阅读源码。 Vue CLI 简介 Vue CLI是Vue.js的官方命令行工具,它是一个基于Vue.js进行快速开发的完整系统。 通过Vue CLI,开发者可以快速搭建和开发Vue.js项…

机器学习--K-近邻算法常见的几种距离算法详解

文章目录 距离度量1 欧式距离(Euclidean Distance)2 曼哈顿距离(Manhattan Distance)3 切比雪夫距离 (Chebyshev Distance)4 闵可夫斯基距离(Minkowski Distance)5 标准化欧氏距离 (Standardized EuclideanDistance)6 余弦距离(Cosine Distance)7 汉明距离(Hamming Distance)【…

使用 WPF + Chrome 内核实现高稳定性的在线客服系统复合应用程序

对于在线客服与营销系统,客服端指的是后台提供服务的客服或营销人员,他们使用客服程序在后台观察网站的被访情况,开展营销活动或提供客户服务。在本篇文章中,我将详细介绍如何通过 WPF Chrome 内核的方式实现复合客服端应用程序。…

前端-Vue項目初始化

大家好我是苏麟 , 今天聊聊前端依赖 Ant Design Vue 快速初始化项目 . Ant Design Vue官网 : 快速上手 - Ant Design Vue (antdv.com) 初始化项目 找到文档->快速上手 脚手架命令 : npm install -g vue/cli 找到一个文件夹(不要在中文路径) 下打开cmd窗口输入脚手架命令 成…

PyTorch 2.2大更新!集成FlashAttention-2,性能提升2倍

【新智元导读】新的一年,PyTorch也迎来了重大更新,PyTorch 2.2集成了FlashAttention-2和AOTInductor等新特性,计算性能翻倍。 新的一年,PyTorch也迎来了重大更新! 继去年十月份的PyTorch大会发布了2.1版本之后&#…

查看NodeJs版本和查看NPM版本

Windows10 Dos命令下 查看NodeJs版本和查看NPM版本 NodeJs的命令是:node -v Npm的命令是:npm -v 下图: 记录下!~

Docker Compose 构建 LNMP 环境:一站式 PHP 网站部署指南

Docker Compose 构建 LNMP 环境:一站式 PHP 网站部署指南 简介环境准备和安装安装 Docker安装 Docker Compose准备项目目录结构 编写 Docker Compose 文件基础结构配置 Nginx 服务配置 PHP 服务配置 MySQL 服务完整的 docker-compose.yml 示例 Nginx 容器配置创建 N…

Text2SQL研究-Chat2DB体验与剖析

文章目录 概要业务数据库配置Chat2DB安装设置原理剖析 小结 概要 近期笔者在做Text2SQL的研究,于是调研了下Chat2DB,基于车辆订单业务做了一些SQL生成验证,有了一点心得,和大家分享一下.: 业务数据库设置 基于车辆订…

【stomp实战】websocket原理解析与简单使用

一、WebSocket 原理 WebSocket是HTML5提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议。它基于TCP传输协议,并复用HTTP的握手通道。浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接, 并…

【DDD】学习笔记-领域模型驱动设计

领域模型驱动设计自然是以提炼和转换业务需求中的领域知识为设计的起点。在提炼领域知识时,没有数据库的概念,亦没有服务的概念,一切围绕着业务需求而来。尤其是领域建模的分析阶段,应该只关注问题域,模型表达的是业务…

自用metadata.pegasus.txt bat生成脚本

下面代码保存为一个bat文件,放在存放rom的文件夹下运行 echo off setlocal enabledelayedexpansion :menu cls echo Please select a game ROM type: echo 1. FC echo 2. PSP echo. set /p choice"Enter your choice (1 or 2): " if "%choice%…

林浩然与杨凌芸的Java奇遇记:内部类的四重奏

林浩然与杨凌芸的Java奇遇记:内部类的四重奏 Lin Haoran and Yang Lingyun’s Java Adventure: A Quartet of Inner Classes 在一个充满代码香气的午后,程序员界的才子林浩然与机智灵动的女程序员杨凌芸,在Java的世界里展开了一场别开生面的“…

FPGA_vga显示

一 VGA 1.1 VGA VGA是视频图像阵列,是一种使用模拟信号进行视频传输的标准协议。 1.2 VGA接引脚定义 VGA分公母两种,RGB显示标准。 1.3 VGA显示器 VGA显示器采用图像扫描的方式进行图像显示,将构成图像的像素点,在行同步信号…

2024年阿里云服务器活动价格表

2024年2月阿里云服务器租用价格表更新,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核…

Python 深入理解 os 和 sys 模块

Python 深入理解 os 和 sys 模块 OS 介绍代码智能连接(拼接)路径创建目录展示(列出目录)删除文件重命名文件或目录 sys 介绍代码命令行参数处理 (sys.argv)标准输入输出重定向 (sys.stdin, sys.stdout, sys.stderr):解…

备战蓝桥杯---搜索(进阶3)

看一道比较难又有趣的题: 下面是分析: 我们不妨把属性值看成点,一个装备可以看成一条边(只能选一个端点)不存在有装备属性值的当成一个点,于是我们便形成了树或图,如果是树的话,有一…

请立即收藏!春节必备AI工具盘点:一键拜年短信、海报!AI全家福!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…

Maven之安装自定义jar到本地Maven仓库中

Maven之安装自定义jar到本地Maven仓库中 文章目录 Maven之安装自定义jar到本地Maven仓库中1. 命令行窗口安装方式1. 常用参数说明2. 安装实例 2. IDEA中安装方式3. 使用 1. 命令行窗口安装方式 安装指定文件到本地仓库命令:mvn install:install-file; 在windows的cm…

iOS 需求 多语言(国际化)App开发 源码

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络&#xff0…