计算机网络体系结构
计算机网络体系结构
第一章_计算机网络的概念
1.1 计算机网络概述
1.1.1 计算机网络的概念
首先我们简单的认识三个设备:
- 集线器:将多个不同终端连接起来,但是当某个设备发送数据时,集线器会把数据广播到所有端口,无法处理数据冲突,经常卡顿。集线器也能连接集线器,现在已经被淘汰了。
- 交换机:集线器的升级版,用于将不同终端连接起来,交换机可以根据 MAC 地址表 将数据 只转发到目标端口,而不是广播到所有端口,可以处理数据冲突。用于网络内部,交换机上也能连接交换机。
- 路由器:用于连接不同的网络,根据 IP 地址 选择数据包的最佳传输路径。家用路由器 = 路由器 + 交换机 + 其他功能
认识了这三个设备之后,我们需要严格区分以下三个概念:
- 计算机网络(简称网络):计算机网络是由若干节点(Node,或译为结点)和连接这些结点的链路组成,结点可以是计算机、集线器、交换机或路由器等。多个网络可以通过交换机互连,构成更加覆盖范围更广的计算机网络。
- 互连网(internet):是一个通用名词,泛指多个计算机网络互连而成的网络网络之间可以采用任意通信协议进行通信。
- 互联网(Internet,因特网):是一个专用名词,特指当前最大最开放的由众多网络和路由器互连而成的特定计算机网络。它必须采用TCP/IP协议族作为通信规则。
网络的最终用户通过互联网服务提供商(Internet Service Provider,ISP) 接入互联网,例如中国电信、中国移动等。所谓上网,是指通过某 ISP 分配的 IP 地址接入互联网。ISP 可从互联网管理机构申请大量 IP 地址(互联网上的主机都必须拥有 IP 地址才能接入互联网,这一点将在第 4 章中讨论),并拥有通信线路及路由器等连网设备。因此,任何机构或个人只要向 ISP 缴纳费用,就可获得所需 IP 地址的使用权,并通过该 ISP 接入互联网。
1.1.2 计算机网络的组成
从不同角度看,计算机网络的组成可以分为以下几类:

