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

前言:

学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第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 是无状态的,服务器无法直接跟踪用户在不同请求之间的状态。通过使用会话,服务器可以将用户的状态信息保存在会话中,使得用户在多个请求之间能够保持一定的状态。
  • 会话可以用于存储用户认证信息,例如用户登录后分配的身份标识。这样,在用户进行后续请求时,服务器可以通过会话标识符来识别用户并验证其身份。

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

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

相关文章

科技云报道:云原生PaaS,如何让金融业数字化开出“繁花”?

科技云报道原创。 在中国金融业数字化转型的历史长卷中,过去十年无疑是一部磅礴的史诗。 2017年,南京银行第一次将传统线下金融业务搬到了线上。那一年,它的互联网金融信贷业务实现了过去10年的业务总额。 2021年,富滇银行通过…

Parrot系统下ROS1试用CoCubeSim

Ubuntu 22.04安装和使用ROS1可行吗_ubuntu22.04安装ros1-CSDN博客 Parrot系统 如果你还不了解这个系统,如下文字就不用接着看了。 为何使用 为何更好的应用各类互联网信息,仅此而已。 开发利器 终端 ROS1和ROS2支持所有操作系统,支持的硬件…

【金蝶BI方案】用一张报表,分析生产完成情况

当老板问生产完成地怎样?难道还能拿出一叠报表让老板逐个细看?奥威-金蝶BI方案只用一张BI数据可视化报表就把整个生产完成情况给讲明白了。甚至还能满足老板想从不同角度进行分析的需求。 奥威-金蝶BI方案-BI生产完成情况报表 这张报表总结计算了生产合…

【CSS】css获取子元素的父元素,即通过子元素选择父元素(使用CSS伪类 :has() :not() )

这里写目录标题 一、:has获取第一个div获取包含 a.active 的 li获取第二个div 二、:not除了类名为active 的 a,其他的a的字体都为18px <div><h1>标题</h1></div><div><ul><li><a href"#" class"active">测…

微服务中间件 RabbitMq学习

1、为什么需要Mq 例如在用户注册业务中&#xff0c;用户注册成功后 需要发注册邮件和注册短信&#xff0c;传统的做法有两种 1.串行的方式&#xff1b;2.并行的方式 &#xff1b; 假设三个业务节点分别使用50ms&#xff0c;串行方式使用时间150ms&#xff0c;并行使用时间10…

如何编写具有完备性的测试用例 ? 具体思路是什么 ? 全套解决方案打包呈现给你 。

设计测试用例应该算是测试人员最为主要的工作之一 &#xff0c;好的测试用例往往具有覆盖性强 &#xff0c;扩展性高以及复用性好等特点 。该如何设计出好的测试用例 &#xff1f;是我们每一位测试人员需要重点思考的问题 &#xff0c;下面是我对设计测试用例设计的思考 &#…

代码随想录 Leetcode40.组合总和 II

题目&#xff1a; 代码&#xff08;首刷看解析 2024年2月1日&#xff09;&#xff1a; class Solution { public:vector<vector<int>> res;vector<int> path;void backtracking(vector<int>& candidates, int target, int startIndex, vector<…

opencv#41 轮廓检测

轮廓概念介绍 通常我们使用二值化的图像进行轮廓检测&#xff0c;对轮廓以外到内进行数字命名&#xff0c;如下图&#xff0c;最外面的轮廓命名为0&#xff0c;向内部进行扩展&#xff0c;遇到黑色白色相交区域&#xff0c;就是一个新的轮廓&#xff0c;然后依次对轮廓进行编号…

玛格全屋定制携手君子签,实现业务信息、流程、合同全面数字化

中国定制家居领导品牌——玛格全屋定制携手君子签&#xff0c;部署玛格业务系统&#xff0c;将电子签章系统与供应链上下游业务合同签署场景融合&#xff0c;通过无纸化、电子化的签署环境&#xff0c;打造业务“线上审批、签署、归档”闭环&#xff0c;助推业务减负提效。 电…

