数据通信与计算机网络--14传输层.ppt
第14讲 传输层第第1414讲讲 运输层运输层/传输层传输层 课时授课计划 课 程 内 容第14讲 传输层第第1414讲讲 运输层运输层内容:与传输层相关的基本概念 TCP的基本内容 UDP的基本内容 目的与要求:掌握进程通信中客户/服务器模式的基本概念;掌握传输层的基本功能与服务质量QoS的基本概念;掌握TCP和UDP的基本内容;重点与难点:重点:TCP、UDP;难点:TCP。第14讲 传输层第第1414讲讲 运输层运输层课堂讨论:TCP?UDP?现代教学方法与手段:投影 PowerPoint幻灯课件复习(提问):解释本地路由?第14讲 传输层第八章第八章 传输层传输层和高层协议和高层协议8.1 传输层8.2 实时运输协议8.3 远程过程调用第14讲 传输层8.1 传输层 传输服务 传输协议的要素 InternetInternet的传输协议第14讲 传输层传输服务 传输层的功能及在协议层次中的作用 传输层提供的服务 传输服务原语第14讲 传输层传输层在OSI模型中的位置 介于通信子网和资源子网之间,对高层用户屏蔽了通信的细节 弥补了通信子网所提供服务的差异和不足,提供端到端之间的无差错保证 传输层工作的繁简取决于通信子网提供服务的程度第14讲 传输层传输层与上下层之间的关系 传输层使高层用户看见的好象就在两个传输层实传输层使高层用户看见的好象就在两个传输层实体之间有一条端到端的、可靠的、全双工的通信通路体之间有一条端到端的、可靠的、全双工的通信通路(即数字管道)(即数字管道)第14讲 传输层传输层提供的服务 面向连接的服务:通信可靠,对数据有校验和重发如TCP/IPTCP/IP模型中的FTPFTP、TelnetTelnet面向非连接的服务:对数据无校验和重发,通信速率高如TCP/IPTCP/IP模型中的SNMP SNMP 第14讲 传输层传输服务原语是应用程序和传输服务之间的接口 一个典型的面向连接的服务原语 第14讲 传输层伯克利套接字第14讲 传输层典型的套接字应用过程套接字的使用与文件的使用类似第14讲 传输层传输协议的要素传输层与数据链路层的比较 相同点:数据的传送 不同点:数据链路层通过物理通道直接通信,而在传输层,其面对的传输通道是一个网络 数据链路层的通信是点对点的,每条输出线对应了唯一的一个设备,而传输层则需要给出目的端地址 第14讲 传输层传输协议的要素数据链路层的连接建立很简单,而传输层要复杂得多 在数据链路层无中间存储环节,而在传输层,每一途径的路由器都是存储、寻径、转发,而寻径到转发的时间随路由器本身和路由算法而定 数据链路层通常使用发送缓冲区和接收缓冲区,而在传输层,对每个连接都必须分配一定的缓冲区,其缓冲区的管理将复杂得多第14讲 传输层传输层必须讨论:寻址 连接建立 释放连接 流量控制和缓冲策略第14讲 传输层传输服务访问点TSAP(Transport Service Access Point)两个程序要建立连接时,必须指明对方是哪一个应用程序,这个标记称为传输层地址,也称为传输服务访问点(TSAPTSAP)在TCPTCP协议中即TCPTCP的端口号 网络层地址称为网络服务访问点NSAPNSAP(Network Service Access PointNetwork Service Access Point)NSAPNSAP在IPIP协议中即IPIP地址 第14讲 传输层连接方案举例 访问一个时间服务器第14讲 传输层访问一个时间服务器的说明1.1.主机2 2上的定时器服务进程将自己连到122122号TSAPTSAP上,等待即将到来的请求。例如,可以用LISTENLISTEN调用 2.2.主机1 1上的一个应用进程想找出当天的时间,便发出一个CONNECTCONNECT请求,将6 6号TSAPTSAP设定为源地址,将122122号TSAPTSAP设定为目的地址 3.3.主机1 1的传输实体使用其网络地址并通过主机2 2的网络地址,便能与主机2 2的传输实体通话了 4.4.主机1 1上的传输实体向主机2 2上对等端说的第一句话是:“我想在我的6 6号TSAPTSAP和你的122122号TSAPTSAP之间建立一个传输连接,如何?”?”5.5.主机2 2上的传输实体便询问122122号TSAPTSAP的定时服务器是否愿意接受一个新的连接,如果它同意,传输连接便建立成功 第14讲 传输层如何知道对方的TSAP well-known TSAPwell-known TSAP 每个服务都有自己固定的TSAPTSAP,所有网络用户都知道采用名字服务器(name servername server)或目录服务器(directory serverdirectory server)用户与名字服务器建立连接,向服务器发送一个报文,指明服务的名称,服务器将该服务对应的TSAPTSAP返回给用户。类似于114114查号 对方将分配的TSAPTSAP通知主机第14讲 传输层对方将分配的TSAPTSAP通知主机 初始连接协议(initial connection protocol)第14讲 传输层TSAPTSAP地址的结构 层次型:TSAPTSAP地址=NSAP=NSAP地址+本地应用标识(端口号)平面型:需要一个名字服务器来解析。输入TSAPTSAP,输出它的网络地址 第14讲 传输层连接建立 通信子网的不可靠性 通信子网中存在着延时和分组的丢失,以及由于延时和丢失而带来的重复分组 由于通信子网的尽力而为的传输原则,一个早已超时的分组最终还是到达了目的端,所以有必要将分组的生命周期限制在一个适当的范围内 连接建立时,如何处理过期分组,保证连接的唯一性是连接建立过程中首要考虑的问题 常用的方法是:三次握手法 第14讲 传输层连接建立过程 正常的三次握手过程 非正常的连接建立过程 由延迟重复导致的连接过程 同时出现作废的CRCR和ACCACC的情况 第14讲 传输层正常的连接建立过程 正常连接的三次握手过程 主机1 1发出连接请求序号为x(seqx(seq=x)=x),主机2 2应答接受主机1 1的连接请求,并声明自己的序列号为y(seqy(seq=y,ACKy,ACK=x)=x),主机1 1收到确认后发送第一个数据TPDUTPDU并确认主机2 2的序列号(seqseq=x,ACKx,ACK=y)=y),至此,整个连接建立过程正常结束,数据传输已正式开始CR:Connection Request(连接请求)ACC:Connection Accepted(接受连接)第14讲 传输层非正常的连接建立过程1 1 出现延迟的重复TPDUTPDU时三次握手的工作过程 来自一个已经释放连接的主机1 1的延迟重复的连接请求,该TPDUTPDU在主机1 1毫不知晓的情况下到达主机2 2。主机2 2通过向主机1 1发送一个接受连接请求的TPDUTPDU来响应该TPDUTPDU,并声明自己的序号为y(seqy(seq=y,ACKy,ACK=x)=x),主机1 1收到这个确认后感到莫名其妙并当即拒绝,主机2 2收到了主机1 1 的拒绝才意识到自己受到了延时的重复TPDUTPDU的欺骗并放弃该连接。据此,延时的重复请求将不会产生不良后果第14讲 传输层非正常的连接建立过程2 2 子网中同时有作废的CR和ACC的情况 与上例一样,主机2 2收到了一个延时的CRCR并做了确认应答。在这里,关键是要认识到主机2 2已经声明使用y y作为从主机2 2到主机1 1进行数据传输的初始序号,因此主机2 2十分清楚在正常情况下,主机1 1的数据传输应捎带对y y确认的TPDUTPDU。于是,当第二个延时的TPDUTPDU到达主机2 2时,主机2 2根据它确认的是序号z z而不是y y知道这也是一个过时的重复TPDUTPDU。因此也不会无故建立无人要求的连接 第14讲 传输层释放连接 非对称释放 一方中止连接,则连接即告中断缺陷:可能导致数据丢失对称释放A提出中止请求,B同意即中止问题:B B如何知道A A 收到了它的确认?第14讲 传输层非对称释放 一方中止连接,则连接即告中断 当连接建立后,主机1 1发送了一个数据TPDUTPDU并正确抵达主机2 2,接着,主机1 1发送了第二个数据TPDUTPDU,然而,主机2 2在收到第二个TPDUTPDU之前先突然发出了DISCONNECT(DISCONNECT(释放连接请求),结果是连接立即被释放,数据被丢失。突然释放连接将造成数据丢失突然释放连接将造成数据丢失 第14讲 传输层对称释放 A提出中止请求,B同意即中止 对称释放方式适用于每个用户进程有固定数量的数据需要发送,而且清楚地知道何时发送完毕的情况 其他情况下,决定所有工作是否已经完成,连接是否应该释放,可能是没有把握的 可以假想一种协议:A A说:“我发送完了。你呢?”?”如果B B响应:“我也发送完了。再见。”A A收到了B B的确认,连接便可以被安全释放 第14讲 传输层对称释放的几种情况三次握手的正常情况 最后的确认TPDUTPDU丢失 应答丢失 应答丢失以及后续的DRDR丢失第14讲 传输层三次握手的正常情况主机1 1在结束数据传输后决定释放连接,于是发送DRDR并启动计时器,主机2 2在收到主机1 1 的DRDR后同意释放连接,也发送DRDR并启动计时器,主机1 1 在计时器没有超时前收到主机2 2 的DRDR,便正式释放连接并发送ACKACK,主机2 2也在计时器没有超时前收到主机1 1 的ACKACK,于是也释放了连接,至此整个数据传输过程,包括建立连接、传输数据和释放连接的过程正常结束第14讲 传输层最后的确认TPDUTPDU丢失主机1 1在结束数据传输后决定释放连接,于是发送DRDR并启动计时器,主机2 2在收到主机1 1 的DRDR后同意释放连接,也发送DRDR并启动计时器,主机1 1 在计时器没有超时前收到主机2 2 的DRDR,便正式释放连接并发送ACKACK,然而主机2 2在计时器超时后还未收到主机1 1 的ACKACK,但是由于已经超时,于是也释放了连接 第14讲 传输层应答丢失主机1 1在结束数据传输后决定释放连接,于是发送DRDR并启动计时器,主机2 2在收到主机1 1 的DRDR后同意释放连接,也发送DRDR并启动计时器,然而,主机1 1 在计时器超时后还未收到主机2 2 的DRDR,于是又重新发送DRDR并启动计时器,下面便是一个正常的三次握手,并最后正常释放连接,即整个数据传输过程正常结束 第14讲 传输层应答丢失以及后续的DRDR丢失主机1 1在结束数据传输后决定释放连接,于是发送DRDR并启动计时器,主机2 2在收到主机1 1 的DRDR后同意释放连接,也发送DRDR并启动计时器,然而,紧接着的一段时间内,线路遇到了灾难性的干扰,无论是哪一方的超时重发的TPDUTPDU都不能到达对方,最终,接收方计时器的超时而也释放连接,发送方经过n n次重发和超时后只能无奈地放弃努力并释放连接 第14讲 传输层流量控制和缓冲策略流量控制是发送方和接收方之间的传输速率上的匹配,为使没有得到确认的PDUPDU在超时后的重发,通常必须在缓冲区中暂存 在数据链路层,实现的是点对点的通信,双方缓冲区的大小根据滑动窗口协议而定 而传输层实现的是端到端的通信,某一时刻,一台主机可能同时与多台主机建立了连接,多个连接必须有多组缓冲区,所以缓冲区的动态分配和管理策略与数据链路层不尽相同 第14讲 传输层InternetInternet的传输协议TCPUDPSMTP以太网以太网DNSFTPTELNETFDDIX.25ATMIPRARPARPTCP/IP参考模型示意图参考模型示意图应用层应用层网络接口层网络接口层传输层传输层Internet层层(IP层)层)HTTP第14讲 传输层InternetInternet的传输协议TCPTCP和UDPUDP都是InternetInternet提供的传输层协议 TCPTCP是面向连接的 UDPUDP是面向非连接的