1.在计算机网络体系结构中,运输层处于什么地位?2.运输层的功能是什么?3.什么是端到端通信?4.运输层协议包含哪些要素?[学习目标]本章主要要求掌握运输层的功能和模型;掌握运输服务的概念;理解运输协议的分类;了解运输协议的设计中要解决的主要问题和解决问题的一般方法;正确理解运输协议的主要元素。[学习指南]本章学习的关键在于首先理解运输层在整个网络体系结构中所处的地位。运输层处于网络体系结构的核心位置,它利用通信子网的功能为上层应用提供一定QoS的传输服务。把握住这一点,就不难理解运输协议分类、连接管理、故障恢复等概念了。[难重点]1.运输服务模型2.运输协议类3.运输层编址4.连接管理5.多路复用6.故障恢复・第一节运输层功能与模型运输层的地位:利用网络层的服务和运输实体的功能,向会话层提供服务。运输层是整个协议层次结构的核心。其任务是为从源端机到目的机提供可靠的、价格合理的数据传输,而与当前网络或使用的网络无关。如果没有传输层,整个分层协议的概念也就没有什么意义了。本章涉及到以下概念:・运输实体(TE,TransportEntity)・网络服务访问点(NSAP,NetworkServiceAccessPoint)・运输服务访问点(TSAP,TransportServiceAccessPoint)・运输实体间的运输连接(TC,TransportConnection)・运输实体间的运输层协议(TP,TransportProtocol)・运输服务提供者(TS-Provider)・运输服务用户(TS-User)・会话协议数据单元(SPDU,SessionProtocolDataUnit)・运输服务数据单元(TSDU,TransportServiceDataUnit)・运输协议数据单元(TPDU,TransportProtocolDataUnit)・网络服务数据单元(TSDU,TransportServiceDataUnit)运输层的基本功能(可以和货物运输的情况作类比)运输层依据会话层的服务质量(QoS,QualityofService)要求,选择适当的网络层服务和运输层协议,以提供可靠的、价格合理的、与网络层无关的数据传送。QoS相当于在货物运输的例子中所考虑的时间、可靠性、费用等。选择网络服务相当于在货物运输的例子中选择运输方式,比如:空运、铁路等。运输层协议相当于邮寄信件时是使用平信,还是挂号信,等等。运输层处于OSI模型的上3层与下3层之间,提供进程间端到端的、透明的、可靠的数据传送。网络层是提供系统间的数据传送,而运输层是提供进程间的数据传送。OSI模型中上3层的功能为:信息传送,了解数据含义,进程间通信;下3层的功能为:数据传送,不关心数据含义,系统间通信。运输层的功能为:数据传送,不关心数据含义,进程间通信;可视为低层的一部分。弥补高层(上3层)要求与网络层(基于下3层)数据传送服务质量间的差异(差错率、差错恢复能力、吞吐率、延时、费用等),对高层屏蔽网络层的服务的差异,提供稳定和一致的界面。・第二节运输协议类运输层协议是依据网络层提供的服务质量来分类的。经过多年的研究与讨论,ISO于1984年通过了OSI运输协议的标准。这就是ISO8072和ISO8073。CCITT参与了这一标准的制订,并通过了相应的X.214和X.224建议书。欧洲计算机厂家协会ECMA,美国国家标准学会ANSI以及美国国家标准局NBS等也都积极参与了运输层协议标准的制订。NBS已于1988年底改名为国家标准与技术研究院NIST。一、网络服务网络服务质量参数,网络层所提供的服务质量是由以下两个参数来评价的:・残留差错率・可报告差错率・残留差错率(ResidualErrorRate):反映网络连接质量,网络实体不可检测;或漏检差错率。残留差错是网络层未改正的差错且不通知运输层。(1)所有传送的网络服务数据单元(NSDU)的分类(4类):Nk成功传送(SuccessfullyTransferred)的NSDU:Ns错误(Incorrect)的NSDU:Ne丢失的(Lost)NSDU:Nl重复(Extra)的NSDU:Nx(2)定义:在测量时间内,在网络连接上传送的所有错误的、丢失的和重复的NSDU与所传送的全部NSDU之比。(3)公式:;・可报告差错率:指在可检测的差错中不可恢复的差错所占的比例。(1)残留差错(ResidualError):网络实体不可检测的差错;反映差错检测能力;(2)可报告差错(SignalledError):网络实体可检测,但不可恢复的差错;反映差错恢复能力。①检测到有不可恢复差错的NSDU时,网络实体并不递交运输实体,而是报告运输实体对它进行恢复;通知运输层的网络连接释放(release)或网络连接恢复(reset)。②可报告差错率低,表示网络实体的差错恢复能力强。⑴A类网络服务:可接受的残留差错率、可接受的可报告差错率;A型网络服务是一个完善的、理想的、可靠的网络服务。分组在网络中传送时不会丢失也不会失序(失序指分组到达的顺序与发送的顺序不一致),这样,运输层就不需要故障恢复的服务和重新排序的服务等等,因而运输层就非常简单。⑵B类网络服务:可接受的残留差错率、不可接受的可报告差错率;需要运输实体进行差错恢复。⑶C类网络服务:不可接受的残留差错率、不可接受的可报告差错率;C型网络服务的质量最差。对于这类网络,运输协议应能检测出网络的差错,同时要有差错恢复能力。对失序、重复以及错误投递的数据分组,也应能检测出并进行改正。某些局域网和一些具有移动结点的城域网以及具有衰落信道的分组无线电网都局于C型网络。二、运输协议类为了能够在各种不同网络上进行不同类型的数据的传送,ISO定义了5类(class)运输协议,即第0类至第4类的运输协议。这5类运输协议都是面向连接的。也就是说,用户要进行通信,必须先建立运输连接。当然,这必然要用到网络层提供的服务,或者说,要建立网络连接。同理,在建立网络连接时,又需要建立各有关链路的连接。当数据传送结束后,则必须释放运输连接。针对网络服务质量的差异,运输层定义了5个运输协议类,提供不同的功能。网络层服务质量降低时,对运输协议的要求就提高,以向运输层用户提供一种比较稳定的服务界面。表5.1运输协议类主要功能使用的网络服务TP0简单类(SimpleClass)运输连接管理;ATP1基本差错恢复类(BasicErrorRecoveryClass)TP0+差错恢复;BTP2复用类(MultiplexingClass)TP0+复用/解复用;流量控制;ATP3差错恢复与复用类(ErrorRecovery&MultiplexingClass)TP1+TP2;BTP4差错检测与恢复类(ErrorDetecting&RecoveryClass)TP3+有差错检测;有分流/合流;C第0类运输协议是最简单的,它只具有一些最起码的功能。第0类运输协议和CCITT的T.70建议书相兼容。T.70是为智能用户电报(teletex)终端提供运输服务的建议书。第0类运输协议的功能就是建立一个简单的端到端的运输连接,而在数据传送阶段具有将长数据报文分段传送的功能(当有此需要时)。它没有差错恢复功能,也不将多条运输连接复用到一条网络连接上。第0类运输协议是面向A型网络服务的。第1类运输协议较简单,但增加了基本差错恢复功能。利用网络层的连接拆除或复位进行差错恢复。这里的基本差错是指出现网络连接断开或网络连接失败,或者收到了一个未被认可的运输连接的数据单元。当网络连接断开时,运输层就试图建立另一条网络连接。第1类运输协议面向B型网络服务。第3类运输协议面向B型网络服务,它包含了第1类相第2类运输协议的功能,既有差错恢复功能又有复用功能。第4类运输协议是最复杂的,它可以在网络的质量较差时保证高可靠性的数据传送。它面向C型网络服务。第4类运输协议具有差错检测、差错恢复以及复用等功能。一、连接与传输为了使运输协议可以向运输服务用户提供适当的服务,在运输连接建立时应当就若干服务质量参数进行协商。协商好的服务质量参数就从运输服务用户传给运输层的运输协议实体,以后再依次传给下面的网络层。虽然运输协议的主要目的是给用户提供一条可靠的端到端的连接以便传输数据,但要做到这一点还应当有适当的管理服务。这样,运输层提供的服务便可归纳为两大类:(1)运输连接管理;即负责建立和在通信完毕时释放运输连接。(2)数据传输。二、运输服务运输服务是由运输协议实体使用运输协议和网络服务向会话实体提供的服务。运输服务模型如下图所示。图5.3运输服务队列模型TSAP,TC(运输连接),TCEP(运输连接端点)间的关系如左图所示,其中:TSAP:通过TSAP提供运输服务,可有多个TSAP。TC:TSAP间可建立一个或多个运输连接(TC)。TCEP:TC的两端称为TCEP(TransportConnectionEndPoint)。图5.4TSAP、TCEP和TC三者之间的关系1)提供运输QoS选择:吞吐量、延时、残留差错率等。在满足用户要求的前提下,优化资源使用,以达到最优的性能价格比。2)运输QoS与网络QoS独立:对运输用户提供相对稳定的服务界面。运输层可弥补运输层用户QoS要求与网络层提供的QoS间的差异,使运输服务用户可不关心底层的通信网络。3)提供端到端数据传送:4)提供透明的数据传送:对运输用户的数据内容、格式和编码没有限制。5)良好的寻址系统:运输地址对应唯一的TSAP,并能映射到相应的网络层地址机构。运输服务原语:三个阶段:连接建立、数据传送、连接释放4种服务:TC建立、正常数据传送、加速数据传送、TC释放12种原语:TC建立(4种)、正常数据传送(4种)、加速数据传送(2种)、TC释放(2种)表5.2阶段服务原语参数TC建立TC建立T-CONNECT.requestT-CONNECT.indicationCalledaddress被叫地址Callingaddress主叫地址Expediteddataoption加速数据选择QualityofService服务质量TS-Userdata用户数据T-CONNECT.responseT-CONNECT.confirmRespondingaddress响应地址Expediteddataoption加速数据选择QualityofService服务质量TS-Userdata用户数据数据传送正常数据传送T-DATA.requestT-DATA.indicationTS-Userdata用户数据加速数据传送T-EXPEDITED-DATA.requestT-EXPEDITED-DATA.indicationTS-Userdata用户数据TC释放TC释放T-DISCONNECT.requestTS-Userdata用户数据T-DISCONNECT.indicationDisconnectreason释放原因TS-Userdata用户数据无连接数据传送普通数据传送T-UNITDATA.requestT-UNITDATA.indicationCalledaddress被叫地址Callingaddress主叫地址QualityofService服务质量TS-Userdata用户数据・连接建立阶段:成功建立连接、被叫用户拒绝建立连接、TS提供者拒绝建立连接;对于通信子网的用户,也就是对用户进程来说,我们希望得到的是端到端的可靠通信服务。所谓端到端即从进程到进程。有时还可能希望得到其他的服务,例如多对进程之间的通信复用到一个网络连接上。在互连网的情况下,各子网所能提供的服务往往是不一样的。为了能使通信子网的用户得到一个统一的通信服务,就有必要设置一个运输层。运输层弥补了各个通信子网提供的服务的差异和不足,而在各通信子网提供的服务的基础上,利用本身的运输协议,增加了服务功能,使得对两端的网络用户来说,各通信子网都变成透明的,而对各子网的用户,面向通信的运输接口就成为通用的。换言之,运输层向高层用户屏蔽了下面通信子网的细节,使高