收藏 分销(赏)

年计算机网络考研辅导讲座0传输层.pptx

上传人:精**** 文档编号:4324598 上传时间:2024-09-06 格式:PPTX 页数:87 大小:5.45MB
下载 相关 举报
年计算机网络考研辅导讲座0传输层.pptx_第1页
第1页 / 共87页
年计算机网络考研辅导讲座0传输层.pptx_第2页
第2页 / 共87页
年计算机网络考研辅导讲座0传输层.pptx_第3页
第3页 / 共87页
年计算机网络考研辅导讲座0传输层.pptx_第4页
第4页 / 共87页
年计算机网络考研辅导讲座0传输层.pptx_第5页
第5页 / 共87页
点击查看更多>>
资源描述

1、第十讲 传输层传输层大纲考查范围知识点归纳(一)一)传输层提供的服务传输层提供的服务1.传输层的作用传输层的作用 是通信子网与资源子网的桥梁,传输层设置目的是在源、目是通信子网与资源子网的桥梁,传输层设置目的是在源、目主机的进程间提供主机的进程间提供可靠的端对端通信可靠的端对端通信。分析传输层与数据链路层的异同点分析传输层与数据链路层的异同点 网络服务质量类型(三类:网络服务质量类型(三类:A型、型、B型和型和C型)。型)。知识点归纳2.传输层的功能传输层的功能传输层的主要功能 传传输输层层为为应应用用进进程程之之间间提提供供端端到到端端的的逻逻辑辑通通信信(但但网网络络层层是是为为主主机机之

2、之间间提提供供逻逻辑通信)。辑通信)。传输层还要对收到的报文进行传输层还要对收到的报文进行差错检测差错检测。传传输输层层需需要要有有两两种种不不同同的的运运输输协协议议,即即面向连接的面向连接的 TCP 和无连接的和无连接的 UDP。传输层向上提供可靠的和不可靠的逻辑通信信道?应用层传输层发送进程接收进程接收进程数据数据全双工可靠信道数据数据使用 TCP 协议使用 UDP 协议不可靠信道发送进程传输服务质量 传输层的服务质量可由一组传输层的服务质量可由一组 QoS 来描述来描述(Quality Of Service)连接建立时延连接建立时延:建立连接到收到连接确认之间时间。建立连接到收到连接确

3、认之间时间。连接建立失败概率连接建立失败概率:在最大建立时延内未能建成的概率。在最大建立时延内未能建成的概率。吞吐量吞吐量:在某个时间内的平均每秒所传输的字节数。在某个时间内的平均每秒所传输的字节数。传输时延传输时延:从源主机发送数据包到目的主机收到数据包为止的时间。从源主机发送数据包到目的主机收到数据包为止的时间。-残留差错率残留差错率:在某个时间段内发生错误、丢失、重复的数在某个时间段内发生错误、丢失、重复的数 据包占全部发送的包之比。据包占全部发送的包之比。-保护保护:用户可以使用该参数来表明是否需要传输层提供一定的用户可以使用该参数来表明是否需要传输层提供一定的安全保护安全保护 措施,

4、以防止未经授权的第三方阅读或修改被传输的数据。措施,以防止未经授权的第三方阅读或修改被传输的数据。-优先级优先级:该参数提供给用户一种方法来指示其所传数据的重要性,当网该参数提供给用户一种方法来指示其所传数据的重要性,当网 络发生拥塞时,优先级高的数据将优先得到传输。络发生拥塞时,优先级高的数据将优先得到传输。-弹性弹性:指在某个时段内由于网络拥塞或其他原因,由传输层发起的终止:指在某个时段内由于网络拥塞或其他原因,由传输层发起的终止 连接的概率。连接的概率。OSI 模型中的网络服务类型网络层向上提供的服务类型网络层向上提供的服务类型A型型:完善、可靠的服务完善、可靠的服务,没有分组的丢失、重

5、复和错序。,没有分组的丢失、重复和错序。B型:型:分组不会丢失、重复和错序,但网络层因为内部分组不会丢失、重复和错序,但网络层因为内部 拥塞、软硬件拥塞、软硬件故障引起网络复位,需传输层重新故障引起网络复位,需传输层重新 建立连接。建立连接。C型:型:不可靠不可靠的服务,的服务,分组有可能丢失、重复和错序分组有可能丢失、重复和错序 (Internet 提供的就是提供的就是C类网络服务)类网络服务)根据网络层向上提供的服务类型不同,因此相应有不同根据网络层向上提供的服务类型不同,因此相应有不同的传输层协议。的传输层协议。OSI 模型中的传输层协议类型协议类协议类网络网络类类传输协议名传输协议名描

