计算机网络的体系结构

协议与层级划分

计算机网络的各层及其协议的集合就是网络的体系结构

体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,也可简称为协议。

网络协议主要由以下三个要素组成:

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

分层的好处

  1. 各层之间是独立的,某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。
  2. 灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。
  3. 结构上可分割开。各层都可以采用最合适的技术来实现。
  4. 易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统己被分解为若干个相对独立的子系统。
  5. 能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。

功能(可包含一种或多种):

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

网络体系结构

计算机网络体系结构 - 图1
计算机网络体系结构 - 图2

五层协议各层及其主要功能

  1. 物理层
    透明地传送比特流,确定连接电缆插头的定义及连接法。
    注意:传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在物理层的下面,当做第0 层。
  2. 数据链路层
    两个相邻结点间的线路上无差错地传送以帧(frame)为单位的数据。每一帧包括数据和必要的控制信息。
  3. 网络层
    选择合适的路由,使发送站的运输层所传下来的分组能够正确无误地按照地址找到目的站,并交付给目的站的运输层。
    网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输 层产生的报文段或用户数据报封装成分组或包进行传送
  4. 运输层
    向上一层的进行通信的两个进程之间提供一个可靠的端到端服务,使它们看不见运输层以下的数据通信的细节。
    传输控制协议 TCP一一提供面向连接的、可靠的数 据传输服务,其数据传输的单位是报文段(segment)
    用户数据报协议 UDP — 提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报
  5. 应用层
    直接为用户的应用进程提供服务,通过应用进程间的交互来完成特定网 络应用

七层各层功能

  1. 应用层:所有能和用户交互产生网络流量的程序;用户与网络的界面;典型服务:文件传输FTP、电子邮件STMP、万维网HTTP
  2. 表示层:用于处理在两个通信系统中交换信息(指数据传递)的表示方式(语法和语义)功能: 数据格式变换 数据进行加密解密 数据的压缩和恢复
  3. 会话层:向表示层实体/用户进程提供建立连接并在连接上有序传输数据;这叫会话,也叫建立同步(SYN);运用协议:ADSP、ASP功能: 建立管理终止会话 使用校验点可以使会话在通信失效地时候从校验点/同步点继续恢复通信,实现数据同步,适用于传输大文件
  4. 传输层:负责主机中两个进程的通信,即端到端通信;传输单位使报文或用户数据报功能:(可差流用) 可靠传输、不可靠传输 差错控制 流量控制:控制发送方发送数据的速度 复用分用:多个应用层进程可同时使用下层传输层的服务(复用);(分用)运输层把收到的信息分别交付给上层应用层中相应的进程
  5. 网络层:把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务;传输单位是数据报功能: 路由选择:选择最佳路径 流量控制:协调发送端的发送速度和接收端的关系(限制发送端的速度) 差错控制:检错+纠错 拥塞控制:(主要是全局的速度)若所有节点都来不及分组而要丢弃大量分组的话,网络就处于拥塞状态,因此需要采用一系列措施来缓解这种拥塞
  6. 数据链路层:把网络层上传下来的数据包组装成帧功能: 封装成帧,定义帧的开始和结束位置 差错控制,帧错(丢弃or改正—可靠传输协议)+位错 流量控制,关于发送方和接收方的接收发送速率的协调 访问(接入)控制,控制对信道的访问
  7. 物理层:主要任务是在屋里媒体上实现比特流的透明传输(无论所传的数据是什么样的比特组合,都应该在链路上传送),传输单位是比特功能: 定义接口特性 定义传输模式(单工、双工、半双工) 定义传输速率 比特同步 比特编码

image.png

OSI和TCP/IP的相同点

  1. 都分层
  2. 都基于独立的协议栈的概念
  3. 可以实现异构网络互联

不同点

  1. OSI定义了三点:服务、协议、接口
  2. OSI出现,参考模型先于协议发明,不偏向特定的协议
  3. TCP/IP设计之初就考虑到了异构网互联问题,将IP作为重要层次
  4. 面向连接分为三个阶段:建立连接(只有建立了链接才能开始传输数据)、传输数据、释放连接;无连接没有这么多阶段,他直接进行数据的传输

image.png