六章传输层.ppt

上传人:本田雅阁 文档编号:2594179 上传时间:2019-04-14 格式:PPT 页数:26 大小:1.10MB
返回 下载 相关 举报
六章传输层.ppt_第1页
第1页 / 共26页
六章传输层.ppt_第2页
第2页 / 共26页
六章传输层.ppt_第3页
第3页 / 共26页
六章传输层.ppt_第4页
第4页 / 共26页
六章传输层.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《六章传输层.ppt》由会员分享,可在线阅读,更多相关《六章传输层.ppt(26页珍藏版)》请在三一文库上搜索。

1、第六章 传输层,传输层位于面向通信的底三层和面向信息处理的高三层之间,为高层用户提供独立于具体网络的、经济、有效和可靠的端到端数据传输服务。,传输服务,传输层提供两种类型的服务: 可靠的面向连接的传输服务 不可靠的无连接的传输服务 传输服务的必要性: 可靠的服务:用户不能控制通信子网来满足自己所需的网络服务,只能在网络层上增加一个属于用户自己的传输层来保证所需的传输服务。 统一的接口:由于传输服务是独立于网络服务的,应用程序便能采用一个标准统一的传输服务原语来调用各种不同的网络服务(服务质量、接口定义等五花八门)。 可以说,OSI参考模型中,底4层为传输服务提供者(transport serv

2、ice provider),高3层是传输服务用户(transport service user)。,传输层与上下的逻辑关系,传输协议数据单元(TPDU),TPDU(transport protocol data unit)表示对等传输层间传递的数据单元。 用户将报文封装在TPDU中交给网络层进行处理。,服务质量QoS(Quality of Service),传输层的主要功能可看成是增强网络层提供的服务质量。服务质量的好坏是由一组服务质量参数来衡量的,主要有: 连接建立延迟(Connection establishment delay):建立一个连接所需的时间。 连接建立失败的概率(Connec

3、tion establishment failure probability):在指定的最大连接建立延迟内未能建立连接的可能性。 吞吐率(Throughput):一个连接上每秒钟传输的用户数据的字节数。 传输延迟(Transit delay):用户报文从源端发送到目的端所需的时间。 残余误码率(Residual error ratio):丢失或错乱报文的百分比。 保护(Protection):要求传输层提供保护,以防止未经授权的第三方窃听或篡改用户报文。 优先级(Priority):能指示被服务的连接的优先级别。 恢复(Resilience):出现问题时,传输层能自发终止连接的可能性。 以上服

4、务质量参数一般是传输用户和传输层在建立连接时通过选项协商(option negotiation)而设定的。,传输服务原语,传输服务原语是传输用户用来访问传输服务的接口。每种传输服务均有各自的访问原语。 以伯克利套接字(Berkeley Socket)为例,下表为面向连接的TCP中的套接字原语。,面向连接的套接字通信,连接的建立: 服务器端: 执行SOCKET,创建一个新的套接字通信端点并为其分配表空间。 执行BIND为套接字分配一个本地地址和名字。 执行LISTEN表示服务器进程愿意接受连接请求,并指定连接等待队列的最大长度。 执行ACCEPT,阻塞服务器进程,等待客户的连接请求。一旦客户的连

5、接请求到达,传输实体即为其创建一个新的具有相同属性的套接字,并产生一个进程或线程在新套接字上处理该连接。然后服务器进程回到原来的套接字上继续监听连接请求。 客户端: 执行SOCKET,创建一个新的套接字通信端点。不需BIND。 执行CONNECT,阻塞连接请求者并主动开始建立连接的进程。当服务器的应答到来后,客户进程被唤醒,连接即告建立。 连接建立后,双方都可使用SEND和RECEIVE在已有的连接上发送和接收数据。 连接的释放是对称的,当双方都执行了CLOSE后,连接即被释放。,面向连接的套接字通信示意图,传输协议,传输层协议和数据链路层协议非常相似,都必须进行顺序控制、差错控制、流量控制等

6、工作。 但由于运行的环境不同,两者的具体操作是大不相同。传输层的端到端之间经过一个复杂的、具有存储能力的通信子网,使得其在寻址、连接的管理、控制协议等方面都非常复杂。,寻址,用传输服务访问点TSAP(transport service access point)和网络服务访问点NSAP(network service access point)来描述传输地址和网络地址。 寻址的两个问题: 客户进程如何获知服务器进程的传输地址TSAP? 客户传输实体如何从目的传输地址获得目的网络地址NSAP?,服务器传输地址TSAP的定位,有两个途径: 众所周知的地址:对于一些经常使用的服务,可为其指定固定的传

7、输地址,印在手册或指南上广为传播。 对临时不常用的地址,有两种方法: 初始连接协议(initial connection protocol) 使用称为名字服务器(name server)或目录服务器(directory server)的特殊服务器进程。,初始连接协议,如UNIX中的inetd。 服务器(机器)上运行一个具有众所周知传输地址的特殊的进程服务器(process server),作为各种服务器(进程)的代理。,名字服务器或目录服务器,客户进程从众所周知的名字服务器中通过对服务的名字(已注册到名字服务器)进行查找,即可获得相应的服务器进程的传输地址。,目的网络地址NSAP的定位,传输地

