# 基本概念

# 概念、功能和分类

# 概念

计算机网络是一些采用单一技术的、互联的、自治的计算机系统的集合,用来实现资源共享和信息传递。

其包括三个基本要求:

  1. 自治的 (autonomous): 需要具有独立的硬件和操作系统
  2. 互联的 (interconnected): 通过通讯模块和接口交换信息
  3. 单一技术 (a single technology): 采用相同的协议和标准

# 因特网

因特网 (Internet) 是一些互联网子网连接而成的逻辑网络,其遵循的顶层协议是 TCP/IP 协议。因特网是最大的互连网。

从拓扑结构上看,因特网由结点 (node) 和连接结点的链路 (link) 组成。其拓扑结构按工作方式可以分为两个部分:

  1. 边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信 (传送数据、音频或视频) 和资源共享。
  2. 核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务 (提供连通性和交换)。

# 万维网

万维网 (World Wide Web, WWW) 是基于客户端 - 服务器 (Client/Server, C/S) 方式的信息发现技术和超文本技术的综合,是因特网顶层的分布式系统。

# 组成

计算机网络的组成可以按物理层面 (physical, hardware) 和逻辑层面 (logical, software) 进行区分。

在物理层面,计算机网络自小到大可以分为

  • 个人局域网 (Personal Area Network, PAN)
  • 局域网 (Local Area Network, LAN)
  • 城域网 (Metropolitan Area Network, MAN)
  • 广域网 (Wide Area Network, WAN)
  • 互连网 (internetWork)

在逻辑层面,计算机网络有以下部分组成

  • (layer): 计算机网络大多由一系列层的集合组成
  • 协议 (protocol): 两个通信实体如何交换信息的描述
  • 服务 (service): 计算机网络向两通信实体提供的辅助
  • 接口 (interface): 一个客户端如何使用服务的方式

# 功能

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

# 分类

计算机网络有多种分类方式。按照分布范围,可以分为广域网、城域网、局域网和个人区域网。按传输技术可以分为广播式网络和点对点网络。按拓扑结构可以分为总线形网络、星形网络、环形网络和网状网络。按交换技术可以分为电路交换网络、报文交换网络和分组交换网络 (包交换网络)。按传输介质可以分为有线网络和无线网络。

# 互联网标准

所有互联网标准以 RFC (Request For Comments) 形式在互联网上发表。

制定互联网标准需要经过如下三个阶段:

  1. 互联网草案 (Internet Draft): 有效期 6 个月,此时不是 RFC 文档
  2. 建议标准 (Proposed Standard): 此时成为 RFC 文档
  3. 互联网标准 (Internet Standard): 正式标准。此时的每个标准有唯一 STD 编号。

# 计算机网络的性能

计算机网络常见的性能指标包括

  1. 速率 (bit/s): 数据的传送速率
  2. 带宽 (Hz & bit/s): 示某信道允许通过的信号频带范围 (Hz) 或单位时间内网络中的某信道所能通过的 “最高数据率”(bit/s)
  3. 吞吐量 (bit/s): 单位时间内通过某个网络的实际的数据量
  4. 时延 (s): 指数据从网络的一端传送到另一端所需的时间,可以细分为发送时延、传播时延、处理时延和排队时延
  5. 时延带宽积 (bit): 传播时延和带宽的乘积,就是以比特为单位的链路长度
  6. 往返时间 (s)
  7. 利用率:分为信道利用率和网络利用率

# 计算机网络体系结构

# 网络协议

在计算机网络中,一些规则明确确定了交换的数据格式以及有关的同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议 (network protocol), 简称协议。网络协议一般由以下三要素组成:

  1. 语法:数据与控制信息的结构或格式
  2. 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
  3. 同步:事件实现顺序的详细说明

# 计算机网络体系结构的设计思想

计算机网络体系结构设计成可分层的。分层的基本原则包括:

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

通常情况下,每一层需要完成的工作包括以下一种或多种:

  1. 差错控制:使相应层次对等方的通信更加可靠
  2. 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快
  3. 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原
  4. 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用
  5. 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接

# 计算机网络体系结构的概念

计算机网络各层及其协议的集合称为网络的体系结构 (architecture). 具有代表性的体系结构包括两种:OSI 模型 TCP/IP 模型.

# OSI

OSI 是国际标准化组织 ISO 于 1977 年起研究并提出的,全称为开放系统互联基本参考模型 (Open Systems Interconnection Reference Model, OSI/RM). OSI 的体系结构包括 7 层,分别为物理层、数据链路层、网络层、运输层、会话层、表示层及应用层。OSI 是法律上的国际标准,但由于参与制定的专家缺乏实际经验、协议复杂、制定周期长、层次划分不合理等问题,OSI 没能广泛使用。

OSI 不是一种网络体系结构,因为对其中的层,其没有规定特定的服务和协议。其仅仅指出了每一层的功能。

上图是 OSI 的一个示例图。下面,我们将介绍 OSI 各层及其特点。

# 物理层

物理层 (the physical layer) 是借助通信信道传输比特流的层,为 OSI 的最底层。物理层的传输单元是比特 (bit)。

# 网络层

最基本的功能包括路由、差错控制以及如何分组。

# 传输层

传输层 (the transport layer) 承上启下,向上屏蔽了所有通信细节。其目的是保证端到端 (end-to-end) 的可靠传输,传输单位为传送协议数据单元 (Transport Protocol Data Unit, TPDU), 也可以笼统称之为报文 (message).

应用层上传输的数据也被称为报文,因此说报文是一个不严谨的概念。

# 会话层和表示层

会话层 (the session layer) 和表示层 (the presentation layer) 中没有协议被指定,于是成为了一个空层。表示和会话任务通过应用层实现。

# 应用层

应用层 (the application layer) 不是为上层提供服务,而是直接为最终用户进程提供应用服务。

# TCP/IP

TCP/IP 即传输控制协议 / 网络协议 (Transmission Control Protocol/Internet Protocol), 又称网络通讯协议。TCP/IP 本身是一些协议簇,其层是在协议簇结构的基础上后来进行划分的。因此其各层划分可能不十分严格,表述也不十分规范。TCP/IP 可以划分为

TCP/IP 是事实上的国际标准,也是 Internet 中最基本的协议。

TCP/IP 不具有可移植性。

# 链路层

TCP/IP 模型中的链路层 (the link layer) 实际上是接入 Internet 的所有接口的集合,其逻辑结构不十分完备

# 网络层

网络层 (the Internet layer) 中传递的数据单元也是 package. 其核心协议是 IP 协议。提供的服务是无连接服务 (connectionless service).

ip 数据报.

# 具有五层协议的体系结构

将 OSI 和 TCP/IP 的特点进行抽象,就得到了具有五层协议的体系结构。其包括物理层、数据链路层、网络层、运输层和应用层,与 OSI 和 TCP/IP 的关系图如下: