网路协议与划分层次

网络协议

在计算机网络中要做到有条不紊的交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的格式以及有关的同步问题。这里所说的同步不是狭义的而是广义的,即在一定的条件下应当发生什么事情,因而同步含有时序的意思。这些未进行网络中的数据交换而建立的规则、标准或约定称为网络协议。网络协议也简称为协议。更进一步讲协议主要由以下三个要素组成:

1)语法:数据与控制信息的结构和格式。

2)语义:需要发出何种控制信息,完成何种动作以及做出何种响应。

3)同步:事件实现顺序的详细说明。

       由此可见,网络协议是计算机网络中不可缺少的组成部分。实际上,只要我们想让连接在网络上的另一台计算机做点什么事情,我们都需要有协议。但是当我们经常在自己的个人电脑上进行文件存盘操作时,就不需要任何网络协议,除非这个用来存储文件的磁盘是网络上的某个文件服务器的磁盘。

协议通常有两种不同的形式。一种是使用便于人来阅读和理解的文字描述。另一种是使用让计算机能够理解的程序代码。这两种不同形式的协议都必须能够对网络上的信息交换过程做出精确的解释。

层次划分

如果要实现主机1和主机2之间通过一个网络传送文件。这是一项比较复杂的工作因为要做不少的工作。

我们可以将要做的工作划分为三类:

文件传送模块:文件及文件传送命令。

通信服务模块:与通信有关的报文。用来保证文件和文件传送命令可靠地在两个系统之间交换。也就是让位于上面的文件传送模块利用下边的通信服务模块所提供的服务。

网络接入模块:网络接口。让这个模块负责做鱼网络接口细节有关的工作,使上面的通信服务模块能够完成可靠通信的服务。

分层可以带来很多好处:

1)各层之间是独立的:某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道盖层通过层间的接口所提供的服务。由于每一层只实现一种相对独立的功能。因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂度就下降了。

2)灵活性好:当任何一层发生变化时。只要层间接口关系保持不变,则在这层以上和以下各层局部不收影响。

3)结构上可分割:各层都可以采用最合适的技术来实现。

4)易于实现和维护:这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统被分解为若干个相对独立的子系统。

5)能促进标准化工作:因为每一层的功能及其所提供的服务都已有了精确的说明。

分层时应注意使每一层的功能非常明确。若层数太少,就会使每一层的协议太复杂。但是层数太多又会在描述和综合各层功能的系统工程任务中遇到较多的困难。通常各层所要完成的主要有以下一些:

1)差错控制:使相应层次对等方的通信更加可靠。

2)流量控制:发送端的数据必须使接收端来得及接收,不要太快。

3)分装盒重装:发送端要将发送的数据划分为更小的单元,在接收端将其还原。

4)复用和重用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。

5)连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接,

分层当然也有一些缺点:例如有些功能会在不同的层次中重复出现,因而产生了额外开销。

你可能感兴趣的:(网路协议与划分层次)