第8章 高层协议_第1页
第8章 高层协议_第2页
第8章 高层协议_第3页
第8章 高层协议_第4页
第8章 高层协议_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机网络第8章 高层协议 第第8章章 高层协议高层协议 8.1 会话层会话层8.2 表示层表示层8.3 应用层应用层 计算机网络第8章 高层协议 8.1 会话层会话层 8.1.1 会话层的基本概念 会话层基本上是一个工具箱, 有些是为现代计算机应用准备的, 有些是为了与以前的智能用户电报标准兼容而准备的。 按照OSI的术语, 每一个工具叫做一个功能单元, 在建立会话连接时可协商要使用的功能单元。 计算机网络第8章 高层协议 会话服务采用不同的方法为传输数据流加上需要的结构, 第一种方法和同步点的使用有关。 会话服务用户之间的交互作用叫做对话(dialogue), 用户可以用主同步点把数据流分

2、成一个一个的对话单位。 第二种方法涉及到活动(activity)的概念。 活动是对话单位的进一步扩展, 由一个或多个连接的对话单位组成, 以标志活动开始的主同步点打头, 以标志活动完成的主同步点结尾。 计算机网络第8章 高层协议 图 8.1 会话单位 计算机网络第8章 高层协议 例如传送一个文件的过程中要进行系统维护, 可发出活动中断请求, 等维护工作完成后可继续传送被中断了的文件。 当然会话层在中断后恢复时要记得断点处的序号, 而会话用户则必须保存断点后的文件内容。 活动, 对话单位和同步点把会话数据流划分成了三级结构, 如图8.2所示。计算机网络第8章 高层协议 图 8.2 活动, 对话单

3、位和同步点 计算机网络第8章 高层协议 OSI会话层使用了四种令牌来控制对话, 这四种命令牌是: (1) 数据令牌: 用于管理数据流的方向, 只有数据令牌的拥有者才可以发送数据, 这种令牌在双向交替对话中使用; (2) 次同步令牌: 这种令牌的持有者可以设置次同步点; (3) 主同步/活动令牌: 用于对设置主同步点和建立活动的权力进行管理; (4) 释放令牌: 是释放会话连接的权力的代表, 这种令牌的拥有者可以启动释放过程。 计算机网络第8章 高层协议 建立会话连接时可以就会话中使用哪些令牌以及令牌的最初持有者进行协商, 令牌的拥有权可以在两个会话用户之间易手, 令牌管理功能提供的服务允许一个

4、用户主动交出令牌或是向另一处用户索取令牌。 图8.3就是利用数据令牌进行双向交替数据传送的例子。计算机网络第8章 高层协议 图 8.3 双向交替对话 计算机网络第8章 高层协议 所谓能力数据, 也用作控制目的, 不过是为了会话层本身的控制, 例如在会话期间改变会话的功能和参数, 与特权数据不同的是它必须完全得到对方的确认。 能力数据只能在活动之外(或两个活动之间的间隔中)发出(如图8.4所示), 发送能力数据必须同时持有数据令牌, 次同步令牌和主同步/活动令牌。计算机网络第8章 高层协议 图 8.4 能力数据的传送 计算机网络第8章 高层协议 8.1.2 会话层服务的定义; ISO文件把会话层

5、服务总结为以下几个部分: (1) 建立会话连接, 以同步的方式交换数据, 以有序的方式释放连接; (2) 协商用令牌交换数据, 按半双工方式操作, 通过令牌同步和释放连接; (3) 在对话中建立同步点, 在出现差错时从指定的同步点处恢复对话; (4) 必要时可中断对话, 随后再恢复对话。 计算机网络第8章 高层协议 1. 正常数据传送原语 会话连接建立后, 可以用正常数据传送原语来发送数据, 这种原语最简单, 只有两条, 参数只有用户数据一项, 如表81所示。计算机网络第8章 高层协议 表 81 正常数据传送原语计算机网络第8章 高层协议 2. 会话连接建立原语 会话连接的建立过程涉及连接属性

6、的协商, 接收方必须应答, 表示同意或不同意发送方的建议, 因此这种服务原语有4条, 参数也很多, 如表82所示。四种形式的连接原语具有同样的参数集合, 当然有些参数是可选的, 有些参数是必要的, 所有参数列在表83中, 下面将解释这些参数的意义和用法。计算机网络第8章 高层协议 表 82 会话连接建立原语计算机网络第8章 高层协议 表 83 SCONNECT原语的参数 计算机网络第8章 高层协议 3. 置次同步点原语 发送用户可以用这种原语在数据流中插入次同步点, 次同步点的序号由原语中的序号参数指定, 次同步点可以是要求确认的或非确认的, 由类型参数指明, 其中的用户数据部分是任选的。 次

7、同步点原语如表84所示。 计算机网络第8章 高层协议 表 84 置次同步点原语计算机网络第8章 高层协议 4. 重同步原语 这种原语也是确认型的, 共4条, 表示在表85中。 会话用户可以用这种原语把对话过程退回到一个预定的状态。 参数重同步类型可取三个值之一: “废弃”(abandon)就是放弃当前的对话, 这时其他参数的值就没有意义了; “重启动”(restart)和“设置”(set)都是指退回到以前的某个同步点上, 但又有所不同。 重启动点不能早于最后一次被确认的主同步点, 而设置可以适用于任何有效的同步点。计算机网络第8章 高层协议 表 85 重同步原语计算机网络第8章 高层协议 5.

8、 有序释放原语 有序释放原语是核心功能之一, 用户可随时用这种原语释放会话连接而不致丢失数据。 这种原语表示在表86中。 表 86 有序释放原语 计算机网络第8章 高层协议 结果仅用于响应和确认原语, 表示请求是否得到接收方同意, 所以这个参数只有两个值, yes或no。 接收方拒绝释放连接的原因只能是请求方没有释放令牌。 会话层服务的全部56种原语分成21个服务元素, 每种服务元素提供一种服务。 这21种服务元素包括的原语及用途列在表87中。计算机网络第8章 高层协议 表 87 会话层服务元素 计算机网络第8章 高层协议 计算机网络第8章 高层协议 21种服务元素可组成12个功能单元, 这是

9、为了在建立会话连接时便于协商而进行的服务功能划分, 每个功能单元都能完成某种有意义的会话服务。 12个功能单元列在表88中, 其中核心功能是不可协商的, 任何会话服务都必须有核心功能, 其他功能单元由会话双方协商确定。 计算机网络第8章 高层协议 表 88 会话功能单元 计算机网络第8章 高层协议 计算机网络第8章 高层协议 8.1.3 会话协议 会话协议的作用是在下层传输服务的基础上组织和管理数据交换, 对上提供各种会话服务。 初看起来, 会话协议是很复杂的, 例如会话协议数据单元有36种, 而传输协议数据单元只有10种。 造成这种复杂性的原因是会话协议标准是ISO和CCITT等多方贡献的混

10、合物, 设计得不够严谨。 计算机网络第8章 高层协议 1. 会话协议数据单元(SPDU) 全部36种SPDU列在表89中, 大部分SPDU是会话服务原语对的一对一映象, 即对应每一个请求指示原语对或响应确认原语对就有一个SPDU。 当然也有一些例外, 例如对有些请求可能有不同的响应(接受或拒绝), 因而相应的响应确认原语就表现为不同的SPDU。 另外, 如果对传输服务数据单元的长度做了规定, 会话协议就必须把会话数据分段组成更小的传输块, 因而就有了多个会话协议数据单元, 其中第一个SPDU用数据溢出参数指明后边还有溢出SPDU。计算机网络第8章 高层协议 表 89 会话协议数据单元 计算机网

