# 基本概念
# 概念、功能和分类
# 概念
计算机网络是一些采用单一技术的、互联的、自治的计算机系统的集合,用来实现资源共享和信息传递。
其包括三个基本要求:
- 自治的 (autonomous): 需要具有独立的硬件和操作系统
- 互联的 (interconnected): 通过通讯模块和接口交换信息
- 单一技术 (a single technology): 采用相同的协议和标准
# 因特网
因特网 (Internet) 是一些互联网子网连接而成的逻辑网络,其遵循的顶层协议是 TCP/IP 协议。因特网是最大的互连网。
从拓扑结构上看,因特网由结点 (node) 和连接结点的链路 (link) 组成。其拓扑结构按工作方式可以分为两个部分:
- 边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信 (传送数据、音频或视频) 和资源共享。
- 核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务 (提供连通性和交换)。
# 万维网
万维网 (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) 形式在互联网上发表。
制定互联网标准需要经过如下三个阶段:
- 互联网草案 (Internet Draft): 有效期 6 个月,此时不是 RFC 文档
- 建议标准 (Proposed Standard): 此时成为 RFC 文档
- 互联网标准 (Internet Standard): 正式标准。此时的每个标准有唯一 STD 编号。
# 计算机网络的性能
计算机网络常见的性能指标包括
- 速率 (bit/s): 数据的传送速率
- 带宽 (Hz & bit/s): 示某信道允许通过的信号频带范围 (Hz) 或单位时间内网络中的某信道所能通过的 “最高数据率”(bit/s)
- 吞吐量 (bit/s): 单位时间内通过某个网络的实际的数据量
- 时延 (s): 指数据从网络的一端传送到另一端所需的时间,可以细分为发送时延、传播时延、处理时延和排队时延
- 时延带宽积 (bit): 传播时延和带宽的乘积,就是以比特为单位的链路长度
- 往返时间 (s)
- 利用率:分为信道利用率和网络利用率
# 计算机网络体系结构
# 网络协议
在计算机网络中,一些规则明确确定了交换的数据格式以及有关的同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议 (network protocol), 简称协议。网络协议一般由以下三要素组成:
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步:事件实现顺序的详细说明
# 计算机网络体系结构的设计思想
计算机网络体系结构设计成可分层的。分层的基本原则包括:
- 每层都实现一种相对独立的功能,降低大系统的复杂度
- 各层之间界面自然清晰,易于理解,相互交流尽可能少
- 各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现
- 保持下层对上层的独立性,上层单向使用下层提供的服务
- 整个分层结构应能促进标准化工作
通常情况下,每一层需要完成的工作包括以下一种或多种:
- 差错控制:使相应层次对等方的通信更加可靠
- 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快
- 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原
- 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用
- 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接
# 计算机网络体系结构的概念
计算机网络各层及其协议的集合称为网络的体系结构 (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 的关系图如下: