1、1笫二十讲笫二十讲运输服务和运输协议运输服务和运输协议数据通信与计算机网络(第二版)2本讲内容第八章 运输层8.1 运输服务和服务质量8.1.1 运输服务8.1.2 服务质量8.2 运输协议机制8.2.1 寻址8.2.2 A型网络服务上的运输协议8.2.3 B型网络服务上的运输协议8.2.4 C型网络服务上的运输协议3运输层l运输层是OSI模型的第四层,它承上启下,是整个网络协议体系的核心。l运输层的主要职能是在源计算机到目的计算机之间提供可靠的、经济的数据传送服务。服务是由运输实体(运输服务提供者)来完成的,它使用网络层提供的服务,独立于所使用的物理网络。l使用运输服务的实体可以是会话实体,
2、也可以直接是应用实体(运输服务用户、TS用户)。4运输层l运输实体运 输 实 体网 络 实 体用 户运 输 实 体网 络 实 体用 户TPDU应 用/运 输 层接 口运 输/网 络 层接 口网 络地 址运 输地 址运 输 协 议TPDU:传 输 协 议 数 据 单 元(Transport Protocol Data Unit)58.1.1 运输服务l和网络层相似,运输层也提供两种类型的服务。l面向连接的运输服务是一种可靠的服务,整个连接生存期包括连接建立、数据传输和连接释放三个阶段。l无连接的运输服务是一种不可靠的、高效的服务,整个服务期间不需要建立连接。l为什么还需要运输服务?68.1.1
3、运输服务l运输层通过运输服务原语向运输用户提供服务。l如Unix的Socket、Windows的Winsock。阶段服务原语参数连接建立建立连接T-Connect.Req被呼地址,主呼地址,选项,服务质量,TS用户数据T-Connect.Ind被呼地址,主呼地址,选项,服务质量,TS用户数据T-Connect.Rsp响应地址,选项,服务质量,TS用户数据T-Connect.Cnf响应地址,选项,服务质量,TS用户数据数据传输常规数据T-Data.ReqTS用户数据T-Data.IndTS用户数据加速数据T-Expedited-Data.ReqTS用户数据T-Expedited-Data.Ind
4、TS用户数据连接释放释放连接T-Disconnect.ReqTS用户数据T-Disconnect.Ind连接释放原因,TS用户数据78.1.2 服务质量l服务质量(Quality of Service,QoS)lQoS衡量运输层的总体性能。l为满足运输层QoS,运输层需要弥补网络层服务质量的缺陷。l如果网络层服务质量比较高,那么运输层实现比较简单;l如果网络层服务质量比较低,那么运输层实现比较复杂。88.1.2 服务质量l服务质量参数l连接建立延迟l连接建立失败概率l吞吐量l残留差错率l传输延迟l保护性l优先权l回弹率98.1.2 服务质量lQoS协商(选项协商)108.2 运输协议机制l运输
5、协议数据单元(Transport Protocol Data Unit,TPDU)TPDU含 义CR运输连接请求,要求与对等运输实体建立运输连接CC确认,对CR TPDU的确认DR释放请求,要求释放与对等运输实体之间的运输连接DC确认,对DR TPDU的确认DT,DATA数据,一个运输实体向对等运输实体发送用户数据AK,ACK确认,对数据TPDU的认可REJ,REJECT拒绝,对数据TPDU拒绝接受118.2 运输协议机制l根据与用户要求的差错行为有关的质量对网络服务分类:lA型网络服务具有可接受的残留差错率和可接受的被告知的差错率的网络连接,也就是完美的网络服务。lB型网络服务具有可接受的残
6、留差错率和不可接受的、被告知的差错率的网络连接,即完美的分组递交,但若有故障发生时,网络层则通过相应的网络服务报告该故障的发生。lC型网络服务具有不可接受的残留差错率的网络连接,即网络连接不可靠,可能丢失(或有重复)分组。128.2.1 寻址l运输层寻址:运输服务访问点(Transport Service Access Point,TSAP)。运 输 层 用 户运 输 实 体网 络 层 实 体及 下 层 实 体运 输 层 用 户运 输 实 体网 络 层 实 体及 下 层 实 体运 输 协 议TSAPNSAP网 络TPDU138.2.1 寻址l相对于TSAP,网络层寻址为网络服务访问点(Netw
7、ork Service Access Point,NSAP)。lTCP/IP协议中lTSAP即TCP为端口号(port number)lNSAP即IP地址lNSAP(IP地址)和TSAP(TCP端口号)的结合唯一地标识了一个主机上的一个应用进程。l寻址例:一个时间服务进程148.2.2 A型网络服务上的运输协议lA型网络提供可靠的网络服务,其上的运输协议比较简单。lA型网络服务可分为三种情况:l可靠、顺序、信息长度任意的网络服务l可靠、无序、信息长度任意的网络服务l可靠、无序、信息长度不能超过最大长度的网络服务15l可靠的顺序网络服务l可接受任意长的信息l百分之百地可靠l按顺序传递数据到目的地
8、l讨论3个问题l复用l流量控制l连接建立和终止8.2.2 A型网络服务上的运输协议16l复用l运输协议实现对运输服务用户的复用:多个用户使用同一个运输协议,它们通过TSAP加以区分。l对于网络服务而言,运输实体也实现复用:l多条运输连接复用一条网络连接;l一条运输连接可以使用多条网络连接。l对应有2种复用l向上复用:复用/解复用l向下复用:分流/合流8.2.2 A型网络服务上的运输协议178.2.2 A型网络服务上的运输协议l2种类型的流量控制l层内流控(对等流控):指同一层内的实体之间的流量控制。TS用户A运输实体aTS用户B运输实体b网络层188.2.2 A型网络服务上的运输协议l层间流控
9、:指不同层实体之间的流控。l一层实体向另一层实体发出信息时必须得到该实体的同意,从而实现这两个层次之间的流量控制。实 体 1实 体 2数 据确 认数 据确 认19l对等流控的目的是为了限制数据(TPDU)的发送速度,因为:l接收方用户可能跟不上数据流。l接收方运输实体可能跟不上TPDU流。l运输实体通过缓冲区实现对等流控的几种措施:1.接收运输实体什么都不做。2.用网络服务来完成。3.滑动窗口机制4.信用量方案8.2.2 A型网络服务上的运输协议20l信用量方案l方案的基本组成部分有:发送窗口与接收窗口,每个窗口又有上缘和下缘。l对发送窗口,建立连接后,下缘置为0,上缘是对等运输实体给出的信用
10、量,发送一个TPDU后,下缘加1,上缘通过AK TPDU调整,上缘和下缘之间的差即是可发送的TPDU数,当上缘和下缘重合时不能发送TPDU;l对接收窗口,初始时下缘置为0,确认后作调整,上缘是对等实体的信用量,上缘和下缘之差表示可接收的TPDU数,发信用量后调整。8.2.2 A型网络服务上的运输协议218.2.2 A型网络服务上的运输协议l信用量方案例lTPDU的确认和流量控制是分开的。22l连接建立8.2.2 A型网络服务上的运输协议23l连接释放8.2.2 A型网络服务上的运输协议24l可靠无序网络服务l网络服务百分之百可靠l数据长度为任意l但可能有失序情况发生l讨论1个问题:对于这种网络
11、服务,为什么必须使用序号来标明各TPDU之间的关系?l流控中的问题l连接建立中的问题8.2.2 A型网络服务上的运输协议25l无序网络服务流控中的问题8.2.2 A型网络服务上的运输协议268.2.2 A型网络服务上的运输协议l无序网络服务连接建立中的问题27l可靠有限长网络服务l网络服务不能接受任意长数据,即TPDU长度不能超过某一最大值。l如果用户要求发送的数据块超过最大值,那么必须把数据分割成较小的段,然后一段一段发送,接收方再把这些段拼接成块,然后再交给用户。l需要有一个块结束标志EOT,运输实体收到带有EOT的DT TPDU后,把前面收到的没有EOT的DT TPDU顺序拼接在一起交给
12、用户。8.2.2 A型网络服务上的运输协议288.2.3 B型网络服务上的运输协议lB型网络服务:数据传输可靠(但可能不按顺序),但可能有网络故障。l在任何情况下,运输实体必须能从数据丢失或网络连接断开中得到恢复。序号是一种有效的手段。l序号也是一种处理网络故障的有效手段。l网络连接复位l网络连接断开298.2.4 C型网络服务上的运输协议lC型网络l网络服务不可靠,不仅有数据丢失、失序,而且有网络复位、连接断开等。l相应的运输实体是最复杂和最困难的。l讨论6个问题l重传策略l重复检测l流量控制l连接建立l连接释放l崩溃恢复30l重传策略l需要重传的两种情况lTPDU信息被破坏,但能到达目的运
13、输实体;lTPDU没有到达目的地。l使用确认-超时方法检测是否出现需要重传的情况。l接收运输实体确认每个成功的TPDU。l使用重传计时器判断超时。8.2.4 C型网络服务上的运输协议31l如何设置合适的重传计时器值?l计时器值固定l基于观察值l运输层部分重要计时器计时器说明重传计时器T1重发一个未确认的TPDU重建连接计时器在同一对用户之间从释放连接到建立另一条连接间的最小时间窗口计时器AK TPDU间的最大时间重发CR计时器重发CR TPDU的时间保持计时器TR收不到确认而终止连接的时间不活动计时器I收不到TPDU而终止连接的时间8.2.4 C型网络服务上的运输协议32l重复检测l三种可能产
14、生重复的情况l可以用序号来识别重复,但处理起来并不很容易。l分两种情况对待:l在连接释放前收到重复TPDU。l在连接释放后收到重复TPDU。8.2.4 C型网络服务上的运输协议33l对于连接释放前收到重复TPDU,需注意两种情况:l可能多个AK TPDU确认同一个DT TPDU;l在TPDU生存期内发生序号循环。8.2.4 C型网络服务上的运输协议34l对于连接释放后的重复问题就比较难处理,特别是连接释放后在同一对运输实体之间又建立一条新的连接时更易产生问题。l解决办法:l序号跨越连接l下一条连接的序号从上一条连接的最后一个序号(加1)开始,运输实体在建立连接时,把这个序号传送到对等运输实体。
15、l使用连接标识符l每个TPDU都有这个标识符,每建立一条连接就产生一个以前没有用过的连接标识符,当收到TPDU时,可以检查这个TPDU是否为当前运输连接的。8.2.4 C型网络服务上的运输协议35l如何解决当系统崩溃时无法知道序号或连接标识符的问题?l引入生存期的概念:每个TPDU在通信子网中停留时间不能超过生存期。l可用的技术l受限制的子网设计。l每个TPDU设置一个站计数器。l每个TPDU加上时间信息。8.2.4 C型网络服务上的运输协议36l流量控制l使用修改过的信用量流控方案l以(AK N,CREDIT M)表示一个AK TPDU确认了N(及以前的)DT TPDU,并且给出新的信用量值
16、M,允许发送运输实体发送N+1到N+M的DT TPDU。这种机制是很有力的,能满足各种确认和信用量指示的要求。l解决其中潜在的死锁l引入一个窗口计时器l对AK TPDU作出确认8.2.4 C型网络服务上的运输协议37l连接建立l C型网络中TPDU可能丢失或被延迟,导致两次握手连接建立失败。8.2.4 C型网络服务上的运输协议38l因此使用三次握手(Three-Way Handshake)方法建立连接。a)正常b)CR延迟8.2.4 C型网络服务上的运输协议运输实体A运输实体BCR XCC Y,XDT X,YA发起连接建立B 接受A 确认并发数据旧的 CR XCC Y,XREJ Y旧的CR X
17、 到达BB接受A拒绝B的连接39c)CC延迟d)CR,DT 延迟8.2.4 C型网络服务上的运输协议 CR X 旧的CC Z,WREJ ZCC Y,XDT X,YA发起连接建立旧的CC到达AA拒绝该CCB接受A接受正常的CC并发数据旧的CR X旧的DT X,WCC Y,XREJ Y 旧的CR到达BB接受旧的DT到达BA拒绝40l连接释放l使用三次握手及计时器超时方法释放连接。8.2.4 C型网络服务上的运输协议a)正常情况DRDR启动时钟DC停止钟 DC启动时钟ACK 删除连接ACK 停止钟,删除连接DRDR启动时钟DC停止钟 DC启动时钟ACK 删除连接超时,删除连接丢失b)ACK丢失418
18、.2.4 C型网络服务上的运输协议c)DC丢失d)DC丢失及以后的每个DR均丢失DR启动时钟 DC 删除连接DRDR启动时钟DC 启动时钟DR丢失DR超时,DRACK停时钟,删除连接停止钟启动时钟DC启动时钟DCACK丢失超时,DR 丢失超时,删除连接几次超时后,删除连接42l崩溃恢复l当一个系统发生崩溃而又重新启动后,会形成半开通状态。l清除半开通连接的一种方法l引入一个计时器,在一定的时间内若没有收到TPDU,就发送一个“伪”TPDU(也称探测TPDU),等待确认。l一旦由于某种原因而使一方处于不活动状态,另一方就会收不到确认,连续若干次收不到确认即自动释放连接。8.2.4 C型网络服务上的运输协议43练习题8.2运输层提供哪两类运输服务?在TCP/IP中分别对应哪两个协议机制?在实际的应用中,二者的侧重面是什么?8.9对于有序的可靠网络访问,TPDU序号一定需要吗?如果没有序号,可能会损失什么功能?8.11使用两次握手方法建立连接是否可能产生死锁,请举例说明。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。