8、址TSAP为层次型地址(hierachical address):NSAP可直接来自于TSAP。如TCP/IP的传输地址由网络地址和端口号组成。 传输地址TSAP为平面型地址空间(flat address space):需要名字服务器将TSAP转换成NSAP。 在某些场合下(如LAN中),可采用广播方式询问目的机器的NSAP。,建立连接(connection establishment),由于通信子网的不可靠性和存储能力,造成不可预知的延迟,使得可靠地建立传输连接变得十分困难。一些解决的方法有: 给每个连接分配一个唯一的连接标识,每个传输实体将用过的连接标识记在表中,以区别新旧连接。 限制分组

9、的寿命:为每个分组设置一个寿命域(计数器),每隔一定的时间寿命减1,减至0时就丢弃分组。可以设定一个时间T(根据不同的协议,为分组最大寿命的若干倍),当一个分组发送后,经时间T,所有和该分组有关的分组就全不存在了,这大大简化了问题。 为每台主机设置一个一直运转的计时时钟(二进制计数器,位数足够大),每隔一定时间加1,当建立连接时,用时钟的低k位作为本连接的初始序号。此后的发送序号按序递增,不再参考计数器值,但发送序号不能进入禁止区。,时间和初始序号之间的线性关系,基于时钟的方法解决了数据TPDU的延迟重发问题,其前提条件是双方已建立了传输连接,知道对方的初始序号。但由于控制TPDU也会延迟,造

10、成建立传输连接的复杂。可采用三次握手(three-way handshake)的方法加以解决。,释放连接(connection release),释放传输连接有两种方式: 非对称释放(asymmetric release):任何一方发出断连请求即可终止连接。容易造成数据丢失。,对称释放(symmetric release ):一条连接的两个方向被看成是两个单独的连接。一方发出断连请求表明它的数据已发送完毕,但仍可以在连接上接收对方的数据。只有双方都发出了断连请求,连接才被终止。,三次握手连接释放法,为了可靠地终止连接,一方在发出断连请求后,必须收到对方的断连请求(响应)才能终止连接。实际上做不

11、到。 实际中采用的三次握手连接释放法不是绝对可靠的,但已令人足以满意了。 考虑后面图中的第4种情况,若主机2一次都没有收到主机1的断连请求,就不会释放连接,形成一个半开的连接(half-open connection),导致失败。 为了清除半开的连接,协议规定任何一方在一给定的时间内没有收到连接上的任何TPDU,就自动释放连接。 每个传输实体都设置一个定时器,只要发送TPDU就复位定时器,一旦定时器超时就自动发送一个哑(dumb)TPDU,以防止连接长时间没有数据传输而被对方终止。 若哑TPDU丢失,则对方释放连接,稍候本方也释放连接。,三次握手连接释放的四种情况,流量控制和缓冲策略,传输层虽

12、然和数据链路层一样都采用了滑动窗口协议等机制来实现流量控制,但由于传输层上(主机)的连接数多且不定,而中间通信子网的传输能力有限,不可能为每条连接分配固定数量的缓冲区。 由于发送流量涉及到接收端的接收能力和通信子网的传输能力,因此必须从这两个方面来讨论传输层上的流量控制。 发送流量应该取接收端和通信子网所能允许的流量值中的较小值。,从接收能力出发,传输层连接须对收发双方动态地分配缓冲区数量:发送端应向接收端申请所需的缓冲空间(接收端一侧),接收端也应能根据情况决定为发送端预留多少空间(动态可变),通过确认及时告知发送端,以便调整发送流量。 死锁问题: 由于包含缓冲区分配数的控制TPDU(确认)

13、可能会丢失,从而造成死锁。 解决方法:每台主机应定期向每个连接发送控制TPDU。 随着内存价格大幅度下降,可以为主机配置大容量的内存,基本上可解决收发缓冲匮乏的问题。,动态缓冲的分配管理,从子网能力出发,发送方采用可动态调整窗口大小的滑动窗口协议来匹配网络的承载能力。 发送方定期地监视网络的传输能力c(网络每秒钟可传输的TPDU数量)和循环时间r(从发出TPDU到收到其确认为止所需的时间),然后计算出发送窗口的大小(cr)。 c可以简单地通过计算在某段时间间隔内确认的TPDU数除以时间间隔来决定。测量时应尽快发送数据。 r可以从发送端精确获得,一般取某段时间内的平均值。,多路复用(multiplexing),向上多路复用(upward multiplexing): 将去往相同目的节点的不同传输连接复用到同一条网络连接上,使它们共同承担一条网络连接的通信费用(按时)。 为了实现向上多路复用,每个主机应能将各传输连接按目的主机进行分组,并将它们映射到最少数量的网络连接上。 每个网络连接上的传输连接数应适中。 向下多路复用(downward multiplexing): 为一条传输连接建立多条网络连接,传输实体按一定顺序在各个网络连接上并行发送数据,从而提高了数据的整体传输速率。 物理线路须有足够大的容量。,两种多路复用示意图,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1