中科大计网学习记录笔记(二):网络核心

前言:

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

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

1.3 网络核心

网络核心:路由器的网状网络,这个网络有两种交换的方式,线路交换分组交换

1.3.1 什么是线路交换?

线路交换(Circuit Switching):是一种传输数据的通信方式,其中通信的两个节点在通话期间占用一个专用的通信路径或“线路”。在这种方式中,通信路径在通话期间一直被保持,并且只有通话结束后,该线路才会被释放,可以被其他通话使用。

  • 上图中的呼叫使用了上面链路的第 1 个线路,和右边链路的第一个线路(piece),这个通信路径是独占的资源,不共享,这样可以保证性能,因为没有其他干扰因素。
  • 因为独占的特性,所以通讯建立但是没有数据发送被分配的资源就会浪费(no sharing)。
  • 通常被传统的电话通信采用,比如移动通讯。
1.3.2 三种多路复用方式

时分复用(TDM):TDM 用于将多个电话用户的语音信号进行时间上的划分,每个用户被分配一个时间槽,通过轮流方式共享通信线路。这样,不同用户的语音信号可以在不同的时间间隙传输,实现了多路复用。

频分复用(FDM):频分复用被用于将不同的通信信号划分到不同的频率带宽上,以避免干扰。每个用户或通信信道在频率上占据不同的带宽,实现了频分复用。

波分复用(WDM):波分复用通过在光纤通信系统中使用不同的波长(光的颜色)来传输多个独立的通信信道。每个波长代表一个独立的通信通道。

上述的说的是三种常见的多路复用技术,用于有效的共享 信道

这里要分清信道和通信线路的关系:

  • 信道是指信息从一个地方传送到另一个地方的 通路或介质。它是信息传输的物理路径,可以是空气中的无线信道、导线中的电缆信道、光纤中的光信道等。
  • 通信线路是实际连接通信系统中两个节点的 物理路径通信线路可以包括一条或多条信道,以及连接这些信道的物理媒介,例如电缆、光纤等

信道是传输的 物理媒介,而通信线路是不同节点之间 实际的物理连接

1.3.3 课堂练习

在一个电路交换网络上,从主机 A 到主机 B 发送一个 640000 比特的文件需要多长时间?

  • 所有链路速率为 1.536 Mbps
  • 每条链路使用时隙数为 24 的 TDM
  • 建立端-端的电路需要 500mx

补充前置知识:

  • 带宽(Bandwidth)是指 在一定时间内传输的数据量或信号的最大能力,通常用于描述通信系统的性能。带宽的单位通常是比特每秒(bps)或赫兹(Hz)。
  • 时间槽(Time Slot)是在时分复用中使用的概念,用于 将一个时间周期划分为若干个间隔,每个间隔用于传输 一个 通信用户或信道的数据。

总的速率为 1.536 Mbps,有 24 个时隙数,所以每个用户占有的速率为

1.536 / 24 = 0.064 Mbps,这里认为 1M = 1000 K,换算成 64 Kbps

绘制出传输的时间轴,当 A 信息全部传输完成后,B 不一定全部接收到,这里可以将信息看成一列火车,这 10.5s 只是火车从出发点完全驶离所需要的时间,还需要加上 传播延迟,也就是火车行进的时间。

1.3.4 线路交换为什么不适合计算机通信?
  1. 计算机的通信具有很强的 突发性 的,如果这个通讯线路一直被占用,就会存在很长时间没有数据传输的情况,产生了浪费,所以其不适合计算机通信。
  2. 线路交换中的电路是 独占 的,即在通话期间,通信的两个节点独占一个专用通信路径。这导致通信资源不能被多个通信同时共享,而计算机通信常常需要多个用户同时访问和共享网络资源
  3. 线路交换需要为每条连接分配独占的通信电路,这可能导致成本高昂,特别是在同时支持 大量用户 的情况下。

1.3.5 分组交换

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

分组交换(Packet Switching):是一种通信方式,其中数据被划分为 小的数据包(packet),每个 数据包独立传输,并 在网络中通过不同的路径到达目的地 。与线路交换相对,分组交换在传输时不需要独占的通信路径

1.3.6 存储转发

存储转发(Store-and-Forward)是一种网络传输和交换数据的方式。在存储转发模式下,数据被接收后会被 完整 地存储(暂存在缓存或存储设备中),然后再被转发到目标地址。这与直接传输是不同的,直接传输是接收到数据立即进行转发。

而存储转发的特性可以让一个用户不占满整个通信链路,而是采用分时复用的方式,每个用户在分配的时间内传输数据

  • 存储转发 允许接收端进行流量控制。即使一个用户发送数据的速率很快,接收端可以在存储环节中控制数据的接收速率,避免过多的数据占用整条通信链路。
  • 存储转发中的存储环节允许数据在 接收端缓存一段时间。这意味着即使一个用户的数据到达,它也不会立即被转发,而是可以 在缓存中等待一段时间。这有助于平滑数据流,防止某个用户的瞬时高流量占用整个链路。

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

