资源预览内容
第1页 / 共97页
第2页 / 共97页
第3页 / 共97页
第4页 / 共97页
第5页 / 共97页
第6页 / 共97页
第7页 / 共97页
第8页 / 共97页
第9页 / 共97页
第10页 / 共97页
亲,该文档总共97页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Chapter2 协议分析技术协议分析技术协议分析技术 2.1 协议环境分析协议环境分析 2.2 协议功能分析协议功能分析 协议环境分析 2.12.1.2 通道性质通道性质 2.1.1 用户要求用户要求 2.1.3 工作模式工作模式 2.1协议环境_分析 BAn层n层协议(n-1)SAP(n-1)层(n-1)层通道nSAPUSER2USER1(n+1)层N层协议的用户N层协议模型层协议模型分析对象用 户 要 求连接管理需求连接管理需求12.1.1 有连接服务 无连接服务 永久连接服务连接管理:建立、释放、作废、复位、恢复面向连接的网络o面向连接的协议有很多属性。首先,每个报文的数据在发送时都附加了一个序列号。用这种方法,目的端主机可以检查帧的序列号并且发回一个确认消息给源端主机,以表示它收到了数据。这个过程就是可靠性实现的过程。为了实现序列功能和确认功能,协议必须和对等的目的端协议建立一个连接。这一连接可以让双方都同意这些属性,如从哪个序列号开始、帧的大小以及其他属性。正是该连接使协议成为面向连接的协议面向连接的网络o面向连接协议的另一个特征就是它是一种通过网络转发数据的方法。面向连接的网络在传输第一个报文之前就确定了路径。面向连接协议最典型的例子是异步传输模式(Asynchronous Transfer Mode,ATM)。当ATM网络的用户要传输数据给目的端主机时,ATM网络首先必须在节点间建立端到端的连接。当报文(实际上应称为信元)到达每个ATM交换机时,该交换机立即就能知道如何将这些报文转发给下一个ATM交换机。这其中并没有像IP里那样的路由选择表查找过程。IP路由器的路由选择表中包含了整个网络中“跳”到“跳”的所有信息,并在此信息的基础上进行路由选择。而在ATM网络中,如果端到端的路由不存在,帧将不能从源主机发送出去。 无连接网络oIP协议无法进行连接设置或实现帧的排序及确认功能,所以它没有能力来提供可靠性。因此,IP协议是无连接协议 。不可靠的无连接协议的处理oIP协议不是可靠的协议也不是面向连接的协议,那么如果在端到端的数据传输中出现了故障,IP协议会怎么办呢?答案很简单,IP协议的设计者特意设计了向传输层提供可靠性的功能。然而,他们设计了一种方法让中介系统(如路由器和目的站点)向源端主机提供网络中某些情形的反馈,而不是让传输层来处理发生在较低层的每种情形。 在在IP网络中的主机从网络中的主机从ICMP协议接收主动反馈。协议接收主动反馈。 用 户 要 求广播与组播需求广播与组播需求2 广播:指一个n层用户发出的数据报,在同一 个网络中的其他用户都能够接收到。 组播:指一个或多个n层用户发出的数据报, 在网络中有一组用户可以接收到该数据 报,授权用户可以加入或退出该组。用 户 要 求服务证实方式服务证实方式 32.1.1协议接口:服务原语(协议接口:服务原语(SAP)服务原语服务动作原语类型l 服务请求原语: x-request; 用户协议l 服务指示原语: x-indication;协议用户l 服务响应原语: x-response; 用户协议l 服务证实原语: x-confirm; 协议用户用 户 要 求服务证实方式服务证实方式 32.1.1类型:l 用户证实方式l 协议证实方式l 无证实方式l 三种特殊方式:本地证实方式、单请求原 语方式和单指示原语方式。 (n+1)层(n)SAPn 层X-confirmX-confirmX-requestX-requestX-indicationX-indicationX-responseX-response请求原语请求PDU指示原语响应原语证实PDU证实原语N层用户N层协议N层用户用户证实方式:用户证实方式2.1.1(n+1)层(n)SAPn 层data-confirmdata-confirmdata-requestdata-requestdata-indicationdata-indication请求原语请求PDU指示原语证实PDU证实原语N层用户N层协议N层用户协议证实方式:协议证实方式2.1.1(n+1)层(n)SAPn 层data-requestdata-requestdata-indicationdata-indication请求原语请求PDU指示原语N层用户N层协议N层用户无证实方式:无证实方式2.1.1请求原语N层用户N层协议证实原语请求原语指示原语查询类服务(本地证实方式)设置类服务(单请求原语方式)告警类服务(单指示原语方式)三种特殊方式:本地证实方式、单请求原语方式和单指示原语方式。只涉及一方的用户和协议实体的服务证实方式2.1.1同步与异步o如果n层用户需要进行应答式通讯,就要要求完全认可式服务,但在这种服务认可方式下通信效率较低。无认可式和部分认可式服务可使n层用户进行异步通讯,获得较高的通讯流量。 用 户 要 求通讯方式需求通讯方式需求 4l 数据发送权:单工半双工全双工l 数据发送方式:同步异步单工半双工全双工 o所谓单工通讯方式是指在通讯过程中,只允许一方用户向另一方用户发送数据报文。o所谓半双工通讯方式是指在通讯过程中,通信双方都可以向对方发送数据报文,但在某一时刻只允许一方向另一方发送数据报文,在这种方式下,n层协议需要管理“发信权”,只有得到“发信权”的用户可以向对方发送数据报文。o所谓全双工通讯方式是指在通讯过程中,通信双方可以同时向对方发送数据报文,这就要求n层协议必须在(n)SAP上提供并发的收发服务。 同步异步 o所谓同步通讯方式是指n层用户之间进行应答式通讯,发送方发出数据报文后,要得到对方的应答数据报文才会发送下一个数据报文。如果采用同步通讯方式,n层协议可以免除流控功能。n层用户的同步通讯可以通过n层协议提供的用户证实方式的服务进行,也可以由用户自己进行控制。o所谓异步通讯方式是指发送数据的用户可向收方用户发出任意个数据报文,不需要对方对每个数据报文做出应答。在这种通讯方式下,n层协议必须施加流控制,否则报文可能会丢失。用 户 要 求数据形式数据形式 5多种形式的用户数据 : 块、流、批处理、优先、中断、流外、编码等。用户数据的多种形式 o块数据,n层用户向n层协议递交整块数据;o流数据,n层用户向n层协议递交字符流;o批数据,n层用户向n层协议递交大批数据块(短时间内);o优先数据,n层用户向n层协议递交的数据有不同优先级别;o中断数据,n层用户要求n层协议旁路正常数据的传递,快速将特殊信息发送到对方,此信息叫中断数据;o紧急数据,同中断数据;o流外信息,n层用户向n层协议递交的流数据中夹杂着要求n层协议截获并作处理的信息,这种信息称为流外(out-of-band)信息;o编码信息,n层用户要求n层协议先对信息编码,然后发送。 用 户 要 求数据长度数据长度 6定长、不定长n层用户要求传送的块数据的长度以及批数据的数据量可能是任意的。如果数据块过长,n层协议需要分段发送。为了应付大宗量批数据的传送,n层协议要加宽(n-1)层通道的带宽,要进行流量控制和拥塞避免控制,要有足够的数据缓冲区。 用 户 要 求服务质量服务质量(QoS)要求要求 7 安全性 可靠性 性能用 户 要 求安全性要求:安全性要求: 鉴权 只允许合法用户建立连接。 访问控制 防止对一个服务提供者的资源进行未授权使用。 保密性 保证在SDU中传递的信息不被泄漏。 完整性 确保SDU中传递的信息在接收端与发送端是相同 的,即要求数据报文无校验错。 用 户 要 求可靠性要求:可靠性要求: 完全性 确保所有已发送的SDU至少传递一次, 即报文不丢失。 非二义性 确保所有已发送的SDU至多传递一次, 即报文不重复。 时间有序 确保所有已发送的SDU按发送次序接 收,即报文顺序正确。用 户 要 求性能要求:性能要求:吞吐率吞吐率 吞吐率定义为在一定的时间单位内,协议为用户吞吐率定义为在一定的时间单位内,协议为用户传输的数据总量。传输的数据总量。时延时延 一个一个SDU从传输请求到传输指示之间需要一定时从传输请求到传输指示之间需要一定时间,这段时间就是传输时延。时延要求就是规定该时延的最大间,这段时间就是传输时延。时延要求就是规定该时延的最大值。值。抖动抖动 抖动定义为最大时延与最小时延之间的差值。抖动抖动定义为最大时延与最小时延之间的差值。抖动要求就是规定该差值的大小。要求就是规定该差值的大小。差错率差错率 差错率定义为数据报丢失和出错的概率。差错率定义为数据报丢失和出错的概率。通 道 性 质通道形成方式通道形成方式 12.1.2三种方法形成(n-1)层通道 :a) 独占连接方式b) 共享连接方式c) 无连接方式n层中任何两个协议实体通过层中任何两个协议实体通过(n-l)SAP所形成的数据逻辑所形成的数据逻辑通路叫通路叫(n-1)层通道。层通道。n层协议使用的层协议使用的(n-1)层通道的性质层通道的性质对对n层协议的功能是有层协议的功能是有影响影响的的 。ACBD协议实体之间分别建立连接a) 独占连接方式通 道 性 质2.1.2 A和B建立并独占一条连接,此时(n-1)层应提供有连接服务 。ACBD多个协议实体共享一条连接通 道 性 质2.1.2b) 共享连接方式此时(n-1)层应提供有连接服务 。ACBD协议实体利用下层提供的无连接服务进行通讯c) 无连接方式通 道 性 质2.1.2 A和B利用(n-1)层提供的无连接服务进行通讯 通 道 性 质队列性质队列性质 2l平均队列长度- 影响数据报文的传输时延;l最大队列长度- 反映通道承载突发数据的能力。 队列性质队列性质o一般情况下,(n-1)层通道可看作队列通道,就是说一个数据报文从n层源端协议实体发出之后要在n层以下各层多次存贮转发,每个存贮转发处就存在一个队列。平均队列长度以及最大队列允许长度是队列的主要性质。平均队列长度影响数据报文的传输时延,平均队列长度越长,传输时延就越大。而最大队列长度则反映通道承载突发数据的能力,队列越长,通道的缓冲容量就越大,承载突发数据的能力也就越强。如果队列实际长度达到最大允许长度,那么后续的数据报文将会丢失。 此时数据报文在通道中的延时是固定的,报文不会丢失,并且是有序的。 考虑(n-1)层为物理层的情形?通 道 性 质RTT(往返时间往返时间)3 RTT(Round Trip Time)定义为报文从n层源端实体发出到该报文的认可信息回到该实体所花费的时间,它包括报文从源端实体传送到目标实体所需时间、目标实体收到报文之后,对报文进行处理然后发出认可信息的时问以及认可报文的传送时间。RTT是n层协议的最重要参数之一。 通 道 性 质数据的可靠性数据的可靠性 4 数据在通道中传送的可靠性包括报文的出错率、报文丢失率、报文重复率、报文顺序错误率。通道的形成方式与数据可靠性有一定关系。如果通道是利用(n-1)层有连接服务形成的,或是物理信道,那么报文的传递顺序不会改变。如果通道是利用(n-1)层的无连接服务形成的,报文的传递顺序就无保障。通 道 性 质通道可靠性通道可靠性 5 通道可靠性指通道故障(如断连、复位等)的发生概率。通 道 性 质报文最大长度报文最大长度 6 该参数影响n层协议的报文分段,拼接等功能的施行。 通 道 性 质工作方式工作方式 7 涉及单工/半双工/全双工,以及同步/异步两个方面。n层协议将根据通道工作方式提高通道利用率。 An层B点对点模式和多点模式点对点模式和多点模式 12.1.3工 作 模 式点对点模式BAn层C点对点模式和多点模式点对点模式和多点模式 1多点模式主从模式和平衡模式主从模式和平衡模式 2主从模式:一个协议实体为主控实体,其 它实体受主控实体控制;平衡模式:各协议实体的作用和功能是近似的,控制上是自治的。中转和路由中转和路由3n层内两个协议实体间不能找到或形成直接通道 中转中转和路由中转和路由3n层内的多个中转实体形成一个逻辑网络 路由协议功能分析 2.22.2.2 通讯方式管理通讯方式管理 2.2.1 连接控制管理连接控制管理 2.2.3 数据发送数据发送/接收管理接收管理 2.2.4 数据安全与完整性数据安全与完整性 2.2.5 发送发送/接收控制接收控制 2.2.6 中继中继 2.2.7 路由选择路由选择 2.2.8 通道管理通道管理 2.2.9 其它功能其它功能 连接控制管理2.2.11.合法性检查合法性检查 在建立连接的同时对用户的身份进行验证。在建立连接的同时对用户的身份进行验证。2.密钥交换密钥交换 在建立连接的同时,在两个用户之间安全地交换一在建立连接的同时,在两个用户之间安全地交换一个密钥,以便在数据传输阶段进行加密传送。个密钥,以便在数据传输阶段进行加密传送。3.QoS协商协商 在建立连接期间,发起连接请求的用户与服务提供在建立连接期间,发起连接请求的用户与服务提供者或连接响应者可能会就数据传输的服务质量者或连接响应者可能会就数据传输的服务质量(QoS)进行协商。进行协商。如果他们找不到双方可以接受的如果他们找不到双方可以接受的QoS,则不能建立连接,即,则不能建立连接,即连接建立失败。一般有两种连接建立失败。一般有两种QoS协商过程:协商过程:发起者建议的发起者建议的QoS被服务提供者或响应者或二者同时接受或拒绝。被服务提供者或响应者或二者同时接受或拒绝。发起者建议的发起者建议的QoS被服务提供者或响应者或二者同时接受、降级或拒绝。被服务提供者或响应者或二者同时接受、降级或拒绝。 通讯方式管理l 半双工通讯 n层协议要进行“发信权”管理l 全双工通讯 n层协议要具有并发的收发功能数据发送/接收管理五种功能: (1) PDU的封装/解封装 (2) SDU分段/装配 (3) SDU拼接/分离 (4) PDU分割/组合 (5) 通信量填充 数据发送/接收管理n对齐: 把一个(n)PDU中的PCI字段(头部、尾部以及用来传输协议控制信息的有效载荷字段)调整到本地机器存储器的边界,以避免访问的冲突。n分段和合段: 如果SDU长度大于(n-1)层通道最大允许报文长度,(n)协议必须将(n)SDU分段(segmenting)放入多个(n)PDU中发送(每个PDU中的PCI信息不一样)。接收后要执行相反的过程,即合段(Reassembling) n拼装和分离: 如果SDU长度很小,为了提高(n-1)层通道利用率,(n)协议需要将多个(n)SDU拼装(Concatenation)成一个(n)PDU后发送。到了接收方,协议将(n)PDU分离出(Seperation)多个(n) SDU来。也可将“拼装”称为“合块”。 nPDU的装配与拆装: 在发送数据之前,(n)协议需要装配PDU,即按照给定格式附上协议控制信息PCI。对于接收后的PDU要对之拆装,拆出PCI。 PDUs and SDUs(N+1) SDU(N+1) service(N) SDU(N) service(N+1) PDU(N+1) PEPCIData(N) PDU(N) PEPCIDataPCIPCIDatanSDU nPCInPDU(n-1)SDU(n-1)SDUnPDU nPCInSDUPDUPDU的封装的封装/解封装解封装1 nSDUnPCI1 DATA1nPCIk DATAknPDU1nPDUk分段SDUSDU分段分段/装配装配2装配 nSDUnPCI1 DATA1nPCIk DATAknPDU1nPDUk SDUSDU分段分段/装配装配2nSDU1nSDU2nSDU3nPCInPDU拼接 SDU SDU 拼接拼接/ /分离分离3分离nSDU1nSDU2nSDUinPCInPDU SDU SDU 拼接拼接/ /分离分离3分割n-1SDU1n-1SDU2n-1SDUin-1层nPDUn层 SDUSDU 分割分割/ /组合组合4组合n-1SDU1n-1SDU2n-1SDUin-1层nPDUn层 SDUSDU 分割分割/ /组合组合4协议模型: 思考题1 简述“协议”与“服务”的关系。2 如何理解“服务原语”?协议模型o分层设计,n 层协议模型(n+1) 实体实体(n) 实体实体(n+1) 实体实体(n) 实体实体(n) 协议协议提供提供(n-1)服务服务提供提供(n)服务服务(n) 服务用户服务用户(n) 服务提供者服务提供者通过通过(n-1)连接进行通信连接进行通信(n + 1) 层层(n - 1) 层层(n) 层层nSAP(n-1)SAPnSAP(n-1)SAP(n-1)SPs(n-1)SPs(n)SPs(n)SPs(n)PDUs同一系统中相同一系统中相邻两层的实体邻两层的实体进行交互进行交互(即交即交换信息换信息)之处,之处,通常称为通常称为服务服务访问点访问点SAP (Serivce Access Point) 在进行交互时所要交换在进行交互时所要交换的一些必须信息的一些必须信息(或命令或命令)称为称为服务原语服务原语(Service Primitives),以表明需要以表明需要本地的或远端的对等实本地的或远端的对等实体做哪些事情。体做哪些事情。OSIOSI原语原语 OSI服务原语oConcepts in Laying:nService says what a layer doesnInterface says how to access the service nProtocol says how is the service implementedoa set of rules and formats that govern the communication between two peers o每层均可使用的4 种服务原语:nRequest (请求): 一个实体希望得到某种服务 nIndication (指示):把关于某一事件的信息告诉某一实体 nResponse (响应):一个实体愿意响应某一事件 nConfirm (证实):把一个实体的服务请求加以确认并告诉它通信量填充功能用来产生虚假的(n)SDU主要有两个目的: (1) 产生一个恒定速率的数据流(2) 填充SDU至一个恒定的长度。通信量填充5通信量填充的必要条件o在接收端,这些假的SDU和SDU填充内容既不会被识别成正常数据,又能从正常数据流中区别出来。数据安全2.2.4l 加密 数据的安全性可以通过加密来实现 明文,密文l 解密数据完整性2.2.4l校验和(差错检测)l 奇偶校验l 累加和校验l CRC循环冗余校验 (IP报文的校验和字段)l 前向纠错(FEC)发送/接收控制2.2.5l 顺序控制l 重发控制l 速率流控l 抖动补偿l 窗口流控发送发送/接收控制功能主要用来保证接收到的数据报不丢失、接收控制功能主要用来保证接收到的数据报不丢失、不重复、接收顺序正确,以满足用户的可靠性要求。不重复、接收顺序正确,以满足用户的可靠性要求。 顺序控制 o为了保证PDU按顺序发送和接收,每个PDU都分配了一个序列号,顺序控制功能负责核对接收到的PDU序列号,剔除重复的PDU,保证接收到的数据报不重复、接收顺序正确。 SEGMENT 报文段报文段Connection establishment using three-way handshakingData transferConnection termination using three-way handshaking重发控制 o为了保证PDU被对方正确接收,一般采用接收方向发送方回送确认报文的方式,如果接收到的报文被损坏,接收方回送非确认报文。如果报文丢失,发送方将得不到确认报文,所以,在发送方需设置定时器,如果定时器超时,说明报文丢失或确认报文丢失,发送方重发报文。这就是重发控制功能。重发控制保证报文不丢失。 Corrupted segment 受损的报文段受损的报文段报文3受损被丢弃。通过超时检测受损报文通过超时检测受损报文Lost segment 丢失丢失的报文段的报文段通过超时检测丢失报文通过超时检测丢失报文报文丢失Lost acknowledgment 丢失丢失肯定应答肯定应答TCP 通过累计确认机制,化解丢失肯定应答的影响。通过累计确认机制,化解丢失肯定应答的影响。速率流控 o该功能的作用是调节发送方发送PDU的间隔,以保证在接收方和中间节点不会造成拥塞。如果发送速率比接收速率大,就会在接收方造成拥塞。 Multiplicative decrease乘法乘法减小减小抖动补偿 o抖动是指最大SDU传输时延与最小SDU传输时延之间的差值,为了保证接收方用户收到的SDU是连续的,就需要进行抖动补偿。一般通过延迟数据流中的第一个SDU来补偿时延差。 窗口流控 o该功能的作用是调节发送者和接收者之间传输的SDU的数据总量,以避免在接收方出现缓冲区溢出。 TCP segmentsTCP 报文段报文段 报文段:若干个字节构成的报文段:若干个字节构成的TCP分组,报文段的长度分组,报文段的长度不尽相同,大约是几百字节几千字节。不尽相同,大约是几百字节几千字节。流量控制(flow control)o流量控制是指“收端控制发端的发送数据速率以使收端来得及接收,并且使网络不致过载” nWhy? o接收方的接收能力有限o缓存不够o处理能力不够nExamples: oStop and WaitoSliding window 中继 2.2.6l 功能:中继功能是中转实体具有的功能,(N)中继功能的作用是为两个(N-1)连接搭桥,形成一个(N)连接。l 完成中继功能的节点通常称为中继系统 网关(传输层)、路由器(网络层)、网桥(数据链路层)、中继器(物理层)路由选择2.2.7l路由选择:一般采用路由表的形式来实现。 静态、动态 路由选择可以基于以下因素:性能性能 选择具有最大吞吐率、最小端到端时延和最小时延抖动的任意组选择具有最大吞吐率、最小端到端时延和最小时延抖动的任意组合的路由。合的路由。可靠性可靠性 选择具有最小丢包率和最小位差错率,或二者之一的路由。选择具有最小丢包率和最小位差错率,或二者之一的路由。安全性安全性 选择提供适当保护级的路由。选择提供适当保护级的路由。价格价格 选择收费最少的路由。选择收费最少的路由。当网络中存在多个中转实体时,在中转实体中就需要路由选择功能。(N)路由选择功能就是根据(N)数据流的目的地址选择下一个中转实体(或下一节点)。 Figure Autonomous systemsFigure Popular routing protocolsDistance vector routing tables RIPFigure Initialization of tables in distance vector routingFigure Updating in distance vector routingFigure Two-node instabilityFigure Three-node instabilityLINK STATE ROUTINGIn In link link state state routing, routing, if if each each node node in in the the domain domain has has the the entire entire topology topology of of the the domain, domain, the the node node can can use use DijkstrasDijkstras algorithm algorithm to to build build a a routing routing table.table.每一个点有整个每一个点有整个每一个点有整个每一个点有整个DomainDomain全局的拓扑全局的拓扑全局的拓扑全局的拓扑. .The topics discussed in this section include:The topics discussed in this section include:Building Routing Tables Building Routing Tables Figure Concept of link state routingFigure Dijkstra algorithmFigure Example of formation of shortest path treePATH VECTOR ROUTINGPath Path vector vector routing routing is is similar similar to to distance distance vector vector routing. routing. There There is is at at least least one one node, node, called called the the speaker speaker node, node, in in each each AS AS that that creates creates a a routing routing table table and advertises it to speaker nodes in the neighboring and advertises it to speaker nodes in the neighboring ASsASs. . 路径向量路由选择路径向量路由选择路径向量路由选择路径向量路由选择The topics discussed in this section include:The topics discussed in this section include:Initialization Initialization Sharing Sharing Updating Updating Figure Initial routing tables in path vector routingFigure Stabilized tables for four autonomous systems通道管理2.2.8l 通道的形成(如建立连接)l 监视通道状态l 处理通道故障(如通道复位、断连等的恢复)l 共享通道控制等。 作业o1.分析协议环境对开发协议有何意义?o2.举出几种协议功能?o3.拥塞控制协议功能是教材中未涉及的,请简要阐述该协议功能的作用及应用场合?
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号