术语表

术语 含义
透明性 客观存在并且运行着但是看不到的特性。
协议栈 协议的。通常分为三个主要部分:媒体,传输和应用。

计算机网络体系结构

计算机网络概述

概念

三种观点。

  1. 广义观点:任何能实现远程信息处理的系统或能进一步达到资源共享的系统。计算机网络发展的低级阶段。
  2. 资源共享观点:以能够相互共享资源的方式互联起来的自治计算机系统的集合。符合目前计算机网络的基本特征。
    • 目的:资源共享
    • 组成单元:分布在不同地理位置的多台独立的“自治计算机”
    • 统一规则:网络协议
  3. 用户透明性观点:能够为用户自动管理资源调用用户所需要的资源的,大型的,透明的网络操作系统。描述了一个分布式系统,是未来发展追求的目标。

组成

三个角度。

  1. 组成部分上:硬件软件协议

    • 硬件:主机(端系统)、通信链路(双绞线、光纤等)、交换设备(路由器、交换机等)、通信处理机(网卡等)等。
    • 软件:多属于应用层。
    • 协议(核心):规定了网络传输数据时的规范。
  2. 工作方式上:边缘部分核心部分

    • 边缘部分:连接到因特网上、供用户直接使用的主机组成。进行通信和资源共享。
    • 核心部分:大量网络和连接网络的路由器组成。为边缘部分提供连通性和交换服务。
  3. 功能组成上(逻辑功能上):通信子网资源子网

    • 通信子网:传输介质、通信设备、网络协议。实现数据通信
    • 资源子网:设备和软件的集合。实现资源共享,向网络用户共享其他计算机上的硬件资源、软件资源、数据资源服务。

功能

主要有五大功能:数据通信、资源共享、分布式处理、提高可靠性、负载均衡。

  1. 数据通信(最基本、最重要、基础):实现联网计算机之间的信息传输,将计算机联系起来,统一调配、控制、管理。
  2. 资源共享:资源可以是软件、数据、硬件。能够提供资源利用率。
  3. 分布式处理:利用空闲计算机资源,提高整个系统的利用率。
  4. 提高可靠性:网络中的计算机可以通过网络互为替代机。
  5. 负载均衡:将工作均衡分配给各台计算机。

计算机网络的三大主要功能是前三条(即数据通信、资源共享、分布式处理)。

分类

  1. 按分布范围:广域网、城域网、局域网、个人区域网。

    • 广域网(WAN):提供长距离通信,范围几十km~几千km,有时也称“远程网”。连接各节点交换机的链路一般为高速链路,通信容量大。
    • 城域网(MAN):范围5~50km。多采用以太网技术,有时并入局域网范围讨论。
    • 局域网(LAN):范围通常为直径几十m~几km的区域。在计算机的配置数量上没有太多限制。
    • 个人区域网(PAN):范围直径越10m。利用无线技术,也常称为“无线个人区域网(WPAN)”。

    若中央处理器间隔非常近,则一般称“多处理器系统”,而不称为“计算机网络”。

    分布范围不是区分广域网局域网的关键,传输技术是。

  2. 传输技术广播式网络点对点网络

    • 广播式网络:所有联网计算机都共享一个公共通信信道。一台计算机利用信道发送报文分组时,其他所有计算机都会收听到这个分组。计算机通过检查目的地址来决定是否接受该分组。局域网基本上都采用此技术;广域网中无线、卫星通信网络也采用此技术。
    • 点对点网络:每条物理线路连接一对计算机。若通信的两主机间没有直接连线,则需要通过中间结点接收、存储和转发。广域网基本上都属于点对点网络。

    是否采用分组存储转发和路由选择机制是点对点网络广播式网络的重要区别。

  3. 拓扑结构:总线形、星形、环形、网状。前三种多用于局域网,最后一种多用于广域网。

    • 总线形网络:单根传输线连接所有计算机。
    • 星形网络:每个终端都与中央设备单独相连。
    • 环形网络:所有计算机接口设备连成一个环,环可以是单环或双环,但环中信号是单向传输的。最典型例子是令牌环局域网
    • 网状网络:每个结点至少有两条路径与其他结点相连,有规则型和非规则型两种。多用在局域网中。
    网络类型 优点 缺点
    总线形 建网容易、增减节点方便、节省线路 重负载时通信效率不高、总线任意一处对故障敏感
    星形 便于集中控制和管理(端用户通信必经过中央设备) 成本高、中心设备对故障敏感
    环形 电缆长度短、无差错传输(点对点) 可靠性差、故障诊断困难、结点调整困难
    网状 可靠性高 控制复杂、线路成本高
  4. 按使用者:公用网(公众网)、专用网。

  5. 按交换技术:电路交换网络、报文交换网络(存储–转发网络)、分组交换网络(包交换网络)。

    • 电路交换网络:分建立连接、传输数据、断开连接三个阶段。最典型例子是传统电话网络
    • 报文交换网络(存储–转发网络):用户数据加上辅助信息封装成报文;整个报文传送到相邻结点后再转发,直到目的结点。每个报文可以单独选择到达目的结点的路径。
    • 分组交换网络(包交换网络):主流网络使用方案。先分块,再封装,然后存储–转发传输。主要特点是单个分组传送到相邻结点,存储后查找转发表转发到下一结点。现在的主流网络基本上都可视为分组交换网络。
    网络类型 优点 缺点
    电路交换 数据直接传送、时延小 线路利用率低、
    不能充分利用线路容量、
    不便于进行差错控制
    报文交换 线路容量利用较为充分、
    可以实现不同链路之间不同数据传输速率的转换、
    可以实现格式转换、
    可以实现一对多、多对一访问、
    可以实现差错控制
    增大了资源开销(辅助信息导致的时空开销)、
    增大了缓冲时延、
    需要额外控制机制保证多个报文顺序、
    缓冲区难以管理(接收方无法预知报文大小)
    分组交换 同上,
    并且缓冲易于管理、
    包的平均时延更小、
    网络占用的平均缓冲区更小
    资源开销大
  6. 按传输介质:有线网络、无线网络。