11、络第8章 高层协议 计算机网络第8章 高层协议 计算机网络第8章 高层协议 表89中的大部分术语意义是清楚的, 只有个别的需要解释。 有关SPDU参数的解释如下: 连接ID: 会话连接标识符(ID)由主呼方和被呼方用户各定义一部分。 协议选择: 选择是否能接收扩展的级连SPDU。 最大TSDU长度: 这也是最大SPDU长度或级连的SPDU长度。 版本号: 会话协议有两个版本, 第1版限制用户数据不超过512字节, 第2版取消了这个限制。 初始序号, 序号: 都是指主/次同步点的序号。计算机网络第8章 高层协议 用户需求: 会话连接中使用的功能单元表。 数据溢出: 当用户数据超过10 240字节

12、时设置这个标志。 封装项: 当SSDU被分段时要用这个参数, 指出当前的SPDU是起始段, 中间段或结束段。 传输层断连: 指示在会话连接终止后是否断开传输连接。 错误码: 由具体实现定义的协议错误代码。计算机网络第8章 高层协议 2. 会话协议格式 通常的协议参数都具有三个特征: 类型, 长度和值, 而且大部分协议的参数长度是固定的, 类型由固定的字段表示, 因而协议的格式就很规整而简明。 但是会话协议的格式不是这样, 其参数的多少变化很大, 任选项很多, 因而协议格式就显得不合理的复杂。 虽然实际交换的协议格式可能非常复杂, 但编码规则却只有一条, 即用类型长度值三段式编码表示一个参数。

13、计算机网络第8章 高层协议 图 8.5 具有单个参数单元的SPDU格式 计算机网络第8章 高层协议 图8.6是具有一个参数组的SPDU的例子, 其中的参数组由两个参数单元组成。 一个SPDU可以含有多个参数组, 或一个参数组和多个参数, 这些SPDU的格式都是以上两种格式的拓广。计算机网络第8章 高层协议 图 8.6 具有单个参数组的SPDU格式 计算机网络第8章 高层协议 图 8.7 会话连接与传输连接的映象 (a) 一对一; (b) 多对一; (c) 一对多 计算机网络第8章 高层协议 8.2 表示层表示层 8.2.1 表示层的基本概念 为了说明信息表示的问题, 我们把通信系统想像成图8.

14、8所示的模型。 在这个模型中通过网络互连的端系统被分成两部分: 应用元素和传输元素。 应用元素包括OSI模型中的应用层, 主要关系到信息的表示和加工, 而传输元素包括表示层以及以下的各个功能层, 主要关系到可靠有序地传输比特流。 计算机网络第8章 高层协议 图 8.8 关于信息表示的通信系统模型 计算机网络第8章 高层协议 8.2.2 抽象语法表示ASN.1; ASN.1和BER虽然包含在不同的ISO文件中, 但人们通常把二者作为一个标准讨论。 所以这一小节包含两部分内容: 首先介绍如何用ASN.1定义抽象语法, 然后说明对抽象语法如何编码, 即如何形成对应的传送语法。 1. 抽象语法的定义

15、ASN.1是一种描述抽象数据类型的形式语言, 它有严格的BNF定义, 我们不想全面研究ASN.1的定义, 只介绍它的一些基本概念, 然后用例子说明ASN.1定义的一个抽象语法。计算机网络第8章 高层协议 ASN.1的基本构件是模块, 一种抽象数据类型可以用ASN.1定义成一个模块, 这个模块描述了抽象数据类型的抽象语法。 模块可以用名字来引用, 模块名也是它定义的抽象语法的名字。 ASN.1描述抽象数据类型的方法与高级程序设计语言定义数据结构的方法类似。 ASN.1定义了若干种简单类型, 也提供了由简单类型构造复杂数据结构的手段。 在研究ASN.1的类型定义之前我们先介绍ASN.1的词汇规则。

