一个计算机网络需要一整套复杂的协议支持。协议用于不同系统实体间的通信,它是管理两实体之间数据交换的一组规则。实体(Entry)指用户应用程序、文件传输软件包、数据库管理系统、电子邮件业务和终端等客观存在的事物。系统指计算机、交换机、终端设备、远程传感器和控制器等组成的一个整体。实体具有发送或接收信息的能力,而系统则是一个特殊的实际物体,它可以包含一个或多个实体。
一个协议必须包括下面3个要素。
1)语法(Syntax):用户数据与控制信息的结构与格式,包括数据格式、编码和信号电平等,即做什么。
2)语义(Semantics):需要发出何种控制信息以及完成的动作与做出的响应,包括用于协调同步和差错处理的控制信息,即怎么做。
3)定时(Timing):对事件实现顺序的详细说明,包括速度的匹配和数据包的排序等,即何时做。
协议通常是按照功能划分的,根据各个功能之间的调用关系分为不同层次。对于相邻的两层而言,上层为用户,下层为服务提供者。上下两层之间的关系用服务原语来定义,服务原语就是一种描述形式,用来描述上层用户调用下层提供的哪些服务,需要传递哪些参数等。两个互相通信的系统应该具有相同的层次,每一层都存在一个实体,用于发送、接收、解释该层的协议。处于同一层次的实体称为对等实体。换言之,协议就是定义同层对等实体之间交换的帧、分组或报文的格式及意义的一组规则。
计算机网络按层的结构组织协议,将计算机网络的层次结构模型和分层协议的集合定义为计算机网络体系结构。国际标准化组织(International Standords Organization,ISO)的SC16分委员会在1978年3月提出开放系统互连(Open Systems Interconnection,OSI)参考模型作为第一个正式的计算机网络体系结构国际标准,它采用7层结构,如图1-3所示。(www.daowen.com)
OSI参考模型也得到国际电信联盟电信分部(ITU-T)的认可。图中给出了主机A向主机B发送数据时的数据流动方向。上层通过调用下层提供的服务来实现数据传输。每层都有自己的协议,各层之间的协议是独立的,同一层次的协议是相同的。交换结点属于通信子网的设备,通信子网中的协议只有3层。
计算机网络体系结构采取分层结构的思想在于把复杂的工作简单化、模块化。一个层次完成一项相对独立的功能,在层次之间设置通信接口。这样设置的优点是每层协议只要搞好自己的工作就行,而不用管其他层次的功能是如何实现的。
参考模型中的每一层都有自己的数据格式,称为PDU(协议数据单元)。PDU一般包括数据字段和控制字段。数据字段就是上层送来的数据。控制字段用于填写本层协议进行通信时需要的控制信息,如地址、序号、校验码等。控制字段一般位于数据格式的前面,所以也称为首部、头部、报头、包头等。
上层协议通过调用下层协议提供的服务来实现自己的功能。当上层调用下层时,通过层间接口把PDU和参数送给下层,下层协议把上层的PDU封装到自己PDU的数据字段中,然后填写自己的控制字段。这样,当主机A的数据从应用层交给物理层变成电信号发送出去时,已经封装了6个头部(物理层没有头部)。当信号到达目的主机B时,B的各层分析、执行自己层PDU的控制字段,只向上层提交数据字段的内容。这个过程非常类似邮局的信件传递过程。例如,发信人把信件装进信封,信封装进邮袋,邮袋装进邮车的过程就是数据封装过程。写/收信人、邮递员、邮车司机可以被看做不同层次的实体,写/收信人关心的是信件的内容;邮递员只查看信封上的地址;邮车司机查看的是邮袋上的地址。
图1-3 ISO的开放系统互连参考模型
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。