一、认识计算机网络
1.1 计算机网络的定义与分类
1.1.1 计算机网络的定义
计算机网络是一个将众多分散的、自治的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
计算机网络(computer networking)、互连网(internet)和互连网(Internet)的区别:
- 计算机网络简称网络,由若干个结点和连接这些结点的链路组成。其中,结点可以是计算机、集线器、交换机和路由器登;链路可以是有线链路和无线链路。
- 通过路由器可以将两个或多个计算机网络互相连接起来,形成规模更大的计算机网络,即互连网。比如,家里的手机、电脑和电视可以连接到家用路由器(交换机功能)上,组成了家庭内部的网络,再通过家用路由器(路由器)连接到外部的网络上。
- 由各大ISP(互连网服务提供商)和国际机构组建的互连网,覆盖全球范围的互连网。不过,家庭的路由器不会直接连接运营商路由器。互联网必须使用TCP/IP协议通信,互连网可以使用任意协议通信。
1.1.2 计算机网络的分类
按组成部分可以分为硬件、软件和协议,三个部分的详细分类如下所示:
- 硬件:如电脑、手机和物联网设备的主机(端系统)、如集线器、交换机和路由器的通信设备、如网线、光纤和同轴电缆的通信链路。
- 软件:如Email客户端、聊天软件和网盘软件,方便用户使用,实现资源共享。
- 协议:规定计算机网络中的通信规则;由硬件、软件共同实现,如网络适配器+软件实现网络通信协议。
硬件通过内部安装到网络适配器(网卡)上,遵循协议实现将主机数据发送到网络上和接收来自网络数据的功能。
按工作方式可以分为边缘部分和核心部分,两个部分的详细分类如下所示:
- 边缘部分:主要由连接到互联网上的主机及其软件组成,工作方式是直接为用户服务,如通信和资源共享。
- 核心部分:由大量网络和连接这些网络的路由器组成,工作方式是为边缘部分提供服务,如连通性和交换服务。其中,连通性指的是两个主机之间可以传输数据,交换服务指的是核心部分为数据包的传输选择一条合适的路径进行传送。
按逻辑功能可以分为资源子网和通信子网,两个部分的详细分类如下所示:
- 资源子网:主要由连接到互联网上的主机组成,是计算机网络中运行应用程序,向用户提供可共享的硬件、软件和信息资源的部分。
- 通信子网:主要由通信链路+通信设备+协议构成,是计算机网络中负责计算机间信息传输的部分,即把计算机和其他用户装置互连在一起的所有通信设备和介质的总称,主要包括中继器、集线器、网桥、路由器和网关等硬件设备。
1.1.3 计算机网络的功能
计算机网络的功能主要分为数据通信、资源共享、分布式处理、提高可靠性和负载均衡等功能。
-
数据通信:实现计算机之间数据的传输,是最基本、最重要的功能。
-
资源共享:分为硬件、软件和数据资源上的资源共享,比如智能音响请求服务器处理、应用商店和分享视频。
-
分布式处理:将某个复杂任务分配给网络中的多台计算机处理,如大矩阵运算。
-
提高可靠性:网络中各台计算机互为替代机,如某网盘服务器集群网络、数据冗余备份。
-
负载均衡:让网络中的多台计算机分担繁重的工作,如游戏用多台服务器均衡处理玩家请求。
1.2 三种交换技术概述
1.2.1 电路交换
电路交换的优点:
- 通信前从主叫端到被叫端建立一条专用的物理通路,在通信的全部时间内,两个用户始终占用端到端的线路资源。数据直送,传输效率高。
- 电路交换适用于低频次、大量传输数据的场景。然而,计算机之间的数据往往是“突发式”的传输,即高频次、少量地传输数据。
电路交换的缺点: - 建立或释放连接,需要额外的时间开销。比如打电话等连接2分钟,而通话只有5秒钟。
- 线路被通信双方独占,利用率低。
- 线路分配的灵活性差。
- 交换节点不支持“差错控制”,即无法发现传输过程中的发生的数据错误。
1.2.2 报文交换
报文交换的优点:
- 通信前无需建立连接。
- 数据以报文为单位被交换节点间存储转发,通信线路可以灵活分配。
- 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高。
- 交换节点支持差错控制(通过校验技术)。
报文交换的缺点: - 报文不定长,不方便存储转发管理。
- 长报文的存储转发时间开销大、缓存开销大。
- 长报文容易出错,重传代价高。
1.2.3 分组交换
分组交换和报文交换比较类似,是为了解决报文不定长带来的问题。如图2-3所示,不定长的报文被分成若干个定长的分组。在报文中,头部是控制信息,包含了源地址和目的地址等;在分组中,首部包含了分组的控制信息,如源地址、目的地址和分组号等。
分组交换的优点:
- 通信前无需建立连接。
- 数据以分组为单位被交换节点间存储转发,通信线路可以灵活分配。
- 在通信时间内,两个用户无需独占一整条物理线路,相比于电路交换,线路利用率高。
- 交换节点支持差错控制(通过校验技术)。
分组交换的缺点: - 相比于报文交换,控制信息占比增加。
- 相比于电路交换,依然存在存储转发时延。
- 报文被拆分成多个分组,传输过程中可能出现失序、丢失等问题,增加处理的复杂度。
相比于报文交换,分组交换进行了如下改进: - 分组定长,方便存储转发管理。
- 分组的存储转发时间开销小、缓存开销小。
- 分组不易出错,重传代价低。
1.3 三种交换技术的性能对比
1.3.1 电路交换性能分析
假设每一跳传播时延为 1 m s 1ms 1ms,电路交换机建立、释放下一跳连接耗时为 1 m s 1ms 1ms,接收方式处理请求需要 2 m s 2ms 2ms,数据传输速率为 0.5 k b / m s 0.5kb/ms 0.5kb/ms,报文大小为 4 k b 4kb 4kb。
首先A建立与B的连接耗时 1 m s 1ms 1ms,B与C建立连接耗时 1 m s 1ms 1ms,C与D建立连接耗时 1 m s 1ms 1ms,在连接建立阶段共耗时 3 m s 3ms 3ms;接收方式处理请求需要 2 m s 2ms 2ms,故从连接建立阶段到数据传送阶段的过渡需要 2 m s 2ms 2ms;在数据传送阶段,A到B、B到C以及C到D的传送过程共耗时 3 m s 3ms 3ms,报文的数据传输耗时为 4 k b 0.5 k b / s = 8 m s \frac{4kb}{0.5kb/s}=8ms 0.5kb/s4kb=8ms;传送阶段到释放阶段的过渡不需要时间,上图只是为了线条不重叠,当报文全部传输完后开始释放连接,三个释放过程共耗时 3 m s 3ms 3ms。因此,电路交换的数据传输耗时为 11 m s 11ms 11ms。
1.3.2 报文交换性能分析
假设每一跳传播时延为
1
m
s
1ms
1ms,电路交换机建立、释放下一跳连接耗时为
1
m
s
1ms
1ms,接收方式处理请求需要
2
m
s
2ms
2ms,数据传输速率为
0.5
k
b
/
m
s
0.5kb/ms
0.5kb/ms,报文大小为
4
k
b
4kb
4kb,报文存储转发时延为
2
m
s
2ms
2ms。
报文从A发送到B过程中需要耗时 8 m s 8ms 8ms,而传输过程中还有传播时延 1 m s 1ms 1ms;在报文全部发送完后,B开始对报文进行解析,则存储转发过程耗时 2 m s 2ms 2ms。后面的过程类似,故报文交换技术的总耗时为 31 m s 31ms 31ms。
1.3.3 分组交换性能分析
假设每一跳传播时延为
1
m
s
1ms
1ms,数据传输速率为
0.5
k
b
/
m
s
0.5kb/ms
0.5kb/ms,报文大小为
4
k
b
4kb
4kb,分组大小为
1
k
b
1kb
1kb,报文存储转发时延为
0.5
m
s
0.5ms
0.5ms。
在A发送分组1到B的过程中,数据传输耗时
2
m
s
2ms
2ms,传播时延
1
m
s
1ms
1ms,B对分组1的存储转发时延
0.5
m
s
0.5ms
0.5ms,故A到B总耗时
3.5
m
s
3.5ms
3.5ms;同理,B到C也耗时
3.5
m
s
3.5ms
3.5ms,C到D也耗时
3.5
m
s
3.5ms
3.5ms。由于在分组1到分组4是同时从A开始发送的,因此在分组1总耗时
3.5
m
s
+
3.5
m
s
+
3
m
s
=
10
m
s
3.5ms+3.5ms+3ms=10ms
3.5ms+3.5ms+3ms=10ms的基础上加上另外三个分组的传输时间和传播时延即为总耗时,故分组交换总耗时为
10
m
s
+
2.5
m
s
∗
3
=
17.5
m
s
10ms+2.5ms*3=17.5ms
10ms+2.5ms∗3=17.5ms。
三种交换方式的性能对比图如下图所示。
1.4 计算机网络的分类
1.4.1 按分布范围分类
如今的局域网几乎都是采用“以太网技术”实现的,因此“以太网”几乎成了“局域网”的代名词。家庭里的手机、电脑和电视等设备通过以太网路由器组成了局域网,局域网再通过路由器接入广域网;网关和智能家居组成了个域网。
1.4.2 按传输技术分类
- 广播式网络:当一台计算机发送数据分组时,广播范围内所有的计算机都会收到该分组,并通过检查分组的目的地址决定是否接收该分组。所有的无线网络都是广播式。
- 点对点网络:数据只会从发送方“点对点”发到接收方,精准送达。路由器为点对点。
1.4.3 按拓扑结构分类
- 总线形结构:数据“广播式”传输,存在“总线争用”的问题。典型代表是集线器连接的设备。
- 环形结构:数据“广播式”传输,通过“令牌”解决总线争用问题,令牌环形依次传递,拿到令牌者可以使用总线。典型代表是令牌环网(流行于2000年以前的局域网技术)。
- 星形结构:由中央设备实现数据的“点对点”传输,不存在“总线争用”的问题。典型代表是以太网交换机连接的设备。
- 是网状结构:数据通过各中间节点逐一存储转发,属于“点对点”传输。典型代表是由众多路由器构建的广域网。
1.4.5 按使用者分类
- 公用网:向公众开放的网络,如办宽带、交手机话费即可使用的互联网。
- 专用网:仅供某个组织内部使用的网络,如政府、军队、电力和银行的内部网络。
1.4.6 按传输介质分类
- 有线网络:网线、光纤。
- 无线网络:5G、WIFI、卫星。
1.5 计算机网络性能指标
1.5.1 速率、带宽、吞吐量
一条通信线路在逻辑上对应一条发送信道和一条接收信道。而速率(Speed)指的是连接到网络上的节点在信道上传输数据的速率。也称为数据传输速率,单位为
b
p
s
bps
bps。另外,
1
B
=
8
b
1B=8b
1B=8b,在做题过程要注意单位的换算。(B=Byte字节,b=bit比特)
带宽指的是某信道所能传送的最高数据率。信道带宽越大传输数据的能力越强。
假设主机A和主机B之间的带宽为 100 M b p s 100Mbps 100Mbps,主机A的网卡速率为 1 G b p s 1Gbps 1Gbps,主机B的网卡速率为 10 M b p s 10Mbps 10Mbps,主机A给主机B发送数据的最高理论速率应为多少。
应为
10
M
b
p
s
10Mbps
10Mbps,最高速率受到双方的影响,“猪队友”带不动。
吞吐量受带宽限制、受复杂的网络负载情况影响。考试很少涉及。
1.5.2 时延、时延带宽积、往返时延
**时延(Delay)指的是数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需要的时间。**有时也称为延迟和迟延。总时延等于发送时延+传播时延+处理时延+排队时延。后两种时延基本不考虑。
H1给 H2 发送一个数据分组。分组大小为 1000 B 1000B 1000B,H1往链路A发送数据的速率为 100 M b p s 100Mbps 100Mbps,路由器往链路B发送数据的速率为 80 M b p s 80Mbps 80Mbps。链路A传播时延为 0.01 m s 0.01ms 0.01ms,链路B传播时延为 0.05 m s 0.05ms 0.05ms,不考虑路由器的处理时延、排队时延。求传输整个分组的总时延。
H1
→
\rightarrow
→链路A:传播时延+发送时延=
0.01
m
s
+
8000
b
1
0
8
b
/
s
=
0.09
m
s
0.01ms+\frac{8000b}{10^{8}b/s}=0.09ms
0.01ms+108b/s8000b=0.09ms
H2
→
\rightarrow
→链路B:传播时延+发送时延=
0.05
m
s
+
8000
b
8
×
1
0
7
b
/
s
=
0.15
m
s
0.05ms+\frac{8000b}{8\times10^{7}b/s}=0.15ms
0.05ms+8×107b/s8000b=0.15ms
总时延为:
0.09
m
s
+
0.15
m
s
=
0.24
m
s
0.09ms+0.15ms=0.24ms
0.09ms+0.15ms=0.24ms。
时延带宽积指的是传播时延和带宽的乘积,单位为
b
i
t
bit
bit。其含义是一条链路中,已从发送端发出但尚未到达接收端的最大比特数。考试很少涉及。
在下图所示的分组交换网络中,主机H1和H2通过路由器互连,2段链路的带宽均为 100 M b p s 100Mbps 100Mbps,时延带宽积(即单向传播时延*带宽)均为 1000 b i t s 1000bits 1000bits。若H1向H2发送1个大小为 1 M B 1MB 1MB的文件,分组长度为 1000 B 1000B 1000B,则从H1开始发送时刻起到H2收到文件全部数据时刻止,所需的时间至少是多少?(注:M=106)D
由于文件大小为
1
M
B
=
8
×
1
0
6
b
1MB=8\times10^{6}b
1MB=8×106b,分组长度为
1000
B
=
8
×
1
0
3
b
1000B=8\times10^{3}b
1000B=8×103b,故这个文件共分成
1
0
3
10^{3}
103个分组。
对于每个分组而言,其发送时延为
8
×
1
0
3
8
×
1
0
8
=
0.08
m
s
\frac{8\times10^{3}}{8\times{10^8}}=0.08ms
8×1088×103=0.08ms。
由于时延带宽积为传播时延
×
\times
×带宽,且带宽为
1
×
1
0
8
b
1\times{10^8}b
1×108b,因此传播时延等于
1
×
1
0
3
b
i
t
s
1
×
1
0
8
b
=
0.01
m
s
\frac{1\times10^3bits}{1\times{10^8}b}=0.01ms
1×108b1×103bits=0.01ms。
因此,总耗时等于
0.09
m
s
×
2
+
999
×
0.08
m
s
=
80.1
m
s
0.09ms\times2+999\times0.08ms=80.1ms
0.09ms×2+999×0.08ms=80.1ms。另外999个分组之所以每个耗时是
0.08
m
s
0.08ms
0.08ms是因为不考虑处理时延和排队时延。
往返时延指的是从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。
在游戏延迟中,反映的就是“手机-服务器”之间的往返时延。
1.5.3 信道利用率
手机H1和H2通过蓝牙连接,连接时长为1分钟。在此期间,H1给H2以 80 M b p s 80Mbps 80Mbps的速率传输了20张大小 10 M B 10MB 10MB的照片。求蓝牙连接期间的信道利用率。
信道利用率 = 有数据通过的时间 有数据通过的时间 + 没有数据通过的时间 = 20 × 8 × 1 0 7 / 8 × 1 0 7 s 60 s × 100 % = 33.3 % 信道利用率=\frac{有数据通过的时间}{有数据通过的时间+没有数据通过的时间}\\=\frac{20\times8\times10^{7}/8\times10^{7}s}{60s}\times100\%=33.3\% 信道利用率=有数据通过的时间+没有数据通过的时间有数据通过的时间=60s20×8×107/8×107s×100%=33.3%
知识点回顾
1.6 计算机体系结构
1.6.1 分层结构概述
- 网络体系结构是从功能上描述计算机网络结构。
- 每层结构遵循某个/些网络协议以完成本层功能。
- 计算机网络体系结构是计算机网络的各层及其协议的集合。
- 第 n n n层在向第 n + 1 n+1 n+1层提供服务时,此服务不仅包含第 n n n层本身的功能,还包含由下层服务提供的功能。
- 仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
- 体系结构是抽象的,而实现是指能运行的一些软件和硬件。
知识点回顾
1.6.2 OSI参考模型
物联网叔会使用
-
应用层:所有能和用户交互产生网络流量的程序,即连网才能使用的应用。典型应用层服务:文件传输(FTP)、电子邮件(SMTP)。
-
表示层:用于处理在两个通信系统中交换信息的表示方式(语法和语义)。**功能一:**数据格式变换。把比特流格式转换成jpg格式;**功能二:**数据加密解密。微信支付密码加密后再传输;**功能三:**数据压缩和恢复。视频聊天时把图像压缩后再传输到链路上。
-
会话层:向表示层实体或用户进程提供建立连接并在连接上有序地传输数据。功能一:建立、管理和终止会话;**功能二:**使用校验点可使会话在通信失效时从校验点或同步点继续恢复通信,实现数据同步,适用于传输大文件,若在传输过程中网络断开,不必从头再开始传输。
-
传输层:负载主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。**功能一:**可靠传输和不可靠传输。可靠传输指的是报文段被确认收到后才会发送下一个报文段,而不可靠传输指的是不需要确认机制,适用于小的文件;**功能二:**差错控制。发送的报文段如果出错或丢失,传输层可以检验和改正;**功能三:**流量控制。接收方接收不来的时候,发送方会控制发送的体量;功能四:复用分用。复用指的是多个应用层进程可以同时使用下面传输层的服务,分用指的是传输层把收到的信息分别交付给上面应用层中的相应进程。 -
网络层:主要任务是把分组从端源传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。**功能一:**路由选择;**功能二:**流量控制;**功能三:**差错控制;**功能四:**拥塞控制。
-
数据链路层:主要任务是把网络层传下来的数据报组装成帧。单位是帧。**功能一:**成帧。定义帧的开始和结束;**功能二:**差错控制。帧错+位错;**功能三:**流量控制;**功能四:**访问(接入)控制。控制对信道的访问。 -
物理层:主要任务是在物理媒体上实现比特流的透明传输。单位是比特。透明传输指的是不管所传数据是什么样的比特组合,都应该能够在链路上传送。**功能一:**定义接口特性;**功能二:**定义传输模式。单工、半双工和双工;**功能三:**定义传输速率;**功能四:**比特同步。
1.6.2 OSI和TCP/IP参考模型的不同点
知识点回顾
1.6.3 五层参考模型
综合了OSI和TCP/IP参考模型的优点,建立了计算机网络五层参考模型。