16、 计算机网络第8章 高层协议 具体地说ASN.1有以下关于词汇的约定: (1) 所有的名字标识符都由大小写字母, 数字和横杠组成, 长度不限; (2) 内部类型名和保留字全部用大写字母表示; (3) 用户定义的类型或模块名第一个字母要大写; (4) 其他标识符(例如值的名字, 字段的名字等)第一个字母要小写。计算机网络第8章 高层协议 ASN.1中定义的类型除类型名外还有一个标签, 标签由一个保留字和一个非负整数组成, 它的作用与编码规则有关, 其作用稍后解释。 ASN.1内定了6种基本类型, 如表8 10 所示。 计算机网络第8章 高层协议 表 810 ASN.1的基本类型计算机网络第8章

17、高层协议 ASN.1还定义了一些字符串类型, 这些字符串类型都是OCTET STRING类型的子集, 如表811所示。 Printablestring类型包括大小写字母, 10个数字, 空格以及“(”、 “)”、 “+”、 “-”、 “”、 “.”、 “,”、 “/”、 “ ”、 “=”、 “?” 等 11 个字符。 其他字符串类型的值已在表中作了说明。 计算机网络第8章 高层协议 表 811 ASN.1的字符串类型计算机网络第8章 高层协议 ASN.1描述抽象语法的形式是类型赋值语句: 类型名 =类型定义= 例如我们可以定义 CommandPDU为CHOICE类型 CommandPDU =C

18、HOICE Localcommand, Remotecommand 计算机网络第8章 高层协议 图8.9(b)是用ASN.1描述的个人记录的抽象语法。 我们首先分析其中对雇员编号的定义: Employee Number = IMPLICIT INTEGER计算机网络第8章 高层协议 图 8.9 ASN.1表示的抽象语法的例(a) 个人记录的非形式描述; (b) 个人记录的抽象语法; (c) 个人记录的抽象值 计算机网络第8章 高层协议 图 8.9 ASN.1表示的抽象语法的例(a) 个人记录的非形式描述; (b) 个人记录的抽象语法; (c) 个人记录的抽象值 计算机网络第8章 高层协议 2.

19、 编码规则 基本编码规则BER中有各种方法, 用来把ASN.1的抽象值编码为字节串, 这个字节串就叫做抽象值的传送语法。 编码的基本原则是类型长度值三段式结构, 简称TLV(TypeLengthValue)结构。 这种编码形式在介绍会话层协议格式时出现过, 但BER的规则稍复杂一些, 主要是编码的值部分是递归的, 即它本身也可以是TLV结构, 这样就具备了表达复杂数据的能力。计算机网络第8章 高层协议 例 8.1 布尔类型有两个值FALSE和TRUE, 都用一个字节表示, FALSE是00, TRUE是FF。 布尔类型是简单类型, 标签为UNIVERSAL 1。 因而值FALSE编码为 01

20、01 00 值TRUE编码为 01 01 FF 其中第二个字节指明值部分的长度为1个字节。计算机网络第8章 高层协议 图 8.10 传送语法的第1字节 计算机网络第8章 高层协议 例 8.2 十进制整数256编码为 02 02 01 00 其中最后两个字节表示十进制值256。 例 8.3 比特串10101的值在传送时要占用一个字节, 这5位靠左存放, 右边的3位不用, 所以在对比特串进行编码时要提供说明未使用位数的信息。 于是对10101编码为 03 02 03 A8 第1个03说明是比特串, 简单类型, 02表示长度为两个字节, 第2个03说明值部分最后3位未用, A8是最后一个字节的值。计

21、算机网络第8章 高层协议 例 8.4 位组串ACE编码为 04 02 AC E0 这里不需说明未用的位数, 因为位组(即八位组)总是占用整数个字节, 没有说明值的位都认为是0, 故最后一个字节为E0。 可见位组类型也遵循靠左存放的原则。计算机网络第8章 高层协议 例 8.5 以前没有介绍过的一个基本类型是NULL类型 , 它 只 有 一 个 值 , 也 写 作 N U L L , 其 标 签 是UNIVERSAL 5。 由于这个类型是空类型, 实际上无需存储或传送它的值, 所以编码为 05 00 其中的00表明值部分长度为0。 所谓构造类型, 就是有一定结构的抽象数据类型。 计算机网络第8章

