您所在的位置:读书频道 > 网络与维护 > 网络管理 > 9.2.2 传输服务原语

9.2.2 传输服务原语

2007-06-27 12:44 王达 电子工业出版社 字号:T | T
一键收藏,随时查看,分享好友!

《网络工程师必读——网络工程基础》从底层基础到高层应用的顺序全面介绍了计算机网络、计算机局域网、计算机网络通信、计算机广域网和OSI由低到高的七层体系结构中的各方面基础知识、功能原理和相关通信协议。本文主要讲了传输服务原语。

AD:

9.2.2 传输服务原语
所谓“原语”就是规定了一个实体应当完成的功能,供用户和其他实体访问该服务时调用,并通知服务提供者采取某些行动或报告某个对等实体的活动。不仅传输层有,其它层也可以有,如下章介绍的会话层和表示层。
1. 标准的传输服务原语
“传输服务原语”允许传输用户访问传输服务,并且这种访问是直接的和不透明的。一套简单的传输服务原语集合包括:监听(Listen)、连接(Connect)、发送(Send)、接收(Receive)、断连(Disconnect)。
这些服务原语的工作原理是这样的:
(1)服务器执行Listen原语,一般的做法是调用一个侦听库过程,由它执行一个系统调用,并且阻塞该服务器,使其处于监听状态,直到有客户来连接。
(2)当一个客户希望与该服务器进行通话的时候,它执行Connect原语。在这个原语中,传输实体将阻塞调用方,并且给服务器发送一个分组。封装在该分组净荷中的是一条发送给服务器传输实体的传输层消息。
客户的Connect调用将使得传输实体发送一个C Request TPDU给服务器。娄这个TPDU到达服务器的时候,服务实体执行检查,看服务器是否正被阻塞在Listen调用中。然后它解除服务器的阻塞,并且给客户送回一条C Accepted TPDU。当这个TPDU到达客户端的时候,客户也被解除阻塞,于是传输连接建立起来了。
(3)传输连接建议好后,就可以正式发送数据了。任何一方都可以执行Receive原语,以等待另一方执行Send原语。当TPDU到来的时候,接收方被解除阻塞。然后它可以对这个TPDU进行处理并发送一个应答。只要双方对于发送的数据的顺序有统一的认识,则这种方式可以工作得很好。
【注意】在传输层上,即使一个非常简单的单向数据交换过程也会比网络层上的交换过程复杂。发送的每一个数据分组最终都要被确认。推携带控制TPDU的分组也要被确认,无集结是以隐式,还是显示方式。这些确认是由传输实体使用网络层协议来管理的。它们对于传输用户是不可见的。同样,传输实体也不关心定时器和重传的问题,这些机制对于传输用户全部不可见。
(4)当不再需要一个连接时,传输用户必须将它释放,以便使两个传输实体内部的表空间有机会被除数重新使用。释放连接有两种形式:对称释放和非对称释放。在非对称释放中,任何一方都可以执行Disconnect原语,从而导致它的传输实体将一个Disc TPDU发送给远程的该TPDU后,连接就被释放。在对称方式中,连接的两个方向彼此独立,每个方向需要单独被释放。当一方执行Disconnect原语的时候,这意味着它不再需要发送数据了,但是它仍然希望能接收对方发过来的数据。在这种方式中,只有当双方都执行了Disconnect原语,一个传输连接才可能被真正释放出来。
图9-6(此处显示不了)给出了全用这些简单传动轴服务原语来建立和释放连接的状态图。每一个状态的出现都是一种事件触发,或者是由本地的传输用户执行了一个原语,或者是接收到了一个TPDU分组。不过要注意,此处为了?
本文转自该图书作者王达的博客

【责任编辑:雪花 TEL:(010)68476606-8007】

回书目      

分享到:

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>
  • 互联网运营之道
    互联网运营之道
    《互联网运营之道》内容由运营方法论切入,包括运营的
  • 奔跑吧Ansible
    奔跑吧Ansible
    Ansible是近年用户量急速蹿升的开源配置管理工具。在A
  • Redis实战
    Redis实战
    本书深入浅出地介绍了Redis的5种数据类型,并通过多个

读书

Solaris 内核结构(第2版)
本书描述了Solaris 10和OpenSolaris内核中所有主要子系统的算法和数据结构,对第1版进行了大幅修订,加入了很多新的内容。全书从

最新热帖

更多>>

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院