版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 1 / 110v传输服务传输服务 v传输协议的要素传输协议的要素 vInternet的传输协议的传输协议 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 2 / 110v传输层的功能及在协议层中的作用传输层的功能及在协议层中的作用 v传输层提供的服务传输层提供的服务 v传输服务原语传输服务原语 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 3 / 110v介于通信子网和资源子网之间,对高层用户屏蔽了通介
2、于通信子网和资源子网之间,对高层用户屏蔽了通信的细节信的细节 v弥补了通信子网所提供服务的差异和不足,提供端到弥补了通信子网所提供服务的差异和不足,提供端到端之间的无差错保证端之间的无差错保证 v传输层工作的简繁取决于通信子网提供服务的类型传输层工作的简繁取决于通信子网提供服务的类型 通信子网通信子网资源子网资源子网传输的使用者传输的使用者传输的提供者传输的提供者应用层应用层表示层表示层会话层会话层传输层传输层网络层网络层链路层链路层物理层物理层Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 4 / 110v传输层使高层用户看见的好象就在两个传输
3、传输层使高层用户看见的好象就在两个传输层实体之间有一条端到端的、可靠的、全双层实体之间有一条端到端的、可靠的、全双工的通信通道(即数字管道)工的通信通道(即数字管道) 应用应用(或会话层或会话层)网络层网络层网络层网络层应用应用(或会话层或会话层)传输实体传输实体传输地址传输地址应用应用/传输接口传输接口网络地址网络地址传输传输/网络接口网络接口传输协议传输协议TPDU主机主机1主机主机2Tnbm P482 Fig. 6-1 网络层、传输层和应用层网络层、传输层和应用层传输实体传输实体Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 5 / 110
4、v传输层的功能及在协议层中的作用传输层的功能及在协议层中的作用 v传输层提供的服务传输层提供的服务 v传输服务原语传输服务原语 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 6 / 110v面向连接的服务:通信可靠,对数据有面向连接的服务:通信可靠,对数据有校验和重发校验和重发如如TCP/IP模型中应用层协议模型中应用层协议FTP、Telnet等等v面向非连接的服务:对数据无校验和重面向非连接的服务:对数据无校验和重发,通信速率高发,通信速率高如如TCP/IP模型中应用层协议模型中应用层协议SNMP、DNS等等 Computer Network
5、s v4 cs.sjtu 2021-12-7ftp:/ 传输层 7 / 110v传输层的功能及在协议层中的作用传输层的功能及在协议层中的作用 v传输层提供的服务传输层提供的服务 v传输服务原语传输服务原语 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 8 / 110v一个典型的面向连接的服务原语一个典型的面向连接的服务原语 原原 语语TPDU发送的发送的含含 义义LISTEN(无无)阻塞,直到某个过程试图连接阻塞,直到某个过程试图连接CONNECTCONNECTION REQ建立一个连接的活动尝试建立一个连接的活动尝试SENDDATA发送信息发
6、送信息RECEIVE(无无)阻塞,直到一个阻塞,直到一个DATA TPDU到达到达DISCONNECT DISCONNECTION REQ 该方希望释放连接该方希望释放连接Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 9 / 110原原 语语含含 义义SOCKET创建一个新的通信端点创建一个新的通信端点BIND将本地地址关联到套接字上将本地地址关联到套接字上LISTEN宣布愿意接受连接,给出队列大小宣布愿意接受连接,给出队列大小ACCEPT阻塞呼叫者,直到连接尝试到达阻塞呼叫者,直到连接尝试到达CONNECT 主动建立连接的尝试主动建立连接的尝
7、试SEND在指定连接上发送数据在指定连接上发送数据RECEIVE从指定连接中接收数据从指定连接中接收数据CLOSE释放指定的连接释放指定的连接Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 10 / 110v套接字的使用与文件的使用类似套接字的使用与文件的使用类似 取主机取主机IP地址地址将协议名转换成内部的二进制表示将协议名转换成内部的二进制表示创建一个套接字创建一个套接字将该套接字与服务器相连将该套接字与服务器相连接收接收关闭关闭客户端客户端将协议名转换成内部的二进制表示将协议名转换成内部的二进制表示创建一个套接字创建一个套接字将该套接字与本
8、地协议端口相连将该套接字与本地协议端口相连置等待消息方式置等待消息方式接收下一连接请求接收下一连接请求发送发送关闭关闭服务器端服务器端Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 11 / 110v传输服务传输服务 v传输协议的要素传输协议的要素 vInternet的传输协议的传输协议 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 12 / 110v传输层与数据链路层的比较传输层与数据链路层的比较 相同点:相同点: 可靠的可靠的数据传输数据传输 不同点:不同点: 数据链路层通过物理通道直接通信,
9、而在传输层,其数据链路层通过物理通道直接通信,而在传输层,其 面对的传输通道是一个网络面对的传输通道是一个网络 数据链路层的连接建立很简单,而传输层要复杂得多数据链路层的连接建立很简单,而传输层要复杂得多 数据链路层的通信是点对点的,每条输出线对应了唯数据链路层的通信是点对点的,每条输出线对应了唯一的一个设备,而传输层则需要给出目的端地址一的一个设备,而传输层则需要给出目的端地址 在数据链路层无中间存储环节,而在传输层,每一途在数据链路层无中间存储环节,而在传输层,每一途经的路由器都必须存储、寻径、转发,而寻径到转发经的路由器都必须存储、寻径、转发,而寻径到转发的时间随路由器本身的性能和路由算
10、法而定的时间随路由器本身的性能和路由算法而定 数据链路层通常使用一对发送缓冲区和接收缓冲区,数据链路层通常使用一对发送缓冲区和接收缓冲区,而在传输层,对每个连接都必须分配一定的缓冲区,而在传输层,对每个连接都必须分配一定的缓冲区,其缓冲区的管理将复杂得多其缓冲区的管理将复杂得多 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 13 / 110v寻址寻址v连接建立连接建立 v释放连接释放连接 v流量控制和缓冲策略流量控制和缓冲策略 v多路复用多路复用 v崩溃的恢复崩溃的恢复 Computer Networks v4 cs.sjtu 2021-12-
11、7ftp:/ 传输层 14 / 110v两个程序要建立连接时,必须指明对方是哪一两个程序要建立连接时,必须指明对方是哪一个应用程序,这个标记称为传输层地址,也称个应用程序,这个标记称为传输层地址,也称为传输服务访问点(为传输服务访问点(TSAP)在在TCP协议中传输层地址即协议中传输层地址即TCP的端口号的端口号网络层地址称为网络服务访问点网络层地址称为网络服务访问点NSAP(Network Service Access Point),),NSAP在在IP协议中即协议中即IP地址地址Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 15 / 110
12、v访问一个时间服务器访问一个时间服务器 Tnbm P494 Fig. 6-8 TSAP、NSAP和传输连接和传输连接应用进程应用进程TSAP 1208应用层应用层传输连接传输连接传输层传输层TSAP 1522TSAP 1836NSAP网络层网络层NSAP数据链路层数据链路层物理层物理层21服务器服务器2服务器服务器1主机主机1主机主机234Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 16 / 1101.主机主机2上的时间服务进程将自己连到上的时间服务进程将自己连到1522号号TSAP上,上,等待即将到来的请求,例如,可以用等待即将到来的请求,
13、例如,可以用LISTEN调用调用 2.主机主机1上的一个应用进程想找出当天的时间,便发出一上的一个应用进程想找出当天的时间,便发出一个个CONNECT请求,将请求,将1208号号TSAP设定为源地址,设定为源地址,将将1522号号TSAP设定为目的地址设定为目的地址 3.主机主机1上的应用进程发送一个时间请求上的应用进程发送一个时间请求 4.主机主机2上的服务器进程以当前的时间作为应答上的服务器进程以当前的时间作为应答 5.传输连接释放传输连接释放 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 17 / 110vwell-known TSAP
14、每个服务都有自己固定的每个服务都有自己固定的TSAP,所有网络用户,所有网络用户都知道都知道v采用名字服务器(采用名字服务器(name server)或目录服)或目录服务器(务器(directory server)用户与名字服务器建立连接,向服务器发送一个用户与名字服务器建立连接,向服务器发送一个报文,指明服务的名称,服务器将该服务对应的报文,指明服务的名称,服务器将该服务对应的TSAP返回给用户,类似于返回给用户,类似于114查号查号v服务器方将分配的服务器方将分配的TSAP通知主机通知主机 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 18
15、 / 110v初始连接协议初始连接协议(initial connection protocol) Tnbm P496 Fig. 6-9 主机主机1的用户进程如何与主机的用户进程如何与主机2的时间服务器建立连接的时间服务器建立连接(a) (b) 用户用户主机主机1主机主机2进程进程服务器服务器TSAP用户用户主机主机1主机主机2进程进程服务器服务器时间时间服务服务器器Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 19 / 1101. 服务器(主机服务器(主机2)上运行一个特殊的进程服务器,同时)上运行一个特殊的进程服务器,同时侦听一系列的端口,等
16、待用户的侦听一系列的端口,等待用户的TCP连接请求连接请求2. 用户(主机用户(主机1)设定所需服务的)设定所需服务的TSAP地址,发出一个地址,发出一个CONNECT请求请求3. 主机主机2的进程服务器在收到请求后,便将请求装入被请的进程服务器在收到请求后,便将请求装入被请求服务器,被请求服务器将继承已建立的连接并为用求服务器,被请求服务器将继承已建立的连接并为用户提供服务户提供服务 4. 主机主机2的进程服务器又继续侦听新的请求的进程服务器又继续侦听新的请求Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 20 / 110v寻址寻址v连接建立连
17、接建立 v释放连接释放连接 v流量控制和缓冲策略流量控制和缓冲策略 v多路复用多路复用 v崩溃的恢复崩溃的恢复 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 21 / 110v通信子网的不可靠性通信子网的不可靠性 v通信子网中存在着延时和分组的丢失,以及由于通信子网中存在着延时和分组的丢失,以及由于延时和丢失而带来的重复分组延时和丢失而带来的重复分组 v由于通信子网的尽力而为的传输原则,一个早已由于通信子网的尽力而为的传输原则,一个早已超时的分组最终还是到达了目的端,所以有必要超时的分组最终还是到达了目的端,所以有必要将分组的生命周期限制在一个
18、适当的范围内将分组的生命周期限制在一个适当的范围内 v连接建立时,如何处理过期分组,保证连接的唯连接建立时,如何处理过期分组,保证连接的唯一性是连接建立过程中首要考虑的问题一性是连接建立过程中首要考虑的问题 v常用的方法是:常用的方法是: 三次握手法三次握手法 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 22 / 110v正常的三次握手过程正常的三次握手过程 v非正常的连接建立过程非正常的连接建立过程由延迟而重复的由延迟而重复的TPDU的连接过程的连接过程同时出现作废的同时出现作废的CR和和ACC的情况的情况Computer Networks
19、 v4 cs.sjtu 2021-12-7ftp:/ 传输层 23 / 110v正常连接的正常连接的三次握手过程三次握手过程Tnbm P501 Fig. 6-11 采用三次握手方法建立的正常情况采用三次握手方法建立的正常情况tDATA(seq=x,ACK=y)ACC(seq=y,ACK=x)CR(seq=x)主机主机1主机主机2(a)正常操作正常操作主机主机1发出的连接请求序号为发出的连接请求序号为x(seq=x),主机,主机2应答接受主机应答接受主机1的的连接请求,并声明自己的序列号为连接请求,并声明自己的序列号为y(seq=y,ACK=x),主机,主机1收到确认收到确认后发送第一个数据后发
20、送第一个数据TPDU并确认主并确认主机机2的序列号的序列号(seq=x,ACK=y),至,至此,整个连接建立过程正常结束,此,整个连接建立过程正常结束,数据传输已正式开始数据传输已正式开始 CR:Connection Request(连接请求)(连接请求)ACC:Connection Accepted(接受连接)(接受连接) Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 24 / 110v正常的三次握手过程正常的三次握手过程 v非正常的连接建立过程非正常的连接建立过程由延迟而重复的由延迟而重复的TPDU的连接过程的连接过程同时出现作废的同时出现
21、作废的CR和和ACC的情况的情况Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 25 / 110v出现延迟的重复出现延迟的重复TPDU时三次握手的工作过程时三次握手的工作过程 来自一个已经释放连接的主机来自一个已经释放连接的主机1的延的延时重复的连接请求,该时重复的连接请求,该TPDU在主机在主机1毫不知晓的情况下到达主机毫不知晓的情况下到达主机2,主机,主机2通过向主机通过向主机1发送一个接受连接请求发送一个接受连接请求的的TPDU来响应该来响应该TPDU,并声明自己,并声明自己的序号为的序号为y(seq=y,ACK=x),主机,主机1收收到这
22、个确认后感到莫名其妙并当即拒到这个确认后感到莫名其妙并当即拒绝,主机绝,主机2收到了主机收到了主机1 的拒绝才意识的拒绝才意识到自己受到了延时的重复到自己受到了延时的重复TPDU的欺的欺骗并放弃该连接,据此,延时的重复骗并放弃该连接,据此,延时的重复请求将不会产生不良后果请求将不会产生不良后果 Tnbm P501 Fig. 6-11采用三次握手建立的第二种情况采用三次握手建立的第二种情况 tREJECT(ACK=y) ACC(seq=y,ACK=x) CR(seq=x)主机主机1主机主机2(b)重复的重复的CR突然出现突然出现 旧的重复旧的重复 Computer Networks v4 cs.
23、sjtu 2021-12-7ftp:/ 传输层 26 / 110v正常的三次握手过程正常的三次握手过程 v非正常的连接建立过程非正常的连接建立过程由延迟而重复的由延迟而重复的TPDU的连接过程的连接过程同时出现作废的同时出现作废的CR和和ACC的情况的情况Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 27 / 110v子网中同时有作废的子网中同时有作废的CR和和ACC的情况的情况 与上例一样,主机与上例一样,主机2收到了一个延收到了一个延时的时的CR并做了确认应答,在这里,并做了确认应答,在这里,关键是要认识到主机关键是要认识到主机2已经声明使
24、已经声明使用用y作为从主机作为从主机2到主机到主机1进行数据进行数据传输的初始序号,因此主机传输的初始序号,因此主机2十分十分清楚在正常情况下,主机清楚在正常情况下,主机1的数据的数据传输应捎带对传输应捎带对y确认的确认的TPDU,于是,于是,当第二个延时的当第二个延时的TPDU到达主机到达主机2时,时,主机主机2根据它确认的是序号根据它确认的是序号z而不是而不是y知道这也是一个过时的重复知道这也是一个过时的重复TPDU,因此也不会无故建立无人要求的连因此也不会无故建立无人要求的连接接 Tnbm P501 Fig. 6-11采用三次握手建立的第三种情况采用三次握手建立的第三种情况 tREJEC
25、T(ACK=y) ACC(seq=y,ACK=x) CR(seq=x)主机主机1主机主机2(c)重复的重复的CR和重复的和重复的ACK 旧的重复旧的重复 DATA(seq=x,ACK=z)Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 28 / 110v寻址寻址v连接建立连接建立 v释放连接释放连接 v流量控制和缓冲策略流量控制和缓冲策略 v多路复用多路复用 v崩溃的恢复崩溃的恢复 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 29 / 110v非对称释放非对称释放一方中止连接,则连接即告中断一方
26、中止连接,则连接即告中断 缺陷:可能导致数据丢失缺陷:可能导致数据丢失v对称释放对称释放A提出中止请求,提出中止请求,B同意即中止同意即中止 问题:问题:B如何知道如何知道A 收到了它的确认收到了它的确认 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 30 / 110v一方中止连接,则连接即告中断一方中止连接,则连接即告中断 已提出断开请求已提出断开请求所以不接受数据所以不接受数据DRDATAACCDATACR主机主机1主机主机2Tnbm P502 Fig. 6-12 突然释放连接将造成数据丢失突然释放连接将造成数据丢失当连接建立后,主机当连接
27、建立后,主机1发送了发送了一个数据一个数据TPDU并正确抵达主并正确抵达主机机2,接着,主机,接着,主机1发送了第二发送了第二个数据个数据TPDU,然而,主机,然而,主机2在收到第二个在收到第二个TPDU之前先突之前先突然发出了释放连接请求然发出了释放连接请求 DISCONNECT,结果是连接,结果是连接立即被释放,数据被丢失立即被释放,数据被丢失 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 31 / 110v非对称释放非对称释放一方中止连接,则连接即告中断一方中止连接,则连接即告中断 缺陷:可能导致数据丢失缺陷:可能导致数据丢失v对称释放对
28、称释放A提出中止请求,提出中止请求,B同意即中止同意即中止 问题:问题:B如何知道如何知道A 收到了它的确认收到了它的确认? Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 32 / 110vA提出中止请求,提出中止请求,B同意即中止同意即中止 对称释放方式适用于每个用户进程有固定数量的对称释放方式适用于每个用户进程有固定数量的数据需要发送,而且清楚地知道何时发送完毕的数据需要发送,而且清楚地知道何时发送完毕的情况情况其他情况下,决定所有工作是否已经完成,连接其他情况下,决定所有工作是否已经完成,连接是否应该释放,可能是没有把握的是否应该释放,可
29、能是没有把握的可以假想一种完美的协议:可以假想一种完美的协议: A说:说:“ 我发送完了,你呢我发送完了,你呢?” 如果如果B响应:响应:“ 我也发送完了,再见,我也发送完了,再见,” A收到了收到了B的确认,连接便可以被安全释放的确认,连接便可以被安全释放 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 33 / 110v三次握手的正常情况三次握手的正常情况 v最后的确认最后的确认TPDU丢失丢失 v应答丢失应答丢失 v应答丢失以及后续的应答丢失以及后续的DR丢失丢失 Computer Networks v4 cs.sjtu 2021-12-7
30、ftp:/ 传输层 34 / 110v三次握手的正常情况三次握手的正常情况 Tnbm P505 Fig. 6-14(a)三次握手的连接正常释放情况三次握手的连接正常释放情况主机主机1 主机主机2发送发送DR并并启动计时器启动计时器释放连接释放连接发送发送ACK发送发送DR并并启动计时器启动计时器释放连接释放连接DRDRACK主机主机1在结束数据传输后决定在结束数据传输后决定释放连接,于是发送释放连接,于是发送DR并启动并启动计时器,主机计时器,主机2在收到主机在收到主机1 的的DR后同意释放连接,也发送后同意释放连接,也发送DR并启动计时器,主机并启动计时器,主机1 在计在计时器没有超时前收到
31、主机时器没有超时前收到主机2 的的DR,便正式释放连接并发送,便正式释放连接并发送ACK,主机,主机2也在计时器没有也在计时器没有超时前收到主机超时前收到主机1 的的ACK,于,于是也释放了连接,至此整个数是也释放了连接,至此整个数据传输过程,包括建立连接、据传输过程,包括建立连接、传输数据和释放连接的过程正传输数据和释放连接的过程正常结束常结束 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 35 / 110v三次握手的正常情况三次握手的正常情况 v最后的确认最后的确认TPDU丢失丢失 v应答丢失应答丢失 v应答丢失以及后续的应答丢失以及后续的
32、DR丢失丢失 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 36 / 110Tnbm P505 Fig. 6-14(b) 最后的确认最后的确认TPDU丢失的情况丢失的情况 主机主机1 主机主机2发送发送DR并并启动计时器启动计时器释放连接释放连接发送发送ACK发送发送DR并并启动计时器启动计时器DRDRACK丢失丢失(超时)(超时)释放连接释放连接主机主机1 主机主机2发送发送DR并并启动计时器启动计时器释放连接释放连接发送发送ACK发送发送DR并并启动计时器启动计时器DRDRACK丢失丢失(超时)(超时)释放连接释放连接v最后的确认最后的确认
33、TPDU丢失丢失 主机主机1在结束数据传输后决定在结束数据传输后决定释放连接,于是发送释放连接,于是发送DR并启并启动计时器,主机动计时器,主机2在收到主机在收到主机1 的的DR后同意释放连接,也后同意释放连接,也发送发送DR并启动计时器,主机并启动计时器,主机1 在计时器没有超时前收到主在计时器没有超时前收到主机机2 的的DR,便正式释放连接,便正式释放连接并发送并发送ACK,然而主机,然而主机2在计在计时器超时后还未收到主机时器超时后还未收到主机1 的的ACK,但是由于已经超时,但是由于已经超时,于是也释放了连接于是也释放了连接 Computer Networks v4 cs.sjtu 2
34、021-12-7ftp:/ 传输层 37 / 110v三次握手的正常情况三次握手的正常情况 v最后的确认最后的确认TPDU丢失丢失 v应答丢失应答丢失 v应答丢失以及后续的应答丢失以及后续的DR丢失丢失 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 38 / 110v应答丢失应答丢失 主机主机1在结束数据传输后决定在结束数据传输后决定释放连接,于是发送释放连接,于是发送DR并启并启动计时器,主机动计时器,主机2在收到主机在收到主机1 的的DR后同意释放连接,也后同意释放连接,也发送发送DR并启动计时器,然而,并启动计时器,然而,主机主机1 在计
35、时器超时后还未在计时器超时后还未收到主机收到主机2 的的DR,于是又重,于是又重新发送新发送DR并启动计时器,下并启动计时器,下面便是一个正常的三次握手,面便是一个正常的三次握手,并最后正常释放连接,即整并最后正常释放连接,即整个数据传输过程正常结束个数据传输过程正常结束 Tnbm P505 Fig. 6-14(c) 应答丢失的情况应答丢失的情况 主机主机1 主机主机2发送发送DR并并启动计时器启动计时器发送发送ACK发送发送DR并并启动计时器启动计时器DRDRACK丢失丢失释放连接释放连接(超时)(超时)发送发送DR并并启动计时器启动计时器DR发送发送DR并并启动计时器启动计时器释放连接释放
36、连接Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 39 / 110v三次握手的正常情况三次握手的正常情况 v最后的确认最后的确认TPDU丢失丢失 v应答丢失应答丢失 v应答丢失以及后续的应答丢失以及后续的DR丢失丢失 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 40 / 110v应答丢失以及后续的应答丢失以及后续的DR丢失丢失 主机主机1在结束数据传输后决定释放在结束数据传输后决定释放连接,于是发送连接,于是发送DR并启动计时器,并启动计时器,主机主机2在收到主机在收到主机1 的的DR后同意后
37、同意释放连接,也发送释放连接,也发送DR并启动计时并启动计时器,然而,紧接着的一段时间内,器,然而,紧接着的一段时间内,线路遇到了灾难性的干扰,无论线路遇到了灾难性的干扰,无论是哪一方的超时重发的是哪一方的超时重发的TPDU都不都不能到达对方,最终,接收方计时能到达对方,最终,接收方计时器的超时而也释放连接,发送方器的超时而也释放连接,发送方经过经过n次重发和超时后只能无奈地次重发和超时后只能无奈地放弃努力并释放连接放弃努力并释放连接 Tnbm P505 Fig. 6-14(d) 应答丢失以及后续的应答丢失以及后续的DR丢失丢失 主机主机1 主机主机2发送发送DR并并启动计时器启动计时器(N个
38、超时)个超时)释放连接释放连接发送发送DR并并启动计时器启动计时器DR丢失丢失(超时)(超时)释放连接释放连接丢失丢失(超时)(超时)发送发送DR并并启动计时器启动计时器Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 41 / 110v寻址寻址v连接建立连接建立 v释放连接释放连接 v流量控制和缓冲策略流量控制和缓冲策略 v多路复用多路复用 v崩溃的恢复崩溃的恢复 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 42 / 110v流量控制是发送方和接收方之间的传输速率流量控制是发送方和接收方之间的传
39、输速率上的匹配,为使没有得到确认的上的匹配,为使没有得到确认的PDU在超时在超时后的重发,通常必须在缓冲区中暂存后的重发,通常必须在缓冲区中暂存 在数据链路层,实现的是点对点的通信,双方缓在数据链路层,实现的是点对点的通信,双方缓冲区的大小根据滑动窗口协议而定冲区的大小根据滑动窗口协议而定 而传输层实现的是端到端的通信,某一时刻,一而传输层实现的是端到端的通信,某一时刻,一台主机可能同时与多台主机建立了连接,多个连台主机可能同时与多台主机建立了连接,多个连接必须有多组缓冲区,所以缓冲区的动态分配和接必须有多组缓冲区,所以缓冲区的动态分配和管理策略与数据链路层相比较要复杂得多管理策略与数据链路层
40、相比较要复杂得多Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 43 / 110TPDU序号序号 主机主机A消息消息主机主机B注注 释释1A想要想要8个缓冲区个缓冲区2B只有只有4个缓冲区个缓冲区3A发送了发送了m0,A剩下剩下3个缓冲区个缓冲区4A发送了发送了m1,A剩下剩下2个缓冲区个缓冲区5A发送了发送了m2,A剩下剩下1个缓冲区个缓冲区6B确认了确认了m0,m1,并剩下,并剩下3个缓冲区个缓冲区7A发送了发送了m3,A剩下剩下1个缓冲区个缓冲区8A发送了发送了m4后剩下后剩下0个缓冲区,暂停个缓冲区,暂停9m2超时超时A重发重发m2,A剩
41、下剩下0个缓冲区个缓冲区10B确认了确认了m4,并剩下,并剩下0个缓冲区个缓冲区11B确认了确认了m4,并剩下,并剩下1个缓冲区个缓冲区12B确认了确认了m4,B有了有了2个缓冲区个缓冲区13A发送了发送了m5,A剩下剩下1个缓冲区个缓冲区14A发送了发送了m6后剩下后剩下0个缓冲区,暂停个缓冲区,暂停15B确认了确认了m6,并剩下,并剩下0个缓冲区个缓冲区16B确认了确认了m6,并剩下,并剩下4个缓冲区个缓冲区B没有收没有收到到m2A没有收没有收到到ACK可能导可能导致死锁致死锁表示上表示上交了交了1个个Tnbm P509 Fig. 6-16 动态缓冲区的分配动态缓冲区的分配Computer
42、 Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 44 / 110v寻址寻址v连接建立连接建立 v释放连接释放连接 v流量控制和缓冲策略流量控制和缓冲策略 v多路复用多路复用 v崩溃的恢复崩溃的恢复 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 45 / 110v向上多路复用向上多路复用 多个传输层的连接共用一个网络层的连接,将多个传输层的连接共用一个网络层的连接,将提高网络层连接的利用率提高网络层连接的利用率v向下多路复用向下多路复用一个传输层的连接合用多个网络层的连接来发一个传输层的连接合用多个网络层的连接来发
43、送,可增加其有效带宽,以提高传输速率送,可增加其有效带宽,以提高传输速率Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 46 / 110v寻址寻址v连接建立连接建立 v释放连接释放连接 v流量控制和缓冲策略流量控制和缓冲策略 v多路复用多路复用 v崩溃的恢复崩溃的恢复 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 47 / 110v网络崩溃的恢复网络崩溃的恢复 v主机崩溃的恢复主机崩溃的恢复v确认和写操作的问题确认和写操作的问题Computer Networks v4 cs.sjtu 2021-1
44、2-7ftp:/ 传输层 48 / 110v数据报子网:数据报子网:如果传输层对丢失的如果传输层对丢失的TPDU留留有副本,可以通过重发来解决有副本,可以通过重发来解决 v虚电路子网:虚电路子网:必须重新建立连接,并询问远必须重新建立连接,并询问远端的传输实体哪些端的传输实体哪些TPDU已经收到,没有收到已经收到,没有收到的则必须重发的则必须重发 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 49 / 110v网络崩溃的恢复网络崩溃的恢复 v主机崩溃的恢复主机崩溃的恢复v确认和写操作的问题确认和写操作的问题Computer Networks v
45、4 cs.sjtu 2021-12-7ftp:/ 传输层 50 / 110v客户端主机崩溃,恢复将较为简单客户端主机崩溃,恢复将较为简单v服务器崩溃,如能及时重新起动,则如何恢服务器崩溃,如能及时重新起动,则如何恢复与原客户主机的数据传输复与原客户主机的数据传输 重新连接后,客户端可能处于两种状态之一:重新连接后,客户端可能处于两种状态之一: S1有一个未被确认的有一个未被确认的TPDU S0没有未被确认的没有未被确认的TPDU 在一般情况下,远端服务器的传输实体在接收到一个客户端的在一般情况下,远端服务器的传输实体在接收到一个客户端的TPDU后,先发送一个确认,再对应用进程执行一个写操作后,
46、先发送一个确认,再对应用进程执行一个写操作(如存盘或交上层)。发送一个确认和执行一个写操作,是两(如存盘或交上层)。发送一个确认和执行一个写操作,是两个不同的而又不可分的事件,但两者不能同时进行个不同的而又不可分的事件,但两者不能同时进行 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 51 / 110v网络崩溃的恢复网络崩溃的恢复 v主机崩溃的恢复主机崩溃的恢复v确认和写操作的问题确认和写操作的问题Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 52 / 110v先发送确认,然后再执行写操作,中间
47、发生崩溃先发送确认,然后再执行写操作,中间发生崩溃此时客户端将收到这个确认,当崩溃恢复声明到达时它处于状此时客户端将收到这个确认,当崩溃恢复声明到达时它处于状态态S0,客户端将因此不再重发,因为它错以为那个,客户端将因此不再重发,因为它错以为那个TPDU已经已经到达服务器端,客户端的这种决定会导致丢失一个到达服务器端,客户端的这种决定会导致丢失一个TPDUv先执行写操作,然后再发送确认,中间发生崩溃先执行写操作,然后再发送确认,中间发生崩溃设想已经完成了写操作但在确认发出前系统发生了崩溃,此时设想已经完成了写操作但在确认发出前系统发生了崩溃,此时客户端将处于状态客户端将处于状态S1并因此重传数
48、据,从而会导致在服务器并因此重传数据,从而会导致在服务器应用进程的输出流上出现一个无法检测的重复的应用进程的输出流上出现一个无法检测的重复的TPDU无论怎样对发送方和接收方的协议进行编程,总是存在协议不能正确地从无论怎样对发送方和接收方的协议进行编程,总是存在协议不能正确地从故障中恢复的情况,故障中恢复的情况,传输层无法彻底解决该问题,将由高一层协议处理传输层无法彻底解决该问题,将由高一层协议处理Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 53 / 110v传输服务传输服务 v传输协议的要素传输协议的要素 vInternet的传输协议的传输协
49、议 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 54 / 110vTCP和和UDP都是都是Internet提供的传输层协议提供的传输层协议UDP (User Datagram Protocol)TCP (Transmission Control Protocol )Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 55 / 110vUDP简介简介vUDP提供服务的应用提供服务的应用RPC(Remote Procedure Call)RTP(Real-Time Transport Protocol)
50、Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 56 / 110vUDP协议是无连接的数据报协议,它不协议是无连接的数据报协议,它不提供可靠性服务,但其相应的协议开销也提供可靠性服务,但其相应的协议开销也较小、效率较高较小、效率较高 v域名系统域名系统DNS、简单网络管理协议、简单网络管理协议SNMP使用的传输层协议是使用的传输层协议是UDPComputer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 57 / 110vUDP是面向非连接的,与是面向非连接的,与IP协议相比,它协议相比,它唯一增加的能力是提供端口
51、协议,以保证唯一增加的能力是提供端口协议,以保证进程通信,传输的可靠性要靠应用程序来进程通信,传输的可靠性要靠应用程序来解决,但效率高解决,但效率高 Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 58 / 110vUDP源端口:源端口:UDP端口号,当不需要返回数据时,源端口号,当不需要返回数据时,源端口域置端口域置0 vUDP目的端口:目的端口:UDP端口号端口号 vUDP长度:整个数据段的长度,包括头部和数据部分长度:整个数据段的长度,包括头部和数据部分以字节计,最小值为以字节计,最小值为8(仅头部长度)(仅头部长度) vUDP校验和:可选
52、域,全校验和:可选域,全0为未选,全为未选,全1表示校验和为表示校验和为0 081631UDP源端口源端口UDP目的端口目的端口UDP长度长度UDP校验和(可选)校验和(可选)Tnbm P526 Fig. 6-23 UDP的头部格式的头部格式Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 59 / 110UDP头部头部UDP数据区数据区IP头部头部IP数据区数据区Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 60 / 110vUDP简介简介vUDP提供服务的应用提供服务的应用RPC(Remote
53、Procedure Call)RTP(Real-Time Transport Protocol)Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 61 / 110v将网络中的请求将网络中的请求-应答交互表示成过程调用形应答交互表示成过程调用形式,例如:调用式,例如:调用get-IP-address(主机名)将(主机名)将发送一个发送一个UDP包给包给DNS服务器,并等待回答服务器,并等待回答vRPC对程序员屏蔽了网络运作的细节对程序员屏蔽了网络运作的细节vRPC是是UDP的一个重要应用的一个重要应用Computer Networks v4 cs.s
54、jtu 2021-12-7ftp:/ 传输层 62 / 110234Operating SystemClient CPUOperating SystemServer CPUClient stubServer stubClient15ServerNetworkStub是一个程序模块,用于在客户机和服务器之间传输远是一个程序模块,用于在客户机和服务器之间传输远程过程调用和响应的承接程序程过程调用和响应的承接程序Tnbm P528 Fig. 6-24 一次一次RPC过程中的步骤过程中的步骤1. 客户调用客户调用Client stub2. Client stub 将参数封将参数封装并发送装并发送3.
55、客户端客户端OS内核将消息内核将消息发送到服务器发送到服务器4. 服务器服务器OS内核将分组内核将分组交交Server stub5. 服务器取出参数并调用服务器取出参数并调用过程,最后将结果返回过程,最后将结果返回Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 63 / 1101.客户机通过在本地调用客户机通过在本地调用Client stub,使用常规的,使用常规的方法将参数压栈方法将参数压栈2.Client stub把参数封装(把参数封装(marshal)成消息并通过)成消息并通过系统调用进行发送系统调用进行发送3.客户机操作系统内核通过网络发
56、送消息到服务器客户机操作系统内核通过网络发送消息到服务器4.服务器操作系统内核通过网络从客户机接收消息服务器操作系统内核通过网络从客户机接收消息5.Server stub调用服务器进程对参数进行拆封调用服务器进程对参数进行拆封6.应答即为同一路径的逆向过程应答即为同一路径的逆向过程Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 64 / 110vRPC是客户机是客户机/服务器模式中实现分布式计算的服务器模式中实现分布式计算的通信协议通信协议vRPC采用非连接对话方式,具有错误控制能力采用非连接对话方式,具有错误控制能力vRPC使服务器系统使用客户
57、机提供的参数,执使服务器系统使用客户机提供的参数,执行客户机指定的规程并返回结果行客户机指定的规程并返回结果v从逻辑上看,按从逻辑上看,按OSI的七层构架,的七层构架,RPC属会话属会话层协议,但有些功能属应用层层协议,但有些功能属应用层Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 65 / 110vUDP简介简介vUDP提供服务的应用提供服务的应用RPC(Remote Procedure Call)RTP(Real-Time Transport Protocol)Computer Networks v4 cs.sjtu 2021-12-7ft
58、p:/ 传输层 66 / 110vUDP的另一个重要应用是的另一个重要应用是RTPvRTP是一个传输层协议,但在应用层实现是一个传输层协议,但在应用层实现vRTP是用于多媒体数据传输的协议是用于多媒体数据传输的协议用户空间用户空间OS内核内核多媒体应用多媒体应用RTP套接字接口套接字接口UDPIP以太网以太网Tnbm P529 Fig. 6-25(a) RTP在协议栈中的位置在协议栈中的位置Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 67 / 110v将多个实时数据流多路复用到一个将多个实时数据流多路复用到一个UDP流上,流上,UDP流能被流
59、能被送给某个地址(单址传输)或多个地址(多址传输)送给某个地址(单址传输)或多个地址(多址传输)每个每个RTP流的数据包有一个连续的编号,接收方可以根据此编号流的数据包有一个连续的编号,接收方可以根据此编号确定是否有数据包丢失确定是否有数据包丢失RTP没有流量控制、差错控制、应答以及重传机制没有流量控制、差错控制、应答以及重传机制RTP的载荷可以是不同的多媒体信息,如单个的音频流,可以是的载荷可以是不同的多媒体信息,如单个的音频流,可以是8 bit-8 kHz的的PCM编码,也可以是编码,也可以是GSM、MP3等等编码方式在编码方式在RTP的包头上指出的包头上指出v实时应用的另一个特征是需要时
60、间戳,时间戳是相对于流实时应用的另一个特征是需要时间戳,时间戳是相对于流的第一个数据包的,这有助于在接收方消除抖动,以及多的第一个数据包的,这有助于在接收方消除抖动,以及多个流的同步(如数字电视中的视频流和两个音频流)个流的同步(如数字电视中的视频流和两个音频流)Computer Networks v4 cs.sjtu 2021-12-7ftp:/ 传输层 68 / 1100 1 2 34 789 1516 31Ver.P XCCM Payload typeSequence number Timestamp(时间戳)(时间戳)Synchronization source identifier(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 滨州地区滨州市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 拉萨市墨竹工卡县2025-2026学年第二学期五年级语文第六单元测试卷(部编版含答案)
- 长沙市岳麓区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 湛江市徐闻县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 伊春市同江市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 博尔塔拉蒙古自治州博乐市2025-2026学年第二学期五年级语文第五单元测试卷(部编版含答案)
- 品牌设计方案
- 力、电重难计算(带参考答案)
- 深度解析(2026)《CBT 3739-1995铰吸挖泥船专用设备修理试验方法》
- 深度解析(2026)《2026年光伏板自清洁(免水)技术在缺水地区的全生命周期成本节约与融资吸引力》
- 《游戏行业发展》课件
- 农业生态学-骆世明教授-主编
- 综合能源服务系统合作协议
- EOS 佳能6D单反相机 基本使用说明书
- 高中物理选修二第一章《安培力与洛伦兹力》测试题(含答案解析)
- 竹纤维行业发展趋势报告
- 微信公众号用户画像及行为分析
- 电力电子技术-新能源变换技术教学课件:5.1 双向晶闸管
- 钢管租赁合同电子版
- 电商直播 课件 模块3、4 直播电商的前期准备、美食类商品直播
- 肝性脑病-教学查房课件
评论
0/150
提交评论