性能指标

  • 带宽(bandwidth):单位bps。表示网络的通信线路所能传输数据的能力,即最高数据传输速率

  • 时延(delay):数据从网络或链路的一端传送到另一端所需的总时间。

    • 发送时延(传输时延):将分组的比特推向链路所需时间。
    • 传播时延:电磁波在信道中传播的时间。
    • 处理时延:在交换结点为存储转发进行处理的时间。
    • 排队时延:在输出队列中排队等待转发的时间。

    后两者一般忽略不计。高速链路提高的仅是数据发送速率而非传播速率,减小了发送时延

$$
\text{总时延}=\text{发送时延}+\text{传播时延}+\text{处理时延}+\text{排队时延}
$$

$$
\text{传播时延}=\dfrac{\text{信道长度}}{\text{信道上的传播速率}}
$$

$$
\text{发送时延}=\dfrac{\text{分组(数据帧)长度}}{\text{数据传输速率(信道宽度)}}
$$

​ 如果是电路交换网络,还需要加上电路建立/断开的时延。

  • 时延带宽积:又称以比特为单位的链路长度。指发送端发送的一个比特到达终点时,发送端已发出多少比特

$$
\text{时延带宽积}=\text{传播时延}\times\text{信道带宽}
$$

  • 往返时延(RTT,Round-Trip Time):指从发送端发送数据开始,到发送端收到来自接受端的确认为止所经历的时延。
  • 吞吐量(throughput):单位时间内通过某个网络/信道/端口的数据量。受带宽限制。
  • 速率(speed):也称数据传输速率、数据率、比特率,单位bps。最高值称带宽。
  • 信道利用率。

$$
\text{信道利用率}=\dfrac{\text{有数据通过的时间}}{\text{总时间}}
$$

计算机网络体系结构与参考模型

分层结构

分层的基本原则:

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

计算机网络从低到高分为第1~n层。

在计算机网络分层结构中,第n​层中的活动元素称为第n层实体。不同机器上的同一层称为对等层。同一层的实体称为对等实体。第n​层实体实现的服务为第n+1​层所利用,其中第n​层称服务提供者,第n+1​称服务用户

每个报文(协议数据单元,PDU)分两部分:服务数据单元(SDU)、协议控制信息(PCI)。第n​层前加“n–”。
$$
n\text{-SDU}+n\text{-PCI}=(n-1)\text{-SDU}
$$
层次结构的含义:

  1. 第n层的服务是其及其下各层提供服务的总和。
  2. 最低层只提供服务,最高层面向用户提供服务,中间层是下一层的服务使用者,是上一层的服务提供者。
  3. 上一层仅能通过相邻层间的接口使用下一层的服务,下一层提供的服务的实现细节对上一层透明。
  4. 两主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方。

分层的目标不包括定义功能执行的具体方法