22、高层协议 例 8.6 序列类型SEQUENCE madeofwood BOOLEAN, length INTEGER的值madeofwood TRUE, length 62编码为 30 06 01 01 FF 02 01 3E 按照序列的结构可展开如下: Seq Len Val 30 06 Bool Len Val 01 01 FF Int Len Val 02 01 3E计算机网络第8章 高层协议 例 8.7 集合类型SETbredth INTEGER, bent BOOLEAN的值bredth 7, bent FALSE编码为 31 06 02 01 07 01 01 00 因为集合类型的

23、元素是无序的, 所以也可编码为 31 06 01 01 00 02 01 07 由于该集合类型的两个元素类型不同, 故可根据其类型适当区分之。下面的例子说明标签的使用。 计算机网络第8章 高层协议 例 8.8 假设我们正在设计一个文件安全协议, 这里定义的类型其有效范围仅限于我们面对的这个应用, 因此可以用APPLICATION标签来标识当前定义的类型。 我们把口令字定义为下面的类型:PASSWORD =APPLICATION 27 OCTET STRING= 这样, 利用位组串定义了这个应用中的一个新类型PASSWORD。 如果字符串“Sesame ”属于PASSWORD类型, 则可以编码为

24、计算机网络第8章 高层协议 7B 08 04 06 53 65 73 61 6D 65 展开后为 App Len Val 7B 08 Oct Len Val 04 06 53 65 73 61 6D 65 计算机网络第8章 高层协议 例 8.9 设有下面的集合类型:HT5”SSParentage =SETSubject Name1 IMPLICIT IA5String,Mother Name2 IMPLICIT IA5String OPTIONAL,Father Name3IMPLICIT IA5String OPTIONAL, 计算机网络第8章 高层协议 8.2.3 表示服务和协议 1. 表

25、示服务 表示层提供两类服务, 第一类服务与会话有关。 从上一节我们知道与会话有关的服务是由会话层提供并可向上传播直至应用层。 因而表示服务中的会话功能都是由它的下层实现的, 表示层并不生成与会话有关的协议数据单元, 而是把会话服务要求传达给会话层去完成。 计算机网络第8章 高层协议 例如, 原发端的表示层连接请求中对一组应用协议数据单元PDUtype(1), PDUtype(2), PDUtype(3)确定了抽象语法(AS)和对应的传送语法(TS)。 PDUtype(1)=AS(1), TS(a), TS(b), TS(c) PDUtype(2)=AS(2), TS(a), TS(d) PDU

26、type(3)=AS(3), TS(b), TS(d), TS(e) 计算机网络第8章 高层协议 可见原发端对每一种AS建议了几种TS, 希望接收端至少能支持其中的一种。 接收端对这个请求的响应可能是: PDUtype(1)=AS(1), TS(a), PDUtype(2)=AS(2), TS(d), PDUtype(3)=AS(3), TS(d) 计算机网络第8章 高层协议 PALTERCONTEXT服务是应答式服务, 用户利用这种服务协商改变DCS。 除了连接建立阶段, 用户之 间 的 协 商 只 能 通 过 这 种 形 式 进 行 。 PALTERCONTEXT原语和参数表示在表812中

27、。计算机网络第8章 高层协议 表 812 PALTERCONTEXT原语计算机网络第8章 高层协议 2. 表示协议 像其他的高层协议一样, 表示层协议也分为一些功能单元。 核心单元用于建立表示连接, 传输数据和释放连接, 它总是必备的; 另外一个功能单元是上下文管理单元, 用于增删确定的上下文集合; 还有一个单元是上下文恢复功能单元, 当会话连接重新同步时, 这个功能单元可以存储上下文信息以备以后恢复。 计算机网络第8章 高层协议 表示层的协议数据单元都是用ASN.1定义的, 不再用方框图表示协议格式。 图8.11给出一个协议数据单元的例子, 它出自1988年的CCITT X.226建议。 给

