当前位置: 首页 > news >正文

王道计算机网络课代表 - 考研计算机 第一章 计算机网络体系结构 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对 计算机网络 知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!!
关于对 “计算机网络体系结构” 章节知识点总结的十分全面,涵括了《计算机网络》课程里的全部要点本人来来回回过了三遍视频),其中还陆陆续续补充了许多内容,所以读者可以相信本篇博客对于考研计算机网络 “计算机网络体系结构” 章节知识点的正确性与全面性;但如果还有自主命题的学校,还需额外读者自行再观看对应学校的自主命题材料

食用说明书:
第一遍学习王道课程时,我的笔记只有标题和截图,后来复习发现看只看图片,并不能很快的了解截图中要重点表达的知识点。
在第二遍复习中,我给每一张截图中 标记了重点,以及 每张图片上方总结了该图片 对应的知识点 以及自己的 思考
最后第三遍,查漏补缺。
所以 ,我把目录放在博客的前面,就是希望读者可以结合目录结构去更好的学习知识点,之后冲刺复习阶段脑海里可以浮现出该知识结构,做到对每一个知识点熟稔于心!
请读者放心!目录展示的知识点结构是十分合理的,可以放心使用该结构去记忆学习!
注意(⊙o⊙)!,每张图片上面的文字,都是该图对应的知识点总结,方便读者更快理解图片内容。


《计算机网络》第1章 计算机网络体系结构

【考纲内容】 王道 P14 ~ 43

(一) 计算机网络概述

​ 网课耗时:2 h

  • 计算机网络的概念、组成与功能
  • 计算机网络的分类
  • 计算机网络的性能指标

(二) 计算机网络体系结构与常考模型

​ 网课耗时:1.5 h

  • 计算机网络分层结构
  • 计算机网络协议、接口、服务的概念
  • ISO/OSI参考模型 和 TCP/IP模型

【复习提示】

​ 本章主要介绍计算机网络体系结构的基本概念,读者可以在理解的基础上适当地记忆;

​ 重点掌握网络的 ==分层结构(包括5层和7层结构),==尤其是 ISO/OSI参考模型各层的功能及相关协议、接口和服务等概念;

​ 掌握有关网络的各种性能指标,特别是 时延、带宽、速率和吞吐量 等的计算;

计算机网络体系结构思维导图

​ 标红部分是较为重要的内容;

在这里插入图片描述

1.1 计算机网络概述

1.1.1 计算机网络的概念与功能

1. 计算机网络的概念

​ 啰嗦定义:一个将分散的、具有独立功能的 计算机系统 ,通过 通信设备线路 连接起来,由功能完善的 软件 实现 资源共享信息传递 的系统;

​ 简洁定义:计算机网络就是一些 互联的、自治的 计算机系统的集合。

在这里插入图片描述

2. 计算机网络的功能

3. 计算机网络的发展

在这里插入图片描述

在这里插入图片描述

小结

在这里插入图片描述


1.1.2 计算机网络的组成与分类

1. 计算机网络的组成

在这里插入图片描述

在这里插入图片描述

2. 计算机网络的分类

在这里插入图片描述

小结

在这里插入图片描述


1.1.3 计算机网络的标准化工作及相关组织 *

本节已从考纲删除

在这里插入图片描述

在这里插入图片描述

小结

在这里插入图片描述


1.1.4 计算机网络的性能指标

1. 速率

在这里插入图片描述

2. 带宽

在这里插入图片描述

3. 吞吐量

在这里插入图片描述

4.时延

在这里插入图片描述

5. 时延带宽积

在这里插入图片描述

6. 往返时延RTT

在这里插入图片描述

7. 利用率

在这里插入图片描述

小结

在这里插入图片描述

1.2 计算机网络体系结构与参考模型

1.2.1 计算机网络分层结构

在这里插入图片描述

在这里插入图片描述


1.2.2 计算机网络协议、接口、服务的概念

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


1.2.3 7层OSI参考模型和4层TCP/IP模型

在这里插入图片描述

1. ISO/OS的来由 ?

在这里插入图片描述

2. OSI 七层

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

① 应用层

在这里插入图片描述

② 表示层

在这里插入图片描述

③ 会话层

在这里插入图片描述

④ 传输层

在这里插入图片描述

⑤ 网络层

在这里插入图片描述

⑥ 数据链路层

在这里插入图片描述

⑦ 物理层

在这里插入图片描述

3. TCP/IP模型 5层

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

小结

在这里插入图片描述

在这里插入图片描述