协议、接口、服务

  • 协议:全称网络协议(network protocol)。是控制两个或多个对等实体进行通信的规则的集合,是水平的。不对等实体间不存在协议。

  • 接口(interface):同一结点相邻两层间交换信息的连接点,是一个系统内部的规定。接口定义不能跨层。在典型接口上,同一结点相邻两层实体通过服务访问点(SAP,Service Access Point)进行交互。第n层SAP是第n+1层访问下一层服务的地方

  • 服务:下层为紧邻上层提供的功能调用,是垂直的。只有能够被上一层“看得见”的功能才称为服务。

    • 服务原语:OSI参考模型中上层使用下层服务时交换的命令。

      1. 请求(request):用户对提供者。
      2. 指示(indication):提供者对用户。
      3. 响应(response):用户对提供者,对应于指示。
      4. 证实(confirmation):提供者对用户,对应于请求。

      后两类称为应答。有应答服务包含全部四类原语;无应答服务仅有前两种。

协议和服务的关系

  1. 只有本层协议实现,才能保证向上一层提供服务。
  2. 下层协议对上层服务用户透明。
  3. 协议是水平的,服务是垂直的。

计算机网络提供服务的分类

  1. 面向连接服务、无连接服务。
    • 面向连接服务:通信前双方必须先建立连接、分配相应资源,传输结束后释放连接和占用的资源。分连接建立、数据传输、连接释放三个阶段。TCP是面向连接服务协议
    • 无连接服务:通信前双方不需要先建立连接,需要发送数据时直接发送。是一种不可靠的服务。称其“尽最大努力交付(best-effort delivery)”。IP、UDP是无连接服务协议
  2. 可靠服务、不可靠服务。
    • 可靠服务:网络具有检错、纠错、应答机制,能保证数据正确可靠地传送到目的地。
    • 不可靠服务:网络只是尽量正确可靠地传送,是尽力而为的服务。其网络正确性、可靠性由应用或用户来保障。
  3. 有应答服务、无应答服务。
    • 有应答服务:接收方收到数据后向发送方发送相应应答。该应答由传输系统内部自动实现,而不由用户实现。文件传输服务是有应答服务
    • 无应答服务:接收方不自动给出应答。应答需要由高层实现。WWW服务即是无应答的

ISO/OSI参考模型

七层。

名称 PDU 任务/功能 典型协议
/标准
资源子网 应用层 数据 用户与网络的界面
为特定类型的网络应用提供访问参考模型环境的手段
最复杂、协议最多的一层
FTP(文件传送)
SMTP(电子邮件)
HTTP(万维网)
表示层 处理两通信系统中交换信息的表示方式
采用抽象的标准方法定义数据结构
采用标准的编码形式
数据压缩、加/解密
会话层 允许不同主机上各个进程间会话
为表示层实体/用户进程建立连接并有序传输数据,也称建立同步(SYN)
管理主机间会话进程(建立、管理、终止会话)
可以使用校验点恢复通信,实现数据同步
传输层 报文段
(TCP)
/
用户数据报
(UDP)
端到端连接提供可靠的传输服务
流量控制、差错控制、服务质量、数据传输管理
端到端的应答、分组排序
具有分用、复用功能
TCP
UDP
通信子网 网络层
(/网际层
/IP层)
数据报 通信子网的运行控制
分组路由选择
流量控制、拥塞控制、差错控制、网际互联
IP,IPX,
ICMP,IGMP,
ARP,RARP,
OSPF
数据链路层 将网络层传来的IP数据报组装成帧
成帧、差错控制、流量控制、传输管理(点到点)
(广播式)利用介质访问子层控制对共享信道的访问
SDLC
HDLC
PPP
STP
帧中继
物理层
比特 透明地传输原始比特流
规定电路接口参数
规定传输信号的意义和电气特征
EIA-232C
EIA/TIA RS-449
CCITT X.21
各层数据传输的差别:
  • 物理层实现比特流在传输介质之间的透明传输。
  • 数据链路层将有差错的物理线路变成无差错的数据链路,实现点到点的数据传输。
  • 网络层的主要功能是路由选择、拥塞控制、网际互联等,实现主机到主机的通信。
  • 传输层实现端到端的数据传输。

从本质上说,通信子网为网络环境中的主机提供点到点的服务,传输层为网络中的主机提供端到端的通信。

关于数据封装问题:

除物理层外,其他层均为上层提交的数据加上首部,另外数据链路层还要再加上尾部。传输层将上层提交的数据分割为报文后提交给下层。物理层以比特流形式透明地传送帧。

TCP/IP模型

事实上的国际标准。四层。

