协议与服务-实体与协议

作者 Tea-Sun · 2026年10月29日 · 约 8 分钟

实体与协议#

实体、协议、服务、服务访问点 · 第一讲 视频讲解 https://www.bilibili.com/video/BV1tixK6AENj/

一句话#

实体是每一层里真正干活的那个模块,协议是同一层的两个实体之间横着约定的规矩,规矩的内容就是语法、语义、同步这三样。


一、先看协议栈#

两台机器通起来,不是两坨铁在说话,是一层一层的模块对着说话。

      主机 A                          主机 B
  ┌────────────┐                 ┌────────────┐
  │  应用层     │                 │  应用层     │
  ├────────────┤                 ├────────────┤
  │  运输层     │                 │  运输层     │
  ├────────────┤                 ├────────────┤
  │  网络层     │                 │  网络层     │
  ├────────────┤                 ├────────────┤
  │ 数据链路层  │                 │ 数据链路层  │
  ├────────────┤                 ├────────────┤
  │  物理层     │                 │  物理层     │
  └─────┬──────┘                 └──────┬─────┘
        └──────────  中间的网  ──────────┘

每一层都是一个具体做事的模块,不是一个抽象说法。真正在干活的是这些模块。


二、实体#

实体(entity):表示任何可发送或接收信息的硬件或软件进程。

  • 硬件也算:网卡、光模块,都是实体
  • 软件也算:协议栈里的一段代码,也是实体
  • 多数时候,实体就是一个特定的软件模块

对等实体#

在不同机器上、处于同一层的两个实体,互称对等实体(peer entities)。

   A 机网络层实体  ┈┈┈┈对等实体┈┈┈┈  B 机网络层实体

注意:对等实体说的是「同一层」,不是「同一台机器」。A 的网络层和 B 的运输层不是对等实体。


三、数据实际怎么走#

对等实体之间的通信是逻辑上的,实际的数据传送要穿过下面各层。

看得见的 看不见的
逻辑上:A 的 n 层 ↔ B 的 n 层直接对话 实际:一层层往下、过网、再一层层往上
   应用层 ●━━━━━━━━━━━━━━━━━━━━━━━━━━● 应用层   ← 逻辑上直接对话(虚线)
          │                            │
   运输层 ●                            ● 运输层   ← 实际走的路(实线)
          │                            │
   网络层 ●                            ● 网络层
          │                            │
 数据链路层●                            ● 数据链路层
          │                            │
   物理层 ●━━━━━━━━━━━━━━━━━━━━━━━━━━● 物理层

数据往下走的时候一层层加首部,往上走的时候一层层拆首部。这是"实际的路"。 但站在应用层的角度看,它就是在跟对面应用层说话——中间那些层根本不知道,也不需要知道。


四、协议#

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

或者更准确地说:

协议是控制两个对等实体(或多个实体)进行通信的规则的集合。

为什么说协议是"横向"的#

          ┌──────── 协议(水平)────────┐
   A 的 n 层实体 ━━━━━━━━━━━━━━━━━━━━━ A 的 n 层实体

协议只约束对等实体之间怎么说话。它不管上下层的事。

所以后面讲服务的时候会有个对照:

协议 服务
方向 水平(横向) 垂直(纵向)
管谁 对等实体之间 上层与下层之间

五、协议三要素#

要素 管什么 教材原文
语法 数据的结构、格式 数据与控制信息的结构或格式
语义 要做什么 需要发出何种控制信息,完成何种动作以及做出何种响应
同步 先后顺序 事件实现顺序的详细说明

用寄快递对照#

要素 快递里对应什么
语法 单子上的收件人、地址、电话,各填在哪个格子里
语义 这个包裹里装的是什么,到了该怎么处理(自取 / 送货上门 / 拒收退回)
同步 先签收、再拆封;不能反过来

三样齐了,才是一套能真正跑起来的规矩。

严格说,「同步」在英文里是 timing,讲的是事件实现的顺序,不只是"时间"。教材译作"同步",别理解成"时钟对齐"。


六、本集结论#

实体  =  每一层里能收发信息的那个模块
              │
              同一层的两个 → 对等实体
              │
对等实体之间怎么说话 → 协议(横着定的)
              │
        语法 · 语义 · 同步

一句话:

实体是干活的,协议是对等实体横向定的规矩,三要素是语法、语义、同步。

下一集换个方向看:竖着看,层与层之间靠什么交接——服务、服务原语、服务访问点 SAP。


依据表#

片中表述 依据 备注
实体是可发送或接收信息的硬件或软件进程 §1.5.4 原文定义
许多情况下实体就是一个特定的软件模块 §1.5.4 原文
对等实体指不同机器上同一层的实体 §1.5.4 原文表述
协议是为进行网络中的数据交换而建立的规则、标准或约定 §1.5.2 原文定义
协议是控制两个对等实体(或多个实体)进行通信的规则的集合 §1.5.2 / §1.5.4 原文
协议三要素:语法、语义、同步 §1.5.2 原文
语法 = 数据与控制信息的结构或格式 §1.5.2 原文
语义 = 需要发出何种控制信息,完成何种动作以及做出何种响应 §1.5.2 原文
同步 = 事件实现顺序的详细说明 §1.5.2 原文
对等实体间通信是逻辑上的,实际数据要穿过下面各层 §1.5.2 原文表述
协议是「水平的」 §1.5.4 原文(与「服务是垂直的」对举)
画面用五层协议栈为例 教学示意 教材用「第 n 层 / 第 n+1 层」的通用表述,具体层数不影响结论
「实体」示例取网络层 教学示意 实体概念不限层,任何一层都有实体
寄快递的比喻 教学类比 非教材内容,仅用于建立直觉
「同步」不是时钟对齐 语义澄清 英文为 timing,指事件实现顺序

说明:本集没有展开服务、服务原语、服务访问点 SAP,也没有展开面向连接/无连接服务——这些留给第二讲。