1.1.3 计算机网络的功能
计算机的功能是多种多样的,现今许多应用都依赖于网络的支持,主要有以下五大功能。
- 数据通信:数据通信是计算机网络最基本的功能,用来实现计算机之间各种信息的传输。例如,文件传输、电子邮件等应用,离开了计算机网络将无法实现。
- 资源共享:资源共享可以是软件、硬件或数据资源的共享。
- 分布式处理:当网络中的某个计算机系统负荷过重时,可将其处理的某个复杂任务分配给网络中的其他计算机系统。例如:矩阵的乘法
- 提高可靠性:计算机网络中的每台计算机可以通过网络互为备份。例如:网盘不仅给你存储还给你备份。
- 负载均衡:将工作任务均衡地分配给网络中的多台计算机,避免某台计算机因负载过重而瘫痪。
除了上述主要功能外,计算机网络还能支持电子化办公与应用服务、远程教育等功能,满足了社会的各种信息化需求。
1.1.4 电路交换,报文交换,分组交换
首先先抛开我们脑海中已有的计算机网络拓扑图。在 1960 年代,美国科学家们开始研究使用什么技术实现数据交换,那时候可还没有计算机网络。
1.1.4.1 电路交换
这是仿照了传统电话的通信方式,就是一种端对端的通信方式,电路交换分为三个阶段:建立连接(占用通信资源)、传输数据(持续占用通信资源)和释放连接(归还通信资源),在通信过程中这条通路始终被通信双方独占,示意如图所示:
电路交换技术的优点:
- 通信时延小:通信线路为双方专用,数据直达,传输效率高。
- 有序传输:数据按发送顺序传送,不存在失序问题。
- 没有冲突:不同通信对使用独立信道,不会争用物理信道。
- 实时性强:物理通路一旦建立,双方即可随时通信。
电路交换技术的缺点:
- 建立连接时间长:平均建立连接的时间对计算机通信而言过长。
- 线路利用率低:物理通路被通信双方独占,即使空闲也无法供其他用户使用。
- 灵活性差:通路中任一节点或链路发生故障,都需重新建立新连接。
- 难以实现差错控制:中间节点不具备存储和检错能力,无法发现或纠正传输错误。
显然,由于计算机之间的通信通常是突发式(高频、少量) 的,若将这个技术应用到计算机网络,被占用的通信链路大部分时间处于空闲状态,利用率极低。
1.1.4.2 报文交换
终端将数据加上源地址、目的地址等控制信息后,被封装成报文(Message)。报文交换采用存储转发技术:整个报文先传送到相邻节点,被完整接收并存储后,节点更具转发表将其转发至下一跳,如此逐跳转发,直至到达目的端。每个报文可独立选择通往目的端的路径。示意如题所示:
报文交换技术的优点:
- 无建立和释放连接的时延:通信前无须建立连接,用户可随时发送报文。
- 线路分配灵活:交换节点在存储完整报文后,可选择当前最优空闲链路进行转发;若某条路径发生故障,该节点可动态切换至其他路径。
- 线路利用率高:报文仅在一段链路上传输时才占用这段链路的资源。
- 支持差错控制:交换节点可对缓存中的报文进行差错检验。
报文交换技术的缺点:
- 存储转发时延高:节点必须完整接收整个报文后,才能开始转发。
- 缓存开销大:由于报文大小没有限制,这就要求交换节点配备大容量缓存。
- 错误处理低效:报文越长,出错概率相对更大,重传整个报文的代价较大。
这种方式看上去有些符合我们现在的网络架构了,是可以用应用到计算机网络中的,但是可以看见其几乎所有的缺点都来自于报文长度不固定,可长可短。
1.1.4.3 分组交换
为了解决报文交换技术因报文过长带来的问题,提出了分组交换技术。要求源主机在发送前,先将较长的报文划分为若干较小的等长数据段,并在每个数据段前添加由必要的控制信息(如源地址,目的地址,分组编号)组成的首部,构成分组(Packet),如图所示:
源主机将分组发送到分组交换网,网络中的分组交换机(如路由器)收到一个分组后,先将其缓存,然后从首部提取目的地址,据此查找转发表,并将分组转发给下一个分组交换机。经过多个分组交换机的存储转发,分组最终到达目的主机。目的主机再进行删除不必要信息、拼接。如图所示:
分组交换不仅继承了报文交换的诸多优点,还具有以下优势:
- 便于存储管理,转发开销小:由于分组长度固定,缓冲区大小可预设,管理更高效。
- 传输效率高:分组可逐个发送,实现流水线操作,即后一个分组的接收可与前一个分组的转发并行,从而减少整体传输时间。
- 降低出错概率与重传代价:由于分组较短,出错概率也必然减小,重传数据量大幅减少,既提高了可靠性,又降低了传输时延。
分组交换技术的缺点:
- 存在存储转发时延:尽管比报文交换的传输时延小,但相比于电路交换仍存在存储转发时延,且要求节点交换机具备更强的处理能力。
- 需要传输额外的信息量:每个数据段都需附加控制信息以构成分组,使得传送的信息量增大约 5%~10%,从而增加了控制复杂度,降低了通信效率。
- 分组可能失序、丢失或重复:当采用数据报服务时,分组可能经不同路径到达,需在目的主机按编号重排序,处理较为复杂。若采用虚电路服务,虽可避免失序,但需经历建立连接、数据传输和释放连接三个阶段。
那分组交换就是目前计算机网络采用的技术,相比另一种虚电路交换(第四章学习),把分组的拆分和合并交给了比网络中的路由器性能一般更强大的终端计算机(性能强大)。也从而使网络核心设备结构更加简单,提高了网络的可扩展性。
1.1.4.4 三种交换方式的性能分析
分别采用图像对三种交换方式的过程和所用时间进行说明:
三种方式对比如下:

1.1.5 计算机网络分类
1.1.5.1 按分布范围分类

1.1.5.2 按传输技术分类
- 广播式网络 —— 当一台计算机发送数据分组时,广播范围内所有计算机都会收到该分组,并通过检查分组的目的地址决定是否接收该分组
- 点对点网络 —— 数据只会从发送方 “点对点” 发到接收方,精准送达
1.1.5.3 按拓扑结构分类
常见拓扑结构包括总线型、星型、环型和网状网络。前三种常见于局域网,最后一种常见于广域网。
-
总线形网络: 数据“广播式”的传播,存在总线争用问题。注意集线器看上去是星形结构,实际是总线形结构

-
星形网络: 由中央设备实现的“点对点”传输,不存在总线争用问题,典型代表是以太网交换机。

-
环形网络: 数据“广播式”传播,通过“令牌”解决“总线争用问题,令牌顺环形依次传递,拿到令牌者可使用总线。典型代表是 1980 年代的令牌环网。

-
网状网络: 数据通过各中间结点逐一存储转发,属于“点到点”传输。典型代表是由众多路由器构建的广域网。

1.1.5.4 按使用者分类
- 公用网 —— 向公众开放的网络。如:办宽带、交手机话费即可使用的互联网。
- 专用网 —— 仅供某个组织内部使用的网络。如:政府、军队、电力、银行的内部网络。
1.1.5.5 按传输介质分类
- 无线网络 —— 如 5G,Wi-Fi,卫星。
- 有线网络 —— 如 网线,光纤。
1.1.6 计算机网络的性能指标
1.1.6.1 速率(Speed)
信道(Channel): 单向,表示向某一方向传送信息的通道(信道≠通信线路),一条通信线路在逻辑上往往对应一条发送信道和一条接收信道。
速率(Speed) 是指连接到网络上的节点在信道上传输数据的速率,也称为数据率或比特率、数据传输率。常用速率单位:bit/s = b/s = bps(bit per second),有时也会用 B/s = 8b/s。
我们再日常生活中常常看见前面会加上 K、M、G、T 等前缀。但是注意!在计算机网络中和在操作系统、计组中这些前缀的是有些不一样的。如图所示:

1.1.6.2 带宽(Bandwidth)
带宽在不同领域有着不同的含义.
在计算机网络中:
带宽表示网络通信线路所能传送数据的能力,指信道所能支持的最高数据传输速率,单位:bps(或记为 b/s、bit/s;可加上数量前缀 K、M、G、T)。示例如下:
值得注意的是,计算机网络中,节点之间的通信实际能达到的最高速率由带宽和节点性能共同决定。如图所示:
在通信原理(通信领域的一门基础学科)中:
带宽表示某信道允许通过的信号频带范围。单位:Hz(读作 “赫 / 赫兹”;可加上数量前缀 k、M、G、T)。
默认从 0 开始,比如说带宽为 400HZ 指的是 0-400HZ。赫兹指的是变化频率,带宽越高,自然是要更好的器件和传输介质才跟的上,来得及反应。
一个不太恰当的例子如下:
虽然两种带宽含义不同,但是都可表示信道传输数据的能力,在后面的章节中通过香农定理,奈氏准则将两种带宽联系起来。
1.1.6.3 吞吐量(Throughput)
考研中很少涉及,有大致了解即可。注意是要把双向的速率都加起来考虑,示意如图所示:

1.1.6.4 时延(Delay)
时延的概念如下:
以一个例题来熟悉一下:

1.1.6.5 时延带宽积
时延带宽积的含义:一条链路中,已从发送端发出但尚未到达接收端的最大比特数,可用于设计最短帧长。
将信道看成一个水管,带宽就是横截面积,传播时延就是长度。
时延带宽积就是水管总体积。
我们用一个真题来熟悉:

1.1.6.6 往返时延
游戏右上角的延迟就是往返时延,示意如图所示:

