什么是服务原语, 服务原语和协议的区别!

来源:互联网 发布:淘宝上杨氏鼻炎膏 编辑:程序博客网 时间:2024/04/30 10:30

服务”在形式上是用一组原语来描述的,这些原语供用户实体访问该服务或向用户实体报
某事件的发生。服务原语可以划分为如表1 - 3所示的4类。
服务原语
原 语 意 义
请求(R e q u e s t) 用户实体要求服务做某项工作
指示(I n d i c a t i o n) 用户实体被告知某事件发生
响应(R e s p o n s e) 用户实体表示对某事件的响应
确认(C o n f i r m) 用户实体收到关于它的请求的答复
第1类原语是“请求”(r e q u e s t)原语,服务用户用它促成某项工作,如请求建立连接和发送
据。服务提供者执行这一请求后,将用“指示”(i n d i c a t i o n)原语通知接收方的用户实体。例
,发出“连接请求”(C O N N E C T _ r e q u e s t)原语之后,该原语地址段内所指向的接收方的对等
体会得到一个“连接指示”(C O N N E C T _ i n d i c a t i o n)原语,通知它有人想要与它建立连接。接
到“连接指示”原语的实体使用“连接响应”(C O N N E C T _ r e s p o n s e)原语表示它是否愿意接
建立连接的建议。但无论接收方是否接受该请求,请求建立连接的一方都可以通过接收“连接
认”(C O N N E C T _ c o n f i r m)原语而获知接收方的态度(事实上传输层以及其他层的服务用户要
绝建立连接请求不是采用C O N N E C T _ r e s p o n s e原语而是采用D I S C O N N E C T _ r e q u e s t原语)。
原语可以带参数,而且大多数原语都带有参数。“连接请求”原语的参数可能指明它要与哪
机器连接、需要的服务类别和拟在该连接上使用的最大报文长度。“连接指示”原语的参数可
包含呼叫者的标志、需要的服务类别和建议的最大报文长度。如果被呼叫的实体不同意呼叫
体建立的最大报文长度,它可能在“连接响应”原语中提出一个新的建议,呼叫方会从“连
接确认”原语中获知。这一协商过程的细节属于协议的内容。例如,在两个关于最大报文长度
的建议不一致的情况下,协议可能规定选择较小的值。
服务有“有确认”和“无确认”之分。有确认服务,包括“请求”、“指示”、“响应”和
“确认”4个原语。无确认服务只有“请求”和“指示”两个原语。建立连接的服务总是有确认
服务,可用“连接响应”作肯定应答,表示同意建立连接;或者用“断连请求”
(D I S C O N N E C T _ r e q u e s t)表示拒绝,作否定应答。数据传送既可以是有确认的也可是无确认的,
这取决于发送方是否需要确认。
为了使服务原语的概念更具体化一些,我们将考查一个简单的面向连接服务的例子。它使
用了下述8个服务原语:
1) 连接请求:服务用户请求建立一个连接。
2) 连接指示:服务提供者向被呼叫方示意有人请求建立连接。
3) 连接响应:被呼叫方用来表示接受建立连接的请求。
4) 连接确认:服务提供者通知呼叫方建立连接的请求已被接受。
5) 数据请求:请求服务提供者把数据传至对方。
6) 数据指示:表示数据的到达。
7) 断连请求:请求释放连接。
8) 断连指示:将释放连接请求通知对等端。
在本例中,连接是有确认服务(需要一个明确的答复),而断连是无确认的(不需要应答)。
与电话系统作一比较,也许有助于理解这些原语是如何应用的。请考虑一下打电话邀请你的姑
姑到家来喝茶的步骤:
1) 连接请求:拨姑姑家的电话号码。
2) 连接指示:她家的电话铃响了。
3) 连接响应:她拿起电话。
4) 连接确认:你听到响铃停止。
5) 数据请求:你邀请她来喝茶。
6) 数据指示:她听到了你的邀请。
7) 数据请求:她说她很高兴来。
8) 数据指示:你听到她接受邀请。
9) 断连请求:你挂断电话。
10) 断连指示:她听到了,也挂断电话。
用一系列服务原语来表示上述各步。每一步都涉及其中一台计算机内两层之间的信息
交换。每一个“请求”或“响应”稍后都在对方产生一个“指示”或“确认”动作。本例中服
务用户(你和姑姑)在N + 1层,服务提供者(电话系统)在N层。
服务和协议常常被混淆,而实际上二者是迥然不同的两个概念。为此我们再强调一下两者
的区别。服务是网络体系结构中各层向它的上层提供的一组原语(操作)。尽管服务定义了该层
能够代表它的用户完成的操作,但丝毫也未涉及这些操作是如何实现的。服务描述两层之间的
接口,下层是服务提供者,上层是服务用户。而协议是定义同层对等实体间交换帧、数据包的格式和意义的一组规则。网络各层实体利用协议来实现它们的服务。只要不改变提供给用户的
服务和接口,实体可以随意地改变它们所使用的协议。这样,服务和协议就完全被分离开来。
在O S I参考模型之前的很多网络并没有把服务从协议中分离出来,造成网络设计的困难,现在人
们已经普遍承认这样的设计是一种重大失策。