实体、协议、服务和服务访问点
1. 实体
- 当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词。
- 实体表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。
2. 协议
- 协议是控制两个对等实体(或多个实体)进行通信的规则的集合。
- 协议的语法方面规则定义了所交换的信息的格式。
- 协议的语义方面规则定义了发送者或接收者所要完成的操作,例如,在何种条件下数据必须重传或丢弃。
- 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
- 协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务而无法看见下面的协议。下面的协议对上面的实体是透明的。
- 协议是水平的,即协议是控制对等实体之间通信的规则。
3. 服务
- 服务是垂直的,即服务是由下层向上层通过层间接口提供的。
- 并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才能称为服务。
- 上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语。
4. 服务访问点
- 在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP(Service Access Point)。
- 服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口,有点像邮政信箱(可以把邮件放入信箱和从信箱中取走邮件),但这种层间接口和两个设备之间的硬件接口(并行的或串行的)并不一样。
- OSI把层与层之间交换的数据的单位称为**服务数据单元SDU(Service Data Unit),它可以与PDU不一样,例如,可以是多个SDU合成为一个PDU,也可以是一个SDU划分为几个PDU。
5. 相邻两层之间的关系
- 相邻两层之间的关系:在服务提供者的上层实体又称为服务用户,因为它使用下层服务提供者所提供的服务。
注:看一个计算机网络协议是否正确,不能只看在正常情况下是否正确,而且还必须非常仔细地检查这个协议能否应付各种异常情况。
参考文献:
[1]《计算机网络(第5版)》谢希仁——第一章 1.7