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