计算机网络(一):概述
参考引用
- 计算机网络微课堂-湖科大教书匠
- 计算机网络(第7版)-谢希仁
1. 计算机网络在信息时代的作用
- 计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施
- 计算机网络已经像水、电、煤气这些基础设施一样,成为我们生活中不可或缺的一部分
2. 因特网概述
2.1 网络、互连网 (互联网)和因特网
- 网络 (Network) 由若干结点 (Node) 和连接这些结点的链路 (Link) 组成

- 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因此,互联网是 “网络的网络 (Network of Networks)”
- 因特网 (Internet) 是世界上最大的互连网络 (用户数以亿计,互连的网络数以百万计)

internet 与 Internet 的区别
- internet (互联网或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的
- Internet (因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用 TCP/IP 协议族作为通信的规则,其前身是美国的 ARPANET
2.2 因特网发展的三个阶段
- 1969年:从单个网络 ARPANET 向互联网发展
- 1969 年,第一个分组交换网 ARPANET
- 70 年代中期,研究多种网络之间的互连
- 1983 年,TCP/IP 协议成为 ARPANET 的标准协议 (因特网诞生时间)
- 1985 年:逐步建成三级结构的因特网
- 1985 年,NSF 围绕六个大型计算机中心建设 NSFNET (主干网、地区网和校园网)
- 1990 年,ARPANET 任务完成,正式关闭
- 1991 年,美国政府将因特网主干网交给私人公司经营,并开始对接入因特网的单位收费
- 1993 年:逐步形成了多层次 ISP 结构的因特网
- 1993 年,NSFNET 逐渐被若干个商用因特网主干网替代;政府机构不再负责因特网运营,让各种因特网服务提供者 ISP 来运营
- 1994 年,万维网 WWW 技术促使因特网迅猛发展
- 1995 年,NSFNET 停止运作,因特网彻底商业化
因特网服务提供者 ISP (Internet Service Provider)

基于 ISP 的三层结构的因特网

2.3 因特网的标准化工作
-
因特网在制定其标准上的一个很大的特点是面向公众
- 因特网所有的 RFC(Request For Comments) 技术文档都可从因特网上免费下载
(http://www.ietf.org/rfc.html) - 任何人都可以随时用电子邮件发表对某个文档的意见或建议
- 因特网所有的 RFC(Request For Comments) 技术文档都可从因特网上免费下载
-
因特网协会 ISOC 是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用
- 因特网体系结构委员会 IAB,负责管理因特网有关协议的开发
- 因特网工程部 IETF,负责研究中短期工程问题,主要针对协议的开发和标准化
- 因特网研究部 IRTF,从事理论方面的研究和开发一些需要长期考虑的问题

-
制订因特网的正式标准要经过以下 4 个阶段
- 1、因特网草案 (在这个阶段还不是 RFC 文档)
- 2、建议标准 (从这个阶段开始就成为 RFC 文档)
- 3、草案标准
- 4、因特网标准
2.4 因特网的组成
- 边缘部分
- 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享
- 核心部分
- 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)

3. 三种交换方式
3.1 电路交换 (Circuit Switching)
- 电话交换机接通电话线的方式称为电路交换
- 从通信资源的分配角度来看,交换 (Switching)就是按照某种方式动态地分配传输线路的资源
- 电路交换的三个步骤
- 建立连接 (分配通信资源)
- 通话 (一直占用通信资源)
- 释放连接 (归还通信资源)

当使用电路交换来传送计算机数据时,其线路的传输效率往往很低,因此通常不采用该方式传输计算机数据,而是采用分组交换的方式
3.2 分组交换 (Packet Switching)
- 发送方
- 构造分组发送分组
- 路由器
- 缓存分组转发分组
- 接收方
- 接收分组还原报文

- 接收分组还原报文
3.3 报文交换 (Message Switching)
- 主要用于早期的电报通讯网,现在较少使用,故不再赘述
3.4 三种交换方式对比
- 电路交换
- 优点:通信时延小、有序传输、没有冲突、适用范围广、实时性强、控制简单
- 缺点:建立连接时间长、线路独占使用效率低、灵活性差、难以规格化
- 报文交换
- 优点:无需建立连接、动态分配线路、提高线路可靠性、提高线路利用率、提供多目标服务
- 缺点:引起了转发时延、需要较大存储缓存空间、需要传输额外的信息量
- 分组交换
- 优点:无需建立连接、线路利用率高、简化了存储管理、加速传输、减少出错概率和重发数据量
- 缺点:引起了转发时延、需要传输额外的信息量、对于数据报服务,存在失序、丢失或重复分组的问题;对于虚电路服务,存在呼叫建立、数据传输和虚电路释放三个过程

4. 计算机网络的定义和分类
4.1 计算机网络的定义
- 计算机网络的最简单的定义
- 一些互相连接的、自治的计算机的集合
- 互连:是指计算机之间可以通过有线或无线的方式进行数据通信
- 自治:是指独立的计算机,它有自己的硬件和软件,可以单独运行使用
- 集合:是指至少需要两台计算机
- 一些互相连接的、自治的计算机的集合
- 计算机网络的较好的定义
- 计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的 (例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用
- 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件
- 计算机网络并非专门用来传送数据,而是能够支持很多种的应用 (包括今后可能出现的各种应用)
- 计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的 (例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用
4.2 计算机网络的分类
- 按交换技术分类
- 电路交换网络
- 报文交换网络
- 分组交换网络
- 按使用者分类
- 公用网
- 专用网
- 按传输介质分类
- 有线网络
- 无线网络
- 按覆盖范围分类
- 广域网WAN
- 城域网MAN
- 局域网LAN
- 个域网PAN
- 按拓扑结构分类
- 总线型网络
- 星型网络
- 环型网络
- 网状型网络

5. 计算机网络的性能指标
- 性能指标可以从不同的方面来度量计算机网络的性能
5.1 常用的计算机网络的性能指标
-
1. 速率

-
2. 带宽
- 带宽的这两种表述之间有着密切的联系。一条通信线路的 “频带宽度” 越宽,其所传输数据的 “最高数据率” 也越高

- 带宽的这两种表述之间有着密切的联系。一条通信线路的 “频带宽度” 越宽,其所传输数据的 “最高数据率” 也越高
-
3. 吞吐量
- 吞吐量表示在单位时间内通过某个网络 (或信道、接口) 的数据量
- 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络
- 吞吐量受网络的带宽或额定速率的限制

-
4. 时延


-
5. 时延带宽积
- 时延带宽积 = 传播时延 × 带宽
- 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特
- 链路的时延带宽积又称为以比特为单位的链路长度
-
6. 往返时间
- 在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互
- 有时很需要知道双向交互一次所需的时间
- 因此,往返时间 RTT(Round-Trip Time) 也是一个重要的性能指标

-
7. 利用率
- 信道利用率:用来表示某信道有百分之几的时间是被利用的 (有数据通过)
- 网络利用率:全网络的信道利用率的加权平均
1、根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加,因此,信道利用率并非越高越好。如果令 D 0 D_0 D0 表示网络空闲时的时延,D 表示网络当前的时延,那么在适当的假定条件下,可以用下面的简单公式来表示 D、 D 0 D_0 D0 和利用率 U 之间的关系 D = D o I − U D=\frac{D_o}{I-U} D=I−UDo
- 当网络的利用率达到 50% 时,时延就要加倍
- 当网络的利用率超过 50% 时,时延急剧增大
- 当网络的利用率接近 100% 时,时延就趋于无穷大
- 因此,一些拥有较大主千网的 ISP 通常会控制它们的信道利用率不超过 50%。如果超过了,就要准备扩容,增大线路的带宽。
2、也不能使信道利用率太低,这会使宝贵的通信资源被白白浪费。应该使用一些机制,可以根据情况动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围内。
-
8. 丢包率
- 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率
- 丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率
- 丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标因为他们通常意识不到网络丢包
- 分组丢失主要有两种情况
- 分组在传输过程中出现误码,被结点丢弃
- 分组到达一台队列已满的分组交换机时被丢弃;在通信量较大时就可能造成网络拥塞
- 因此,丢包率反映了网络的拥塞情况
- 无拥塞时路径丢包率为 0
- 轻度拥塞时路径丢包率为 1% ~ 4%
- 严重拥塞时路径丢包率为 5% ~ 15%
6. 计算机网络体系结构
6.1 常见的计算机网络体系结构
-
OSI 体系结构(法律上的国际标准)
- 应用层、表示层、会话层、运输层、网络层、数据链路层、物理层
-
TCP/IP 体系结构(事实上的国际标准)
- 应用层、运输层、网际层、网络接口层

- 应用层、运输层、网际层、网络接口层
-
原理体系结构(适于教学)
- 应用层:解决通过应用进程的交互来实现特定网络应用的问题
- 运输层:解决进程之间基于网络的通信问题
- 网络层:解决分组在多个网络上传输 (路由)的问题
- 数据链路层:解决分组在一个网络 (或一段链路) 上传输的问题
- 物理层:解决使用何种信号来传输比特的问题
6.2 计算机网络体系结构分层的必要性
- 计算机网络是个非常复杂的系统。早在最初的 ARPANET 设计时就提出了分层的设计理念
- 分层可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理
- 下面按照由简单到复杂的顺序,来看看实现计算机网络要面临哪些主要的问题,以及如何将这些问题划分到相应的层次,层层处理。





6.3 计算机网络体系结构分层思想举例
计算机网络体系结构分层思想举例
6.4 计算机网络体系结构中的专用术语
实体、协议和服务
-
实体:任何可发送或接收信息的硬件或软件进程
- 对等实体:收发双方相同层次中的实体

- 对等实体:收发双方相同层次中的实体
-
协议:控制两个对等实体进行逻辑通信的规则的集合,三要素(语法、语义和同步)

-
语法:定义所交换信息的格式

-
语义:定义收发双方所要完成的操作
-
同步:定义收发双方的时序关系

-
-
服务
-
在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务
-
要实现本层协议,还需要使用下面一层所提供的服务
-
协议是 “水平的”,服务是 “垂直的”
-
实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是 "透明” 的
-
服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型
- 数据链路层的服务访问点为帧的 “类型” 字段
- 网络层的服务访问点为IP数据报首部中的 “协议字段”
- 运输层的服务访问点为 “端口号”
-
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语

-
协议数据单元 PDU:对等层次之间传送的数据包称为该层的协议数据单元
-
服务数据单元 SDU:同一系统内,层与层之间交换的数据包称为服务数据单元
-
多个 SDU 可以合成为一个 PDU;一个 SDU 也可划分为几个 PDU

-
必须通过与下层交换一些命令,这些命令称为服务原语
[外链图片转存中…(img-Ly3ihdV1-1696131772480)]
- 协议数据单元 PDU:对等层次之间传送的数据包称为该层的协议数据单元
- 服务数据单元 SDU:同一系统内,层与层之间交换的数据包称为服务数据单元
- 多个 SDU 可以合成为一个 PDU;一个 SDU 也可划分为几个 PDU
[外链图片转存中…(img-FpsLhd0u-1696131772480)]
相关文章:
计算机网络(一):概述
参考引用 计算机网络微课堂-湖科大教书匠计算机网络(第7版)-谢希仁 1. 计算机网络在信息时代的作用 计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施计算机网络已经像水、电、煤气这些基础设施一样,成为我们生活中不可或…...
visual code 下的node.js的hello world
我装好了visual code ,想运行一个node.js 玩玩。也就是运行一个hello world。 一:安装node.js : 我google 安装node.js 就引导我到下载页面:https://nodejs.org/en/download 有 Windows Installer (.msi) 还有Windows Binary (…...
MySQL——四、SQL语句(下篇)
MySQL 一、常见的SQL函数1、数学函数2、日期函数3、分组函数(聚合函数)4、流程控制函数 二、where条件查询和order by排序三、分组统计四、多表关联查询1、交叉连接CROSS2、内连接inner3、外连接:outer4、子查询 五、分页查询 一、常见的SQL函数 1、length(str):获…...
蓝桥杯每日一题2023.10.2
时间显示 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 输入为毫秒,故我们可以先将毫秒转化为秒,由于只需要输出时分,我们只需要将天数去除即可,可以在这里多训练一次天数判断 #include<bits/stdc.h> using namespace std…...
红外遥控器 数据格式,按下及松开判断
红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。 同类产品的红…...
win32进程间通信方式(13种)
win32进程间通信 文件映射共享内存匿名管道命名管道远程过程调用(RPC)对象连接与嵌入(OLE)动态数据交换(DDE)剪贴板WM_COPYDATA消息邮件槽其它 文件映射 特点:本地间通信,不能用于网…...
基于Vue+ELement搭建动态树与数据表格实现分页模糊查询
🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《ELement》。🎯🎯 …...
多线程案例 - 单例模式
单例模式 ~~ 单例模式是常见的设计模式之一 什么是设计模式 你知道象棋,五子棋,围棋吗?如果,你想下好围棋,你就不得不了解一个东西,”棋谱”,设计模式好比围棋中的 “棋谱”. 在棋谱里面,大佬们,把一些常见的对局场景,都给推演出来了,照着棋谱来下棋,基本上棋力就不会差到哪…...
云原生Kubernetes:对外服务之 Ingress
目录 一、理论 1.Ingress 2.部署 nginx-ingress-controller(第一种方式) 3.部署 nginx-ingress-controller(第二种方式) 二、实验 1.部署 nginx-ingress-controller(第一种方式) 2.部署 nginx-ingress-controller(第二种方式) 三、问题 1.启动 nginx-ingress-controll…...
Java21 新特性
文章目录 1. 概述2. JDK21 安装与配置3. 新特性3.1 switch模式匹配3.2 字符串模板3.3 顺序集合3.4 记录模式(Record Patterns)3.5 未命名类和实例的main方法(预览版)3.6 虚拟线程 1. 概述 2023年9月19日 ,Oracle 发布了…...
Rest Template 使用
大家好我是苏麟 今天带来Rest Template . spring框架中可以用restTemplate来发送http连接请求, 优点就是方便. Rest Template 使用 Rest Template 使用步骤 /*** RestTemple:* 1.创建RestTemple类并交给IOC容器管理* 2. 发送http请求的类*/ 1.注册RestTemplate对象 SpringB…...
IDEA git操作技巧大全,持续更新中
作者简介 目录 1.创建新项目 2.推拉代码 3.状态标识 5.cherry pick 6.revert 7.squash 8.版本回退 9.合并冲突 1.创建新项目 首先我们在GitHub上创建一个新的项目,然后将这个空项目拉到本地,在本地搭建起一个maven项目的骨架再推上去࿰…...
计算机操作系统 (王道考研)笔记(四)I/O系统
目录 1 I/O1.1 I/O 概念和分类1.1.1 I/O 定义1.1.2 I/O 分类 1.2 I/O控制器1.3 I/O 软件层次结构1.4 I/O 应用程序接口和驱动程序应用接口 1 I/O 1.1 I/O 概念和分类 1.1.1 I/O 定义 BIOS(英文:Basic Input/Output System),即基…...
【Java基础】抽象类和接口的使用
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习JavaSE的一点学习心得,欢迎大家在评论区讨论💌 目录 一、抽象类抽象类概念…...
Golang的性能优化
欢迎,学习者们,来到Golang性能优化的令人兴奋的世界!作为开发者,我们都努力创建高效、闪电般快速的应用程序,以提供出色的用户体验。在本文中,我们将探讨优化Golang应用程序性能的基本技巧。所以࿰…...
实现两栏布局的五种方式
本文节选自我的博客:实现两栏布局的五种方式 💖 作者简介:大家好,我是MilesChen,偏前端的全栈开发者。📝 CSDN主页:爱吃糖的猫🔥📣 我的博客:爱吃糖的猫&…...
博物馆门票预约APP的设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…...
【AI视野·今日Robot 机器人论文速览 第四十四期】Fri, 29 Sep 2023
AI视野今日CS.Robotics 机器人学论文速览 Fri, 29 Sep 2023 Totally 38 papers 👉上期速览✈更多精彩请移步主页 Interesting: 📚NCF,基于Neural Contact Fields神经接触场的方法实现有效的外部接触估计和插入操作。 (from FAIR ) 操作插入处理结果&am…...
一维数组和二维数组的使用(char类型)
目录 导读1. 字符数组1.1 字符数组的创建1.2 字符数组的初始化1.3 不同初始化在内存中的不同1.3.1 strlen测试1.3.2 sizeof测试1.3.3 差异原因 1.4 字符数组的使用 2. 数组越界3. 数组作为函数参数博主有话说 导读 我们在前面讲到了 int 类型的数组的创建和使用: 一…...
1.基本概念 进入Java的世界
1.1 Java的工作方式 1.2 Java的程序结构 类存于源文件里面,方法存于类中,语句(statement)存于方法中 源文件(扩展名为.java)带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
高防服务器价格高原因分析
高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...
如何做好一份技术文档?从规划到实践的完整指南
如何做好一份技术文档?从规划到实践的完整指南 🌟 嗨,我是IRpickstars! 🌌 总有一行代码,能点亮万千星辰。 🔍 在技术的宇宙中,我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…...
