第6章 传输层95726(精品).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第6章 传输层95726(精品).ppt》由会员分享,可在线阅读,更多相关《第6章 传输层95726(精品).ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章 传输层传输层传输服务传输协议Internet传输协议传输层的基本功能 传输层依据会话层的服务质量(QoS,Quality of Service)要求,选择适当的网络层服务和传输层协议,以提供可靠的、价格合理的、与网络层无关的数据传送。QoS相当于在货物传输的例子中所考虑的时间、可靠性、费用等。选择网络服务相当于在货物运输的例子中选择运输方式,比如:空运、铁路等。传输层协议相当于邮寄信件时是使用平信,还是挂号信,等等。传输层的功能为:数据传送,不关心数据含义,进程间通信;可视为低层的一部分。弥补高层(上3层)要求与网络层(基于下3层)数据传送服务质量间的差异(差错率、差错恢复能力、吞
2、吐率、延时、费用等),对高层屏蔽网络层的服务的差异,提供稳定和一致的界面。传输服务(传输服务(1)引入传输层的原因-消除网络层的不可靠性;-提供从源端主机到目的端主机的可靠的、与实际使用的网络无关的信息传输。传输服务-传输实体(transport entity):完成传输层功能的硬软件;-传输层实体利用网络层提供的服务向高层提供有效、可靠的服务;Fig.6-1-传输层提供两种服务面向连接的传输服务:连接建立,数据传输,连接释放无连接的传输服务。-1 4层称为传输服务提供者(transport service provider),4层以上称为传输服务用户(transport service us
3、er)。服务质量服务质量建立连接延迟建立连接失败的概率吞吐率传输延迟残余误码率安全保护优先级恢复功能传输服务(传输服务(2)传输服务原语(Transport Service Primitives)-传输用户(应用程序)通过传输服务原语访问传输服务-一个简单传输服务的原语-TPDU传输服务(传输服务(3)-拆除连接方式有两种不对称方式:任何一方都可以关闭双向连接;对称方式:每个方向的连接单独关闭,双方都执行DISCONNECT才能关闭整条连接。-简单连接管理状态图传输服务(传输服务(4)-Berkeley Sockets连接释放是对称的传输服务(传输服务(5)应用举例-一个服务程序和几个远程客户
4、程序利用面向连接的传输层服务完成通信。-建立连接服务程序-调用socket创建一个新的套接字,并在传输层实体中分配表空间,返回一个文件描述符用于以后调用中使用该套接字;-调用bind将一个地址赋予该套接字,使得远程客户程序能访问该服务程序;-调用listen分配数据空间,以便存储多个用户的连接建立请求;传输服务(传输服务(6)-调用accept将服务程序阻塞起来,等待接收客户程序发来的连接请求。当传输层实体接收到建立连接的TPDU时,新创建一个和原来的套接字相同属性的套接字并返回其文件描述符。服务程序创建一个子进程处理此次连接,然后继续等待发往原来套接字的连接请求。客户程序-调用socket创
5、建一个新的套接字,并在传输层实体中分配表空间,返回一个文件描述符用于在以后的调用中使用该套接字;-调用connect阻塞客户程序,传输层实体开始建立连接,当连接建立完成时,取消阻塞;-数据传输双方使用send和receive完成数据的全双工发送。-释放连接每一方使用close原语单独释放连接。传输协议的要素传输协议的要素传输层和数据链路层的异同-寻址-建立连接-子网的存储能力-数量的不同物理通信信道路由器路由器子网主机数据链路层传输层传输协议的要素(传输协议的要素(1)寻址(Addressing)-方法:定义传输服务访问点TSAP(Transport Service Access Point)
6、,将应用进程与这些TSAP相连。在Internet中,TSAP为(IP address,local port);-Fig.6-8-远方客户程序如何获得服务程序的TSAP?方法1:预先约定、广为人知的,象telnet是(IP地址,端口23);方法2:从名字服务器(name server)或目录服务器(directory server)获得TSAP-一个特殊的进程称为名字服务器名字服务器或目录服务器目录服务器(TSAP众所周知);-用户与名字服务器建立连接,发送服务名称,获得服务进程的TSAP,释放与名称服务器的连接;-与服务进程建立连接。传输协议的要素传输协议的要素-当服务程序很多时,使用初始连
7、接协议(initial connection protocol)一个称为进程服务器(进程服务器(process server)的进程(inetd)同时在多个端口上监听;远方客户程序向它实际想访问的服务程序的TSAP发出连接建立请求;如果没有服务程序在此TSAP上监听,则远方客户和进程服务器建立连接;进程服务器产生所请求的服务进程,并使该进程继承和远程客户的连接;进程服务器返回继续监听;远方客户程序与所希望的服务程序进行数据传输。Fig.6-9TSAP的地址结构的地址结构 现在我们假定用户已经成功地找到欲建立连接的TSAP地址。另一个有趣的问题是:本地传输实体如何知道那个TSAP被放置在哪台机器
8、上?进一步说,传输实体怎么知道哪个网络层地址用来与管理TSAP请求的远程传输实体建立网络连接呢?答案依赖于TSAP地址的结构。一种可能的结构是TSAP地址为层次型地址(hierarchial addresses)。层次型地址是由-系列字段组成,这些字段将地址空间划分为不相交的分区。例如,一个完全通用的TSAP地址可能有如下的结构:地址=使用这一方案,可以十分简单明了地确定任何已知范围内的TSAP。同理,如果一个TSAP地址是一个NSAP地址和一个端口(表明本地TSAP之一的局部标识符)的组合,那么当给出了一个传输实体要连接的TSAP地址时,它使用TSAP中包含的NSAP地址以到达适当的远端传输
9、实体。作为层次型地址的一个简单例子,考察电话号码19076543210。该号码可以按1-907-654-3210来分析。其中,1为国家代码(美国+加拿大),907为地区代码(阿拉斯加),654为阿拉斯加的一个分局,而3210则是该分局中的“端口”(用户专用线)之一。有别于层次型地址空间的一种选择是平面型地址空间(flat address space)。如果TSAP地址为非层次型,则需要二级映射来定位合适的机器。即必须有一个名字服务器,其输入为传输地址,输出为网络地址。另外,在某些情况下(例如,在局域网中),有可能以广播方式发出一个查询,请目的机器发送一个分组来标识自己。传输协议的要素(传输协议
10、的要素(2)建立连接建立连接建立连接听起来容易,但实际上却是意想不到的棘手。初看起来,一个传输实体似乎只需向目的机器发送一个连接请求(CONNECTION REQUEST)TPDU,并等待对方接受连接(CONNECTION ACCEPTED)的应答就足够了,但当网络可能丢失、存储和出现重复分组时,问题便出现了。设想一个子网十分拥塞以至于根本不能及时返回确认,每个分组由于在规定时限内得不到确认而需要重发二次或三次的情形。假设该子网内部使用数据报,并且每个分组拥有不同的路由。一些分组可能会因为子网内部的线路拥塞需要很长一段时间才能到达,即它们被存储到子网中,并在很久以后突然出现。最坏的可能性是发生
11、下面的情况。一个用户与银行之间建立了一条连接,并发送报文让银行将一笔巨款转至一个不能完全信任的人的账户下,然后便释放连接。不幸的是,此时每个分组均被复制并存放于子网中。当连接已经断开后。所有的复制分组又会从子网中发出并顺序到达目的瑞,请求与银行建立一个新的连接并再次转账,然后释放连接。而银行则无法辨别这些分组是重复的,便假定这是第二次独立的转账业务。于是将巨款再次转移。本节将专门讨论延迟的重复分组问题,特别重点讨论可靠地建立连接的算法,以防止类似于上述灾难性问题的发生。建立可靠的连接:限制分组的生命周期建立可靠的连接:限制分组的生命周期 采用下述的技术之一,可以将分组的生命周期限制在一个已知的
12、最大值内:1.受限制的子网设计;2.在每个分组内设置一个生存时间;3.为每个分组加上时间戳。第一种方法包括防止分组进入回路,以及限制延时不超过(当前已知的)可能最长的路径时延。第二种方法是在每次转发分组时使生存时间加1。数据链路层协议将丢弃那些生存时间值超过某个特定值的分组。第三种方法要求每个分组均包含生成时间,由路由器负责丢弃超过预定时间的旧分组。第三种方法要求路由器的时钟同步,而同步本身就是一项繁重的任务,除非同步信号来自子网络外部,如通过收听定期广播准确时间的无线电台。在实际应用中,我们不仅需要保证一个分组已经无效,而且要保证对该分组的所有确认均告失效,因此,我们现在引进T的概念,它表示
13、实际最长的生命期的某个不太大的倍数。该倍数与所用的协议无关,只是对延长T有影响。如果在一个分组发出后等待了时间T,我们便可以确定有关该分组的一切现在已告失效,该分组及其确认将不会再次突然出现而使问题复杂化。为了解决系统崩溃后机器会丢失全部存储信息的问题。Tomlinson建议为每台主机增设一个计时(time-of-day)时钟。不同主机的时钟不需同步。假定每个时钟都采用二进制计数器形式,在统一的时间间隔内累加计数。而且,计数器内的位数必须等于或大于序列号内的位数。最后,也是更重要的,是假定时钟一直在运转,即使主机停机亦如此。基本思想是确保在同一时刻永远不会出现两个编号相同的TPDU。当一个连接
14、建立后,时钟的低k位作为初始序号(也是k位)。这样便不同于数据链路层所介绍的协议,每个连接均以不同的序号开始对其TPDU进行编号,序号空间应该很大,以便当序号再次(循环了一周)出现时,具有相同序号的旧的TPDU早已传送完毕。时间和初始序号之间的线性关系如图所示。一旦建立连接的两个传输实体接受了初始序号,便可以使用任何滑动窗口协议来实现数据流量控制。建立可靠的连接:分组的编号建立可靠的连接:分组的编号 传输协议的要素(传输协议的要素(2)建立连接-网络可能丢失、重复包,特别是延迟重复包(delayed duplicates)的存在,导致传输层建立连接的复杂性;-解决延迟重复包的关键是丢弃过时的包
15、;-两次握手方案A发出连接请求CR TPDU,B发回连接确认CC TPDU;失败的原因:网络层会丢失、存储和重复包。-三次握手方案(three-way handshake)A 发出序号为X的CR TPDU;B 发出序号为Y的CC TPDU并确认A的序号为X的CR TPDU;传输协议的要素传输协议的要素A 发出序号为X+1的第一个数据TPDU,并确认B的序号为Y的CR TPDU。Fig.6-11(DATA序号应为X+1)-三次握手方案解决了由于网络层会丢失、存储和重复包带来的问题。传输协议的要素传输协议的要素释放连接-两种连接释放方法非对称式:一方释放连接,整个连接断开,存在丢失数据的危险;传输
16、协议的要素传输协议的要素对称式:由于两军问题两军问题(two-army problem)的存在,可以证明不存在安全的通过N次握手实现对称式连接释放的方法;-但是在实际的通信过程中,使用三次握手+定时器的方法释放连接在绝大多数情况下是成功的。Fig.6-14传输协议的要素传输协议的要素流控和缓存(Flow Control and Buffering)-缓存:由于网络层服务是不可靠的,传输层实体必须缓存所有连接发出的TPDU,而且为每个连接单独做缓存,以便用于错误情况下的重传。接收方的传输层实体既可以做也可以不做缓存。缓存区的设计有三种。Fig.6-15-流控:传输层利用可变滑动窗口协议来实现流控
17、。所谓可变滑动窗口协议,是指发送方的发送窗口大小是由接收方根据自己的实际缓存情况给出的。为了避免控制TPDU丢失导致死锁,主机应该周期性的发送TPDU。Fig.6-16多路复用多路复用 在连接、虚电路及物理链路上,多路复用几组对话的方法在网络结构的许多层上都有一定的作用。在传输层中对多路复用技术的需要表现在很多方面。例如,子网内部使用虚电路的网络中,每个接通的连接在连接的整个阶段均需占据路由器中的-些表空间。如果缓冲区是被分配给每个路由器中的虚电路的,那么登录到远端机器上的用户离开终端去喝咖啡期间,他仍然在耗费着昂贵的资源。尽管这种分组交换的实现与使用分组交换的主要原因之一用户只根据传输的数据
18、量而不是根据连接时间付费相抵触,但很多通信公司还是选择了按时间收费的方法,因为它非常类似于他们在过去的几十年中巳经习惯了的电路交换模型。在这种价格结构下,长时间保持虚电路的接通十分不利,于是使不同的传输连接复用到同一网络连接上的技术便很有吸引力。这种形式的多路复用称为向上多路复用(upward multiplexing),如图所示。图中,4个不同的传输连接都使用同-网络连接与远端主机相连。向上多路复用使多路复用在传输层中也可能有用,一种可能的解决方案是让传输层接通多个网络连接,以循环轮转的策略在这些连接上分配传输信息,如图所示。这种方法的操作称为向下多路复用(downward multiple
19、xing)。向下多路复用 崩溃恢复崩溃恢复如果主机和路由器易崩溃,那么就存在着从崩溃恢复的问题。对于网络崩溃,如果传输实体完全在主机内部,那么从网络和路由器崩溃中恢复是直截了当的。如果网络层提供数据报服务,传输实体对丢失的TPDU留有副本,就会知道如何解决恢复问题。如果网络层提供的是面向连接的服务,那么处理虚电路突然中断的方法是建立一条新的虚电路,接着探查远端机的传输实体,看它已经收到了哪些TPDU以及哪些还未收到,后者可以重发。一个较复杂的问题是如何从主机崩溃中进行恢复,尤其是当服务器崩溃并很快重新启动后,客户端希望能够继续进行崩溃前的操作。为了能恢复崩溃前的状态,服务器可以以广播方式向所有
20、其他的主机发送一个TPDU,说明自己刚才发生崩溃并要求其客户主机通知所有接通的连接所处的状态。每个客户主机可能处于两种状态之一:有一个未被确认的TPDU-S1状态,或没有未被确认的TPDU-S0状态。根据这种状态信息,客户主机必须决定是否要重发最近的TPDU。这种简单的方法存在的困难。例如,考虑下面这种情况,远端服务器的传输实体只发送一个确认,当确认发生后,又对应用进程执行-个写操作。向输出流写一个TPDU和发送一个确认是两个不同而又不可分的事件,二者不能同时进行。如果在确认发出后而在写操作执行前崩溃发生了,此时客户端将收到这个确认。当崩溃恢复声明到达时它处于状态S0。客户端将因此不再重发,因
21、为它错以为那个TPDU已经到达服务器端。客户端的这种决定会导致丢失一个TPDU。崩溃恢复崩溃恢复崩溃恢复崩溃恢复 进一步完善协议也于事无补。即使客户端和服务器端在服务器准备进行写操作前已经交换了几个TPDU,以便客户端能确切知道将要发生什么,但客户端还是无法确定崩溃是在写操作前还是写操作之后发生。因此我们得出如下结论:基于对非同时事件所制订的基本规则,无法使主机崩溃和恢复做到对于高层透明。使用更一般的术语,这一结果可以重新叙述为:从第N层崩溃中恢复只能由第N+1层来完成,并且只有在第N+1层保留有足够的状态信息的情况下才能完成。正如上面提到的,如果连接的两端均保持了当前的状态信息,传输层可以从
22、网络层的错误中进行恢复。崩溃恢复崩溃恢复确认(A)将数据写入输出进程(W)崩溃(C)传输层协议传输层协议 传输层协议是依据网络层提供的服务质量来分类的。经过多年的研究与讨论,ISO于1984年通过了OSI传输协议的标准。这就是ISO8072和ISO 8073。CCITT参与了这一标准的制订,并通过了相应的X.214和X.224建议书。欧洲计算机厂家协会ECMA,美国国家标准学会ANSI以及美国国家标准局NBS等也都积极参与了传输层协议标准的制订。NBS已于1988年底改名为国家标准与技术研究院NIST。网络服务网络服务 网络服务分类:A类网络服务B类网络服务C类网络服务 A类网络服务:可接受的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 传输层95726精品 传输 95726 精品
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内