计算机网络(一)概述
Published in:2023-11-15 | category: 计算机网络

内容笔记来源于谢希任老师《计算机网络》

计算机网络可以说是现代生活最重要的一部分了

互联网(或因特网)之所以能够向用户提供服务,是因为互联网具有两个重要基本特点 连通性 和 共享

网络把许多计算机连在一起

互联网则把许多网络通过路由器连在一起

与网络相连的计算机叫做主机

互联网发展的三个阶段

1 单个网络ARPANET向互联网发展

2 建成三级结构因特网 主干网 地区网 校园网

3 出现多层次ISP 因特网服务提供者

1. 互联网组成

1.1 四元素组成

用户设备

网络设备

传输介质

网络协议

1.2 二元素组成

边缘部分

​ 所有连接在因特网的主机组成,用来进行数据资源共享,也称资源子网

​ 这部分直接用户使用的,

核心部分

​ 由大量网络和连接这些网络的路由器组成,提供了连通性和交换,也称为通信子网,为边缘部分提供服务

1.2.1 边缘部分

如个人电脑,乃至一个很小的网络摄像头等

边缘部分利用核心部分所提供的服务

在网络边缘部分的端系统通信往往可以分为两种

1 客户服务器方式

​ 最为常见,比如我们在网络上搜索资料,或者收发邮件都是这样的

​ 主要特征是 客户是服务的请求方,服务器是服务的提供方

2 对等方式P2P

​ 对等连接方式可以支持大量对等用户工作,如QQ微信

1.2.2 核心部分

核心部分起特殊作用的是路由器

路由器实现的分组交换

之前用电路交换,现在更多用分组交换

为什么要用分组交换

​ 计算机数据突发性强,使用分组交换承载计算机数据成本低

区分分组交换和电路交换

分组交换和电路交换都是计算机网络中常见的数据传输方式,但它们的实现方式和特点有所不同。

分组交换是一种将数据分成小块(即分组)进行传输的方式。在分组交换中,发送方将数据分成若干个大小相等的数据块,每个数据块被赋予一个地址,并通过网络独立传输。数据到达接收方后,接收方将数据块重新组装成原始数据。分组交换的优点是能够动态地分配网络带宽,提高网络利用率。常见的分组交换协议包括IP协议、TCP协议等。

电路交换是一种在通信开始前建立网络电路(即物理路径)的方式,并在通信过程中保持该电路。在电路交换中,发送方和接收方之间建立一个可靠的物理连接,并在通信过程中独占该连接。电路交换的优点是通信过程中具有稳定的带宽和延迟,适用于需要实时传输的应用,例如电话通信。常见的电路交换协议包括PSTN、ISDN等。

可以通过这样一个比喻来理解

假设你要从一个城市到另一个城市旅行。如果你选择搭乘公共汽车,那么你需要在汽车站等待,直到一辆符合你行程的公共汽车出现,然后支付车费、上车,到达目的地后下车,这个过程就是电路交换的过程。

而如果你选择自驾游,那么你可以根据自己的行程和时间,制定出一张路线图,根据路线上的标志和地图,沿途行驶,在需要休息或加油时停车,到达目的地后停车。这个过程就是分组交换的过程。

可以看到,分组交换和电路交换的区别在于,电路交换是一种预先占用资源的方式,需要建立一个独占的物理连接(买票后别人就不能占用你的位置),而分组交换则是一种动态分配资源的方式(自己的车离开后别人就可以使用),可以根据需要在网络中分配资源。

这就涉及到一个问题

分组如何实现?

(1)发送端,把较长的报文划分成较短的,固定长度的数据段

(2)每一个数据段前添上首部,每一个数据段可以看做一个分组

首部含有的信息有地址(转发到下一个结点的交换机)

(3)以“分组”为数据单元传输,依次把分组传到接收端

(4)接收端收到分组后就剥去首部 还原成报文

分组交换优点

高效 灵活 迅速 可靠

可能带来的问题

可能需要排队,产生时延

首部的控制信息有开销

2.计算机网路的功能

数据通信

而最基本的功能是数据通信

资源共享

计算机网络的资源主要指

​ 计算机硬件、软件与数据

3. 计算机网络类别

3.1 按照网络作用范围进行分类

广域网WAN

​ 作用范围通常几十公里到几千公里

城域网MAN

​ 作用距离5-50公里

局域网LAN

​ 作用距离 1公里左右

个人区域网PAN

​ 10米左右

无线个域网

​ 如蓝牙,ZIGBee

3.2 按照网络的使用者进行分类

(1)公用网

指电信公司出资建造的大型网络,缴费的人即可使用

(2)专用网

某个部分为满足本单位的特殊业务工作的需要而建造的网络

4 计算机网络性能指标

1 速率

指单位时间内传输的数据量,通常以(b/s)bps、Kbps、Mbps等单位来表示。传输速率与带宽密切相关,但不同于带宽,它还考虑了传输数据的效率、误码率等因素。bps Bit Per Second的缩写

以高清视频为例,它需要的传输速率大概在5-10 Mbps之间。因此,如果你的网络带宽是10 Mbps,就足以支持高清视频的流畅播放。如果网络带宽只有1 Mbps,则观看高清视频时可能会出现卡顿、缓冲等问题。

2 带宽

指网络中能够传输的最大数据量,通常以每秒传输的比特数(bps)来衡量。带宽越高,网络传输速度越快,数据传输能力越强。

速率和带宽的区别

速率指单位时间内传输的数据量,通常以bps、Kbps、Mbps等单位来表示。速率与数据传输的效率、误码率等因素有关。

