版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九章第九章 传输层传输层计计算算机机网网络络与与应应用用19.1 传 输 层 概 述 9.1.1 为什么需要传输层为什么需要传输层应用层应用层网络层网络层传输层传输层物理层物理层数据链路层数据链路层网络层网络层物理层物理层数据链路层数据链路层应用层应用层网络层网络层传输层传输层物理层物理层数据链路层数据链路层介于通信子网和资源子网之间,对高层用户屏蔽了通信的细节介于通信子网和资源子网之间,对高层用户屏蔽了通信的细节 弥补了通信子网所提供服务的差异和不足,提供端到端之间的弥补了通信子网所提供服务的差异和不足,提供端到端之间的无差错保证无差错保证 传输层工作的简繁取决于通信子网提供服务的程度传输
2、层工作的简繁取决于通信子网提供服务的程度 第九章第九章 传输层传输层计计算算机机网网络络与与应应用用2 9.1.2传输层的服务传输层的服务可以概括为:加强和弥补通信子网服务可以概括为:加强和弥补通信子网服务 传输层的目的传输层的目的 “加强加强”是对是对“服务质量服务质量”而言,而言,指提高服务的可靠性;指提高服务的可靠性; “弥补弥补”是对是对“服务类型服务类型”而言,传输层提供端而言,传输层提供端到端进程通信,而子网提供点到点通信。到端进程通信,而子网提供点到点通信。第九章第九章 传输层传输层计计算算机机网网络络与与应应用用3运输层为相互通信的应用进程提供了逻辑通信运输层为相互通信的应用进
3、程提供了逻辑通信 54321运输层提供应用进程间的逻辑通信应用进程应用进程ip 层ap1ap2ap4端口端口54321ap3主机 a主机 b路由器 1路由器 2ap1lan2wanap2ap3ap4lan1ip 协议的作用范围运输层协议 tcp 和 udp 的作用范围第九章第九章 传输层传输层计计算算机机网网络络与与应应用用49.2 传输层要解决的问题 1、编址、编址 在数据链路层,连接的双方是点到点连线的两在数据链路层,连接的双方是点到点连线的两“点点” 。端到端的传输连接可能跨越许多网络端到端的传输连接可能跨越许多网络 。物理信道物理信道数据链路层数据链路层的环境的环境结点结点1结点结点2
4、传输层传输层的环境的环境主机主机a主机主机b网络网络第九章第九章 传输层传输层计计算算机机网网络络与与应应用用5 1、编址、编址 (续)(续)一个网络上全局唯一的传输用户如何标识呢?一个网络上全局唯一的传输用户如何标识呢? 首先必须标识传输用户所在主机,其次必须标识首先必须标识传输用户所在主机,其次必须标识该主机上的传输用户本身。该主机上的传输用户本身。 本地唯一的传输用户标识符:传输层服务访问点本地唯一的传输用户标识符:传输层服务访问点(transport service access point ,tsap)。)。 第九章第九章 传输层传输层计计算算机机网网络络与与应应用用6 2、连接标识
5、的获取、连接标识的获取 采用客户采用客户服务器模型服务器模型 初始连接协议初始连接协议 - 进程服务器作为应用服务器的代进程服务器作为应用服务器的代理,侦听传理,侦听传 输输 连接请求;收到请求时,则装入应连接请求;收到请求时,则装入应用服务器,并将连接转交。用服务器,并将连接转交。一台主机不可能提供所有的服务,一种改进的模一台主机不可能提供所有的服务,一种改进的模型就是增加公认的型就是增加公认的tsap个数,则使用名字服务器个数,则使用名字服务器或目录服务器来提供应用服务器的或目录服务器来提供应用服务器的tsap地址。地址。第九章第九章 传输层传输层计计算算机机网网络络与与应应用用7 3、连
6、接的建立、连接的建立问题:被延误的重复分组问题:被延误的重复分组 通信子网的不可靠性通信子网的不可靠性 通信子网中存在着延时和分组的丢失,以及由通信子网中存在着延时和分组的丢失,以及由于延时和丢失而带来的重复分组于延时和丢失而带来的重复分组 由于通信子网的尽力而为的传输原则,一个早由于通信子网的尽力而为的传输原则,一个早已超时的分组最终还是到达了目的端,所以有已超时的分组最终还是到达了目的端,所以有必要将分组的生命周期限制在一个适当的范围必要将分组的生命周期限制在一个适当的范围内内 。 连接建立时,如何处理过期分组,保证连接的连接建立时,如何处理过期分组,保证连接的唯一性是连接建立过程中首要考
7、虑的问题唯一性是连接建立过程中首要考虑的问题 常用的方法是:常用的方法是: 三次握手三次握手第九章第九章 传输层传输层计计算算机机网网络络与与应应用用8 4、连接的释放、连接的释放 什么是连接的释放?什么是连接的释放?连接的释放包括非对称释放和对称释放两种连接的释放包括非对称释放和对称释放两种 。第九章第九章 传输层传输层计计算算机机网网络络与与应应用用9 5、流量控制、流量控制 与数据链路层相似,即在每个连接上使用滑动窗与数据链路层相似,即在每个连接上使用滑动窗口技术。口技术。在传输层,发送方的发送速率不仅受接收方处理在传输层,发送方的发送速率不仅受接收方处理能力限制,而且还要受通信子网处理
8、能力的限制。能力限制,而且还要受通信子网处理能力的限制。 采用动态分配的方法。建立连接的双方都将分配采用动态分配的方法。建立连接的双方都将分配一个缓冲区作为接收数据的存放空间,并相互通一个缓冲区作为接收数据的存放空间,并相互通知对方,此后,每次对接收数据确认的同时发布知对方,此后,每次对接收数据确认的同时发布一个窗口通告一个窗口通告(window advertisement),报告剩余,报告剩余窗口的大小,以此控制发送的速度。窗口的大小,以此控制发送的速度。第九章第九章 传输层传输层计计算算机机网网络络与与应应用用10零窗口通告零窗口通告发送方收到一个零窗口通告时,必须停止发送,发送方收到一个
9、零窗口通告时,必须停止发送,直到接收方重新通告一个正的窗口。直到接收方重新通告一个正的窗口。举例如下:举例如下:第九章第九章 传输层传输层计计算算机机网网络络与与应应用用11第九章第九章 传输层传输层计计算算机机网网络络与与应应用用12 6、多路复用、多路复用 向下多路复用指一个传输连接使用多个网络向下多路复用指一个传输连接使用多个网络连接连接 向上多路复用指多个传输连接使用一个网络向上多路复用指多个传输连接使用一个网络连接的情形连接的情形 第九章第九章 传输层传输层计计算算机机网网络络与与应应用用139.3传输控制协议tcp tcp常用于一次传输要交换大量报文的情形,常用于一次传输要交换大量
10、报文的情形,如文件传输、远程登录等。它提供面向连接如文件传输、远程登录等。它提供面向连接的流传输。的流传输。 tcp的报文段格式的报文段格式 第九章第九章 传输层传输层计计算算机机网网络络与与应应用用14tcp首部目 的 端 口头部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留fin32 bitsynrstpshackurg比特 0 8 16 24 31填 充tcp 数据部分tcp 首部tcp 报文段ip 数据部分ip 首部发送在前20 字节的固定首部第九章第九章 传输层传输层计计算算机机网网络络与与应应用用15 各字段的含义各字段的含义源端口和目
11、的端口源端口和目的端口:各占:各占2个字节,标明了一个连个字节,标明了一个连接的两个端点,接的两个端点, 序号和确认号序号和确认号:各占:各占4个字节,共同用于个字节,共同用于tcp服务服务中的确认和差错控制。中的确认和差错控制。 序号表示该报文段在发送方的数据流中的位置。序号表示该报文段在发送方的数据流中的位置。tcp把数据流中的每一个字节都编上一个序号,把数据流中的每一个字节都编上一个序号,该字段的值是指本报文段发送的数据的首字节该字段的值是指本报文段发送的数据的首字节的序号。的序号。 确认号指下一个期望接收的确认号指下一个期望接收的tcp报文段数据的报文段数据的首字节序号。首字节序号。
12、第九章第九章 传输层传输层计计算算机机网网络络与与应应用用16头部长度头部长度:占:占4位,位,tcp头部长以头部长以32位字长为单位,位字长为单位,接收方可以根据该字段确定接收方可以根据该字段确定tcp数据在段中的开数据在段中的开始位置始位置 保留保留:未用的:未用的6位,为将来的应用而保留,目前设位,为将来的应用而保留,目前设置为置为0。控制位控制位:占:占6位,位,tcp报文段有多种应用,如建立报文段有多种应用,如建立或关闭连接、传输数据、携带确认等,这些控制或关闭连接、传输数据、携带确认等,这些控制位用于给出与报文段的作用及处理有关的控制信位用于给出与报文段的作用及处理有关的控制信息,
13、详见表息,详见表9-1 。第九章第九章 传输层传输层计计算算机机网网络络与与应应用用17表9-1 tcp首部各控制位的含义控制位控制位该位置该位置“1”1”的含义的含义urgurg紧急数据指针字段中的数据有意义紧急数据指针字段中的数据有意义ackack确认字段中的数据有意义确认字段中的数据有意义pshpsh也称为也称为“推推”,请求急迫操作。指出接收方不必等待一定,请求急迫操作。指出接收方不必等待一定量的数据再向应用提供数据,而是立即提供数据。量的数据再向应用提供数据,而是立即提供数据。rstrst也称为也称为“复位复位”,在有异常情况发生时,发送方通知接收,在有异常情况发生时,发送方通知接收
14、方暂时终止连接,释放与连接有关的缓冲区,中断方暂时终止连接,释放与连接有关的缓冲区,中断tcptcp传输。传输。synsyn也称为也称为“同步同步”,与,与ackack合用以建立初始连接,如合用以建立初始连接,如syn=1syn=1,ack=0ack=0表示连接请求;表示连接请求;syn=1syn=1,ack=1ack=1表示同意建立连接。表示同意建立连接。finfin也称为也称为“完成完成”,标志本次,标志本次tcptcp连接的最后报文段。连接的最后报文段。第九章第九章 传输层传输层计计算算机机网网络络与与应应用用18检验和检验和:占:占2个字节,用于对个字节,用于对tcp首部和数据进行首部
15、和数据进行校验。校验。紧急指针紧急指针:占:占2个字节,当个字节,当urg位置位置1时,表示有时,表示有紧急数据,该字段给出从当前顺序号到紧急数据紧急数据,该字段给出从当前顺序号到紧急数据位置的偏移量。位置的偏移量。选项选项:可变长度,提供一种增加额外设置的方法,:可变长度,提供一种增加额外设置的方法,如最大如最大tcp报文段的大小约定。报文段的大小约定。填充填充:当:当tcp首部长度不是首部长度不是32位字长的整数倍时,位字长的整数倍时,需要加以填充。需要加以填充。第九章第九章 传输层传输层计计算算机机网网络络与与应应用用19 端口端口传输协议要赋给每个服务一个唯一的标识,指明传输协议要赋给
16、每个服务一个唯一的标识,指明连接双方的端点,我们把它称作连接双方的端点,我们把它称作“套接字套接字”(socket)。)。 套接字套接字=(ip地址,端口号)地址,端口号) 每个每个tcp连接用发送端和接收端的套接字标识符连接用发送端和接收端的套接字标识符来标识,形如(来标识,形如(socket1,socket2)。)。端口就是运输层服务访问点端口就是运输层服务访问点 tsap。端口的作用端口的作用让应用层的各种应用进程都能将其让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让运输层数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段中的数据向上通过端口交付知道应当将其
17、报文段中的数据向上通过端口交付给应用层相应的进程。给应用层相应的进程。端口具有本地意义端口具有本地意义 。第九章第九章 传输层传输层计计算算机机网网络络与与应应用用20端口号的分配:端口号的分配: 知名端口知名端口数值一般为数值一般为01023,被规定作为,被规定作为公共应用服务的端口,它们被保留用于一些标公共应用服务的端口,它们被保留用于一些标准的服务,下表列出了一些知名的端口。准的服务,下表列出了一些知名的端口。一般端口一般端口10231023以上端口未做规定,即作为自由以上端口未做规定,即作为自由端口,用于随时分配给请求通信的客户进程。端口,用于随时分配给请求通信的客户进程。传输层协议传
18、输层协议应用层协议名称应用层协议名称协议内容协议内容使用的端口号使用的端口号tcpftp(控制)(控制)文件传输协议文件传输协议21ftp(数据)(数据)20telnet远程登录远程登录23http超文本传送协议超文本传送协议80smtp简单邮件传送协议简单邮件传送协议25pop3接收邮件接收邮件110udpdns域名服务域名服务53snmp简单网络管理协议简单网络管理协议161tftp简单文件传输协议简单文件传输协议69oicq聊天软件聊天软件8000第九章第九章 传输层传输层计计算算机机网网络络与与应应用用21 tcp连接的建立与释放连接的建立与释放 三次握手三次握手建立连接建立连接 正常
19、的三次握手过程正常的三次握手过程 非正常的连接建立过程非正常的连接建立过程n由延迟重复导致的连接过程由延迟重复导致的连接过程n同时出现作废的同时出现作废的cr和和acc的情况的情况释放连接释放连接 非对称释放非对称释放 对称释放对称释放第九章第九章 传输层传输层计计算算机机网网络络与与应应用用22正常连接的三次握手过程正常连接的三次握手过程主机主机1发出连接请求序号为发出连接请求序号为x(seq=x),主机,主机2应答接受连接请应答接受连接请求主机求主机1的请求,并声明自己的序的请求,并声明自己的序列号为列号为y(seq=y,ack=x),主机,主机1收收到确认后发送第一个数据到确认后发送第一
20、个数据tpdu并并确认主机确认主机2的序列号的序列号(seq=x,ack=y),至此,整个连接,至此,整个连接建立过程正常结束,数据传输已正建立过程正常结束,数据传输已正式开始式开始 采用三次握手方法建立的正常情况采用三次握手方法建立的正常情况tdata(seq=x,ack=y)acc(seq=y,ack=x)cr(seq=x)主机主机1主机主机2(a)正常操作正常操作cr:connection request(连接请求)(连接请求)acc:ack connection(接受连接)(接受连接) 第九章第九章 传输层传输层计计算算机机网网络络与与应应用用23来自一个已经释放连接的主机来自一个已经
21、释放连接的主机1的的延迟重复的连接请求,该延迟重复的连接请求,该tpdu在在主机主机1毫不知晓的情况下到达主机毫不知晓的情况下到达主机2。主机主机2通过向主机通过向主机1发送一个接受连发送一个接受连接请求的接请求的tpdu来响应该来响应该tpdu,并声明自己的序号为并声明自己的序号为y(seq=y,ack=x),主机,主机1收到这个收到这个确认后感到莫名其妙并当即拒绝,确认后感到莫名其妙并当即拒绝,主机主机2收到了主机收到了主机1 的拒绝才意识的拒绝才意识到自己受到了延时的重复到自己受到了延时的重复tpdu的的欺骗并放弃该连接。据此,延时的欺骗并放弃该连接。据此,延时的重复请求将不会产生不良后
22、果重复请求将不会产生不良后果 采用三次握手建立的第二种情况采用三次握手建立的第二种情况 treject(ack=y) acc(seq=y,ack=x) cr(seq=x)主机主机1主机主机2(b)重复的重复的crcr突然出现突然出现 旧的重复旧的重复 非正常的连接建立过程非正常的连接建立过程1 1出现延迟的重复出现延迟的重复tpdutpdu时三次握手的工作过程时三次握手的工作过程 第九章第九章 传输层传输层计计算算机机网网络络与与应应用用24非正常的连接建立过程非正常的连接建立过程2 2子网中同时有作废的子网中同时有作废的cr和和acc的情况的情况 与上例一样,主机与上例一样,主机2收到了一个
23、延时收到了一个延时的的cr并做了确认应答。在这里,关并做了确认应答。在这里,关键是要认识到主机键是要认识到主机2已经声明使用已经声明使用y作为从主机作为从主机2到主机到主机1进行数据传输进行数据传输的初始序号,因此主机的初始序号,因此主机2十分清楚在十分清楚在正常情况下,主机正常情况下,主机1的数据传输应捎的数据传输应捎带对带对y确认的确认的tpdu。于是,当第二。于是,当第二个延时的个延时的tpdu到达主机到达主机2时,主机时,主机2根据它确认的是序号根据它确认的是序号z而不是而不是y知道知道这也是一个过时的重复这也是一个过时的重复tpdu。因。因此也不会无故建立无人要求的连接此也不会无故建
24、立无人要求的连接 采用三次握手建立的第三种情况采用三次握手建立的第三种情况 treject(ack=y) acc(seq=y,ack=x) cr(seq=x)主机主机1主机主机2(c)重复的重复的cr和重复的和重复的ack 旧的重复旧的重复 data(seq=x,ack=z)第九章第九章 传输层传输层计计算算机机网网络络与与应应用用25非对称释放非对称释放一方中止连接,则连接即告中断一方中止连接,则连接即告中断缺陷:可能导致数据丢失缺陷:可能导致数据丢失对称释放对称释放 a提出中止请求,提出中止请求,b同意即中止同意即中止 问题:问题:b如何知道如何知道a 收到了它的确认收到了它的确认? 第九
25、章第九章 传输层传输层计计算算机机网网络络与与应应用用26非对称释放非对称释放一方中止连接,则连接即告中断一方中止连接,则连接即告中断 在一个断开请求在一个断开请求后没有提交数据后没有提交数据drdataaccdatacr主机主机1主机主机2突然释放连接将造成数突然释放连接将造成数据丢失据丢失当连接建立后,主机当连接建立后,主机1发送了发送了一个数据一个数据tpdu并正确抵达并正确抵达主机主机2,接着,主机,接着,主机1发送了发送了第二个数据第二个数据tpdu,然而,然而,主机主机2在收到第二个在收到第二个tpdu之之前先突然发出了前先突然发出了disconnect(释放连接请释放连接请求求)
26、,结果是连接立即被释放,结果是连接立即被释放,数据被丢失数据被丢失 缺陷:可能导致数据丢失缺陷:可能导致数据丢失第九章第九章 传输层传输层计计算算机机网网络络与与应应用用27 对称释放对称释放 a提出中止请求,提出中止请求,b同意即中止同意即中止问题:问题:b如何知道如何知道a 收到了它的确认收到了它的确认? 对称释放方式适用于每个用户进程有固定数量的数对称释放方式适用于每个用户进程有固定数量的数据需要发送,而且清楚地知道何时发送完毕的情况据需要发送,而且清楚地知道何时发送完毕的情况其他情况下,决定所有工作是否已经完成,连接是其他情况下,决定所有工作是否已经完成,连接是否应该释放,可能是没有把
27、握的否应该释放,可能是没有把握的可以假想一种协议:可以假想一种协议:a说:说:“ 我发送完了。你呢我发送完了。你呢?” 如果如果b响应:响应:“ 我也发送完了。再见。我也发送完了。再见。” a收到了收到了b的确认,连接便可以被安全释放的确认,连接便可以被安全释放 想完全确信对方也准备释放连接时再释放连接,那也是想完全确信对方也准备释放连接时再释放连接,那也是不可能的,因为没有百分之百可靠的协议不可能的,因为没有百分之百可靠的协议 第九章第九章 传输层传输层计计算算机机网网络络与与应应用用28对称释放的对称释放的的正常情况的正常情况 主机主机1 主机主机2发送发送dr并启并启动计时器动计时器释放
28、连接释放连接发送发送ack发送发送dr并并启动计时器启动计时器释放连接释放连接三次握手的连接正常释放情况三次握手的连接正常释放情况drdrack主机主机1在结束数据传输后决定释在结束数据传输后决定释放连接,于是发送放连接,于是发送dr并启动计并启动计时器,主机时器,主机2在收到主机在收到主机1 的的dr后同意释放连接,也发送后同意释放连接,也发送dr并并启动计时器,主机启动计时器,主机1 在计时器没在计时器没有超时前收到主机有超时前收到主机2 的的dr,便正,便正式释放连接并发送式释放连接并发送ack,主机,主机2也在计时器没有超时前收到主机也在计时器没有超时前收到主机1 的的ack,于是也释
29、放了连接,于是也释放了连接,至此整个数据传输过程,包括建至此整个数据传输过程,包括建立连接、传输数据和释放连接的立连接、传输数据和释放连接的过程正常结束过程正常结束 第九章第九章 传输层传输层计计算算机机网网络络与与应应用用29主机主机1 主机主机2发送发送dr并并启动计时器启动计时器释放连接释放连接发送发送ack发送发送dr并并启动计时器启动计时器最后的确认最后的确认tpdu丢失的情况丢失的情况 drdrack丢失丢失(超时)(超时)释放连接释放连接最后的确认最后的确认tpdu丢失丢失 主机主机1在结束数据传输后决定在结束数据传输后决定释放连接,于是发送释放连接,于是发送dr并启并启动计时器
30、,主机动计时器,主机2在收到主机在收到主机1 的的dr后同意释放连接,也发后同意释放连接,也发送送dr并启动计时器,主机并启动计时器,主机1 在计时器没有超时前收到主机在计时器没有超时前收到主机2 的的dr,便正式释放连接并,便正式释放连接并发送发送ack,然而主机,然而主机2在计时在计时器超时后还未收到主机器超时后还未收到主机1 的的ack,但是由于已经超时,于,但是由于已经超时,于是也释放了连接是也释放了连接 第九章第九章 传输层传输层计计算算机机网网络络与与应应用用30应答丢失应答丢失 主机主机1在结束数据传输后决定释在结束数据传输后决定释放连接,于是发送放连接,于是发送dr并启动计时并
31、启动计时器,主机器,主机2在收到主机在收到主机1 的的dr后后同意释放连接,也发送同意释放连接,也发送dr并启动并启动计时器,然而,主机计时器,然而,主机1 在计时器在计时器超时后还未收到主机超时后还未收到主机2 的的dr,于,于是又重新发送是又重新发送dr并启动计时器,并启动计时器,下面便是一个正常的三次握手,下面便是一个正常的三次握手,并最后正常释放连接,即整个数并最后正常释放连接,即整个数据传输过程正常结束据传输过程正常结束 主机主机1 主机主机2发送发送dr并并启动计时器启动计时器发送发送ack发送发送dr并并启动计时器启动计时器 应答丢失的情况应答丢失的情况 drdrack丢失丢失释
32、放连接释放连接(超时)(超时)发送发送dr并并启动计时器启动计时器dr发送发送dr并并启动计时器启动计时器释放连接释放连接第九章第九章 传输层传输层计计算算机机网网络络与与应应用用31应答丢失以及后续的应答丢失以及后续的drdr丢失丢失 主机主机1在结束数据传输后决定在结束数据传输后决定释放连接,于是发送释放连接,于是发送dr并启并启动计时器,主机动计时器,主机2在收到主机在收到主机1 的的dr后同意释放连接,也发后同意释放连接,也发送送dr并启动计时器,然而,并启动计时器,然而,紧接着的一段时间内,线路遇紧接着的一段时间内,线路遇到了灾难性的干扰,无论是哪到了灾难性的干扰,无论是哪一方的超时
33、重发的一方的超时重发的tpdu都不都不能到达对方,最终,接收方计能到达对方,最终,接收方计时器的超时而也释放连接,发时器的超时而也释放连接,发送方经过送方经过n次重发和超时后只次重发和超时后只能无奈地放弃努力并释放连接能无奈地放弃努力并释放连接 主机主机1 主机主机2发送发送dr并并启动计时器启动计时器(n个超时)个超时)释放连接释放连接发送发送dr并并启动计时器启动计时器应答丢失以及后续的应答丢失以及后续的dr丢失丢失 dr丢失丢失(超时)(超时)释放连接释放连接丢失丢失(超时)(超时)发送发送dr并并启动计时器启动计时器第九章第九章 传输层传输层计计算算机机网网络络与与应应用用329.3.
34、4 tcp的传输策略 建立在建立在tcp协议上的协议可以分为两类:协议上的协议可以分为两类:1. tcp的交互数据流的交互数据流 捎带捎带ack nagle算法算法 2. tcp的成块数据流的成块数据流 传输数据时确认的问题传输数据时确认的问题 滑动窗口滑动窗口 数据拥塞控制数据拥塞控制第九章第九章 传输层传输层计计算算机机网网络络与与应应用用339.3.5 tcp的拥塞控制 拥塞发生的原因是拥塞发生的原因是“需求需求”大于大于“供给供给” 主机如何知道拥塞主机如何知道拥塞收到收到icmp的源抑制报文的源抑制报文 因报文丢失引起的超时因报文丢失引起的超时 tcp的拥塞控制由以下的拥塞控制由以下
35、4个核心部分组成:个核心部分组成:慢启动(慢启动(slow start)拥塞避免(拥塞避免(congestion avoidance)快速重传(快速重传(fast retransmit)快速恢复(快速恢复(fast recovery)第九章第九章 传输层传输层计计算算机机网网络络与与应应用用34 拥塞控制相关的参数拥塞控制相关的参数 拥塞窗口拥塞窗口cwnd(congestion widnow):拥塞控):拥塞控制的关键参数,它描述发送方根据自己估计的网制的关键参数,它描述发送方根据自己估计的网络拥塞情况设置一次最多能发送的数据包数量。络拥塞情况设置一次最多能发送的数据包数量。 接收方窗口接收
36、方窗口rwnd(receiver window):又叫通):又叫通知窗口知窗口awin(advertised window),是接收方根),是接收方根据目前自己的接收缓存大小给发送方预设的最新据目前自己的接收缓存大小给发送方预设的最新窗口大小。窗口大小。 发送窗口发送窗口:发送方每次实际发送数据的窗口大小,:发送方每次实际发送数据的窗口大小,其上限值是接收窗口和拥塞窗口的较小值。其上限值是接收窗口和拥塞窗口的较小值。慢启动阈值慢启动阈值(ssthresh):拥塞控制中慢启动阶段):拥塞控制中慢启动阶段和拥塞避免阶段的分界点。初始值通常设置为和拥塞避免阶段的分界点。初始值通常设置为65535字节
37、。字节。 往返时延往返时延(rtt):一个):一个tcp数据包从发送方发数据包从发送方发送到接收方,发送方收到接收方确认的时间间隔。送到接收方,发送方收到接收方确认的时间间隔。 第九章第九章 传输层传输层计计算算机机网网络络与与应应用用35 拥塞控制策略拥塞控制策略 慢启动与拥塞避免慢启动与拥塞避免 在不清楚环境的情况下向网络传送数据,要求在不清楚环境的情况下向网络传送数据,要求tcp缓慢地探测网络以确定可用流量。拥塞窗口缓慢地探测网络以确定可用流量。拥塞窗口被初始化为一个数据包大小,发送方按发送窗口被初始化为一个数据包大小,发送方按发送窗口大小发送数据,每收到一个大小发送数据,每收到一个ac
38、k确认,确认,cwnd就就增加一个数据包发送量。显然,增加一个数据包发送量。显然,cwnd的增长随的增长随rtt呈指数级增长呈指数级增长 。 若若cwndssthresh,tcp重新进入慢启动过程。重新进入慢启动过程。 若若cwndssthresh,tcp执行拥塞避免算法。执行拥塞避免算法。 拥塞避免是指在拥塞避免阶段使拥塞窗口按线性拥塞避免是指在拥塞避免阶段使拥塞窗口按线性规律增长,使网络不容易出现拥塞。规律增长,使网络不容易出现拥塞。第九章第九章 传输层传输层计计算算机机网网络络与与应应用用36快速重传和快速恢复快速重传和快速恢复 快速重传和快速恢复规定,不必等到超过,只快速重传和快速恢复
39、规定,不必等到超过,只要发送方收到要发送方收到3个或个或3个以上重复个以上重复ack时,就确时,就确定数据报已经被丢失,并重传数据报,同时将定数据报已经被丢失,并重传数据报,同时将ssthresh设置为当前设置为当前cwnd的一半(这和慢启动的一半(这和慢启动过程相同),但是过程相同),但是cwnd不再设置为不再设置为1,而是,而是ssthresh+nmss。如果发送窗口还允许发送。如果发送窗口还允许发送报文段,就按拥塞避免算法继续发报送文段。报文段,就按拥塞避免算法继续发报送文段。如果收到了确认新的报文的如果收到了确认新的报文的ack,就将,就将cwnd缩缩小到小到ssthresh。也就是说
40、,采用快速恢复过程时,。也就是说,采用快速恢复过程时,慢启动算法只在慢启动算法只在tcp建立连接时才使用。建立连接时才使用。 第九章第九章 传输层传输层计计算算机机网网络络与与应应用用37慢启动超时超时拥塞避免cwndcwnd1重传及恢复ssthresh=cwnd1/2(a)慢启动和拥塞避免超时(b)快速重传和恢复cwnd时间时间拥塞避免和快速恢复第九章第九章 传输层传输层计计算算机机网网络络与与应应用用389.4 用户数据报协议udp udp提供的是不可靠的、无连接的数据传输服务。提供的是不可靠的、无连接的数据传输服务。 使用使用udp为传输层协议的网络应用其可靠性的问题为传输层协议的网络应
41、用其可靠性的问题需要由使用需要由使用udp的应用程序来解决的应用程序来解决 。第九章第九章 传输层传输层计计算算机机网网络络与与应应用用39伪首部伪首部源端口源端口目的端口目的端口长长 度度检验和检验和数数 据据首首 部部udp长度长度源源 ip 地址地址目的目的 ip 地址地址017ip 数据报数据报字节字节44112122222字节字节发送在前发送在前数数 据据首首 部部udp 用户数据报用户数据报udp 用户数据报的首部格式用户数据报的首部格式第九章第九章 传输层传输层计计算算机机网网络络与与应应用用40 udp与与tcp相比较:相比较:两者在如何实现信息的可靠传递方面有所不同。两者在如何实现信息的可靠传递方面有所不同。tcp包含了可靠性保证机制,而包含了可靠性保证机制,而udp不提供数据不提供数据传送的保证机制。传送的保证机制。tcp在实际执行的过程中会占用大量的系统开销,在实际执行的过程中会占用大量的系统开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年城市基础设施升级:铸铁井盖采购合同
- DB4107T 478-2021 大白菜生产技术规程
- 2024年度智能家居系统开发与销售合同
- DB4106T 35-2021 液态发酵饲料技术养猪规范
- DB4106T 6-2019 禽类屠宰厂(场)建设管理规范
- DB4105T 210-2023 太行连翘硬枝扞插育苗技术规程
- 2024年房地产交易平台建设阶段性连带保证责任合同
- 2024年房产交易合同:含装修及家具转让
- 2024年建筑砂石采购单
- 2024年拓展新篇章:区域市场开发协议
- 2024年公安智能外呼项目合同
- 河南省信阳市2024-2025学年七年级上学期期中历史试题(含答案)
- GB/T 44570-2024塑料制品聚碳酸酯板材
- 2024年学校食堂管理工作计划(六篇)
- 体育赛事组织服务协议
- 天车工竞赛考核题
- 民办非企业单位理事会制度
- 临床输血的护理课件
- 民生银行在线测评真题
- 人教版(PEP)小学六年级英语上册全册教案
- 部编版二年级上册-课文一-快乐读书吧:读读童话故事-孤独的小螃蟹(课件)(共26张课件)
评论
0/150
提交评论