28、出这个例子的目的主要是为了增加见识, 而并非详细研究它的功能。 计算机网络第8章 高层协议 CPtype =SET 0 IMPLICIT Modeselector1 IMPLICIT SET COMPONENTS of ReliableTransferAPDUs. RTORQapdu Shall be used for X.410 mode only2 IMPLICIT SEQUENCE3 IMPLICIT Protocolversion4 IMPLICIT Callingpresentationselector5 IMPLICIT Calledpresentationselector6 IM

29、PLICIT PresentationcontextCD*3definitionlist7 IMPLICIT Defaultcontextname8 IMPLICIT Presenrationrequirements9 IMPLICIT UsersessionrequirementsUserdata图 8.11 表示连接协议数据单元的例 计算机网络第8章 高层协议 8.3 应用层应用层 8.3.1 应用服务元素 1. 联系控制服务元素ACSE 两个应用实体要进行通信首先必须建立联系。 在应用层, 我们不用连接的概念, 因为建立连接意味着面向连接的服务。 联系的概念比连接要广泛得多, 它包括了很

30、多应用层的语义, 建立了应用联系意味着构造出一种应用平台。 ACSE就是管理应用联系的功能模块, 因而任何应用都必须使用它。 计算机网络第8章 高层协议 ACSE共有4个服务原语: AASSOCIATE用于建立联系, ARELEASE用于释放联系, AABORT由应用层用户用于中止联系, 而APABORT由应用服务提供者用于中止联系(表813)。 这些原语(特别是建立联系原语)有很多的参数, 但大部分是与表示和会话有关的。 与AASSOCIATE有关的最重要的参数有两条: 应用上下文名: 与联系有关的应用服务元素名; 表示上下文定义表: 用于通信的表示上下文的集合。计算机网络第8章 高层协议

31、表 813 ACSE服务原语 计算机网络第8章 高层协议 2. 可靠传输服务元素RTSE; RTSE提供可靠的数据传输, 所谓可靠是指能从系统(指主机系统)崩溃中恢复, 当传送一个很长的文件时, 这种服务元素是必要的。 RTSE有7条服务原语, 分别是打开, 关闭RT服务(Reliable Transfer Service), 请求和交出发送权, 传送数据, 以及两条中止传送服务的原语(表814)。 计算机网络第8章 高层协议 表 814 RTSE服务原语 计算机网络第8章 高层协议 3. 远程操作服务元素ROSE 在典型的分布式环境中, 一个应用实体可能要调用另一个远程实体的操作, 这种调用

32、往往采用请求/响应的工作方式, 通常把这种工作方式叫做远程过程调用RPC(Remote Procedure Call)。 ISO定义的ROSE是比RPC更通用的机制, 主要用于网络管理, 报文处理系统和目录服务等。 计算机网络第8章 高层协议 ROSE的基本模型涉及到两个互相作用的应用实体, 一个是调用者, 一个是执行者。 执行者对调用者的请求可能给予回答, 也可能不予回答, 具体地说, 有四种可能性: (1) 如果操作成功, 返回操作结果, 如果操作不成功, 返回错误信息; (2) 如果操作出错, 报告错误信息, 否则不予回答; (3) 仅操作成功时返回结果; (4) 无论操作成功与否, 都

33、不回答。计算机网络第8章 高层协议 图 8.12 ROSE操作的链接 计算机网络第8章 高层协议 ROSE提供了四个远程操作的宏定义, 用来管理用户和ROSE服务之间的接口。 这四个宏定义是: (1) BIND: 建立应用联系, 提供远程操作类型的抽象表示和远程操作数值的抽象表示; (2) OPERATION: 定义操作的集合和用户数据类型的集合; (3) UNBIND: 释放应用联系, 说明释放期间交换的用户数据类型; (4) ERROR: 说明用于否定应答的数据类型。计算机网络第8章 高层协议 表 815 ROSE服务原语 计算机网络第8章 高层协议 4. 提交, 并发和恢复CCR CCR