1.3 常见问题和易混淆知识点

1. 计算机网络与分布式计算机系统的主要区别是什么 ?

分布式系统最主要的特点是,整个系统中的各个计算机对用户都是透明的。用户通过输入命令就可以运行程序,但用户并不知道哪台计算机在为它运行程序。操作系统为用户选择一台最合适的计算机来运行其程序,并将运行的结果传送到合适的地方。
计算机网络则与之不同,用户必须先登录欲运行程序的计算机,然后按照计算机的地址,将

程序通过计算机网络传送到该计算机中运行,最后根据用户的命令将结果传送到指定的计算机中。二者的区别主要是软件的不同。

2. 为什么一个网络协议必须考虑到各种不利的情况 ?

因为网络协议如果不全面考虑不利的情况,那么当情况发生变化时,协议就会保持理想状况,一直等下去!就如同两位朋友在电话中约好下午3点在公园见面,并且约定不见不散。这一协议很不科学,因为任何一方如果有耽搁而来不了,且无法通知对方,那么另一方就要一直等下去!所以判断一个计算机网络是否正确,不能只看在正常情况下是否正确,还必须非常仔细地检查协议能否应付各种异常情况。

3. 因特网使用的P协议是无连接的,因此其传输是不可靠的。这样容易使人们感到因特网很不可靠。那么为什么当初不把因特网的传输设计为可靠的呢 ?

传统电信网的主要用途是电话通信,并且普通电话机不是智能的,因此电信公司必须花费巨大的代价把电信网设计得非常好,以保证用户的通信质量。
数据的传送显然必须非常可靠。当初在设计ARPAnet时,很重要的讨论内容之一是:“谁应当负贵数据传输的可靠性?”一种意见是主张应当像电信网那样,由通信网络负贵数据传输的可靠性(因为电信网的发展历史及其技术水平已经证明,人们可以将网络设计得相当可靠):另一种意见则坚决主张由用户的主机负责数据传输的可靠性,理由是这样可使计算机网络便宜、灵活。
计算机网络的先驱认为,计算机网络和电信网的一个重大区别是终端设备的性能差别很大。于是,他们采用了“端到端的可靠传输”策略,即在传输层使用面向连接的TCP协议,这样既能使网络部分价格便宜且灵活可靠,又能保证端到端的可靠传输。

4. 有人说,宽带信道相当于高速公路车道数目增多了,可以同时并行地跑更多数量的汽车。虽然汽车的时速并没有提高(相当于比特在信道上的传播速率未提高),但整个高速公路的运输能力却增多了,相当于能够传送更多数量的比特。这种比喻合适否?

可以这样比喻。但一定不能误认为“提高信道的速率是设法使比特并行地传输”。
如果一定要用汽车在高速公路上行驶和比特在通信线路上传输相比较,那么可以这样来想象:低速信道相当于汽车进入高速公路的时间间隔较长。例如,每隔1分钟有一辆汽车进入高速公路;“信道速率提高”相当于进入高速公路的汽车的时间间隔缩短了,例如,现在每隔6秒就有一辆汽车进入高速公路。虽然汽车在高速公路上行驶的速率无变化,但在同样的时间内,进入高速公路的汽车总数却增多了(每隔1分钟进入高速公路的汽车现在增加到10辆),因而吞吐量也就增大了。
也就是说,当带宽或发送速率提高后,比特在链路上向前传播的速率并未提高,只是每秒注入链路的比特数增加了。“速率提高”就体现在单位时间内发送到链路上的比特数增多了,而并不是比特在链路上跑得更快了。

5. 端到端通信和点到点通信有什么区别 ?

从本质上说,由物理层、数据链路层和网络层组成的通信子网为网络环境中的主机提供点到点的服务,而传输层为网络中的主机提供端到端的通信。
直接相连的结点之间的通信称为点到点通信,它只提供一台机器到另一台机器之间的通信,

不涉及程序或进程的概念。同时,点到点通信并不能保证数据传输的可靠性,也不能说明源主机与目的主机之间是哪两个进程在通信,这些工作都是由传输层来完成的。
端到端通信建立在点到点通信的基础上,它是由一段段的点到点通信信道构成的,是比点到点通信更高一级的通信方式,以完成应用程序(进程)之间的通信。“端”是指用户程序的端口,端口号标识了应用层中不同的进程。

6. 如何理解传输速率、带宽和传播速率 ?

