计算机网络体系结构中的专用术语
本篇所讲的专用术语来源于OSI的七层协议体系结构,但也适用于TCP/IP的四层体系结构和五层协议原理体系结构。
我们将这些专用术语中最具代表性的三个作为分类名称:
- 实体
- 协议
- 服务
首先来看实体
分类一——实体
实体
实体是指任何可发送或接受信息的硬件或软件进程。
例如,这是通信双方的五层原理体系结构:
我们在它的各层中,用标有字母的小方格来表示实体。
有了实体的概念,我们再来看对等实体。
对等实体
对等实体是指通信双方相同层次中的实体。
如图所示:
按照对等实体的定义,通信双方的网卡,通信双方中的、正在进行通信的应用进程,也属于对等实体。
分类二——协议
协议
控制两个对等实体进行逻辑通信的规则的集合。
例如:应用层对等实体在应用层协议的控制下进行逻辑通信、运输层对等实体在运输层协议的控制下进行逻辑通信......
需要注意的是,之所以称为逻辑通信,是因为这种通信其实并不存在。它只是我们设想出来的一种通信。目的在于方便我们单独研究体系结构某一层时,而不用考虑其它层。
例如,我们在研究运输层时,我们可以假设运输层的对等实体在进行逻辑通信,而不用顾及其它层。
协议的三要素
- 语法
- 语义
- 同步
语法:定义所交换信息的格式。
例如,这是IP数据报的格式:
其中的小格子称为字段或域;数字表示字段的长度,单位是位(也就是比特)。语法就是定义了这些小格子的长度和先后顺序。换句话说,语法定义了所交换信息由哪些字段以及何种顺序构成。
需要说明的是,我们没有必要记住每种分组的格式,只要我们能看懂它们的格式说明就可以了。
当然,如果将来从事计算机网络相关的开发、教学、研究等工作,像IP数据报、TCP报文段、HTTP报文等这些常见的分组格式,在学习和研究过程中自然而然的就会记住了。
语义:定义通信(收发)双方所要完成的操作。
看上一篇所举过的例子:
主机要访问远程Web服务器,它会构建一个HTTP的GET请求报文,
Web服务器收到该报文并进行解析,知道这是一个HTTP的GET请求报文。于是就在自身内部查找所请求的内容,并将所找到的内容封装在一个HTTP响应报文中发回给主机。
主机收到HTTP响应报文后,对其进行解析,取出所请求的内容并由浏览器解析显示。
这个例子就可以体现出通信双方收到分组后完成怎样的操作。在这个例子中,通信双方怎样操作是由HTTP协议的语义所定义的。
同步:定义通信(收发)双方的时序关系。
注意:并不是指时钟频率同步。
例如,这是TCP采用“三报文握手”建立连接的过程:
要想进行运输层TCP实体间的逻辑通信,首先必须建立连接。
从连接建立的过程就可以看出,TCP客户端和TCP服务器之间的时序关系,以及各自的状态转换。只有双方建立连接后,才能进行TCP数据传输。
这个例子,可以充分体现计算机网络协议三要素中的同步。
有了协议的概念,我们再来看服务。
分类三——服务
服务
- 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
例如,物理层对等实体在物理层协议的控制下向数据链路层提供服务。
- 要实现本层协议,还需要使用下面一层所提供的服务。
例如,数据链路层对等实体享受物理层提供的服务,并在数据链路层协议的控制下进行逻辑通信,给上一层,即网络层提供服务。
以此类推,最终:应用层给其上层,即用户提供服务。
很明显,
- 协议是“水平的”,服务是“垂直的”。
要特别注意的是,
- 实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是“透明”的。(计算机中的透明指的是不可见)
换句话说,下层的协议对上层的实体是透明的。
这就类似于,我们肯定看得见手机为我们提供的各种服务,但我们只是享受这些服务,而没有必要弄懂手机的工作原理。
服务访问点
在同一系统中相邻两层的实体交换信息的逻辑端口,用于区分不同的服务类型。
例如,
- 数据链路层的服务器访问点为帧的“类型”字段。
- 网络层的服务访问点为IP数据报首部中的“协议字段”。
- 运输层的服务访问点为“端口号”。
上层要使用下层所提供的的服务,必须通过与下层交换一些命令,这些命令称为服务原语。
数据包术语
在计算机网络体系结构中,对通信双方所交互的数据包有专门的术语。
- 协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元。
- 服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据单元。
- 多个SDU可以合成为一个PDU;一个SDU也可划分为几个PDU。
END