1.1.6.7 信道利用率
$$ U=\frac{T_d}{T_i+T_d} $$
- $U$:信道利用率
- $T_d$:信道有数据通过的时间(data)
- $T_i$:信道无数据通过的时间(idle)
以一个题目为例:
注意:信道利用率并不是越高越好,高了可能导致网络堵塞;也不是越低越好,低了浪费资源。
1.1.7 计算机网络体系结构与参考模型
1.1.7.1 计算机网络分层结构
计算机网络体系结构(NetWork Arichitecture) 是计算机网络各层及其协议的集合,就是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)。
实现(implementation) 是遵循这种体系机构的前提下,用任何硬件或软件完成这些功能的问题。
体系结构是抽象的,而实现是具体的。
有三种常见的计算机网络体系结构:
因为翻译不同,对有些术语的说明如下:
接下来引出三个关于数据的概念:
- SDU(服务数据单元):要传的数据
- PCI(协议控制信息):本层加的控制信息
- PDU(协议数据单元):封装后的结果
如果一层有多个协议,那么每个协议都独立拥有自己的一套 SDU、PCI、PDU。很明显,PDU = PCI + SDU。

1.1.7.2 协议、服务、接口的概念
实体:第 n 层中的活动元素(软件+硬件)称为第 n 层实体。
协议:是控制对等实体之间通信的规则集合。由语法、语言、同步(或时序)三部分组成(协议三要素)。
- 语法:数据与控制信息的格式。例如,协议控制信息(首部)部分占几个字节、每个字节是什么含义;协议的数据部分最多由多少字节。
- 语义:即需要发出何种控制信息、完成何种动作及做出何种应答。例如,协议中需要明确规定:发送方完数据后,接收方是否需要 “应答”,以及应答的种类有哪些(如:传输成功、传输失败)。
- 同步(或时序):执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。例如,发送方发完数据后,接收方需要立即应答。如果发送方在 10 秒内未收到 “传输成功” 应答,则发送方会再次发送数据。
服务:是指下层为紧邻的上层提供的功能调用。
接口:又称服务访问点(SAP),上一层通过接口请求下一层的服务。和 API 有些细微区别。
四个概念(三个核心概念)在结构中的体现如下:

1.1.7.3 OSI 参考模型
用一个口诀记忆:物联(链)网叔(输)会使(示)用。 一些常见设备的功能层次:集线器–纯粹在物理层;交换机–核心工作在数据链路层;路由器–核心工作在网络层。
物理层:
传输单位是比特(bit)。注意,传输使用的物理介质(如双绞线,光缆等)不属于物理层协议范畴,而是位于其下方。因此,有人将物理介质视为“第 0 层”。示意图如下:

数据链路层:
数据链路层的传输单位是帧(Frame),主要作用是将物理层提供的可能出错的物理连接,改造为逻辑上无差错的数据链路。将网络层交来的分组封装成帧,并可靠的传送到相邻节点的网络层。实现节点间的差错控制和流量控制。示意图如下:

网络层:
传输单位是数据包(或分组)(Packet),其主要任务是将分组从源主机传送到目的主机,为不同主机间提供通信服务。注意,网络层既提供有连接的虚电路服务,又提供无连接的数据报服务。示意图如下:

传输层: 传输单位是报文段(Segment),传输层负责不同主机中进程之间的端到端通信,OSI 参考模型的传输层仅提供面向连接的可靠服务。 需要注意的是,数据链路层实现节点到节点通信(基于 MAC 地址),网络层实现主机到主机通信(基于 IP 地址),而传输层实现端到端通信(基于端口号)。
由于一台主机可同时运行多个进程,传输层需具备复用与分用的功能:
- 复用:是指多个应用进程可同时使用传输层的服务
- 分用:是指传输层能将接收到的数据准确交付给对应的上层进程。
示意图如下:

会话层、示意层、应用层:
这几层考的都很少,示意图如下:

总结如下:

1.1.7.4 TCP/IP 模型
口诀:接网叔(输)用
和 OSI 模型对比如下:

附言
嘿嘿,我最喜欢的计算机网络。欢迎来到计算机网络的世界。