前言:
学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程
该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信息量过大,有太多无法理解的地方,在我第一次点开的时候也有相同的感受,但经过了一段时间项目的学习,对计网有了更多的了解,所以我准备在这次学习的时候做一些记录并且加入一些我的理解,希望能够帮助到大家。
往期笔记可以看专栏中的内容
资料分享:
视频课件分享链接,提取码pho1
计算机网络(第七版) 自顶向下方法分享链接,提取码7ln4
网络核心:路由器的网状网络,这个网络有两种交换的方式,线路交换 和 分组交换
线路交换(Circuit Switching):是一种传输数据的通信方式,其中通信的两个节点在通话期间占用一个专用的通信路径或“线路”。在这种方式中,通信路径在通话期间一直被保持,并且只有通话结束后,该线路才会被释放,可以被其他通话使用。
时分复用(TDM):TDM 用于将多个电话用户的语音信号进行时间上的划分,每个用户被分配一个时间槽,通过轮流方式共享通信线路。这样,不同用户的语音信号可以在不同的时间间隙传输,实现了多路复用。
频分复用(FDM):频分复用被用于将不同的通信信号划分到不同的频率带宽上,以避免干扰。每个用户或通信信道在频率上占据不同的带宽,实现了频分复用。
波分复用(WDM):波分复用通过在光纤通信系统中使用不同的波长(光的颜色)来传输多个独立的通信信道。每个波长代表一个独立的通信通道。
上述的说的是三种常见的多路复用技术,用于有效的共享 信道
这里要分清信道和通信线路的关系:
- 信道是指信息从一个地方传送到另一个地方的 通路或介质。它是信息传输的物理路径,可以是空气中的无线信道、导线中的电缆信道、光纤中的光信道等。
- 通信线路是实际连接通信系统中两个节点的 物理路径。通信线路可以包括一条或多条信道,以及连接这些信道的物理媒介,例如电缆、光纤等。
信道是传输的 物理媒介,而通信线路是不同节点之间 实际的物理连接
在一个电路交换网络上,从主机 A 到主机 B 发送一个 640000 比特的文件需要多长时间?
补充前置知识:
- 带宽(Bandwidth)是指 在一定时间内传输的数据量或信号的最大能力,通常用于描述通信系统的性能。带宽的单位通常是比特每秒(bps)或赫兹(Hz)。
- 时间槽(Time Slot)是在时分复用中使用的概念,用于 将一个时间周期划分为若干个间隔,每个间隔用于传输 一个 通信用户或信道的数据。
总的速率为 1.536 Mbps,有 24 个时隙数,所以每个用户占有的速率为
1.536 / 24 = 0.064 Mbps,这里认为 1M = 1000 K,换算成 64 Kbps
绘制出传输的时间轴,当 A 信息全部传输完成后,B 不一定全部接收到,这里可以将信息看成一列火车,这 10.5s 只是火车从出发点完全驶离所需要的时间,还需要加上 传播延迟,也就是火车行进的时间。
- 计算机的通信具有很强的 突发性 的,如果这个通讯线路一直被占用,就会存在很长时间没有数据传输的情况,产生了浪费,所以其不适合计算机通信。
- 线路交换中的电路是 独占 的,即在通话期间,通信的两个节点独占一个专用通信路径。这导致通信资源不能被多个通信同时共享,而计算机通信常常需要多个用户同时访问和共享网络资源。
- 线路交换需要为每条连接分配独占的通信电路,这可能导致成本高昂,特别是在同时支持 大量用户 的情况下。
分组交换(Packet Switching):是一种通信方式,其中数据被划分为 小的数据包(packet),每个 数据包独立传输,并 在网络中通过不同的路径到达目的地 。与线路交换相对,分组交换在传输时不需要独占的通信路径。
存储转发(Store-and-Forward)是一种网络传输和交换数据的方式。在存储转发模式下,数据被接收后会被 完整 地存储(暂存在缓存或存储设备中),然后再被转发到目标地址。这与直接传输是不同的,直接传输是接收到数据立即进行转发。
而存储转发的特性可以让一个用户不占满整个通信链路,而是采用分时复用的方式,每个用户在分配的时间内传输数据
对于交换机,为什么只算一次存储延迟呢?
很多朋友可能认为是将其完全存储后再转发出去,应该计算两次一次是存储一次是发送。如果不着眼于这个交换机,目光放到整个线路上的时候,其实这个传输的时间就是下一段传输的一部分。
同样以火车的例子举例:以车尾为参照点,存储的时间是 车头 到达交换机直到车尾到达交换机的这一段时间,那存储完之后,参考点车尾就在这个点了;试想如果这个点没有交换机,车尾到达这个点就就立即出发,但是交换机只是 延迟了车尾到达这个点的时间,而不会对后面产生任何影响,只要加上这段延迟,剩下的部分其实就是传输的时间。
对于 B 点,有一个疑惑是要不要加上 B 接收的时间,还是按照上面的火车的案例,数据全部到达其实就是 车尾部到达 B 点的时间,所以只需要计算一个传输时间即可,而不需要加上接收的时间
排队和延迟:如果 到达的速率 > 输出的速率,分组将会排队等待传输,这就是所说的延迟。
丢失:这样继续进行下去就会导致交换机的缓存用完,用完后的分组就会被抛弃,这就所说的丢失,也可以叫丢包。
这是分组交换使得线路能够按需使用的代价。
路由:绝对分组采用的源到目标的路径,是采用路由算法算出的
转发:将分组从路由器的输入链路转移到 输出链路
统计多路复用:可以看作一种特殊的分时多路复用,在统计多路复用中,资源(如带宽)并非按照固定的时隙划分,而是根据用户的实际通信需求进行 动态分配。这意味着用户在需要传输数据时才会占用相应的资源。
电路交换又被称为线路交换,这两个是同一种方式
虚电路(Virtual Circuit)和数据报(Datagram)是与通信网络和分组交换技术相关的两个概念,它们代表了不同的通信模式。
这就是为什么说 HTTP 是无连接和无状态的协议
这也就是为什么要使用 session
等技术来实现客户端内核服务器的连接