对于交换机,为什么只算一次存储延迟呢?

很多朋友可能认为是将其完全存储后再转发出去,应该计算两次一次是存储一次是发送。如果不着眼于这个交换机,目光放到整个线路上的时候,其实这个传输的时间就是下一段传输的一部分。

​ 同样以火车的例子举例:以车尾为参照点,存储的时间是 车头 到达交换机直到车尾到达交换机的这一段时间,那存储完之后,参考点车尾就在这个点了;试想如果这个点没有交换机,车尾到达这个点就就立即出发,但是交换机只是 延迟了车尾到达这个点的时间,而不会对后面产生任何影响,只要加上这段延迟,剩下的部分其实就是传输的时间。

对于 B 点,有一个疑惑是要不要加上 B 接收的时间,还是按照上面的火车的案例,数据全部到达其实就是 车尾部到达 B 点的时间,所以只需要计算一个传输时间即可,而不需要加上接收的时间

1.3.7 排队延迟和丢失

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

排队和延迟:如果 到达的速率 > 输出的速率,分组将会排队等待传输,这就是所说的延迟。

丢失:这样继续进行下去就会导致交换机的缓存用完,用完后的分组就会被抛弃,这就所说的丢失,也可以叫丢包。

这是分组交换使得线路能够按需使用的代价。

1.3.8 网络核心重要的两个功能

路由:绝对分组采用的源到目标的路径,是采用路由算法算出的

转发:将分组从路由器的输入链路转移到 输出链路

统计多路复用:可以看作一种特殊的分时多路复用,在统计多路复用中,资源(如带宽)并非按照固定的时隙划分,而是根据用户的实际通信需求进行 动态分配。这意味着用户在需要传输数据时才会占用相应的资源。

电路交换又被称为线路交换,这两个是同一种方式

1.3.9 虚电路与数据报

虚电路(Virtual Circuit)和数据报(Datagram)是与通信网络和分组交换技术相关的两个概念,它们代表了不同的通信模式。

  • 虚电路是一种通信方式,常见于虚拟电路交换网络(例如,ATM网络)。在虚电路中,通信的两个节点之间会 预先建立一个虚拟的通信路径。这个 虚拟路径沿途的中间节点会记住通信的状态信息,使得数据在传输过程中 可以沿着事先建立的路径流动。虚电路提供了一种面向连接的通信模式,类似于电路交换,但是是在分组交换网络中实现的。
  • 数据报是一种通信方式,常见于数据报交换网络(例如,互联网)。在数据报通信中,每个数据包(数据报)都 被视为独立的实体,它包含了足够的信息(目标地址、源地址等)以独立传输并在网络中找到自己的路由。数据报不要求在传输之前建立连接,每个数据包可以选择不同的路径传输,独立于其他数据包。这种通信模式被称为面向 无连接的通信

这就是为什么说 HTTP 是无连接和无状态的协议

  • 每个HTTP请求都是独立的,服务器在处理每个请求时都不需要考虑之前的请求历史。
  • HTTP是一种无状态(stateless)协议,每个请求和响应都是独立的,服务器不会记住之前的通信状态。

这也就是为什么要使用 session 等技术来实现客户端内核服务器的连接

  • 由于 HTTP 是无状态的,服务器无法直接跟踪用户在不同请求之间的状态。通过使用会话,服务器可以将用户的状态信息保存在会话中,使得用户在多个请求之间能够保持一定的状态。
  • 会话可以用于存储用户认证信息,例如用户登录后分配的身份标识。这样,在用户进行后续请求时,服务器可以通过会话标识符来识别用户并验证其身份。

最近更新

  1. TCP协议是安全的吗?

    2024-02-02 23:06:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-02 23:06:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-02 23:06:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-02 23:06:01       20 阅读

热门阅读

  1. 本题又主要考察了贪心

    2024-02-02 23:06:01       34 阅读
  2. 第十章 函数 (上)第一节-第九节

    2024-02-02 23:06:01       25 阅读
  3. uniapp uni.redirectTo() 跳转失效

    2024-02-02 23:06:01       36 阅读
  4. Centos7环境安装PHP8

    2024-02-02 23:06:01       35 阅读
  5. PHP面试题

    2024-02-02 23:06:01       34 阅读
  6. 2款网络监控系统软件,你更喜欢哪款?

    2024-02-02 23:06:01       33 阅读
  7. 速盾:服务器接入免备案CDN节点的好处有哪些

    2024-02-02 23:06:01       33 阅读
  8. 用于Web导出excel

    2024-02-02 23:06:01       30 阅读
  9. 关于后端异步+前端进度条的简单实现

    2024-02-02 23:06:01       30 阅读
  10. Three.js PBR 物理渲染

    2024-02-02 23:06:01       35 阅读
  11. this.$set()用法,强制刷新,新删改查

    2024-02-02 23:06:01       33 阅读
  12. JVM 内存配置参数积累

    2024-02-02 23:06:01       29 阅读
  13. vue + element 页面滚动计算百分比 + 节流函数

    2024-02-02 23:06:01       27 阅读