您好、欢迎来到现金彩票网!
当前位置:88彩票 > 服务原语 >

第2章 协议构造技术

发布时间:2019-05-31 19:35 来源:未知 编辑:admin

  第2章 协议构造技术_互联网_IT/计算机_专业资料。网络协议工程 南京邮电大学计算机学院 第2章 协议构造技术 ? 2.1 引言 ? 2.2 协议构造过程 ? 2.3 协议构造方法 ? 2.4 ISO T层协议的构造 2/55 2.1 引

  网络协议工程 南京邮电大学计算机学院 第2章 协议构造技术 ? 2.1 引言 ? 2.2 协议构造过程 ? 2.3 协议构造方法 ? 2.4 ISO T层协议的构造 2/55 2.1 引言 ? 协议开发的第一步是构造(或构思)一个协议, 提出协议文本初稿。 ? 协议的构造包括以下环节: ?协议环境分析(用户要求,通道性质,工作模式) ?协议功能设计 ?协议组织形式的确定 ?协议元素的构造 ?协议文本编写 ? 协议构造需要:经验、智慧、方法 3/55 2.2 协议构造过程 ? 2.2.1 协议环境 ? 2.2.2 协议功能与协议机制 ? 2.2.3 协议元素 ? 2.2.4 协议组织 ? 2.2.5 协议文本 4/55 2.2 协议构造过程 ? 以n层协议的构造过程为例,n层协议模型如 图所示: (n+1)层 USER1 USER2 nSAP n层 A B (n-1)层 (n-1)层通道 (n-1)SAP 5/55 2.2 协议构造过程 ? USER1和USER2为(n+1)层协议实体,称为n层 ? ? ? ? 协议的用户 n层协议实体利用(n-1)层协议提供的服务按 照n层协议通信 两个(n-1)SAP之间构成一个通道,称为(n-1) 层通道 n层用户要求、(n-1)层通道的性质以及n层协 议的工作模式构成n层协议的环境 n层协议的构成从协议环境分析入手。 6/55 2.2 协议构造过程 ? 几个同义语: ?n层协议-n层协议实体(协议机) ?n层用户-(n+1)层协议实体 ?(n-1)层通道-(n-1)层服务 7/55 2.2.1 协议环境 ? 1、用户要求: n层用户对n层协议提供的服务提出的要求归 纳为以下几个方面: ?连接管理:连接服务、无连接服务、永久连接服 务,并要求n层协议负责连接的建立、撤销、复 位等管理工作,连接建立过程中,网络资源的分 配和管理,连接合法性和安全性检查,以及目标 名和地址的转换工作也由n层协议进行。 ?多路和广播 ?服务认可:完全认可式、部分认可式、无认可式 ?通讯方式:单工/半双工/全双工;同步/异步 8/55 ?数据形式:块数据、流数据、批数据、优先数 据、中断数据、紧急数据、流外信息、编码信 息 ?数据长度: ?数据可靠性:包括数据报文无CRC错、报文顺 序正确、报文不丢失不重复 ?数据流通量与实时性: ?安全、保密性 ?目标识别:传地址、传名字、传参照值 ?其它用户要求:测试、监视、统计、计费等 9/55 2.2.1 协议环境 ? 服务认可形式: data-confirm (n+1)层 (n)SAP n层 完全认可式服务 data-request data-indication data-response data-confirm (n+1)层 data-request data-indication (n)SAP n层 部分认可式服务 10/55 2.2.1 协议环境 ? 服务认可形式: data-request (n+1)层 (n)SAP n层 无认可式服务 data-indication 11/55 2.2.1 协议环境 ? 2、通道性质 ?n层中任何两个协议实体通过(n-1)SAP所形成的 数据逻辑通路叫(n-1)层通道。 ?(n-1)层通道的形成方式: ? 独占连接 ? 共享连接 ? 利用无连接服务 ? 如果(n-1)层为物理层,A和B可独占一条物理信道, 或共享一条物理信道。 12/55 2.2.1 协议环境 ? 2、通道性质 C (n+1)层 (n)SAP n层 独占连接 n层 共享连接 A B D (n+1)层 (n)SAP C A B D C (n+1)层 A B D (n)SAP n层 利用无连接服务 13/55 2.2.1 协议环境 ? 2、通道性质 ?通道性质包括以下几个方面: ? 通道形成方式:n层协议必须有一个负责和(n-1)层服 务访问点接口的模块,该模块的功能取决于通道形成 方式。 ? 队列性质:平均队列长度及最大队列允许长度 ? RTT(Round Trip Time): ? 数据的可靠性:报文差错率、丢失率、重复率、顺序 错误率 ? 通道的可靠性: ? 报文最大长度:影响n层协议的报文分割和拼接 ? 工作方式:单工/半双工/全双工;同步/异步两个方面 ? 其它性质:流量、带宽等 14/55 2.2.1 协议环境 ? 3、工作模式 ?点-点模式和多点模式: ? n层内任意两个协议实体利用一条(n-1)层通道通信, 协议完成指定协议功能,为点-点模式。 ? 两个以上协议实体利用多条通道相互通信,协同执行 一定任务,为多点模式。 ?主从模式和平衡模式: ? 主从模式中,主控实体控制其它实体; ? 平衡模型中,各实体功能和作用近似,控制是自治 ?中转和路由:每个中转实体必须具有路由功能 15/55 2.2.2 协议功能和协议机制 ? 协议功能 ?指n层协议应该做哪些事情 ? 协议机制 ?指用什么方法、设施和算法去做这些事情 ? 协议功能应与n层用户要求、(n-1)层通道性 质和n层协议工作模式一致 ? n层协议机制应保证协议功能的线 协议功能和协议机制 ? 对于具体某层协议,其用户会提出一部分要 求,并对(n-1)层通道提出明确要求 ? 协议工作模式一般在网络总体设计时确定。 ?如OSI T层:点-点平衡模式, ?N层:多点模式,有路由功能 ? 一般情况下,n层协议功能为下述协议功能的 一个子集。按A,B,C…分类,同类协议功能的 关系较密切,实现时往往处于同一模块中。 17/55 2.2.2 协议功能和协议机制 ? A类 ?A1联接管理 ?A2多路管理 ?A3无联接和广播管理 ?A4通信方式管理 18/55 2.2.2 协议功能和协议机制 ? B类 ? B1 SDU和PDU的发送和接收 ? B2 PDU的装配/拆卸 ? B3 SDU的编/解码 ? B4 CRC校验 ? B5 SDU分段和合段 ? 如果SDU长度大于(n-1)层通道最大允许报文长度,SDU必须分段 (Segmenting)发送,接收后要合段(Reassembling)。 ? B6 SDU拼接和分离 ? B7 PDU分割和组合 ? 为了提高吞吐量,n层协议可建立多个(n-1)层通道。此时,一个 PDU可以分割成多个(n-1)SDU,并行地从多个通道分送,接收方 将它们组合成一个PDU。 19/55 2.2.2 协议功能和协议机制 ? C类 ?C1 顺序控制 ? 编号,序号校对,重复PDU的剔除 ?C2 超时重发控制 ?C3 端-端流控制 ? 在一段时间内,收方能够容纳和处理的PDU个数总是有限的,为了限制 过多的PDU进入收方,n层协议必须实行端-端流量控制,最常用的是窗 口机制。 ?C4 拥塞避免控制 ? 如果(n-1)层通道为队列通道,该通道可能拥塞(某个队列长度达到或 接近最大允许长度),拥塞现象的发生将大大降低通道的有效吞吐量, 使正常的端-端流量控制失灵,拥塞避免控制力图降低或消除拥塞现象, 获得最大有效吞吐量。 ?C5 发送速率控制 20/55 2.2.2 协议功能和协议机制 ? E类 ?E1 通道接口管理 ?E2 通道错误处理 ?E3 通道共享控制 ? F类 ?F1 其它协议功能 ? 目标的名字地址管理、快速报文和中断报文的发送和 接收、安全控制、测试统计等。 21/55 2.2.3 协议元素 ? 协议由六种元素组成: ? 服务原语和服务原语时序 ? 协议数据单元(PDU)和PDU交换时序 ? 协议状态 ? 协议事件 ? 协议变量 ? 协议行动和谓词 ? 一般而言,每种协议功能都包括六种元素。 ? 有些协议功能由于不直接向用户提供服务,如流控制,不包含服 务原语。 ? 有些协议功能由于协议机制简单,可能不包括协议变量,没有专 门的PDU定义。 ? 多个协议功能组织成的一个完整的协议,六元素缺一不可。 22/55 2.2.3 协议元素 ? 1 服务原语和服务原语时序 ?n层协议的服务原语和原语参数详细准确地描 述n层协议和其用户之间接口(即SAP)。 ?服务原语分为完全认可式、部分认可式和无认 可式三种 ?各种服务原语及其时序关系图 ?n层协议及其用户接口状态与服务原语之间关 系有确切定义,可用服务状态转移表示。 23/55 2.2.3 协议元素 ? 2 PDU和PDU交换时序 ?PDU从语法和语义上详细准确地定义n层协议实 体之间交换的信息。 ?协议还必须描述PDU交换的时序。 ? 如,当一个协议实体收到CR PDU(Connection Request)之后,它应该发出CA PDU(Connection Acknowledgement)或DR PDU(Disconnection Request) 。 ? 这三个PDU的时序关系为:CR→CA或CR→DR 24/55 2.2.3 协议元素 ? 3 协议状态 ?分为局部状态和全局状态 ?局部状态为单个协议实体在某时刻的执行状态 ?全局状态为参与执行某种协议功能的所有协议 实体(包括(n-1)层通道)状态的总和。 ?(n-1)层通道状态即(n-1)层协议的服务状态。 25/55 2.2.3 协议元素 ? 4 协议事件 ?协议事件分输入事件和输出事件两大类。 ?n层协议的输入事件由三部分组成: ? 收到一个PDU ? 收到n层用户的一条服务原语 ? 产生一个内部事件(如时钟超时) ?n层协议的输出事件由两部分组成: ? 发出一个PDU ? 向n层用户发出一条服务原语 ?n层协议必须罗列和定义每个协议事件。 26/55 2.2.3 协议元素 ? 5 协议变量 ?存储协议运行的历史数据,运行参数的变量, 以及协议机制本身所设置的变量。 27/55 2.2.3 协议元素 ? 6 协议行动和谓词 ?每种协议功能都由一组协议过程的执行来实现 ?协议过程由协议事件驱动 ?协议过程执行一系列的操作(行动),包括: ? 产生输出事件 ? 清除和设置定时时钟 ? 修改协议变量 ? 改变协议状态 28/55 2.2.3 协议元素 ? 6 协议行动和谓词 ?协议行动由事件驱动,并受一定条件制约。 ?这些约束条件包括: ? 参数 ? 协议变量 ? 协议运行环境等。 ?描述协议行动条件的语句称为谓词。 ?协议过程的描述必须说明过程的行动,并给出 行动谓词。 29/55 2.2.4 协议组织 ? 协议组织问题: ?怎样将单独设计的协议功能和协议机制、协议 元素组织成一个完整的协议。 ?将多个协议功能组合在一起时,可能要回过头 来修改原有的协议元素。 30/55 2.2.4 协议组织 ? 1 协议层次化 ?类似OSI模型将整个网络协议分成7层一样,n 层协议的功能可进一步分成多个子层。 ?子层的划分可使复杂协议的结构变得清晰。 ?子层的划分有利于协议的设计、验证、实现和 测试。 ?子层的划分可能降低协议性能。 31/55 2.2.4 协议组织 ? 2 协议阶段化: ?可将n层协议分成多个运行阶段(phase),每个 阶段只有一部分协议功能是有用的。 ?协议的阶段化使复杂协议变得简单,有利于协 议的设计、验证、实现和测试。 ? 3 协议分类: ?协议的复杂性是由于不同用户的不同要求和不 同通道的不同要求造成的。 ?可将协议分成不同类别(或不同级别),每类协 议只适用于一定用户和一定通道,那么复杂协 议就会得到简化。 32/55 2.2.4 协议组织 ? 4 协议运行方式,有三种: ?协议交替(protocol alternative) ? n层内多个协议,或一个协议的多个类别,或一个协 议的多个协议功能,交替活跃运行 ?协议并发(protocol concurrency) ? 同时活跃并发运行 ?协议并行(protocol parallizm) ? 同时活跃同时运行 33/55 2.2.5 协议文本 ? 编写协议文本是协议构造的最后工作,即用 自然语言描述协议,以便于人们阅读理解。 ? 协议文本必须详细描述: ?用户要求(或服务性质)、通道性质(或对低层协 议服务要求)、工作模式、协议功能、协议组织 和协议的各种元素 ? 协议文本的最重要、最主要部分是协议元素 描述。 34/55 2.2.5 协议文本 ? 协议的各元素是有机联系的,相互关系为: ?在什么协议状态下,在什么输入事件驱动下调用 什么协议过程, ?协议过程在什么条件下(谓词)采取什么协议行动 (操作) ,输出什么事件或修改协议状态和变量。 ? 协议文本应清晰地表达这些关系 ?如,使用事件状态表,其优点是表达清晰、简明、 系统、完整。 35/55 2.3 协议构造方法 ? 协议构造是协议开发的第一步,涉及: ? 整个协议开发方法(如协议综合技术) ? 协议构造方法 ? 一个好的方法可使协议构造的思路清晰,有条理, 问题考虑周全,能尽快获得协议文本初稿。 ? 四种参考方法: ? 自上而下的构造方法 ? 自下至上的构造方法 ? 由低(易)到高(难)的构造方法 ? 利用成熟协议的构造方法 36/55 2.3 协议构造方法 ? 1 自上而下的构造方法 ?类似于软件的自上而下的开发方法 ?网络总体设计将一个网络系统划分成若干层,并 对各层提出具体要求(服务特性、工作模式、总 的功能等)。 37/55 2.3 协议构造方法 ?流程: ? 网络总体设计对n层协议的要求 ? 对n层协议环境(用户要求、通道性质、工作模式)进行 分析 ? 定义n层协议的服务原语和参数,确立服务原语时序 ? 根据环境分析,确定n层协议应有哪些协议功能 ? 将关系较密切的功能归成一类,形成协议模块 ? 确立各协议功能的协议机制,并分析或模拟其性能 ? 按协议模块,构造协议元素,确立各元素之间关系 ? 确立协议的组织形式,并修改协议功能和协议元素 ? 将各协议模块的协议元素综合成统一的协议元素 ? 对协议进行系统完整的描述,形成协议文本初稿 38/55 2.3 协议构造方法 ? 2 自下而上的构造方法 ?与前一方法相反,其起点是含混的。 ?计算机网络的飞跃发展往往要求研制性能更好的 协议,至于怎样好,没有具体要求,或者说协议 性能越高越好,服务能力越强越好。 ?协议的性能取决于协议机制,因此,该方法第一 步是研究新的协议机制。 39/55 2.3 协议构造方法 ?流程: ? 构造更好的协议 ? 研制新的协议机制,模拟和分析性能 ? 将多个实现新协议机制的协议功能组合成协议模块 ? 按协议模块构造协议元素,确立各元素之间关系 ? 确立协议的组织形式 ? 将各个协议模块的协议元素组合起来 ? 分析并描述协议的服务特性和服务能力 ? 描述协议对低层协议服务的要求(通道要求) ? 对协议作完整描述,形成协议文本 40/55 2.3 协议构造方法 ? 3 由低(易)到高(难)的构造方法 ?类似于软件开发的快速原型法 ?将用户要求和通道特性按难易程度排序 ? 首先取最低的用户要求和最易通道构造一个功能最简 单的协议,然后增加要求和通道难度,逐步构造一个 完整的复杂协议。 ? 如:先考虑信道是理想的,可靠的,再考虑信道是有 误码的等。 41/55 2.3 协议构造方法 ? 4 利用成熟协议的构造方法 ?利用一个成熟协议或一个协议国际标准,构造一 个新的符合指定环境的协议。 ?是一个协议构造的捷径。 42/55 2.4 ISO T层协议的构造 ? 以ISO OSI模型为实例 ?T层用户是会话层的协议实体 ?T层所利用的通道是N层协议所提供的服务 ? 两类T层协议 ?无连接T层协议 ?有连接T层协议 ? 分析有连接T层协议的构造 43/55 2.4.1 T层用户要求 ? T层用户对T层协议的要求,或者说T层协议的服务特 性,可归纳为如下几个方面: ? 向T层用户提供单路或多路有连接服务 ? 每条连接支持全双工、无认可式的数据传输 ? 每条连接支持透明的数据传输 ? 即SDU长度任意,顺序不错,不丢失,不重复。 ? T层用户可进行异步数据传输或同步数据传输 ? T层用户可提出服务质量QoS要求,QoS包括: ? QoS1: 传送紧急报文(中断报文)的要求 ? QoS2: 吞吐量和延时要求 ? QoS3: 数据CRC错误概率的要求 ? QoS4: T层连接出错概率的要求 44/55 2.4.2 N层通道特性 ? ISO N层可提供三类服务(通道),分别记作A 类服务、B类服务和C类服务。 ?A类服务 (1) 提供有连接服务,报文的传输是有序的,报文不丢 失,不重复 (2) CRC错误率小于T层用户对T层协议提出的CRC错误率 要求 (3) 最大允许的报文长度是有限的,可能小于TSDU长度 (4) 连接出错概率小于T层用户对T层连接出错概率的要 求。连接出错时给出N-Disconnect和N-Reset 45/55 2.4.2 N层通道特性 ?B类服务 (1)、(2)和(3)同A类; (4) 连接出错概率大于T层用户对T层连接出错概率的要 求。连接出错时给出N-Disconnect和N-Reset ?C类服务 (1) 可能提供无连接服务,报文的传输顺序可能出错, 报文可能丢失或重复 (2) CRC错误率可能大于T层用户对T层协议提出的CRC错 误率要求 (3)和(4)同B类。 46/55 2.4.3 T层协议功能和协议机制 ? 如果按T层用户的最高要求和N层通道的最坏 ? ? ? ? ? 特性来构造T层协议,那么它应该包括哪些功 能? (P27) A1-4 B1-7 C1-5 E1-3 F1 47/55 2.4.4 T层协议的组织 ? ISO对T层协议的组织 ? T层不再划分子层 ? 协议正常运行分三个阶段: ? 连接建立阶段 ? 数据传输阶段 ? 连接撤销阶段 ? 各协议功能按阶段活跃 ? 协议分为5类:TP0,TP1,TP2,TP3,TP4 ? 各类协议适用不同的用户和通道。 ? T层协议需要增加协议类别选择和协商功能 ? 多类协议并发运行 ? 多个T层用户通过一个TSAP使用不同类T层协议的服务。 48/55 2.4.4 T层协议的组织 ? ISO T层协议各类特点 ?TP0 ?TP1 ?TP2 ?TP3 ?TP4 ?TP0-4可并发运行 ?当源端和目的端选择的协议类别不一致时,连接 建立时通过协商,取最高的协议类别为最终的运 行协议。 49/55 2.4.5 T层协议元素 ? 服务原语及服务状态转移图 ?ISO T层协议定义服务原语10条,参数定义参见 协议文本 服务原语名 T-CONnect request T-CONnect indication T-CONnect response T-CONnect confirm T-DISconnect request T-DISconnect indication T-DATA request T-DATA indication T-EXPEDITED-DATA request T-EXPEDITED-DATA indication 符号名 T-CONreq T-CONind T-CONresp T-CONconf T-DISreq T-DISind TDTreq TDTind TEXreq TEXind 50/55 2.4.5 T层协议元素 ? 服务原语及服务状态转移图 ?T层用户所看到的服务状态可定义为四种。 idle(1) outgoing connection pending(2) incoming connection pending(3) data transfer(4) 连接未建立,在进行中 已收到连接请求 已发出连接请求 连接已经建立 51/55 2.4.5 T层协议元素 ? 服务原语及服务状态转移图 ?T层服务状态转移图 TDISxxx 1 TCONreq TCONind TDISxxx 2 TDISxxx 3 TCONconf 4 TCONresp TDTxxx TEXxxx 52/55 2.4.5 T层协议元素 ? PDU和PDU交换时序:PDU 10种 ? 协议状态:22个总状态 ? 协议事件:3类输出事件,上、下、平行 ? 协议变量:很多 ? 协议行动和谓词:行动很多,谓词10个 53/55 2.4.6 T层协议文本 ? 协议文本必须描述协议元素之间关系 ? 将ISO T层协议的某类的用事件状态表表示 ? 在什么协议状态下,在什么输入事件驱动下调用什么协 议过程, ? 协议过程在什么条件下(谓词)采取什么协议行动(操作) , 输出什么事件或修改协议状态和变量。 ? 协议行动表达为谓词a:行动1,行动2,…,谓词b:行动1, 行动2,… ? 注:因特网TCP协议文本可参见RFC793,RFC2581等。 54/55 TCP状态机 CLOSED passive OPEN create TCB active OPEN create TCB snd SYN CLOSE delete TCB CLOSE delete TCB SEND snd SYN rcv SYN snd ACK SYN SENT rcv SYN snd SYN, ACK LISTEN SYN RCVD rcv ACK of SYN x CLOSE snd FIN CLOSE snd FIN FIN WAIT-1 ESTAB rcv FIN snd ACK rcv SYN, ACK snd ACK CLOSE WAIT rcv FIN snd ACK CLOSE snd FIN CLOSING rcv ACK of FIN x LAST-ACK FIN WAIT-2 rcv ACK of FIN x rcv FIN snd ACK TIME WAIT rcv ACK of FIN x Timeout=2MSL delete TCB CLOSED 55/55

http://wendevick.net/fuwuyuanyu/350.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有