6、述描述TP0A简单类只需建立连接、发送数据和释放连接,不需进行流量和差错控制。TP1B基本错误恢复类比TP0多提供从网络复位中恢复的机制,即能从中断处进行重新同步。TP2A多路复用类比TP0多一个多路复用的功能,即多个传输共用一个网络连接。TP3B错误恢复和多路复用类集合了TP1和TP2的功能。TP4C错误检测和恢复类服务于C型网络,具备流量和差错控制,从网络复位中恢复的能力。知识点归纳 3.寻址与端口寻址与端口v 端口就是传输层服务访问点端口就是传输层服务访问点 TSAP。v 端口的作用就是让应用层各种网络应用进程都能将其数据通过端口向下交付端口的作用就是让应用层各种网络应用进程都能将其数据

7、通过端口向下交付 给传输层,以及让传输层知道应将其报文段中的数据向上通过端口交付给应给传输层,以及让传输层知道应将其报文段中的数据向上通过端口交付给应 用层相应进程。用层相应进程。从这个意义上讲,端口是用来标志应用层的网络进程。从这个意义上讲,端口是用来标志应用层的网络进程。v 端口用一个端口用一个 16 bit 端口号进行标志。端口号只具有本地意义,即端口号只端口号进行标志。端口号只具有本地意义,即端口号只 是为了标志本计算机应用层中的各进程。不同计算机相同端口号没有联系。是为了标志本计算机应用层中的各进程。不同计算机相同端口号没有联系。v 一类是熟知端口,其数值一般为一类是熟知端口,其数值

8、一般为 01023。当一种新的网络应用程序出现时,。当一种新的网络应用程序出现时,必须为它的必须为它的服务器端服务器端指派一个熟知端口指派一个熟知端口(众所周知端口众所周知端口)。v 另一类则是一般端口,用来随时分配给请求通信的客户进程,另一类则是一般端口,用来随时分配给请求通信的客户进程,客户端客户端向本向本 地操作系统申请一个没有分配的端口号地操作系统申请一个没有分配的端口号(1024-65535)。v TCP 使用使用“连接连接”(而不仅仅是而不仅仅是“端口端口”)作为最基本的抽象,同时将作为最基本的抽象,同时将 TCP 连接的端点称为连接的端点称为插口插口(socket),或或套接字套

9、接字、套接口套接口。v 插口和端口、插口和端口、IP 地址的关系是地址的关系是:套接字地址套接字地址48位位(32位位IP地址地址+16位端口地址位端口地址)端口在进程之间的通信中所起的作用应用层传输层网络层TCP 报文段UDP用户数据报应用进程TCP 复用IP 复用UDP 复用TCP 报文段UDP用户数据报 应用进程端口端口TCP 分用UDP 分用IP 分用IP 数据报IP 数据报发送方接收方知识点归纳4.无连接服务与面向连接服务无连接服务与面向连接服务 传输层有两个不同的协议:传输层有两个不同的协议:v 用户数据报协议用户数据报协议 UDP协议协议(User Datagram Protoc

10、ol)v 传输控制协议传输控制协议TCP(Transmission Control Protocol)两个对等传输实体在通信时传送的数据单位叫作传输协议数据单元两个对等传输实体在通信时传送的数据单位叫作传输协议数据单元 TPDU (Transport Protocol Data Unit)。v TCP 传送的数据单位协议是传送的数据单位协议是 TCP 报文段报文段(segment)v UDP 传送的数据单位协议是传送的数据单位协议是 UDP 报文报文或或用户数据报用户数据报。UDP 在在传传送送数数据据之之前前不不需需要要先先建建立立连连接接。对对方方的的传传输输层层在在收收到到 UDP 报报

11、文文后后,不不需需要要给给出出任任何何确确认认。虽虽然然 UDP 不不提提供供可可靠靠交交付付,但但各各种种开开销销小小,传传输输快快、效效率率高高,在在某某些些情情况况下下 UDP 是是一一种种最最有有效效的的工工作作方方式式(如如多多媒媒体体传传输输时时)。TCP 则则提提供供面面向向连连接接的的服服务务。TCP 不不提提供供广广播播或或多多播播服服务务。由由于于 TCP 要要提提供供可可靠靠的的、面面向向连连接接的的传传输输服服务务,因因此此不不可可避避免免地地增增加加了了许许多多的的开开销销。这这不不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。仅使协议数据单元的首部增大很