带宽指网络中能够传输的最大数据量,通常也以bps、Kbps、Mbps等单位来表示。带宽是网络的物理特性,与网络的传输效率、误码率等因素无关。

可以通过一个比喻来理解速率和带宽的区别。假设你要从一桶水中抽取一定量的水,速率就表示你每秒钟能够抽取的水的数量,而带宽则是指这个水桶的容量大小。

网络界单位换算是1000

而存储界 单位换算是$2^{10}$

3 吞吐量

指单位时间内通过网络的数据量,通常以bps、Kbps、Mbps等单位来表示。吞吐量与传输速率类似,但还考虑了网络中拥塞的情况。

4 时延

指数据从发送方到接收方所需的总时间。时延包括

发送时延 数据从结点进入到传输媒体所需要的时间

​ $发送时延=\frac{数据帧长度b}{发送速率b/s}$

传播时延(数据从发送方到接收方所需时间)

​ $传播时延=\frac{信道长度(米)}{信号在信道上传播速率m/s}$

处理时延(路由器或交换机对数据进行处理所需时间)

排队时延(等待路由器或交换机处理数据的时间)四个部分。

注意,电路交换提前建立好了路径,所以中间节点是没有发送时延的,只有最开始有发送时延,而分组交换没有提前建立路径,所以对于k个链路,有k-1个节点,产生K-1个发生时延

容易产生错误的概念

对于高速网络链路,我们提高的仅仅是数据的发送速率而不是在比特链路上的传播速率

5 时延带宽积

是指在一个网络中,数据从发送端到接收端所需要的时间与网络带宽的乘积。它的单位通常是比特(bits)可以用来评估网络的传输性能,也是确定网络传输最大吞吐量的一个重要参数。

6 往返时间RTT

是指数据从发送端发送到接收端并返回的时间,通常使用毫秒(ms)作为单位。

7 利用率

利用率(Utilization)是指网络资源在一段时间内被使用的程度,是衡量网络资源利用效率的一个重要指标。利用率通常使用百分比(%)或小数表示,例如50%或0.5

时延与网络利用率关系

时延与网络利用率关系

8 数据传输效率

5 计算机网络体系结构

计算机网络学习的过程中,一个非常显著的特点就是会发现他是分层的,为何要这样做呢?

实际上,是因为看似网络传输这样一个简单问题,涉及到很多细节内容,如传输对方是否可以接收,如果可以出现差错怎么办,如果文件格式不匹配怎么来转换?等等一系列问题。所以计算机网络的设计者们就提出采用分层的方式来将庞杂的问题化大为小,各点突破!

常见的网络体系结构有OSI参考模型和TCP/IP参考模型两种,OSI提出的要比TCP/IP早,但是因为一些原因一直没有得到广泛商用,所以也就意味着当下商用的模型都主要是TCP/IP模型,也是我们学习的重点

  1. OSI参考模型

OSI参考模型是由国际标准化组织(ISO)制定的一个网络体系结构标准。它共分为七层,包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层都有自己的特定功能和任务,不同层之间通过接口进行通信,从而实现数据传输和处理。

  1. TCP/IP参考模型

TCP/IP参考模型是由美国国防部高级研究计划局(ARPA)制定的一个网络体系结构标准。它共分为四层,包括链路层、网络层、传输层和应用层。与OSI参考模型不同,TCP/IP参考模型将会话层、表示层和应用层合并为一个应用层,简化了网络结构,提高了网络的可靠性和效率。在学习过程中还会引入物理层(为了便于讲述原理等)。

所以我们实际学习的是五层

而每一层有很多协议,协议我们就可以理解为约定。

比如我们往往可以在谍战片里看到两个人接头暗号,就是一种协议,知道对方是要做什么,怎么做等等

因而计算机网络协议是我们要学习的重点

6 计算机网络协议

6.1 计算机网络协议与组成

网络协议是计算机网络中数据传输和通信的规则集合。一个完整的网络协议通常包括以下几个要素:

  1. 语法:定义了数据传输的格式和规范,即数据在网络中的组织方式和编码方式。
  2. 语义:定义了数据传输的含义和解释方式,即数据在网络中的意义和作用。
  3. 同步:定义了数据传输的时间顺序和流程,即数据在网络中的传输顺序和时序关系。

6.2 PDU

PDU:协议数据单元

什么是协议数据单元呢?

首先我们知道我们传输的都是数据,数据会从发送方的顶层出发,一层一层向下传输到物理层,然后通过物理介质传输到接收方,接收方再一层一层向上到顶层

其中每到一层,都会根据当层协议去给数据加信息

所以PDU定义如下

在计算机网络通信中,PDU 是指在不同网络层之间传输的数据单元。每个网络层将数据辅助添加到 PDU 中,然后将其传递给下一层,直到数据到达目标。

PDU=首部+载荷+尾部

各层PDU名称

各层PDU名称如下:

  1. 物理层:比特流(Bit Stream)

  2. 数据链路层:帧(Frame)

  3. 网络层:包(Packet)

  4. 传输层:TCP的PDU: 报文段

    ​ UDP的PDU :用户数据报

  5. 应用层: 报文

再来了解几个概念

实体

实体表示任何可发送或接收信息的硬件或软件进程

协议

协议是控制两个对等实体进行通信规则的集合

协议是水平的,即协议是控制对等实体之间的通信规则

服务

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下层所提供的服务

服务是垂直的,即服务是由下层向上层通过层间接口提供的

同一系统相邻两层的实体进行交互的地方,称为服务访问点SAP

Prev:
计算机网络(二)物理层上
Next:
操作系统(六)设备管理