本文专用术语来源于OSI的七层协议体系结构。但也适用于TCP/IP四层体系结构、五层协议原理体系结构。

将这些专用术语中最具代表性的三个作为分类名称:实体、协议、服务。

实体

实体:指任何可发送或接收信息的硬件软件进程

  • 在各层中,用标有字母的小方格来表示实体

对等实体:指通信双方相同层次中的实体。

  • 图中,实体A与F为对等实体……
  • 比如:通信双方的网卡,就是对等实体;通信双方中,正在进行通信的应用进程,也是对等实体

image.png

协议

协议是控制两个对等实体进行逻辑通信的规则的集合。

  • 例如:应用层对等实体在应用层协议的控制下进行逻辑通信

image.png

之所以称为逻辑通信,是因为这种通信其实并不存在,它只是我们假设出来的一种通信。

  • 目的在于方便我们单独研究体系结构某一层时,而不用考虑其他层。
  • 例如,当我们研究运输层时,我们可以假设运输层的对等实体在进行逻辑通信,而不用顾忌其他层。

计算机网络协议有三个要素:语法、语义、同步

语法

语法:定义通信双方所交换信息的格式

例如,IP数据报格式

  1. 小格子称为字段或域
  2. 数字表示字段的长度,单位是位(也就是比特)

image.png

语法就是定义了这些小格子的长度和先后顺序。换句话说,语法定义了所交换信息由哪些字段以及以何种顺序构成。

语义

语义:定义通信双方所要完成的操作。

例如,主机要访问远程Web服务器

  1. 主机会构建一个HTTP的GET请求报文,然后将其发送给Web服务器
  2. Web服务器收到该报文并进行解析,知道这是一个HTTP的GET请求报文。于是就在自身内部查找所请求的内容,并将所找到的内容封装在一个HTTP响应报文中发回给主机
  3. 主机收到HTTP响应报文后,对其进行解析,取出所请求的内容并由浏览器解析显示

此例子就可以体现出通信双方收到分组后,完成怎样的操作,这是HTTP协议的语义所定义的。

同步

同步:定义通信双方的时序关系

  • 并不是指始终频率同步

例如,这是TCP采用“三报文握手”建立连接的过程

  1. 要想进行运输层TCP实体间的逻辑通信。首先必须建立连接,从连接建立过程就可以看出,TCP客户端和TCP服务器之间的时序关系,以及各自的状态转换
  2. 只有双方建立连接后,才能进行TCP数据传输

这个例子可以充分体现计算机网络协议三要素中的同步
%0L01BAD7IGY4D}E462~}]R.png

服务

在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。

  • 物理层对等实体在物理层协议的控制下向数据链路层提供服务

要实现本层协议,还需要使用下面一层所提供的服务

  • 数据链路层对等实体享受物理层提供的服务,并在数据链路层协议的控制下进行逻辑通信,给网络层提供服务
  • 网络层对等实体享受数据链路层提供的服务,并在网络层协议的控制下进行逻辑通信,给运输层提供服务
  • 运输层对等实体享受网络层提供的服务,并在运输层协议的控制下进行逻辑通信,给应用层提供服务
  • 应用层对等实体享受运输层提供的服务,并在应用层协议下进行逻辑通信,给其上层(也就是用户)提供服务

image.png

很明显,协议是水平的,而服务是垂直的

实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上层的实体是“透明”的

  • 这就好比,我们看得见手机为我们提供的各种服务,但我们只是享受这些服务,而没有必要弄懂手机的工作原理

服务访问点

服务访问点:在同一系统中,相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。

  • 数据链路层的服务访问点为帧的“类型”字段
  • 网络层的服务访问点为IP数据报首部中的“协议字段”
  • 运输层的服务访问点为“端口号”

image.png

服务原语

上层要使用下层所提供的服务,必须通过与下层交换一些命令,这些命令称为服务原语
image.png

协议数据单元PDU

在计算机网络体系结构中,对通信双方所交互的数据包有专门的术语。
我们把对等层次之间传送的数据包称为该层的协议数据单元(PDU)

例如

  • 物理层对等实体逻辑通信的数据包称为比特流,即比特流为该层的协议数据单元
  • 数据链路层对等实体逻辑通信的数据包为帧
  • 网络层对等实体逻辑通信的数据包称为分组
    • 如果使用IP协议,也称为IP数据报
  • 运输层对等实体逻辑通信的数据包一般根据协议而定
    • 使用TCP协议,则称为TCP报文段
    • 使用UDP协议,则称为UDP用户数据报
  • 应用层对等实体逻辑通信的数据包一般称为应用报文

上述各层数据包可以统称为协议数据单元PDU
image.png

服务数据单元SDU

我们把同一系统内,层与层之间交换的数据包称为服务数据单元(SDU)
image.png

多个SDU可以合成为一个PDU;一个SDU也可划分为几个PDU

  • PDU在传输时,不是一个固定不变的单元,而是不断在各层之间转换的(加头去尾等操作)