12、多,还要占用许多的处理机资源。知识点归纳(二)二)UDP协议协议 UDP数据报数据报 校验,校验,UDP会对整个用户数据报检错,但不进行重传会对整个用户数据报检错,但不进行重传。UDP主主要要特特点点为为:发发送送数数据据之之前前不不需需要要建建立立连连接接,UDP 的的主主机机不不需需要要维维持持复复杂杂的的连连接接状状态态表表,UDP 用用户户数数据据报报只只有有8个个字字节节的的首首部部开开销销,网网络络出出现现的的拥拥塞塞不不会会使使源源主主机机的的发发送送速速率率降降低低。对对实实时时应应用用很很重重要。要。用用户户数数据据报报协协议议是是对对IP协协议议组组的的扩扩充充,它它增增加

13、加了了一一种种机机制制,发发送送方方使使用用这这种种机机制制可可以以区区分分一一台台计计算算机机上上的的多多个个接接收收进进程程。每每个个UDP报报文文除除了了包包含含某某用用户户进进程程发发送送数数据据外外,还还有有报报文文目目的的端端口口的的编编号号和和报报文文源源端端口口的的编编号号,从从而而使使UDP的的这这种种扩扩充充,使使得得在在两两个个用用户户进进程程之之间间的的递送数据报成为可能。递送数据报成为可能。UDP是是依依靠靠IP协协议议来来传传送送报报文文的的,因因而而它它的的服服务务和和IP一一样样是是不不可可靠靠的的。这这种种服服务务不不用用确确认认、不不对对报报文文排排序序、也

14、也不不进进行行流流量量控控制制,UDP报文报文可能会出现丢失、重复、失序等现象可能会出现丢失、重复、失序等现象。UDP 保留端口举例应用层应用层传输层传输层SNMPBOOTPTFTPSUNRPCDNS161676911153Port*162UDP 用户数据报的首部格式 伪首部源端口目的端口长 度检验和数 据首 部UDP长度源 IP 地址目的 IP 地址017IP 数据报字节44112122222字节发送在前数 据首 部UDP 用户数据报伪首部源端口目的端口长 度检验和数 据首 部UDP长度源 IP 地址目的 IP 地址017IP 数据报字节44112122222字节发送在前数 据首 部UDP

15、用户数据报用户数据报用户数据报 UDP 有两个字段:数据字段和首部有两个字段:数据字段和首部字段。首部字段有字段。首部字段有 8 个字节,由个字节,由 4 个字段组成,个字段组成,每个字段都是两个字节每个字段都是两个字节。伪首部源端口目的端口长 度检验和数 据首 部UDP长度源 IP 地址目的 IP 地址017IP 数据报字节44112122222字节发送在前数 据首 部UDP 用户数据报在计算检验和时,临时把在计算检验和时,临时把“伪首部伪首部”和和 UDP 用户数据用户数据报连接在一起。报连接在一起。伪首部仅仅是为了计算检验和伪首部仅仅是为了计算检验和。计算 UDP 检验和的例子 1001

16、1001 00010011 153.1900001000 01101000 8.10410101011 00000011 171.300001110 00001011 14.1100000000 00010001 0 和 1700000000 00001111 1500000100 00111111 108700000000 00001101 1300000000 00001111 1500000000 00000000 0(检验和)01010100 01000101 数据01010011 01010100 数据01001001 01001110 数据01000111 00000000 数据和

17、 0(填充)10010110 11101011 求和得出的结果01101001 00010100 检验和 153.19.8.104171.3.14.1112 字节伪首部8 字节UDP 首部7 字节数据填充按二进制反码运算求和将得出的结果求反码 全 0 17 15 1087 13 15 全 0数据 数据 数据 数据数据 数据 数据 全全 0知识点归纳(三)三)TCP协议协议 TCP段段 连接管理,即连接管理,即TCP连接建立与释放(三次握手)连接建立与释放(三次握手)可靠传输可靠传输 流量控制与拥塞控制,包括可变发送窗口协议等。流量控制与拥塞控制,包括可变发送窗口协议等。TCP 采用大小可变的滑

