Skip to content
Notes
GitHub

第 1 章 计算机网络体系结构

1.1. 概述

1.1.1. 概念

一般认为,计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。简言之,就是一些互联的、自治的计算机系统的集合。

定义分类

1. 广义观点

只要能实现远程信息处理的系统或能进一步达到资源共享的系统,都是计算机网络。

  • 在物理结构上具有计算机网络的雏形
  • 资源共享能力弱,是计网发展的低级阶段

2. 资源共享观点

类别内容
目的资源共享
组成单元分布在不同地理位置的多台独立的“自治计算机”
网络中的计算机必须遵循的统一规则网络协议

3. 用户透明性观点

存在一个能为用户自动管理资源的网络操作系统,能够调用用户所需要的资源,整个网络就像一个大的计算机系统一样,对用户是透明的。

1.1.2. 组成

1. 从组成部分上看

硬件软件协议三者缺一不可

部分具体
硬件主机(端系统)、通信链路(双绞线、光纤)、交换设备(路由器、交换机)、通信处理机(网卡)
软件包括各种实现资源共享的软件和方便用户使用的各种工具软件(网络操作系统、邮件收发系统、 FTP )
协议是核心,规定了网络传输数据时所遵循的规范

2. 从工作方式来看

  • 边缘部分 :由所有连接到因特网上、共用户直接使用的主机组成,用来进行通信和资源共享
  • 核心部分 : 由大量的网络和连接网络的路由器组成,为边缘部分提供连通性和交换服务

3. 从功能组成上看

分类详情
通信子网由各种传输介质、通信设备和相应的网络协议组成,使网络具有数据传输、交换、控制、存储能力,实现联网计算机之间的数据通信
资源子网实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源、数据资源的服务

1.1.3. 功能

  1. 数据通信
  2. 资源共享
  3. 分布式处理
  4. 提高可靠性
  5. 负载均衡

1.1.4. 分类

1. 按分布范围

  1. 广域网 WAN 范围几十 km ~ 几千 km (点对点)
  2. 城域网 MAN 范围 5 ~ 50 km
  3. 局域网 LAN 范围几十 m ~ 几 km (广播)
  4. 个人区域网 PAN 范围 10 m

2. 按传输技术

  1. 广播式网络
  2. 点对点网络

3. 按拓扑结构

由网中节点(路由器、主机等)与通信线路(网线)之间的几何关系

  1. 总线型
  2. 星形
  3. 环形
  4. 网状
  5. 混合型等

4. 按使用者

  1. 公用网
  2. 专用网

5. 按交换技术

  1. 电路交换网络:在源节点和目的节点之间建立一条专用的通路用于传输数据,如传统电话
  2. 报文交换网络:用户数据加上源地址、目的地址、校验码等辅助信息,封装成报文。整个报文传送到相邻节点,全部存储苟,再转发给下一个节点
  3. 分组交换网络 (包交换网络):将数据分成较短的固定长度的数据块,在每个数据块上加目的地址、源地址等辅助信息组成一个分组,以存储-转发方式传输。
    • 单个分组传送到相邻节点,存储后查找转发表,转发到下一个节点。
    • 具备报文交换的优点
    • 缓冲易于管理,包的平均时延更小,网络占用的平均缓冲区更少;更易于标准化;更适合应用

6. 按传输介质

  • 有线:双绞线网络、同轴电缆网络等
  • 无限:蓝牙、微博、无线电等

1.1.6. 性能指标

1. 带宽

本来表示通信线路上允许通过的信号频率范围,单位赫兹 Hz ,此处表示网络的通信线路所能传送数据的能力,是数字信道所能传送的“最高数据传输速率”的同义语,单位 bit/s

2. 时延

数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需的总时间

  • 发送时延 = 分组长度 / 信道宽度
  • 传播时延 = 信道长度 / 电磁波在信道上的传播速率
  • 处理时延:数据在交换节点为存储转发而进行的一些必要的处理所花费的时间(如分析首部、提取数据等)
  • 排队时延:分组在进入路由器后要先在输入队列中排队等待处理。路由器确定转发端口后,还要在输出队列中排队等待转发,这时产生了排队时延

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

3. 时延带宽积

发送端的第一个比特即将到达终点时,发送端已经发送出所少比特

时延带宽积 = 传播时延 × 信道带宽

4. 往返时延 RTT

从发送端发出一个短分组,到发送端接收到来自接收端的确认(接收端收到数据立即发送确认),总共经历的时延。

5. 吞吐量

单位时间内通过某个网络(或信道、接口)的数据量。吞吐量受网络带宽或网络额定速率的限制

6. 速率

连接到网络上的主机在数字信道上传送数据的速率(数据传输速率、数据率、比特率)

  • 单位: bit/s
  • 1 Mb/s = 10{3}\displaystyle{ 10 ^{ \left\lbrace 3 \right\rbrace } } kb/s = 10{6}\displaystyle{ 10 ^{ \left\lbrace 6 \right\rbrace } } b/s

7. 信道利用率

信道利用率 = 有数据通过时间 / (有 + 无) 数据通过时间

1.2. 体系结构与参考模型

1.2.1. 计算机网络分层结构

基本原则

  1. 每层都实现一种相对独立的功能,降低大系统的复杂度
  2. 各层之间的界面自然清晰,易于理解,相互交流尽可能少
  3. 各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术实现
  4. 保持下层对上层的独立性,上层单向使用下层提供的服务
  5. 整个分层结构应能促进标准化工作

分层

将分层后的网络从低层到高层依次称为第 1 层、…、第 n\displaystyle{ n } 层实体。实体指任何可发送或接收信息的硬件或软件进程,通常是一个特定的软件模块。第 n\displaystyle{ n } 层实体实现的服务为第 n+1\displaystyle{ n + 1 } 层所利用。

每一层还有自己的传送数据单位,其名称、大小、含义也各有不同。

报文分部分

  • 数据部分 SDU ,第 n\displaystyle{ n } 层的数据单元称为 n\displaystyle{ n }-SDU
  • 控制信息部分 PCI ,第 n\displaystyle{ n } 层的协议控制信息称为 n\displaystyle{ n }-PCI
  • 上面两部分共同组成 PDU,第 n\displaystyle{ n } 层协议数据单元记为 n\displaystyle{ n }-PDU

有下面关系

n-SDU+n-PCI=n-PDU=(n1)-SDUn \text{-SDU}+n \text{-PCI} = n \text{-PDU} =(n-1) \text{-SDU}

层次结构

  • n\displaystyle{ n } 层的实体不仅要使用第 n1\displaystyle{ n - 1 } 层的服务来实现自身定义的功能,还要向第 n+1\displaystyle{ n + 1 } 层提供本层的服务,该服务是第 n\displaystyle{ n } 层及其下面各层提供的服务总和
  • 最低层只提供服务,是整个层次结构的基础;中间各层既是下一层的服务使用者者,又是上一层的服务提供者;最高层向用户提供服务
  • 上一层只能通过相邻层间的接口使用下一层服务,而不能调用其他层的服务;下一层所提供服务的实现细节上对上一层透明
  • 两台主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方

1.2.2. 计算机网络协议 接口 服务的概念

1. 协议

协议就是规则的集合。为进行网络中的数据交换而建立的规则、标准或约定称为网络协议。它是控制多个对等实体进行通信的规则集合,是水平的。不对等实体之间是没有协议的。

协议由语法、语义、同步三部分组成。

  • 语法规定了传输数据的格式
  • 语义规定了所要完成的功能,即需要发出何种控制信息、完成何种动作以及做出何种应答
  • 同步规定了执行各种操作的条件、时序关系等,即事件实现顺序的详细说明

