数据通信与计算机网络陕西师范大学计算机科学学院吴振强zqiangwu@snnu.edu.cn第八章运输层PartI2006©zqiangwu@snnu.edu.cnSyllabus运输层在OSI/RM中的地位运输服务和服务质量运输层协议的功能2006©zqiangwu@snnu.edu.cnOSI/RM模型图2006©zqiangwu@snnu.edu.cn运输层的地位:中间层应用层运输层网络层数据链路层物理层面向信息处理面向通信用户功能网络功能两种观点划分高层与低层2006©zqiangwu@snnu.edu.cn运输层的功能基本功能:提供端到端(进程-进程)的可靠通信,即向高层用户屏蔽通信子网的细节,提供通用的运输接口主要功能:把运输地址映射为网络地址把端到端的运输连接复用到网络连接上运输连接管理端到端的顺序控制、差错检测及恢复、分段处理及QoS监测加速数据传送运输协议的简单/复杂决定于子网服务的多少通用的运输接口运输协议2运输协议1网络层服务1网络层服务22006©zqiangwu@snnu.edu.cn运输层协议与数据链路层协议的区别网络物理信道数据链路层的环境运输层的环境结点1结点2主机A主机B2006©zqiangwu@snnu.edu.cn运输层模型运输服务用户运输服务用户应用层抽象机器.....运输服务提供者(运输实体)运输服务访问点TSAP连接端点运输服务--向用户提供高效、可靠、价格合理的服务运输连接管理、数据传送2006©zqiangwu@snnu.edu.cnSyllabus运输层在OSI/RM中的地位运输服务和服务质量运输层协议的功能2006©zqiangwu@snnu.edu.cn运输层主要探讨的是ISO标准,而我们应用时则主要是TCP/IP;它们有一些重要区别;一个区别在于术语,例如,OSI使用运输协议数据单元(TransportProtocolDataUnit,TPDU)来称谓运输层的段。用NPDU表示网络协议数据单元。用户TA网络实体NA用户网络实体TPDU运输实体运输实体运输地址运输/网络接口运输服务和服务质量(1)2006©zqiangwu@snnu.edu.cn运输服务和服务质量(2)运输层提供两种类型的服务:面向连接和无连接的运输服务运输层存在的意义:提供更高质量的信息运输能力运输实体(运输服务提供者)使用运输服务的用户(运输服务用户--TS用户)2006©zqiangwu@snnu.edu.cn运输服务和服务质量(3)服务原语:运输层通过运输服务原语向运输用户提供服务,不同的系统有不同的原语抽象的运输服务原语(下页图)2006©zqiangwu@snnu.edu.cn运输服务和服务质量(4)阶段服务原语参数连接建立建立连接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用户数据2006©zqiangwu@snnu.edu.cn运输服务和服务质量(5)运输服务质量(QoS)运输服务质量的衡量(数值化参数表)连接建立延迟连接建立失败概率吞吐量残留差错率运输延迟保护性优先权回弹率2006©zqiangwu@snnu.edu.cn运输服务和服务质量(6)连接建立延迟是开始发出连接建立请求到连接建立证实(连接建立成功)之间的时间,通常,这个时间越短越好。连接建立失败概率是指在最大的延迟时间内,由于某种原因(如网络阻塞、内存空间不够、内部故障等)从而连接建立失败的可能性。吞吐量是指在一定时间内在一条运输连接上运输的用户数据的字节数,一般吞吐量用每秒字节数(bps)表示,在一条运输连接上,可以有两个方向的吞吐量。运输延迟是运输用户运输数据到这个数据被接收方收到为止的时间,同样,也可以有两个方向的运输延迟。残留差错率是指运输连接上错误的数据运输量占全部运输的数据量的比例,理论上说,这个比例应该为0,因为,运输层的主要功能之一就是要提供可靠服务,但是,实际上这一点是做不到的。保护性是指提供安全数据运输的一种能力,安全数据运输包括防止非法数据的截取、修改等等。优先权是指某些运输连接比其它运输连接更重要,从而保证数据优先运输的能力,而且,一旦发生网络阻塞,具有高优先权的运输连接首先获得网络资源。回弹率是指由于某种原因(如内部原因或网络阻塞)而自发终止运输连接的可能性。2006©zqiangwu@snnu.edu.cn运输服务的协商过程:运输服务用户TSU1运输服务用户TSU2运输实体TE1运输实体TE2Qos0/1Qos0/4Qos0/2Qos0/5Qos0/3Qos0/5其中:Qos的优先级为:Qos1Qos2Qos3Qos4Qos5Qos0;Qos0/1表示期望值是Qos1,最低可接受的是Qos0;运输服务和服务质量(7)2006©zqiangwu@snnu.edu.cnSyllabus运输层在OSI/RM中的地位运输服务和服务质量运输层协议的功能2006©zqiangwu@snnu.edu.cnISO运输协议ISO在1984年通过了运输层协议ISO8072/8073,即OSI模型中五级运输服务,标识为TPi(i=0,1,2,3或4)。0~3类提供无差错服务的网络中。它们不提供差错控制,只提供连接和断连服务。它们的差别相对较小。它们分别对应于网络服务质量的三种类型:A型:网络连接具有可接受的低差错率和可接受的低故障通知率;B型:网络连接具有可接受的低差错率和不可接受的低故障通知率;C型:网络连接具有可接受的高差错率;差错率:是指残留差错率和漏检差错率,即网络层出现的差错未改正且不通知运输层;故障通知率:是指通知运输层的网络连接释放或网络连接重建;可接受:此处表示足够低,可以忽略;2006©zqiangwu@snnu.edu.cn三种类型的网络比较A型质量最高,分组的丢失、重复或复位等情况可以忽略不计,一般来说,提供A型服务的公用广域网几乎没有;B型网络服务质量其次,大多数X.25公用网为B型,这时,丢失的分组可以忽略不计,但会有N─RESET告知故障的发生,这就需要运输协议来解决;C型网络服务质量最差,它是完全不可靠的服务,那些单纯提供数据报服务的广域网、无线电分组交换网和IP网络即属此类,因此,所需的运输协议也最复杂。2006©zqiangwu@snnu.edu.cnISO的五类运输协议TP0:具有最简单最基本的功能,建立一个简单的端到端的运输连接,而在数据运输阶段具有数据报文分段传送的功能,是面向A类的运输协议;TP1:在TP0的基础上增加基本的差错恢复功能,这里的基本差错是指网络连接断开或失败,运输层试图建立另一条网络连接,是面向B类网络服务的协议;TP2:在TP0的基础上增加了多路复用的功能,为了进行复用,协议有相应的流量控制的功能,是面向A类网络服务的协议;TP3:有TP1和TP2的功能,有差错恢复功能和多路复用功能,是面向B类服务的网络协议;TP4:该类协议最复杂,可以在网络质量较差时保证高可靠性,它面向C类网络服务,具有差错控制、流量控制和多路复用功能;2006©zqiangwu@snnu.edu.cn协议操作运输协议是运输层的核心,两个运输实体之间是靠TPDU进行交换,TPDU的通用格式如下:段类型目标端口源端口发送序号确诊序号总长度偏移量数据TPDU有TP0—TP4多种类型,且TPDU格式不同,TP4的TPDU类型为:TPU类型功能CR连接请求CC连接确认DR断开请求DC断开确认DATA数据运输TPU类型功能ED加速数据AK确认EA加速数据确认ER差错REJECT拒绝TP4TPDU类型2006©zqiangwu@snnu.edu.cn运输协议的要素之一:寻址运输用户(客户端)与服务器建立连接的过程示例应用进程服务器TSAP6TSAP122NSAPXNSAPY运输层运输层网络层网络层(1)服务器以TSAP122为地址,等待呼入(2)HOST1的应用进程发出连接请求,源地址为TSAP6,目的地址为TSAP122(3)HOST1的运输实体通过NSAP在HOST1与HOST2之间建立网络连接(4)HOST1的运输实体将应用进程的连接请求传送给HOST2的运输实体(5)HOST2的运输实体询问应用服务器是否同意建立运输连接HOST1HOST22006©zqiangwu@snnu.edu.cn寻址问题:如何了解应用服务器的运输层地址解决:(1)初始连接协议---进程服务器作为应用服务器的代理,侦听传输连接请求;收到请求时,则装入应用服务器,并将连接转交(2)对于不适于随时创建的服务器,则使用名字服务器或目录服务器来提供应用服务器的TSAP地址问题:如何了解远端运输实体的网络地址?解决:(1)分级地址例如TSAP=国家号网络号主机号端口号(2)对于平面地址,则由名字服务器负责地址映射2006©zqiangwu@snnu.edu.cnA型网络服务上的运输协议A型网络服务可以分为三种情况:可靠、顺序、信息长度任意的网络服务;可靠、无序、信息长度任意的网络服务;可靠、无序、信息长度不能超过最大长度的网络服务。2006©zqiangwu@snnu.edu.cn可靠的顺序网络服务在这种情况下,我们假设网络服务接受任意长的信息,并且百分之百的可靠,以及按顺序传递数据到目的地,有三个问题要讨论:复用;流量控制;连接建立和终止2006©zqiangwu@snnu.edu.cn复用对于运输协议和运输服务用户来讲,运输协议实现复用功能:多个用户使用同一个运输协议,它们通过TSAP加以区分。对于网络服务而言,运输实体也实现复用(向上复用和向下复用):多条运输连接复用一条网络连接(向上复用、复用/解复用);另一方面,一条运输连接可以使用多条网络连接(向下复用、分流与合流)。向上复用(复用与解复用)的使用往往是出于费用上的考虑,一般而言网络服务收费以网络连接为标准的,多条运输连接复用一条网络连接可以在满足吞吐量的情况下尽量减少费用。向下复用(分流与合流)的目的是为了提供对单一网络失效的恢复能力,以及提高吞吐量,一般来说,多条网络连接上的吞吐量大于一条网络连接上的吞吐量,当然,吞吐量也不是无限制的,若设两个结点之间有一条物理链路相连,那么,运输连接的吞吐量不会超过该链路的容量。2006©zqiangwu@snnu.edu.cn流量控制(1)层内流控,也称对等流控,是指同一层内的实体之间的流量控制2006©zqiangwu@snnu.edu.cn流量控制(2)层间流控是指不同层实体之间的流控:其出发点是一层实体向另一层实体发出信息时必须得到该实体的同意,从而实现这两个层次之间的流量控制2006©zqiangwu@snnu.edu.cn流量控制(3)对等流控的目的是为了限制数据(在运输层是TPDU)的发送速度,因为:接收方用户可能跟不上数据流;接收方运输实体可能跟不上TPDU流比较好的办法是信用量方法本方案的基本组成部分有:发送窗口与接收窗口,每个窗口又有上缘和下缘一个例子,其中,TPDU编号为0到7(模8),下图给出了一个方向上的数据运输2006©zqiangwu@snnu.edu.cn流量控制(4)N=0N=1N=2N=3N=4N=5N=6N=7AK7CREDIT7A收到AK7CREDIT760123457A继续发送3个DTTP