18、动窗口进行流量控制采用大小可变的滑动窗口进行流量控制。窗口大小的单。窗口大小的单位是字节,在位是字节,在 TCP 报文段首部的窗口字段写入的数值就是当前报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限给对方设置的发送窗口数值的上限。发送窗口在连接建立时由双。发送窗口在连接建立时由双方商定。但在通信的过程中,方商定。但在通信的过程中,接收端可接收端可根据自己的资源情况,随根据自己的资源情况,随时时动态地调整对方的发送窗口上限值动态地调整对方的发送窗口上限值(可增大或减小可增大或减小)。TCP 概述示图端口发送 TCP 报文段TCPTCP接收缓存发送缓存报文段报文段报文段端口发

19、送端接收端向发送缓存写入数据块从接收缓存读取数据块应用进程应用进程TCP 报文段的首部 TCP 数据部分数据部分TCP 首部首部TCP 报文段报文段TCP首部各字段及作用源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。TCP 保留端口举例应用层应用层传输层传输层FTPTELNETSMTPHTTPDNSPOP3 21 2

20、3 25 80 53 110Port服务器用端口号服务器用端口号(众所周知端口众所周知端口):0-1023,已固定地分配给相应的服务已固定地分配给相应的服务客户端用端口号:客户端用端口号:1024-65535,向,向OS申请一个未用的临时端口号申请一个未用的临时端口号FTP 应用连接端口举例主机主机A主机主机B(128.6.4.194:1234)(18.22.67.7:21)建立端到端的连接建立端到端的连接ClientServer众所周知端口众所周知端口临时端口临时端口应用:应用:ftp 18.22.67.7 TCP 序号和确认号源端口源端口目标端口目标端口顺序号顺序号#确认号确认号#Sour

21、ce Dest.Seq.Ack.102823101我发送我发送#10.TCP 序号和确认号我已收到我已收到#10,现在我需要现在我需要#11.源端口源端口目标端口目标端口顺序号顺序号#确认号确认号#102823Source Dest.1010Seq.1Ack.102823Source Dest.1111Seq.1Ack.我发送我发送#10.TCP 序号和确认号源端口源端口目标端口目标端口顺序号顺序号#确认号确认号#102823Source Dest.1111Seq.2Ack.102823Source Dest.1010Seq.1Ack.102823Source Dest.1111Seq.1Ac

22、k.我已收到我已收到#10,现在我需要现在我需要#11.我发送我发送#11.TCP 序号和确认号源端口源端口目标端口目标端口顺序号顺序号#确认号确认号#102823Source Dest.1111Seq.2Ack.102823Source Dest.1010Seq.1Ack.102823Source Dest.1111Seq.1Ack.102823Source Dest.1212Seq.2Ack.我已收到我已收到#11,现在我需要现在我需要#12.我发送我发送#11TCP首部各字段及作用数据偏移占 4 bit,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远,实际上即TCP

23、首部长度。“数据偏移”的单位不是字节而是 32 bit 字(4 字节为计算单位)。保留字段占 6 bit,保留为今后使用,但目前应置为 0。紧急比特 URG 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。TCP首部各字段及作用确认比特 ACK 只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。推送比特 PSH(PuSH)接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。复位比特 RST(ReSeT)当 RST 1 时,表明 TCP 连接中出现严重差

24、错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立传输连接。TCP首部各字段及作用同步比特 SYN 同步比特 SYN 置为 1,就表示这是三次握手的一个连接请求或连接接受报文。终止比特 FIN(FINal)用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放传输连接。窗口字段 占 2 字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。TCP首部各字段及作用校验和 占 2 字节。检验和字段检验的范围包括首首部部和数数据据这两部分。在计算检验和时,要在