一个完整的协议通常具有线路管理、差错控制、数据转换功能。

2. 接口

同一节点内相邻两层间交换信息的连接点,是一个系统内部的规定。每层只能为紧邻的层次之间定义接口,不能跨层定义。在典型的接口上,同一结点相邻两层的实体通过服务访问点 SAP 进行交互。

3. 服务

是指下层为紧邻上层提供的功能调用,是垂直的。对等实体在协议控制下,使得本层能为上一层提供服务,但要实现本层协议还需要使用下一层所提供的服务。

服务原语

  • 请求:服务用户发往服务提供者,请求完成某工作
  • 指示:服务提供者发往服务用户,指示用户做某事情
  • 响应:服务用户发往服务提供者,作为对指示的响应
  • 证实:服务提供者发往服务用户,作为对请求的核实

public/network/jw01brt.svg

服务分类
  1. 面向连接服务和无连接服务
  2. 可靠服务和不可靠服务
  3. 有应答服务和无应答服务

1.2.3. ISO/OSI 参考模型和 TCP/IP 模型

OSI/RM 模型

自下而上依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

  • 第三层称为通信子网
  • 高三层称为资源子网

TCP/IP 模型

从低到高依次为:网络接口层、网际层、传输层、应用层。TCP/IP 由于得到广泛应用而成为事实上的国际标准。

public/network/jw01ioijvdf.svg

共同点和不同点

  1. OSI 的最大贡献就是精确地定义了三个主要概念:服务、协议、接口,这与现代的面向对象程序设计思想非常吻合。 TCP/IP 模型在这三个概念上却没有明确区分。
  2. OSI 参考模型产生在协议发明之前,没有偏向于任何特定的协议,通用性良好,但设计者在协议方面没有太多经验,不知道把哪些功能放在哪一层更好。 TCP/IP 相反,首先出现协议,模型实际上是对已有协议的描述。
  3. TCP/IP 模型在设计之初就考虑到了多种异构网络的互联问题,并将网际协议 IP 作为一个单独的重要层次。 OSI 参考模型最初只考虑到用一种标准的公用数据网络将各种不同的系统互联。
  4. OSI 参考模型在 网络层 支持无连接和面向连接 的通信,但在传输层仅有面向连接的通信。而 TCP/IP 模型认为可靠性是端到端的问题,因此在网际层仅有一种无连接的通信模式,但 传输层 支持无连接和面向连接 两种模式。

1.3. 小结

1. 计算机网络与分布式计算机系统的区别

分布式:整个系统中各个计算机对用户都是透明的。用户通过输入命令就可以运行程序,但用户并不知道哪台计算机在为他运行。操作系统为用户选择一台最合适的计算机来运行程序,并将运行结果传到合适的地方。

计算机网络:用户必须先登录欲运行程序的计算机,然后按照计算机的地址,将程序通过计算机网络传到该计算机中运行,最后根据用户的命令将结果传送到指定的计算机中。

二者的区别主要是软件不同。

2. 为什么一个网络协议必须考虑到各种不利的情况

网络协议如果不全面考虑不利情况,那么当情况发生变化时,协议就会保持理想状况,一直等待下去。因此需要协议非常仔细地检查协议能否应付各种异常情况。

3. 因特网使用的 IP 协议是无连接的,因此其传输是不可靠的。这样容易使人们感到因特网很不可靠。那么为什么当初不把因特网的传输协议设计为可靠的呢

谁应当负责数据传输的可靠性?

  • Opinion 1: 通信网络负责(电信网的发展历史及技术水平)
  • Opinion 2: 用户的的主机负责(可以使计算机网络便宜、灵活)

计算机网络先驱认为:计算机网络和电信网的一个重大区别是终端设备的性能差别很大。于是他们采用了端到端的可靠传输策略,即在传输层用面向连接的 TCP 协议,这样既能使网络部分价格便宜且灵活可靠,又能保证端到端的可靠传输。