计算机网络(一)概述
参考资料:https://www.bilibili.com/video/BV1c4411d7jb
一、网络基本概念
1. 网络、互连网(互联网)和因特网
2. 因特网技术提供者
3. 基于ISP的三层结构的因特网
4. 因特网的组成
因特网由边缘部分和核心部分组成:
- 边缘部分
- 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
- 核心部分
- 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
二、三种重要的交换方式
这三种交换方式分别为:
- 电路交换
- 分组交换
- 报文交换
1. 电路交换
概念和特点:
- 电话交换机接通电话线的方式称为电路交换;
- 从通信资源的分配角度来看,交换(Switching) 就是按照某种方式动态地分配传输线路的资源;
步骤和示意图:
当使用电路交换来传送计算机数据时,其线路的传输效率往往很低,因为每次进行信息交换时都需要先建立连接,而且单独占用一条固定的物理线路。
2. 分组交换
信息发送过程如下所示:
即信息分成很多个小片段,然后每个片段添加上用于标识的首部信息,然后分别沿着网络的不同线路到达目的主机,然后目的主机再将这些小片段进行合并得到原来的报文,这样就完成了一次信息的发送。
网络中的各个部分的职责如下:
3. 报文交换
报文交换的过程和分组交换其实是类似的,只不过是将每个原始的报文不切分成小的分组而直接进行发送,这样会占用交换机更大的缓存空间,因此现在的网络基本采用的是分组交换的方式而非报文交换。
4. 三种交换方式的对比
优缺点如下:
三、计算机网络的定义和分类
1. 计算机网络的定义
计算机网络的精确定义并未统一。
其最简单的定义为:一些互相连接的、自治的计算机的集合。
- 互连:计算机之间可以通过有线或无线的方式进行数据通信
- 自治:独立的计算机,它有自己的硬件和软件,可以单独运行使用
- 集合:至少需要两台计算机
计算机网络的较好的定义是:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
2. 计算机网络的分类
四、计算机网络的性能指标
常用的计算机网络的性能指标有以下8个:
- 速率
- 带宽
- 吞吐量
- 时延
- 时延带宽积
- 往返时间
- 利用率
- 丢包率
1. 速率
数据量(比特)
常用的数据量单位有:
但一般硬盘等厂商标注在上面的GB往往是代表10^9B,而不是上面图中的2^30B,例如我的硬盘上标注的是512GB大小的容量,但在操作系统上可以看到的是476GB:
这是因为:
所以可以得到这个实际上达不到512GB的结果。
速率(比特率)
连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率。
常用的数据率单位有:
注意,此时的k、M、G、T是分别表示10^3,10^6,10^9和10^12了,和数据量有所不同。且需要注意的是这里的是小写的b,代表bps,而数据量中的B代表Byte。
例题:
2. 带宽
带宽可以理解为理论最大传输速率。
3. 吞吐量
吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。
选自:https://blog.csdn.net/LiLi_code/article/details/106165080
可以理解为吞吐量是两点传输的平均速度,我们平时所看到的下载速度应该是吞吐量。(而速率应该指的是瞬时速度)
4. 时延
一般分为三种:
- 发送时延
- 处理时延
- 传输时延
计算方法:
例题:
5. 时延带宽积
6. 往返时间
7. 利用率
8. 丢包率
丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
丢包率具体可分为:
- 接口丢包率
- 结点丢包率
- 链路丢包率
- 路径丢包率
- 网络丢包率
等等。
丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标,因为他们通常意识不到网络丢包。
分组丢失主要有两种情况:
- 分组在传输过程中出现误码, 被结点丢弃
- 分组到达一台队列已满的分组交换机时被丢弃,在通信量较大时就可能造成网络拥塞。
因此,丢包率反映了网络的拥塞情况:
- 无拥塞时路径丢包率为
0
- 轻度拥塞时路径丢包率为
1%~4%
- 严重拥塞时路径丢包率为
5%~15%
五、计算机网络体系结构
1. 计算机网络常见的体系结构
常见的体系结构如下图所示:
即我们实际上采用的标准是右图的TCP/IP体系结构,其每一层使用的协议如下所示:
但在教学上为了便于理解,把网络接口层一分为二成物理层和数据链路层:
2. 每层需要解决的问题
六、相关专业术语
1. 实体
实体:任何可发送或接收信息的硬件或软件进程。
对等实体:收发双方相同层次中的实体。
案例如下图所示:
2. 协议
协议是控制两个对等实体进行逻辑通信的规则的集合。
协议的三要素:
- 语法:定义所交换信息的格式
- 语义:定义收发双方所要完成的操作
- 同步:定义收发双方的时序关系
案例:TCP连接
3. 服务
-
在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
-
要实现本层协议,还需要使用下面一层所提供的服务。
-
协议是”水平的“,服务是”垂直的“
-
实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是"透明"的。
-
服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
- 数据链路层的服务访问点为帧的“类型“字段。
- 网络层的服务访问点为IP数据报首部中的“协议字段”。
- 运输层的服务访问点为“端口号”。
-
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令, 这些命令称为服务原语。
- 协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元。
- 服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据单元。
- 多个SDU可以合成为一个PDU;一个SDU也可划分为几个PDU。