协议与划分层次
计算机网络中的数据交换必须遵守事先约定好的规则。
这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。
网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
开始之前可以先大概了解一下计算机网络中的网络基础与通信原理,链接如下:
网络协议的三个组成要素
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
- 同步:事件实现顺序的详细说明。
由此可见,网络协议是计算机网络的不可缺少的组成部分。
协议的两种形式
- 一种是使用便于人来阅读和理解的文字描述。
- 另一种是使用让计算机能够理解的程序代码。
这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释。
层次式协议结构
ARPANET的研制经验表明,对于非常复杂的计算机网络协议,其结构应该是层次式的。
划分层次的概念举例
主机 1向主机 2 通过网络发送文件。可以将要做的工作进行如下的划分:
第一类工作与传送文件直接有关。
- 确信对方已做好接收和存储文件的准备。
- 双方已协调好一致的文件格式。
两个主机将文件传送模块作为最高的一层,剩下的工作由下面的模块负责。
两个主机交换文件
再设计一个通信服务模块
再设计一个网络接入模块
网络接入模块负责做与网络接口细节有关的工作,例如:规定传输的帧格式,帧的最大长度等。
分层的好处与缺点
好处
- 各层之间是独立的。
- 灵活性好。
- 结构上可分割开。
- 易于实现和维护
缺点
- 降低效率。
- 有些功能会在不同的层次中重复出现,因而产生了额外开销能促进标准化工作。
层数多少要适当
- 层数太少,就会使每一层的协议太复杂。
- 层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。
各层完成的主要功能
差错控制:
使相应层次对等方的通信更加可靠。
流量控制:
发送端的发送速率必须使接收端来得及接收,不要太快。
分段和重装:
发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
复用和分用:
发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
连接建立和释放:
交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
计算机网络的体系结构
计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。
体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。
实现(implementation)是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。
体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
- OSI的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。
- TCP/IP 是四层体系结构:应用层、运输层、网际层和网络接口层。但最下面的网络接口层并没有具体内容。
因此往往采取折中的办法,即综合 OSI和TCP/IP 的优点,采用一种只有五层协议的体系结构
具有五层协议的体系结构
主机1向主机2发送数据流程(图解)
OSI参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU(ProtocolDataUnit)。这个名词现已被许多非OSI标准采用。
任何两个同样的层次把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”(peer layers)之间的通信。
各层协议实际上就是在各个对等层之间传递数据时的各项规定。
实体、协议、服务和服务访问点
实体(entity)表示任何可发送或接收信息的硬件或软件进程。
协议是控制两个对等实体进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
要实现本层协议,还需要使用下层所提供的服务。
协议和服务在概念上是不一样的
协议的实现保证了能够向上一层提供服务。
本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。
协议是“水平的”,即协议是控制对等实体之间通信的规则。
服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
复杂的协议
协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,还必须非常仔细地检查这个协议能否应付各种异常情况。
TCP/IP 的体系结构
TCP/IP 体系结构的另一种表示方法
实际上,现在的互联网使用的 TCP/IP 体系结构有时已经发生了演变,即某些应用程序可以直接使用IP层,或甚至直接使用最下面的网络接口层。
希望对你有帮助!加油!
若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!