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

本文主要是介绍中科大计网学习记录笔记(四):Internet 和 ISP | 分组延时、丢失和吞吐量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:

学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第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)是指在一个网络中,由于某个特定链路的带宽、延迟或其他性能限制,导致整个网络的传输速率受到限制的链路。这条链路的性能相对较差,成为整体网络性能的瓶颈点。

这篇关于中科大计网学习记录笔记(四):Internet 和 ISP | 分组延时、丢失和吞吐量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/673118

相关文章

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

使用C#如何创建人名或其他物体随机分组

《使用C#如何创建人名或其他物体随机分组》文章描述了一个随机分配人员到多个团队的代码示例,包括将人员列表随机化并根据组数分配到不同组,最后按组号排序显示结果... 目录C#创建人名或其他物体随机分组此示例使用以下代码将人员分配到组代码首先将lstPeople ListBox总结C#创建人名或其他物体随机分组

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6