34、服务元素提出得最早, 原是作为公共应用服务元素CASE的一部分定义的, 现在虽然没有了CASE, 但仍保留了CCR。 计算机网络第8章 高层协议 主控系统在超时控制期限内接到从属系统的就绪(READY)应答后发出提交(COMMIT)请求, 这时从属系统才实际进行数据更新操作, 操作完成后返回确认应答, 从而实现提交的第二阶段。 可以看出, 处置操作的特点是: (1) 原子性: 从外部看, 要么全部完成, 要么什么也不做; (2) 一致性: 操作结果与应用的要求保持一致; (3) 隔离性: 在操作开始后到全部完成这段时间其他用户不能访问正在操作的数据; (4) 持久性: 操作必须经受住系统和通信

35、故障的考验。计算机网络第8章 高层协议 图 8.13 CCR的两阶段提交计算机网络第8章 高层协议 图 8.14 CCR中的并发和恢复操作 计算机网络第8章 高层协议 CCR服务可以按照主从次序嵌套为树结构, 叫做原子作用树。 在这个树中, 某一级的从属结点是下一级的主控结点, 任何结点只有收到下一级的适当响应后才向它的上级发出响应。 显然原子作用树代表的整个操作或者全部完成, 或者都回退到初始状态。 CCR的服务原语列在表816中。 每一个服务原语都穿过表示层映象到会话服务, 主要使用的是主同步检查点和重同步服务。 在重同步点可以放弃处理, 也可以重 新 开 始 处 理 , 这 正 好 是

36、C R E F U S E 和CROLLBACK要求的服务。 计算机网络第8章 高层协议 表 816 CCR服务原语计算机网络第8章 高层协议 5. 应用层的内部结构 各种需要的应用服务元素和应用进程共同组成应用实体。 图8.15就是一个应用实体的例子, 在这个假想的例子中使用了ACSE, ROSE用于进行远程的事务处理操作, 而RTSE则用于传输大的数据块。 图中的用户元素是应用进程的一部分,它起到了应用进程和网络应用实体之间的接口作用。 计算机网络第8章 高层协议 图 8.15 应用实体的例 计算机网络第8章 高层协议 8.3.2 虚拟终端协议 如果一个终端用户希望通过网络访问各种不同类型

37、的主机, 他就需要利用虚终端协议VTP(Virtual Terminal Protocol), 这种通信方式表示在图8.16中。 图 8.16 虚终端通讯方式 计算机网络第8章 高层协议 1. 滚动式终端 这种终端没有任何智能, 只能把键入的字符发送出去, 把收到的字符显示(或打印)出来, 一行显示(或打印)满了以后自动向上滚动。 2. 页面式终端 这类终端就是通常的键盘显示器终端, 其光标可以在整个屏幕上移动, 用户和应用程序都可以随机地改变屏幕任何位置上的信息, 终端I/O以整页的方式传送。 计算机网络第8章 高层协议 3. 表格式终端 这种终端比页面式终端更高级。 在这种终端上可以单独定

38、义某些字段的属性(例如只能读而不能修改), 可以只传送屏幕信息的一部分(例如表格中的变量值), 终端内的微处理器支持用户进行本地的编辑, 宏操作(例如验证数据)等。 计算机网络第8章 高层协议 4. 图形式终端 这类终端可以显示任意的两维位模式。 任何虚拟终端协议的操作过程大体上都可以分为四个阶段: 连接管理: 包括会话层的有关功能, 例如建立和释放连接; 协商: 确定通信双方一致同意的操作特性; 控制: 交换控制信息和命令; 数据传输: 交换数据信息。 计算机网络第8章 高层协议 5. ISO虚拟终端标准 ISO虚终端服务是应用层服务, 它定义的虚终端模块是实际终端的抽象表示。 服务标准定义

