传输层主要内容.ppt

上传人:tang****xu1 文档编号:521413 上传时间:2018-09-25 格式:PPT 页数:65 大小:529.50KB
返回 下载 相关 举报
传输层主要内容.ppt_第1页
第1页 / 共65页
传输层主要内容.ppt_第2页
第2页 / 共65页
点击查看更多>>
资源描述

《传输层主要内容.ppt》由会员分享,可在线阅读,更多相关《传输层主要内容.ppt(65页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、传输层主要内容,传输服务传输层概述传输服务服务质量传输服务原语协议数据单元TPDU简单连接管理状态图Berkeley Sockets应用举例,传输协议传输协议概述传输协议的主要功能寻址建立连接释放连接缓冲策略流量控制,引入传输层的原因,消除网络层的多样性和不可靠性。提供从源主机到目的端主机可靠的、价格合理的、与实际使用的网络无关的信息传输。,传输层概述,传输层存在的必要性网络层的分组传输是不可靠的。无法了解数据到达终点的时间。无法了解数据未达终点的状态。有必要增强网络层提供服务的服务质量。传输层的功能为应用进程提供可靠的端到端连接服务。建立连接数据传输释放连接流量控制和差错控制,传输服务,传输

2、实体(transport entity)完成传输层功能对等通信实体的硬软件。利用网络提供的点到点的分组传输服务向高层提供端到端的传输服务。传输服务:传输层实体利用网络层提供的服务向高层提供有效、可靠和价格合理的服务。1 4层称为传输服务提供者,4层以上称为传输服务用户。,传输服务,传输层提供两种服务面向连接的传输服务包括三个阶段:连接建立,数据传输,释放连接。其中释放连接的方式有两种:不对称方式:任何一方都可以关闭双向连接。对称方式:每个方向的连接单独关闭,双方都执行Disconnect才能关闭整条连接。无连接的传输服务,图例 :网络层、传输层和应用层,服务质量QoS,传输层的一个主要功能是增

3、强网络层提供的服务质量(Quality of Service)。服务质量参数在建立连接时,由传输服务用户描述,双方通过协商确定最后双方都能接收的参数。典型QoS参数包括:,服务质量参数,连接建立延迟传输服务用户要求建立连接到收到连接确认之间所经历的时间。连接建立失败概率在最大连接建立延迟时间内连接未能建立的可能性。吞吐量每秒钟所传输的用户数据字节数。传输延迟从源主机的传输服务用户发送数据开始到目的主机的传输用户接收到报文为止所经历的时间。,服务质量参数,残余误码率测量丢失或者错乱报文占发送报文总数的百分比。安全保护防止未经授权的第三方读取和修改数据。优先级恢复能力在内部出现问题的情况时,传输层

4、自发中止连接的可能性。,传输服务原语,传输服务用户(应用程序)通过传输服务原语 (Transport Service Primitives)访问传输服务。一套简单的传输服务原语:监听、连接、发送、接收、断连。,传输层的协议数据单元TPDU,传输实体接收来自应用层的数据,加上传输层报头,得到TPDU。,传输层的协议数据单元TPDU,一套传输原语 Berkeley Sockets,连接释放是对称的。,举例:传输服务的实现,一个本地的应用程序和几个远程应用程序利用面向连接的传输层服务完成通信的操作过程如下。建立连接本地应用程序A(提供服务方)调用socket创建一个套接字S1,并在传输层实体中分配表

5、空间,返回一个文件描述符,用于以后调用中使用S1。调用bind将某地址赋予S1,使得远程应用程序能访问本地应用程序A。调用listen分配数据空间,以便存储多个用户的连接建立请求。,举例:传输服务的实现,当传输层实体接收到建立连接的TPDU时,创建一个和S1相同属性的套接字S2并返回其文件描述符。本地程序A创建一个子进程A-1处理此次连接,然后继续等待发往S1的连接请求。调用accept将本地应用程序A阻塞起来,等待接收客户程序发来的连接请求。远程应用程序(主动建立连接方)调用socket创建一个套接字s,并在传输层实体中分配表空间,返回一个文件描述符用于在以后的调用中使用该套接字s。调用co

6、nnect阻塞应用程序,传输层实体开始建立连接,当连接建立完成时,取消阻塞。数据传输:双方使用send和receive完成数据的全双工发送。释放连接:每一方使用close原语单独释放连接。,传输协议,首先,在数据链路层,不必为一个路由器指明它要与哪个路由器通话-每条输出线对应唯一的一个路由器。在运输层里,需要显式地给出目的端地址。其次,在图中的线路上建立连接的过程很简单:另一端总是存在的(只有在它已崩溃的情况下才不存在),每一方都没有太多事情要做。对运输层而言,初始连接的建立要复杂得多,这点我们以后会看到。,数据链路层和运输层之间另一个主要的区别是子网的存储能力。当路由器发送了一帧时,该帧可能

7、会到达目的地,也可能会丢失,但它不会徘徊一会儿,躲藏在网络的某个角落,而在某个不合适的时刻又突然冒出来。如果子网内部采用数据报和适应性路由选择策略,那么就极可能将一个分组存储几秒钟,然后再传送。子网能将分组存储起来的能力有时可能会产生灾难性后果。因此需要使用特殊的协议。数据链路层和运输层之间的最后一个区别是数量上的差别而非类型上的差别。在两层中都需要有数据缓冲和流量控制,但在运输层中出现的大量的、动态变化的连接要求可能需要使用与在数据链路层中不同的处理方法。在数据链路层中,有些协议为每个连接均分配了固定数目的缓冲区。在运输层中,由于需要管理很大数目的连接,因此,为每个连接分配很多缓冲区的策略不

8、具有吸引力。在以下的几小节中,将考察所有这样和那样的问题。,信息流控制,运输层连接多,缓冲区的管理运输层涉及到运输层服务用户、运输实体以及网络服务队列运输层实体间传输的延迟。方法滑窗协议(类似数据链路层)动态公用缓冲区信用量法(动态滑窗协议),传输协议的要素,传输服务是通过建立连接的两个传输实体之间的传输协议来实现的。它必须解决差错控制、分组顺序、流量控制等问题。,传输协议的要素,传输协议的主要功能有寻址建立连接释放连接流量控制和缓冲策略多路复用崩溃恢复,寻址(Addressing),寻址(Addressing) 方法传输层定义传输服务访问点TSAP (Transport Service Ac

9、cess Point),将应用进程与这些TSAP相连。在Internet中,TSAP为(IP address, local port)。,寻址(Addressing),图例主机2的应用层进程time-of-day绑定TSAP 122端口,并一直监听,等待连接请求。主机1的应用程序希望与time-of-day通信,就定义本机的TSAP 6作为源端口,主机2的TSAP 122为目的端口,由传输实体发出连接请求。主机2的传输实体询问TSAP 122端口的应用进程time-of-day是否接收连接请求,认可,传输连接建立。问题:连接发起方如何确定对方的TSAP?,传输连接的发起方如何确定对方的TSAP

10、,静态分配TSAP应用层的用户进程拥有固定的、公开的、广为人知的TSAP,例:telnet的TSAP为(IP地址,端口23)。而且应用层的用户进程始终处于监听状态。问题:只适用于少数从不改变得关键服务,而且进程一直处于活动状态监听一个TSAP是很浪费资源的。,传输连接的发起方如何确定对方的TSAP,动态分配TSAP进程服务器:使用初始连接协议(initial connection protocol)。每个用户进程无需不间断地监听自己的TSAP端口,而是由每台希望向远端提供服务的计算机运行一个称为进程服务器(process server)的进程。进程服务器作为代理,同时监听一系列的端口,等待TC

11、P连接请求。需要某种服务的远方客户程序通过执行CONNECT请求,向它所需要的应用进程的TSAP发出连接建立请求。如果没有应用进程在此TSAP上监听,则远方客户和进程服务器建立连接。,传输连接的发起方如何确定对方的TSAP,动态分配TSAP进程服务器(续):进程服务器收到连接请求后,将源端客户程序所请求的应用进程加载,并将已经建立的连接转交该进程。进程服务器返回继续监听。远方客户程序与所希望的服务程序进行数据传输。问题:初始连接协议对于随时需要创建的应用进程是十分有效的。但是有一些应用并不依赖进程服务器,而与一些硬件设备相连,不能临时仓促创建。,传输连接的发起方如何确定对方的TSAP,NAME

12、 SERVER(directory server)利用一个特殊的进程称为名称服务器或目录服务器,它的TSAP是众所周知的。远方客户程序首先和NAME SERVER建立连接,告知NAME SERVER自己需要服务的名称。NAME SERVER将相应的TSAP地址作为回答。远方客户程序释放和NAME SERVER的传输连接,与所需要的服务进程建立连接。,图例:初始连接协议,建立连接,传输连接的概念面向应用层需要传输服务的进程在两个传输用户之间建立逻辑联系内部表现为一些缓冲区和一组协议机制外部表现为高可靠性建立连接面临的问题:网络可能丢失、重复分组。特别是延迟重复分组(delayed duplica

13、tes)的存在,导致传输层建立连接很复杂。,建立连接,解决延迟重复分组的关键是丢弃过时的分组,可用如下方法:非重复的TSAP过时连接表分组的TTL(分组生成周期)机制三次握手机制,非重复的TSAP,原理废弃使用过的传输地址。方法系统为每次的传输连接赋予一个新的传输地址。当此连接被释放的时候,此传输地址就被废弃了。缺点不支持进程服务器,因为没有公认的众所周知的TSAP存在。,过时连接表,原理利用过时连接表和在TPDU增加连接标识信息检查所到达的分组是否为重复分组。方法连接发起方为每个传输连接分配一个连接标识符,并将此信息存入本次传输服务中的每个TPDU 中(包括连接请求)。当连接释放的时候,各传

14、输实体将此连接标识信息添加到本机维护的一张过时连接表中。,过时连接表,每个新的连接请求到达的时候,根据连接标识符核对过时连接表,如果已经过时,该连接视为重复连接。缺点需要保留历史记录,不适应突发情况。当机器由于崩溃而丢失了过时连接表时,就无法再识别重复连接。,分组的TTL机制,原理利用TTL丢弃超时分组。方法定义和计算每个分组的生存时间TTL。超时未到达目的地的,被视为陈旧分组而遭到抛弃。缺点消除重复连接请求依赖通信子网完成。不能避免网络层分组传输的不可靠性。,三次握手建立连接,三次握手(three-way handshake)方案解决了由于网络层会丢失、存储和重复分组带来的问题。三次握手正常

15、建立连接的过程A 发出序号为X的建立连接请求CR TPDU。B 发出序号为Y的接受连接确认ACK TPDU,并确认A的序号为X的建立连接请求。A 发出序号为X的第一个数据DATA,并确认B的序号为Y的接受连接确认。,重复的CR,如果出现了重复的建立连接请求CR的情况,三次握手可以很好的解决。,重复的CR和重复的ACK并存,重复的建立连接请求CR和重复的接受连接确认ACK并存时,三次握手也可以解决重复连接问题。,释放连接,非对称式连接释放方法一方发出释放连接请求后,整个连接断开。存在丢失数据的危险。对称式连接释放方法各自独立发出释放连接请求,收到对方的释放确认后才可以释放连接。由于两军问题(tw

16、o-army problem)的存在,可以证明不存在安全的通过N次握手实现对称式连接释放的方法。,两军问题,两支蓝军如何能够同时发送进攻?蓝兵穿越白军防地是不可靠通信。蓝军2不知道蓝军1是否收到确认,不能贸然行动。即使采用三次握手释放连接,也会出现最后的确认丢失,应答TPDU丢失、应答及后续释放请求丢失的情况。没有一个满意的解决问题的方法。,三次握手 + 定时器的方法释放连接,在实际的通信过程中,使用三次握手 + 定时器的方法释放连接,在绝大多数情况下是成功的。(a) 三次握手释放连接的正常情况。(b) 最后确认TPDU丢失的情况。,三次握手 + 定时器的方法释放连接,(c) 应答丢失的情况(

17、d) 应答丢失以及后续DR丢失的情况。,缓冲策略,由于网络层服务是不可靠的,传输层实体必须缓存所有连接发出的TPDU,而且为每个连接单独做缓存,以便用于错误情况下的重传。接收方的传输层实体既可以做也可以不做缓存。缓存区的设计有三种:固定大小的缓冲区连接可变大小的缓冲区每个连接使用一个大的循环缓冲区,流量控制,传输层利用可变滑动窗口协议来实现流控。所谓可变滑动窗口协议,是指发送方的发送窗口大小是由接收方根据自己的实际缓存情况给出的。为了避免控制TPDU丢失导致死锁,主机应该周期性的发送TPDU。,图例:流量控制,多路复用,在连接、虚电路及物理链路上,多路复用几组对话的方法在网络结构的许多层上都有

18、一定的作用。在传输层中对多路复用技术的需要表现在很多方面。例如,子网内部使用虚电路的网络中,每个接通的连接在连接的整个阶段均需占据路由器中的-些表空间。如果缓冲区是被分配给每个路由器中的虚电路的,那么登录到远端机器上的用户离开终端去喝咖啡期间,他仍然在耗费着昂贵的资源。尽管这种分组交换的实现与使用分组交换的主要原因之一用户只根据传输的数据量而不是根据连接时间付费相抵触,但很多通信公司还是选择了按时间收费的方法,因为它非常类似于他们在过去的几十年中巳经习惯了的电路交换模型。 在这种价格结构下,长时间保持虚电路的接通十分不利,于是使不同的传输连接复用到同一网络连接上的技术便很有吸引力。这种形式的多

19、路复用称为向上多路复用(upward multiplexing),如图所示。图中,4个不同的传输连接都使用同-网络连接与远端主机相连。,向上多路复用,使多路复用在传输层中也可能有用,一种可能的解决方案是让传输层接通多个网络连接,以循环轮转的策略在这些连接上分配传输信息,如图所示。这种方法的操作称为向下多路复用(downward multiplexing)。,向下多路复用,故障恢复,如果主机和路由器易崩溃,那么就存在着从崩溃恢复的问题 。对于网络崩溃,如果传输实体完全在主机内部,那么从网络和路由器崩溃中恢复是直截了当的。如果网络层提供数据报服务,传输实体对丢失的TPDU留有副本,就会知道如何解决

20、恢复问题。如果网络层提供的是面向连接的服务,那么处理虚电路突然中断的方法是建立一条新的虚电路,接着探查远端机的传输实体,看它已经收到了哪些TPDU以及哪些还未收到,后者可以重发。,一个较复杂的问题是如何从主机崩溃中进行恢复 ,尤其是当服务器崩溃并很快重新启动后,客户端希望能够继续进行崩溃前的操作。为了能恢复崩溃前的状态,服务器可以以广播方式向所有其他的主机发送一个TPDU,说明自己刚才发生崩溃并要求其客户主机通知所有接通的连接所处的状态。每个客户主机可能处于两种状态之一:有一个未被确认的TPDU-S1状态,或没有未被确认的TPDU-S0状态。根据这种状态信息,客户主机必须决定是否要重发最近的T

21、PDU。 这种简单的方法存在的困难。例如,考虑下面这种情况,远端服务器的传输实体只发送一个确认,当确认发生后,又对应用进程执行-个写操作。向输出流写一个TPDU和发送一个确认是两个不同而又不可分的事件,二者不能同时进行。如果在确认发出后而在写操作执行前崩溃发生了,此时客户端将收到这个确认。当崩溃恢复声明到达时它处于状态S0。客户端将因此不再重发,因为它错以为那个TPDU已经到达服务器端。客户端的这种决定会导致丢失一个TPDU。,故障恢复,进一步完善协议也于事无补。即使客户端和服务器端在服务器准备进行写操作前已经交换了几个TPDU,以便客户端能确切知道将要发生什么,但客户端还是无法确定崩溃是在写

22、操作前还是写操作之后发生。因此我们得出如下结论:基于对非同时事件所制订的基本规则,无法使主机崩溃和恢复做到对于高层透明。使用更一般的术语,这一结果可以重新叙述为:从第N层崩溃中恢复只能由第N+1层来完成,并且只有在第N+1层保留有足够的状态信息的情况下才能完成。正如上面提到的,如果连接的两端均保持了当前的状态信息,传输层可以从网络层的错误中进行恢复。,运输层协议,运输层协议是依据网络层提供的服务质量来分类的。经过多年的研究与讨论,ISO于1984年通过了OSI运输协议的标准。这就是ISO8072和ISO 8073。CCITT参与了这一标准的制订,并通过了相应的X.214和X.224建议书。欧洲

23、计算机厂家协会ECMA,美国国家标准学会ANSI以及美国国家标准局NBS等也都积极参与了运输层协议标准的制订。NBS已于1988年底改名为国家标准与技术研究院NIST。网络服务 网络服务分类:A类网络服务B类网络服务C类网络服务,A类网络服务:可接受的残留差错率、可接受的可报告差错率;A型网络服务是一个完善的、理想的、可靠的网络服务。分组在网络中传送时不会丢失也不会失序(失序指分组到达的顺序与发送的顺序不一致),这样,运输层就不需要故障恢复的服务和重新排序的服务等等,因而运输层就非常简单。 B类网络服务:可接受的残留差错率、不可接受的可报告差错率;需要运输实体进行差错恢复。 C类网络服务:不可

24、接受的残留差错率、不可接受的可报告差错率; C型网络服务的质量最差。对于这类网络,运输协议应能检测出网络的差错,同时要有差错恢复能力。对失序、重复以及错误投递的数据分组,也应能检测出并进行改正。某些局域网和一些具有移动结点的城域网以及具有衰落信道的分组无线电网都局于C型网络。,运输协议类,为了能够在各种不同网络上进行不同类型的数据的传送,ISO定义了5类(class)运输协议,即第0类至第4类的运输协议。这5类运输协议都是面向连接的。也就是说,用户要进行通信,必须先建立运输连接。当然,这必然要用到网络层提供的服务,或者说,要建立网络连接。同理,在建立网络连接时,又需要建立各有关链路的连接。当数

25、据传送结束后,则必须释放运输连接。,针对网络服务质量的差异,运输层定义了5个运输协议类,提供不同的功能。网络层服务质量降低时,对运输协议的要求就提高,以向运输层用户提供一种比较稳定的服务界面。,第0类运输协议是最简单的,它只具有一些最起码的功能。第0类运输协议和CCITT的T.70建议书相兼容。T.70是为智能用户电报(teletex)终端提供运输服务的建议书。第0类运输协议的功能就是建立一个简单的端到端的运输连接,而在数据传送阶段具有将长数据报文分段传送的功能(当有此需要时)。它没有差错恢复功能,也不将多条运输连接复用到一条网络连接上。第0类运输协议是面向A型网络服务的。第1类运输协议较简单

26、,但增加了基本差错恢复功能。利用网络层的连接拆除或复位进行差错恢复。这里的基本差错是指出现网络连接断开或网络连接失败,或者收到了一个未被认可的运输连接的数据单元。当网络连接断开时,运输层就试图建立另一条网络连接。第1类运输协议面向B型网络服务。,第3类运输协议面向B型网络服务,它包含了第1类相第2类运输协议的功能,既有差错恢复功能又有复用功能。第4类运输协议是最复杂的,它可以在网络的质量较差时保证高可靠性的数据传送。它面向C型网络服务。第4类运输协议具有差错检测、差错恢复以及复用等功能。,小结,本章主要从原理上讲述了运输层的作用和控制机制。运输层在OSI7层协议中处在一个承上启下的作用,负责对上屏蔽低层网络的差别,因此运输层要保证端到端的正确传输,它之上的上层协议不再关心数据是如何传输,如何保证不出错。运输层为保证端到端的正确传输,采取与数据链路层相似的策略,但运输层与数据链路层不同的是,运输层之下的网络层其性能在不同的应用场合是不同,因此分组在网络层上的体现出的传输特性是不同的,如时延、丢失率等,因此运输层的控制机制就复杂了,如重传时间的测量、连接建立的三次握手等。所以运输层根据网络层的服务质量分为5类,同时向上提供的复用解复用等特性,是根据上层的服务质量要求和网络层能提供的服务由运输层来祢补二者之间在时间、经济性、流量等方面的差别。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com