名称 OSI对应层 描述 典型协议/标准
应用层 应用层 (用户–用户)
包含所有高层协议
Telnet
FTP
DNS
SMTP
HTTP
表示层
会话层
传输层 传输层 (应用–应用 / 进程–进程)
使发送端和目的端主机对等实体进行通话
传输控制协议(TCP):
面向连接的,可靠的,单位报文段
用户数据报协议(UDP):
无连接的,不可靠的,单位用户数据报
网际层 网络层 (主机–主机)与网络层功能非常相似
将分组发往任何网络,并独立地选择合适路由,但不保证分组有序到达(由高层负责)
定义标准分组格式、协议
IP
(IPv4,IPv6)
网络接口层 数据链路层 (TCP/IP本身并未真正描述,仅指出主机必须使用某种协议连接网络,以便传递IP分组)
从主机或结点接收IP分组,并发送到指定物理网络上
物理网络既可以是局域网,也可以是公共数据网络
以太网、令牌环网、令牌总线网,
电话网、SDH、X.25、帧中继、ATM
物理层

IP协议是因特网中的核心协议。

TCP/IP为各种应用提供服务(everything on IP);

TCP/IP允许IP协议在由各种网络构成的互联网上运行(IP over everything)。

两模型的比较

相似:

  1. 都采用分层体系结构,且分层功能大体相似。
  2. 都是基于独立的协议栈概念。
  3. 都可以解决异构网络的互联,实现不同计算机之间的通信。

差异:

  1. OSI参考模型精确地定义了服务、协议、接口三个概念,与现代面向对象程序设计思想非常吻合;
    TCP/IP模型在这三个概念上没有明确区分。
  2. OSI参考模型产生于协议之前,不偏向于特定协议,通用性好;
    TCP/IP模型实际上是对已有协议的描述,不适合任何其他非TCP/IP的协议栈。
  3. TCP/IP模型在设计之初就考虑到多种异构网的互联问题,并将网际协议(IP)单独列为一个重要层次;
    OSI参考模型在认识到IP的重要性后,在网络层中又划分出一个子层来完成类似功能。
  4. OSI参考模型在网络层支持无连接/面向连接通信,但传输层仅有面向连接通信;
    TCP/IP模型认为可靠性是端到端的问题,在网际层仅有无连接通信模式,但传输层支持无连接/面向连接模式。

两种模型都不完美。

5层协议的体系结构模型

  • 应用层
    • 客户发起连接建立请求
    • 服务器接收连接建立请求
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层
    • 连接因特网

物理层

通信基础

基本概念

通信的目的是传送信息。数据是传送信息的实体。信号是数据的电气或电磁表现、数据在传输过程中的存在形式。

连续变化的数据/信号称模拟数据/信号,取值仅允许为有限几个离散值的数据/信号称数字数据/信号

串行传输指逐比特按时间顺序传输(多用于远距离通信),并行传输指若干比特通过多条信道同时传输。

(k进制)码元是用以表示一位k进制数字离散数值的固定时长的信号波形(数字脉冲),是数字通信中数字信号的计量单位。该时长称为码元宽度。

数据通信是指数字计算机或其他数字终端之间的通信。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
graph LR

a[信源]
b[变换器]
c[信道]
d[噪声源]
e[反变换器]
f[信宿]

subgraph x[发送端]
a-->b
end

subgraph y[接收端]
e-->f
end

b-->c-->e
d-->c

(单向)通信系统模型:发送端[信源➡️变换器]➡️信道(⬅️噪声源)➡️接收端[反变换器➡️信宿]

信道分类:

  • 按传输信号形式:模拟信道、数字信道。
  • 按传输介质:有线信道、无线信道。

信道上传送的信号分基带信号宽带信号。基带信号将数字信号直接用不同电压表示,然后直接送到数字信道上传输,称为基带传输。宽带信号将基带信号进行调制后形成频分复用信号,然后送到模拟信道上传输,称为宽带传输

三种通信方式:单向通信、半双工通信、全双工通信。

  • 单向通信:单方向通信,无反方向交互。一条信道。如无线电广播、电视广播。
  • 半双工通信:双方均可发送/接收,但不能同时发送和接收信息。两条信道。
  • 全双工通信:双方可同时发送和接收信息。

速率也称数据率,表示单位时间内传输的数据量,可用码元传输速率信息传输速率表示。

  • 码元传输速率(波特率/调制速率/波形速率/符号速率):单位时间内数字通信系统所传输的码元个数/脉冲个数/信号变化的次数。单位波特(Baud)。与进制数无关。
  • 信息传输速率(比特率/信息速率):单位时间内数字通信系统所传输的二进制码元个数(比特数)。单位比特每秒(bps)。

信道的极限容量:信道的最高码元速率或极限信息传输速率。

实际网络中常用带宽表示网络的通信线路所能传输数据的能力,即单位时间内从网络某一点到另一点所能通过的最高数据率,单位为bps。

奈奎斯特定理

香农定理

数据链路层

网络层

传输层

应用层