传输速率指主机在数字信道上发送数据的速率,也称数据传输速率、数据率或比特率,单位是比特/秒(b/s)。更常用的速率单位是千比特/秒(kb/s)、兆比特/秒(Mb/s)、吉比特/秒(Gb/s)、太比特/秒(Tb/s)。
注意:在计算机领域,表示存储容量或文件大小时,K=210 = 1024,M=22", G=230,T=29。这与通信领域中的表示方式不同。
带宽(Bandwidth)在计算机网络中指数字信道所能传送的“最高数据传输速率”,常用来表示网络的通信线路传送数据的能力,其单位与传输速率的单位相同。
传播速率是指电磁波在信道中传播的速率,单位是米/秒(m/s),更常用的单位是千米/秒(km/s)。电磁波在光纤中的传播速率约为2×108m/s.
举例如下。假定一条链路的传播速率为2x10’m/s,这相当于电磁波在该媒体上1us可向前传播200m。若链路带宽为1Mb/s,则主机在1us内可向链路发送1bit数据。
在图1.15中,当t=0时,开始向链路发送数据;当t= 1us时,信号传播到200m处,注入链路1比特;当t=2us时,信号传播到400m处,注入链路共2比特;当t=3us时,信号传播到600m处,注入链路共3比特。
从图1.15可以看出,在一段时间内,链路中有多少比特取决于带宽(或传输速率),而1比特“跑”了多远取决于传播速率。

在这里插入图片描述

7. 如何理解传输时延、发送时延和传播时延 ?

​ 传输时延又称发送时延,是主机或路由器发送数据帧所需的时间,即从数据帧的第1比特算起,到该数据帧的最后1比特发送完毕所需要的时间。

​ 计算公式是:发送时延 = 数据帧长度 / 信道带宽

​ 传播时延是电磁波在信道中传播一定的距离所花费的时间。

​ 计算公式是:传播时延 = 信道长度 / 电磁波在信道上的传播速率

相关文章:

王道计算机网络课代表 - 考研计算机 第一章 计算机网络体系结构 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对 计算机网络 知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!! 关于对 “计算机网络体系结构” 章节知识点总结的十分全面,涵括了《计算机网络…...

数据处理 |遍历所有文件夹及子目录文件夹方法总结与实例代码详解

深度学习中不可避免的数据预处理~1. glob.glob()方法 2. pathlib中的Path方法3. os.walk()方法1. glob.glob()方法 语法glob.glob(pathname)(多指定文件类型,查找jpg,png,txt,json等)缺点:查找文件较慢2. 路径操作库pathlib中的Pa…...

ProtoEditor - 如何在Unity中实现一个Protobuf通信协议类编辑器

文章目录简介Protobuf 语法规则Proto Editor实现创建窗口定义类、字段增删类编辑字段导入、导出Json文件生成.proto文件生成.bat文件简介 在Socket网络编程中,假如使用Protobuf作为网络通信协议,需要了解Protobuf语法规则、编写.proto文件并通过编译指令…...

2022 OpenCV Spatial AI大赛前三名项目分享,开源、上手即用,优化了OAK智能双目相机的深度效果。

编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是助手…...

Android 蓝牙开发——HCI log 分析(二十)

HCI log 是用来分析蓝牙设备之间的交互行为是否符合预期,是否符合蓝牙规范。对于蓝牙开发者来说,通过 HCI log 可以帮助我们更好地分析问题,理解蓝牙协议。 一、抓取HCI log 1、手机抓取HCI log 在开发者选项中打开启用蓝牙HCI信息收集日志开关,Android系统就开始自动地收…...

flask入门-4.项目实战

4. 项目实战1 1. 问答平台项目结构搭建 项目结构 config.py hostname "127.0.0.1" port 3306 username "root" password "root"database "flask_qa"# 在 app.config 中设置连接数据库的信息 SQLALCHEMY_DATABASE_URI f"…...

java 1(概要、变量与运算符)

java ——概要、变量与运算符 ✍作者:电子科大不知名程序员 🌲专栏:java学习指导 各位读者如果觉得博主写的不错,请诸位多多支持;如果有错误的地方,欢迎在评论区指出 目录java ——概要、变量与运算符命令行…...

​力扣解法汇总2363. 合并相似的物品

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描述: 给你两个二维整数数组 items1 和 items2 ,表示两个物品集合。每个数…...

2022年终总结-找回初心

和“那个夏天”群聊的几位死党聊完天后,发现自己已经忘了初心2年有余了,也是这次聊天让我重新燃起了要继续努力奋斗的想法。那就说一说2022年我过得如何吧。2022年过完春节刚来公司的几天就传来了一个好消息,我涨薪了。在没有涨薪之前私下有时…...