39、了可以在虚终端上完成的操作, 例如从虚终端键盘上读数据, 向虚终端屏幕上写数据以及移动虚终端的光标等。 计算机网络第8章 高层协议 图 8.17 虚终端服务的体系结构 计算机网络第8章 高层协议 BCVT是面向字符的终端, 它提供的最基本的功能就是行编辑以及与操作系统命令语言的交互作用等, 这些操作都可以在滚动式终端上实现。 BCVT的信息结构是用面向对象的方法定义的。 BCVT的对象有显示对象, 设备对象和控制对象等。 计算机网络第8章 高层协议 图 8.18 虚终端环境的结构 计算机网络第8章 高层协议 BCVT标准定义的提交控制有三种: (1) 无提交控制: 这是缺省类型, 具体实现可以

40、选择任何方便的方式把数据传送给对等实体; (2) 简单提交控制: 服务用户可以发出提交请求, 把所有未提交的数据提交给对方, 请求方还可以要求接收方给出应答; (3) 隔离提交控制: 这种方式要求VT服务模块保存所有接收的数据, 得到对方发出的释放命令后再把数据提交给服务用户, 例如应用程序分块发送数据, 当满一屏后发送释放命令, 一次提交给终端显示器。计算机网络第8章 高层协议 8.3.3 文件传输协议 1. 虚拟文件存储结构 虚拟文件是真实文件的抽象, 和虚拟终端一样, 定义虚拟文件的目的是使得互连的开放系统之间有一种共同的文件表示方法。 (1) 文件存取结构: 按照存取结构来区分, 有顺

41、序文件, 索引顺序文件, 层次文件, 网状文件和关系文件等。 计算机网络第8章 高层协议 (2) 表示结构: 表示结构描述数据单元(DU)的抽象语法。 (3) 传输结构: 传输结构规定了把有结构的文件作为数据元素序列传输的方法。 (4) 标识结构: 说明了在文件存取结构中命名结点和在传输过程中标识FADU的方法。计算机网络第8章 高层协议 图 8.19 虚拟文件的层次结构 计算机网络第8章 高层协议 FTAM把文件属性分为三组: 核心组属性是必备的, 它提供了有关文件的基本信息, 例如文件名, 文件的类型(无结构文件, 扁平结构文件或是层次结构文件)等。 存储属性定义了和文件的物理存储有关的概

42、念, 例如文件长度, 对文件可施加的作用(创建, 删除等)。 安全属性包含了有关文件安全的信息, 例如存取控制, 用于加密的文件名等。 文件属性列在表817中。计算机网络第8章 高层协议 表 817 FTAM中的文件属性 计算机网络第8章 高层协议 活动属性描述与正在进行之中的FTAM会话有关的文件, 它具有动态的性质, 在会话之外没有意义。 例如文件的当前存取位置, 当前的访问请求等都是与文件会话有关的活动属性。 活动属性列在表818中。计算机网络第8章 高层协议 表 818 FTAM中的活动属性 计算机网络第8章 高层协议 作用于文件上的操作在ISO文件中叫做作用(action)。 有些作

43、用可施加于整个文件, 这些作用与文件管理有关; 有些作用只能施加于文件的组成成分, 这些作用与文件的存取有关。 表819列出了FTAM中定义的作用。 计算机网络第8章 高层协议 表 819 FTAM中定义的作用 计算机网络第8章 高层协议 2. 文件服务 FTAM中的文件服务定义了用户访问和管理虚拟文件时可利用的服务, 这种服务的主要作用是为用户生成一个可操作虚拟文件的工作环境。 建立和利用这种服务的过程如下: (1) 用户和文件存储器之间互相交换标识; (2) 选择用户需要的文件, 确立用户对文件的访问权; (3) 建立描述文件结构属性, 确定并发访问的状态, 即打开文件; (4) 允许用户存取所选择的文件属性和文件内容。计算机网络第8章 高层协议 图 8.20 FTAM文件服务原语和工作阶段 计算机网络第8章 高层协议 3. FTAM协议 FTAM协议基本上是一一对应地把服务原语变换为协议数据单元, 这些协议数据单元都是用ASN.1描述的。 例如下面是FOPENresponse原语对应的FPDU结构: FOPENresponse =SEQUENCEs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论