prometheus的alertmanager监控报警

监控告警&#xff1a; alert是一个单独的模块&#xff0c;需要我们单独的配置。 需要声明一个邮箱地址。配置是以configmap进行部署。 alert 实验&#xff1a; vim alert-cfg.yaml apiVersion: v1 kind: ConfigMap metadata:name: alertmanagernamespace: monitor-sa data…

跟着cherno手搓游戏引擎【16】Camera和Uniform变量的封装

相机封装&#xff1a; OrthographicCamera.h: #pragma once #include <glm/glm.hpp> namespace YOTO {class OrthographicCamera{public:OrthographicCamera(float left,float right , float bottom,float top);const glm::vec3& GetPosition()const { return m_Pos…

对同一文件多次mmap

abstract 问&#xff1a;对同一个文件多次mmap&#xff0c;返回的地址相同吗? 答&#xff1a;不相同 code #ifdef __linux__#include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/mman.h> …

Vue-49、Vue技术实现动画效果

1、首先&#xff0c;在Vue项目中的src/components文件夹下创建一个名为AnimatedBox.vue的文件。 2、编辑AnimatedBox.vue文件&#xff0c;添加以下代码&#xff1a; <template><div class"animated-box" click"toggle"><transition name&q…

【C++】STL优先级队列(priority_queue)

priority_queue 基本介绍 priority_queue就是优先级队列。其头文件就是queue&#xff0c;但是队列和优先级队列关系不大&#xff0c;两个是不同的数据结构。但二者都是适配器&#xff0c;容器适配器。 优先级队列中存放的数据是有优先级的。 其内部有以下成员方法&#xff0c…

使用post-css实现移动端适配

介绍移动端适配以及适配方案 适配原因 移动端不像PC端,有足够大的屏幕展示较多的内容不同的移动端设备&#xff0c;有不同屏幕宽度同样大小的页面元素在不同屏幕宽度设备展示时&#xff0c;布局就会错乱有些元素没有展示在可视范围内有些元素不能撑满整个屏幕&#xf…

【Linux】初始进程地址空间

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 目录 一、再谈fork二、程序地址空间2.1代码验证 三、虚拟地址&am…

成熟的汽车制造供应商协同平台 要具备哪些功能特性?

汽车行业是一个产业链长且“重”的行业&#xff0c;整个业务流程包括了研发、设计、采购、库存、生产、销售、售后等一系列环节&#xff0c;在每一个环节都涉及到很多信息交换的需求。对内要保证研发、采购、营销等业务环节信息流通高效安全&#xff0c;对外要与上、下游合作伙…

Python编程实验一:流程控制结构

目录 一、实验目的与要求 二、实验内容 三、主要程序清单和程序运行结果 第1题 第2题 第3题 第4题 四、实验结果分析与体会 一、实验目的与要求 &#xff08;1&#xff09;通过本次实验&#xff0c;学生应掌握多分支语句 if …elif…else结构的用法&#xff1b; &…

vue3/vue2中自定义指令不可输入小数点.

import { directive } from vueconst noDecimal {mounted(el) {el.addEventListener(keypress, (e) > {if (e.key .) {e.preventDefault() }})} }// 使用自定义指令 directive(no-decimal, noDecimal)使用 标签上添加 v-no-decimal <el-input…

重磅!讯飞星火V3.5正式发布,3大核心能力超GPT-4 Turbo!

1月30日&#xff0c;科大讯飞召开星火认知大模型V3.5升级发布会&#xff0c;这是国内首个基于全国产算力训练的多模态认知大模型。科大讯飞董事长刘庆峰先生、研究院院长刘聪先生出席了大会&#xff0c;并对最新产品进行了多维度解读。 讯飞星火V3.5的7大核心能力实现全面大幅…