Allegro如何打开或者关闭DFA规则设置操作指导

Allegro如何打开或者关闭DFA规则设置操作指导 在用Allegro做PCB布局的时候,器件与器件之间的DFA规则可以避免器件出现装配问题。如下图 当DFA规则设置好之后,如何打开或者关闭规则,具体操作如下 点击Setup点击Constraints...

kind kubernetes 集群内如何通过 helm 部署定制化 Prometheus-Operator?

文章目录1. Prometheus 简介2. Prometheus 优势3. Prometheus 架构图4. Prometheus-Operator 简介5. Prometheus-Operator 架构图6. 环境准备7. Kind 部署 Kubernetes7.1 安装 Ingress-nginx 组件7.2 安装 Metric Server 组件8. helm 快速安装 Prometheus-Operator9. 定制 Prom…...

流媒体付服务器 ZLMediaKit 学习记录

1.官方github:ZLMediaKit 依赖于 media-server 库 #国内用户推荐从同步镜像网站gitee下载 git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit cd ZLMediaKit #千万不要忘记执行这句命令 git submodule update --init 之后 cd ZLMediaKit mkdir build…...

2023年了还不会写软件测试简历吗,那就来看这里吧,怎么样才能更容易让HR看到你的简历

作为软件测试的从业者,面试或者被面试都是常有的事。 可是不管怎样,和简历有着理不清的关系,面试官要通过简历了解面试者的基本信息、过往经历等。 面试者希望通过简历把自己最好的一面体现给面试官,所以在这场博弈中&#xff0…...

第四阶段08-基于element-ui的vue2.0脚手架(续)

42. VUE脚手架项目嵌套路由 在配置路由&#xff08;配置/src/router/index.js&#xff09;时&#xff0c;如果配置的路由对象是routes常量的直接数组元素&#xff0c;则此路由配置的视图会显示在App.vue的<router-view/>中。 在设计视图时&#xff0c;可能会出现<ro…...

数据库设计规范

三范式首先&#xff0c;设计数据库&#xff0c;要尽可能的满足三范式&#xff0c;遵循三范式开发会减少数据冗余、提升系统可扩展性和查询性能。第一范式的目标是确保每列的原子性如果每列都是不可再分的最小数据单元&#xff08;也称为最小的原子单元&#xff09;&#xff0c;…...

深入浅出PaddlePaddle函数——paddle.Tensor

分类目录&#xff1a;《深入浅出PaddlePaddle函数》总目录 Tensor是Paddle中最为基础的数据结构&#xff0c;有几种创建Tensor的不同方式&#xff1a; 用预先存在的数据创建1个Tensor&#xff0c;请参考paddle.to_tensor创建一个指定shape的Tensor&#xff0c;请参考paddle.on…...

docker删除已停止的容器

一、docker删除已停止的容器 1、根据容器的状态&#xff0c;删除Exited状态的容器 先停止容器、再删除镜像中的容器、最后删除none的镜像。执行命令如下&#xff1a; docker stop $(docker ps -a | grep "Exited" | awk {print $1 }) #停止容器 docker rm $(docke…...

JS#1 引入方式和基础语法

JavaScript(JS)是一门跨平台, 面向对象的脚本语言, 来控制网页行为的, 它能够是网页可交互一. 引入方式内部脚本与外部脚本内部脚本: 将JS代码定义在HTML页面中外部脚本: 将JS代码定义在外部JS文件中, 然后引入到HTML页面中注意: 在HTML中,JS代码必须位于<script></sc…...

面了一个测试工程师,明显感觉他背了很多面试题...

最近有朋友去字节面试&#xff0c;面试前后进行了20天左右&#xff0c;包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说&#xff0c;80%的人都会栽在第一轮面试&#xff0c;要不是他面试前做足准备&#xff0c;估计都坚持不完后面几轮面试。 其实&…...

C#生成缩略图

using System;using System.Collections.Generic;using System.Drawing;using System.Drawing.Drawing2D;using System.Drawing.Imaging;using System.Text;namespace learun.util{public enum ThumbnailMode{/// <summary>/// 指定宽度&#xff0c;高度按照比例缩放/// …...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重&#xff0c;适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解&#xff0c;并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...

6.9-QT模拟计算器

源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...

TJCTF 2025

还以为是天津的。这个比较容易&#xff0c;虽然绕了点弯&#xff0c;可还是把CP AK了&#xff0c;不过我会的别人也会&#xff0c;还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...