25、 TCP 报文段的前面加上 12 字节的伪首部伪首部。紧急指针字段 占 16 bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。选项字段 长度可变。TCP 只规定了一种选项,即最大报文段长度 MSS(Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”填充字段 这是为了使整个首部长度是 4 字节的整数倍。TCP 的数据编号与确认 TCP 协议是面向字节的。TCP 将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。在连接建立时,双方要商定初始序号。TCP 每次发送的报文段的首部

26、中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。TCP 的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据的最高序号加 1。因此确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。TCP传输控制的实现确认号确认号ACK#源端口源端口1028序列号序列号SEQ#宿端口宿端口21窗口窗口WIN.头部头部.发送方发送方接收方接收方缓冲区缓冲区4k2k应用层应用层2k write应用层应用层Read 2k2k2k1kSEQ#=0WIN=2048ACK#=2048WIN=0ACK#=4096SEQ#=4096SEQ#=2048发送受阻发送受阻应用层应用层3k

27、write0 4KACK#=4096WIN=20482k2k1kTCP 的可靠传输的可靠传输 TCP提提供供的的是是一一种种可可靠靠的的数数据据流流服服务务。当当传传送送受受差差错错干干扰扰的的数数据据,或或基基础础网网络络故故障障,或或网网络络负负荷荷太太重重而而使使网网际际层层(无无连连接接的的数数据据报报递递交交系系统统)工工作作出出错错时时,就就需需要要通通过过TCP协协议议来来做做弥弥补补和和补补救救工工作作,以以确确保保通通信信的的可可靠靠。TCP位位于于OSI模模型型的的运运输输层层,它它在在IP协协议议的的基基础础上,提供端到端的面向连接的可靠传输。上,提供端到端的面向连接的可

28、靠传输。TCP采采用用“带带重重传传的的肯肯定定确确认认”技技术术来来实实现现传传输输的的可可靠靠性性。简简单单的的说说,“带带重重传传的的肯肯定定确确认认”是是指指与与发发送送方方通通信信的的接接收收者者,当当接接收收到到TCP报报文文段段数数据据后后,会会送送回回一一个个确确认认报报文文(经经常常是是含含在在所所发发送送的的TCP报报文文段段中中的的一一个个“捎捎带带”确确认认),发发送送者者对对每每个个发发出出去去的的报报文文在在发发送送缓缓冲冲区区都都留留有有记记录录,只只有有等等到到收收到到确确认认后后才才将将该该报报文文所所占占的的发发送送缓缓冲冲区区释释放放。发发送送者者每每发发

29、出出一一个个TCP报报文文段段时时,会会启启动动一一个个定定时时器器,若若定定时器计数完毕,确认还未到达,则发送者会重新发送该时器计数完毕,确认还未到达,则发送者会重新发送该TCP报文段报文段。TCP 的滑动窗口的滑动窗口 TCP采采用用“滑滑动动窗窗口口”的的流流量量控控制制机机制制来来提提高高网网络络的的吞吞吐吐量量,发发送送窗窗口口的的范范围围与与接接收收方方给给发发送送方方设设置置的的“窗窗口口”值值有有关关,也也与与发发送送方方已已发发送送但但未未被被确确认认的的TCP报报文文段段的的数数量量有有关关。每每当当接接收收方方正正确确收收到到一一个个TCP报报文文段段并并交交给给上上层层

30、,便便发发回回相相应应的的确确认认报报文文,发发送送方方收收到到相相应应的的确确认认,便便将将对对应应已已发发并并被被确确认认的的发发送送缓缓冲冲释释放放,发发送送窗窗口口同同时时向向前滑动。前滑动。TCP通通信信建建立立在在面面向向连连接接的的基基础础上上,双双方方通通信信之之前前,先先建建立立一一条条TCP连连接接,然然后后双双方方就就可可以以在在该该TCP连连接接上上相相互互发发送送TCP报报文文段段。但但事事先先建建立立连连接接、事事后后拆拆除除连连接接需需要要额额外外开开销销,在在TCP连连接接上上发发送送确确认认和和出出错错重重传传也也花花去去一一定定的的开开销销。TCP连连接接的

31、的建建立立采采用用三三次次握握手手的的过过程程,整整个个过过程程由由发发送送方方请请求求连连接接、接接收收方方再再发发送送确确认认、发发送送方方再再发发送送关关于于确认的确认三个过程组成。确认的确认三个过程组成。TCP的的拥拥塞塞控控制制和和流流量量控控制制是是一一个个比比较较复复杂杂的的问问题题,它它包包括括发发送送端端发发送送TCP报报文文段段数数量量的的多多少少和和发发送送报报文文的的时时机机,接接收收端端发发送送确确认认和和窗窗口口大大小小的的策策略略。同同时时还还要要兼兼顾顾不不同同网网络络的的具具体体情情况况,算算法法要要具具有有一一定的自适应性,在保证可靠传输的同时,尽量提高传输

32、效率。定的自适应性,在保证可靠传输的同时,尽量提高传输效率。TCP的滑动窗口机制的滑动窗口机制TCP的滑动窗口机制的滑动窗口机制 TCP采采用用大大小小可可变变的的滑滑动动窗窗口口进进行行流流量量控控制制。窗窗口口大大小小的的单单位位是是字字节节。发发送送窗窗口口在在连连接接建建立立时时由由双双方方商商定定,在在通通信信过过程程中中,接接收收端端可可根根据据自自己己的的接接收收缓缓存存的的大大小小,通通过过接接收收端端向向对对方方发发送送的的TCP报报文文段段首首部部的的“窗窗口口”字字段段,即即接接收收端端窗窗口口rwnd(receiver window),向向发发送送方方通通报报接接收收端

33、端缓缓冲冲区区的的接接收收能能力力,从从而而动动态态地地随随时时调调整整控控制制发发送送端端的的发发送送窗窗口口的上限值。的上限值。另另一一方方面面,发发送送端端根根据据其其对对当当前前网网络络拥拥塞塞程程度度的的估估计计而而确确定定的的窗窗口口值值,叫叫做做拥拥塞塞窗窗口口cwnd(congestion window),其其大大小小与与网网络络的的带带宽宽和时延密切相关。和时延密切相关。发发送送端端设设置置的的当当前前能能够够发发送送数数据据量量的的大大小小叫叫做做发发送送窗窗口口,发发送送窗窗口口的上限值需要根据上面两个因素共同决定,由下面公式确定:的上限值需要根据上面两个因素共同决定,由

34、下面公式确定:发送窗口的上限值发送窗口的上限值 Min(cwnd,rwnd)rwnd由接收端根据其接收缓存确定,发送端确定由接收端根据其接收缓存确定,发送端确定cwnd比较复杂,比较复杂,其涉及其涉及TCP的网络拥塞控制。的网络拥塞控制。TCP的滑动窗口机制的滑动窗口机制 发发送送窗窗口口的的左左边边沿沿对对应应已已发发送送数数据据中中被被确确认认的的最最高高序序号号1,其其右右边边沿沿对对应应左左边边沿沿的的序序号号加加上上发发送送窗窗口口的的大大小小。在在数数据据传传输输的的过过程程中中,这这个个发发送送窗窗口口不不时时地地向向右右移移动动构构成成了了滑滑动动窗窗口口。窗窗口口的的两两个个

35、边边沿沿的的相相对对运运动动增增加加或或减减少少了窗口的大小。我们使用三个术语来描述窗口左右边沿的运动:了窗口的大小。我们使用三个术语来描述窗口左右边沿的运动:(1)当当窗窗口口左左边边沿沿向向右右边边沿沿靠靠近近时时,我我们们称称之之为为窗窗口口合合拢拢。这这种种现现象象发发生生在在数数据据被被发发送送并并被被接接收收方方确确认认、同同时时发发送送窗窗口口缩缩小小时时。如如果果窗窗口口的的左左边边沿沿与右边沿重合,则称其为一个零窗口,此时发送方不能发送任何数据。与右边沿重合,则称其为一个零窗口,此时发送方不能发送任何数据。(2)当当窗窗口口右右边边沿沿向向右右移移动动时时将将允允许许发发送送

36、更更多多的的数数据据,我我们们称称之之为为窗窗口口张张开开。这这种种现现象象发发生生发发送送窗窗口口变变大大时时,或或在在另另一一端端的的接接收收进进程程读读取取了了数数据据、释放了释放了TCP相应的接收缓存、向发送方发送确认、发送方收到确认后。相应的接收缓存、向发送方发送确认、发送方收到确认后。(3)当当右右边边沿沿向向左左移移动动时时,我我们们称称之之为为窗窗口口收收缩缩。这这种种情情况况发发生生在在接接收收方接收缓冲区缩小、向发送方发出的方接收缓冲区缩小、向发送方发出的TCP报文首部的报文首部的“窗口窗口”字段值变小时。字段值变小时。收到确认即可前移1002003004005006007

37、008009001012013014015016017018011发送窗口可发送不可发送发送指针设发送端要发送设发送端要发送 900 字节长的数据,划分为字节长的数据,划分为 9 个个 100 字节长的报文段,字节长的报文段,并设发送窗口为并设发送窗口为 500 字节。字节。发送窗口的发送窗口的左边沿左边沿对应对应已发送数据中被确认的最高序号已发送数据中被确认的最高序号1,其,其右边沿右边沿对对应应左边沿的序号加上发送窗口的大小左边沿的序号加上发送窗口的大小。发送发送 TCP 要维护一个指针。每发送一个报文段,发送指针就向前移动一要维护一个指针。每发送一个报文段,发送指针就向前移动一个报文段的

38、距离。个报文段的距离。发送发送TCP每收到每收到对方对对方对一个报文段的确认一个报文段的确认,便释放该报文段所占的缓冲,便释放该报文段所占的缓冲,将发送将发送窗口左沿向右移动一个报文段的距离窗口左沿向右移动一个报文段的距离。若发送窗口大小不变,则。若发送窗口大小不变,则窗口右沿也向右移,即发送窗口向右滑动。窗口右沿也向右移,即发送窗口向右滑动。当接收方接收缓冲区变小、向发送方发出的当接收方接收缓冲区变小、向发送方发出的TCP报文首部的报文首部的“窗口窗口”字字段值变小时,使发送窗口变小,发送窗口会收缩段值变小时,使发送窗口变小,发送窗口会收缩。收到确认即可前移10020030040050060

39、07008009001012013014015016017018011发送窗口可发送不可发送发送指针发送端发送了发送端发送了 400 字节的数据,但只收到对前字节的数据,但只收到对前 200 字节数字节数据的确认,同时窗口大小不变,因此发送窗口向右平移。据的确认,同时窗口大小不变,因此发送窗口向右平移。现在发送端还可发送现在发送端还可发送 300 字节。字节。1002003004005006007008009001012013014015016017018011可发送不可发送发送指针发送窗口前移已发送并被确认已发送但未被确认10020030040050060070080090010120130

40、14015016017018011已发送并被确认已发送但未被确认可发送不可发送发送指针发送窗口前移 发送端收到了对方对前 400 字节数据的确认,但对方通知发送 端必须把窗口减小到 400 字节。现在发送端最多还可发送 400 字节的数据。1002003004005006007008009001012013014015016017018011已发送并被确认可发送不可发送发送指针发送窗口缩小利用可变窗口大小进行流量控制利用可变窗口大小进行流量控制设双方确定的窗口值是设双方确定的窗口值是 400 SEQ=1SEQ=201SEQ=401SEQ=301SEQ=101SEQ=501ACK=201,WIN

41、=300ACK=601,WIN=0ACK=501,WIN=200主机 A主机 B允许 A 再发送 300 字节(序号 201 至 500)A 还能发送 200 字节A 还能发送 200 字节A还能发送 300 字节A 还能发送 100 字节A 超时重发,但不能发送序号 500 以后的数据允许 A 再发送 200 字节(序号 501 至 700)A 还能发送 100 字节(序号 601 至 700)不允许 A 再发送(到序号 600 的数据都已收到)SEQ=201丢失!TCP 拥塞控制拥塞原因加载到网络的负载大于网络自身的处理能力,若再大量向网络中输入负载,网络性能会明显变坏,极端情况下便会死锁

42、。出现网络拥塞的条件:(对网络中资源的需求)可用资源解决办法:开环控制:设计网络时事先将发生网络拥塞的因素考虑周到,力求网络在工作时不产生拥塞。闭环控制:基于反馈环路概念。监测拥塞在何时何地发生,将消息传到可采取行动的地方,继而调整网络系统的运行以解决出现的问题。例如:TCP发送方迟迟不能收到对方的确认信息,便认为网络中发生了拥塞,于是减少注入网络中的信包数。流量控制流量控制-往往指接收方对发送方通信量的控制,往往指接收方对发送方通信量的控制,是个端到端的问题。流量控制要做的就是抑制发送端发是个端到端的问题。流量控制要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。送数据的速率,以便

43、使接收端来得及接收。拥塞控制拥塞控制-就是防止过多的数据注入到网络中,就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。这样可以使网络中的路由器或链路不致过载。发送方控制发送流量必须发送方控制发送流量必须同时考虑同时考虑接收端的存储容接收端的存储容量和网络的传输能力,可以如下形象地说明:量和网络的传输能力,可以如下形象地说明:接收方的处理能力不足:接收方的处理能力不足:-接收容器小接收容器小网络不够通畅:网络不够通畅:-传输管道细传输管道细接收端窗口 rwnd 和拥塞窗口 cwnd 接收端窗口 rwnd(receive window)这是接收端根据其目前的接收缓存大小所许

44、诺的最新的窗口值,是来自接收端的流量控制。接收端将此窗口值放在 TCP 报文的首部中的窗口字段,传送给发送端。拥塞窗口 cwnd(congestion window)是发送端根据自己估计的网络拥塞程度而设置的窗口值,是来自发送端的流量控制。拥塞的解决办法发送方保持两个窗口对方的接收窗口 rwnd(由WIN说明)拥塞窗口 cwnd(由慢开始、拥塞避免等算法决定)在一个实际网络中,发送方控制发送流量必须在一个实际网络中,发送方控制发送流量必须同时考虑同时考虑接接收端的存储容量和网络的传输能力,发送流量应该取接收收端的存储容量和网络的传输能力,发送流量应该取接收端和通信子网所能允许的流量值中的较小值

45、。因此,端和通信子网所能允许的流量值中的较小值。因此,取两者的最小值为发送窗口的上限值,即:如何确定拥塞窗口的大小?慢开始算法拥塞控制算法举例发送窗口的上限值发送窗口的上限值 Min rwnd,cwnd慢开始算法的原理 在主机刚刚开始发送报文段时可先将拥塞窗口 cwnd 设置为一个最大报文段 MSS 的数值。在每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个 MSS 的数值。用这样的方法逐步增大发送端的拥塞窗口 cwnd,可以使分组注入到网络的速率更加合理。慢开始算法拥塞窗口拥塞窗口MaxSegL建立连接建立连接初始化初始化发送数据发送数据MaxSegL超时超时2MaxSegL发送数据发

46、送数据超时前收超时前收到确认到确认超时前收超时前收到确认到确认拥塞窗口拥塞窗口2MaxSegL超时超时拥塞窗口拥塞窗口2nMaxSegL发送数据发送数据2nMaxSegL 拥塞窗口二进制指数增长,拥塞窗口二进制指数增长,直至发送数据后超时无确认直至发送数据后超时无确认.慢开始和拥塞避免算法的实现举例246810121416182022004812162024传输次数拥塞窗口 cwndssthresh=16慢开始指数规律增长进入拥塞避免线性规律增长拥塞避免发生超时更新后的 ssthresh=12慢开始拥塞避免进入拥塞避免慢开始和拥塞避免算法的实现图解 Flash乘法减小(multiplicati

47、ve decrease)“乘法减小“是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢开始门限值 ssthresh 设置为当前的拥塞窗口值乘以 0.5。当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的分组数。加法增大(additive increase)“加法增大”是指执行拥塞避免算法后,当收到对所有报文段的确认就将拥塞窗口 cwnd增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。慢开始和拥塞避免算法的说明“拥塞避免”并非指完全能够避免了拥塞。利用以上的措施要完全避免网络拥塞还是不可能的。“拥塞避免”是说在拥

48、塞避免阶段把拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞。快重传和快恢复 快重传算法规定,接收方每收到一个失序的报文段就立即发出重复确认,而不要等到自己发送数据时才稍带确认,这样可以使发送方及早知道某一报文段没有到达接收方。发送端只要一连收到三个重复的 ACK 即可断定有分组丢失了,就应立即重传丢失的报文段而不必继续等待为该报文段设置的重传计时器的超时。不难看出,快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段,由于发送方尽早重传未被确认的报文段,采用快重传后可以使整个网络的吞吐量提高约20%。快重传举例主机 AB 确认 M1 和 M2A 发送 M1 和 M2A 收

49、到了三个重复的确认 ACK3,就立即重传 M3,而不必等待超时重传。A 发送 M3 但丢失了A 发送 M4A 发送 M5B 发送第二个重复确认 ACK3A 发送 M6M1,M2ACK2,ACK3M4主机 BM3丢失!ACK3M5ACK3M6ACK3M3B 发送第三个重复确认 ACK3B 只能再次确认 M2(因为 M3 没有收到)快恢复算法(1)(1)当发送端连续收到三个重复的当发送端连续收到三个重复的 ACK 时,进行快重传的同时,时,进行快重传的同时,还执行还执行“乘法减小乘法减小”算法,算法,把慢开始门限把慢开始门限ssthresh减半减半,以此,以此预防预防网络发送拥塞。网络发送拥塞。(

50、2)由于发送方现在认为网络由于发送方现在认为网络很可能没有发生拥塞很可能没有发生拥塞(否则不可能连否则不可能连续收到三个续收到三个ACK),因此接下去不执行慢开始算法因此接下去不执行慢开始算法(cwnd不置不置为为1),而是把而是把cwnd设置为设置为慢开始门限慢开始门限ssthresh减半后减半后的数值的数值,然后开始执行拥塞避免算法然后开始执行拥塞避免算法,即每经一个传输轮次拥塞窗口,即每经一个传输轮次拥塞窗口cwnd只加只加1,按线性规律增长,按线性规律增长(注注:也有的快重传此时设置也有的快重传此时设置cwnd为为 ssthresh+3 MSS)。(3)在采用快重传快恢复算法后,在采用

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 研究生考试

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服