1《数据通信与计算机网络(第二版)》电子教案笫二十讲运输服务和运输协议2本讲内容第八章运输层8.1运输服务和服务质量8.1.1运输服务8.1.2服务质量8.2运输协议机制8.2.1寻址8.2.2A型网络服务上的运输协议8.2.3B型网络服务上的运输协议8.2.4C型网络服务上的运输协议3运输层•运输层是OSI模型的第四层,它承上启下,是整个网络协议体系的核心。•运输层的主要职能是在源计算机到目的计算机之间提供可靠的、经济的数据传送服务。服务是由运输实体(运输服务提供者)来完成的,它使用网络层提供的服务,独立于所使用的物理网络。•使用运输服务的实体可以是会话实体,也可以直接是应用实体(运输服务用户、TS用户)。4运输层•运输实体运输实体网络实体用户运输实体网络实体用户TPDU应用/运输层接口运输/网络层接口网络地址运输地址运输协议TPDU:传输协议数据单元(TransportProtocolDataUnit)58.1.1运输服务•和网络层相似,运输层也提供两种类型的服务。–面向连接的运输服务是一种可靠的服务,整个连接生存期包括连接建立、数据传输和连接释放三个阶段。–无连接的运输服务是一种不可靠的、高效的服务,整个服务期间不需要建立连接。•为什么还需要运输服务?68.1.1运输服务•运输层通过运输服务原语向运输用户提供服务。–如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.IndTS用户数据连接释放释放连接T-Disconnect.ReqTS用户数据T-Disconnect.Ind连接释放原因,TS用户数据78.1.2服务质量•服务质量(QualityofService,QoS)–QoS衡量运输层的总体性能。•为满足运输层QoS,运输层需要弥补网络层服务质量的缺陷。–如果网络层服务质量比较高,那么运输层实现比较简单;–如果网络层服务质量比较低,那么运输层实现比较复杂。88.1.2服务质量•服务质量参数–连接建立延迟–连接建立失败概率–吞吐量–残留差错率–传输延迟–保护性–优先权–回弹率98.1.2服务质量•QoS协商(选项协商)运输服务用户TSU1运输服务用户TSU2运输实体TE1运输实体TE2QoS1QoS0QoS2QoS0QoS3QoS0QoS4QoS0QoS5QoS0QoS5QoS0QoS0:最低QoSQoS3:TE2建议的QoSQoS1:TSU1期望的QosQoS4:TSU2可接受的QoSQoS2:TE1建议的QoSQoS5:各方都能接受的QoS通常:QoS1QoS2QoS3QoS4QoS5QoS0108.2运输协议机制•运输协议数据单元(TransportProtocolDataUnit,TPDU)TPDU含义CR运输连接请求,要求与对等运输实体建立运输连接CC确认,对CRTPDU的确认DR释放请求,要求释放与对等运输实体之间的运输连接DC确认,对DRTPDU的确认DT,DATA数据,一个运输实体向对等运输实体发送用户数据AK,ACK确认,对数据TPDU的认可REJ,REJECT拒绝,对数据TPDU拒绝接受118.2运输协议机制•根据与用户要求的差错行为有关的质量对网络服务分类:–A型网络服务具有可接受的残留差错率和可接受的被告知的差错率的网络连接,也就是完美的网络服务。–B型网络服务具有可接受的残留差错率和不可接受的、被告知的差错率的网络连接,即完美的分组递交,但若有故障发生时,网络层则通过相应的网络服务报告该故障的发生。–C型网络服务具有不可接受的残留差错率的网络连接,即网络连接不可靠,可能丢失(或有重复)分组。128.2.1寻址•运输层寻址:运输服务访问点(TransportServiceAccessPoint,TSAP)。运输层用户运输实体网络层实体及下层实体运输层用户运输实体网络层实体及下层实体运输协议TSAPNSAP网络TPDU138.2.1寻址•相对于TSAP,网络层寻址为网络服务访问点(NetworkServiceAccessPoint,NSAP)。•TCP/IP协议中–TSAP即TCP为端口号(portnumber)–NSAP即IP地址–NSAP(IP地址)和TSAP(TCP端口号)的结合唯一地标识了一个主机上的一个应用进程。•寻址例:一个时间服务进程148.2.2A型网络服务上的运输协议•A型网络提供可靠的网络服务,其上的运输协议比较简单。•A型网络服务可分为三种情况:–可靠、顺序、信息长度任意的网络服务–可靠、无序、信息长度任意的网络服务–可靠、无序、信息长度不能超过最大长度的网络服务15•可靠的顺序网络服务–可接受任意长的信息–百分之百地可靠–按顺序传递数据到目的地–讨论3个问题•复用•流量控制•连接建立和终止8.2.2A型网络服务上的运输协议16•复用–运输协议实现对运输服务用户的复用:多个用户使用同一个运输协议,它们通过TSAP加以区分。–对于网络服务而言,运输实体也实现复用:•多条运输连接复用一条网络连接;•一条运输连接可以使用多条网络连接。–对应有2种复用•向上复用:复用/解复用•向下复用:分流/合流8.2.2A型网络服务上的运输协议178.2.2A型网络服务上的运输协议•2种类型的流量控制–层内流控(对等流控):指同一层内的实体之间的流量控制。TS用户A运输实体aTS用户B运输实体b网络层188.2.2A型网络服务上的运输协议–层间流控:指不同层实体之间的流控。•一层实体向另一层实体发出信息时必须得到该实体的同意,从而实现这两个层次之间的流量控制。实体1实体2数据确认数据确认19•对等流控的目的是为了限制数据(TPDU)的发送速度,因为:–接收方用户可能跟不上数据流。–接收方运输实体可能跟不上TPDU流。•运输实体通过缓冲区实现对等流控的几种措施:1.接收运输实体什么都不做。2.用网络服务来完成。3.滑动窗口机制4.信用量方案8.2.2A型网络服务上的运输协议20•信用量方案–方案的基本组成部分有:发送窗口与接收窗口,每个窗口又有上缘和下缘。•对发送窗口,建立连接后,下缘置为0,上缘是对等运输实体给出的信用量,发送一个TPDU后,下缘加1,上缘通过AKTPDU调整,上缘和下缘之间的差即是可发送的TPDU数,当上缘和下缘重合时不能发送TPDU;•对接收窗口,初始时下缘置为0,确认后作调整,上缘是对等实体的信用量,上缘和下缘之差表示可接收的TPDU数,发信用量后调整。8.2.2A型网络服务上的运输协议21N=0N=1N=2N=3N=4N=5N=6N=7AK7CREDIT7A收到AK7CREDIT7A继续发送3个DTTPDUA收到AK2CREDIT540123567A继续发送2个DTTPDUA发送3个DTTPDUA可以发送7DTTPDUB可以接受7DTTPDUB确认3DTTPDU并可再收5个DTTPDU即发送AK2CREDIT5B确认5个DTTPDU并可再收7个DTTPDU即发送AK7CREDIT7401235674012356740123567401235674012356740123567AK2CREDIT540123567401235678.2.2A型网络服务上的运输协议–信用量方案例•TPDU的确认和流量控制是分开的。22•连接建立T-Connect.ReqCRTPDUT-Connect.IndCCTPDU(Refuse)T-Connect.Cnf(Refuse)T-Connect.Rsp(Refuse/Accept)CCTPDU(Refuse/Accept)T-Connect.Cnf(Refuse/Accept)运输用户A运输用户B运输实体A运输实体B8.2.2A型网络服务上的运输协议23•连接释放T-Disconnect.ReqDRTPDUT-Disconnect.IndDCTPDU运输用户A运输用户B运输实体A运输实体BT-Disconnect.Cnf丢失T-Data.Req8.2.2A型网络服务上的运输协议24•可靠无序网络服务–网络服务百分之百可靠–数据长度为任意–但可能有失序情况发生–讨论1个问题:对于这种网络服务,为什么必须使用序号来标明各TPDU之间的关系?•流控中的问题•连接建立中的问题8.2.2A型网络服务上的运输协议25•无序网络服务流控中的问题运输实体A...N=0N=1N=2N=3N=4N=5AK1CREDIT5AK1CREDIT3运输实体B8.2.2A型网络服务上的运输协议268.2.2A型网络服务上的运输协议•无序网络服务连接建立中的问题运输实体A运输实体BCCTPDUDTTPDUDRTPDUCRTPDU27•可靠有限长网络服务–网络服务不能接受任意长数据,即TPDU长度不能超过某一最大值。–如果用户要求发送的数据块超过最大值,那么必须把数据分割成较小的段,然后一段一段发送,接收方再把这些段拼接成块,然后再交给用户。•需要有一个块结束标志EOT,运输实体收到带有EOT的DTTPDU后,把前面收到的没有EOT的DTTPDU顺序拼接在一起交给用户。8.2.2A型网络服务上的运输协议288.2.3B型网络服务上的运输协议•B型网络服务:数据传输可靠(但可能不按顺序),但可能有网络故障。•在任何情况下,运输实体必须能从数据丢失或网络连接断开中得到恢复。序号是一种有效的手段。•序号也是一种处理网络故障的有效手段。–网络连接复位–网络连接断开298.2.4C型网络服务上的运输协议•C型网络–网络服务不可靠,不仅有数据丢失、失序,而且有网络复位、连接断开等。–相应的运输实体是最复杂和最困难的。–讨论6个问题•重传策略•重复检测•流量控制•连接建立•连接释放•崩溃恢复30•重传策略–需要重传的两种情况•TPDU信息被破坏,但能到达目的运输实体;•TPDU没有到达目的地。–使用确认-超时方法检测是否出现需要重传的情况。•接收运输实体确认每个成功的TPDU。•使用重传计时器判断超时。8.2.4C型网络服务上的运输协议31–如何设置合适的重传计时器值?•计时器值固定•基于观察值–运输层部分重要计时器计时器说明重传计时器T1重发一个未确认的TPDU重建连接计时器在同一对用户之间从释放连接到建立另一条连接间的最小时间窗口计时器AKTPDU间的最大时间重发CR计时器重发CRTPDU的时间保持计时器TR收不到确认而终止连接的时间不活动计时器I收不到TPDU而终止连接的时间8.2.4C型网络服务上的运输协议32•重复检测–三种可能产生重复的情况–可以用序号来识别重复,但处理起来并不很容易。–分两种情况对待:•在连接释放前收到重复TPDU。•在连接释放后收到重复TPDU。8.2.4C型网络服务上的运输协议33•对于连接释放前收到重复TPDU,需注意两种情况:–可能多个AKTPDU确认同一个DTTPDU;–在TPDU生存期内发生序号循环。运输实体A运输实体BN=0N=1N=2N=0N=1N=3N=4N=5N=6N=7N=0AK2AK2AK3AK4AK5AK6AK7AK0?延迟延迟分组8.2.4C型网络服务上的运输协议34•对于连接释放后的重复问题就比较难处理,特别是连接释放后在同一对运输实体之间又建立一条新的连接时更易产生问题。•解决办法:–序号跨越连接•下一条连接的序号从上一条连接的最后一个序号(加1)开始,运输实体在建立连接时,把这个序号传送到对等运输实体。–使用连接标识符•每个TPDU都有这个标识符,每建立一条连接就产生一个以前没有用过的连接标识符,当收到TPDU时,可以检查