(5.6.1)--5.6滑动窗口.pdf

上传人:刘静 文档编号:57972270 上传时间:2022-11-06 格式:PDF 页数:13 大小:518.95KB
返回 下载 相关 举报
(5.6.1)--5.6滑动窗口.pdf_第1页
第1页 / 共13页
(5.6.1)--5.6滑动窗口.pdf_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《(5.6.1)--5.6滑动窗口.pdf》由会员分享,可在线阅读,更多相关《(5.6.1)--5.6滑动窗口.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 滑动滑动窗口窗口 以字节为单位的滑动以字节为单位的滑动窗口窗口nTCP 的的滑动窗口是以字节为单位的滑动窗口是以字节为单位的。n现现假定假定 A 收到了收到了 B 发发来的确认报文段来的确认报文段 其中,窗口其中,窗口是是 20 字节字节,而确认号,而确认号是是 31 根据根据这两个数据,这两个数据,A 就就构造出自己的发送窗口。构造出自己的发送窗口。前移前移不允许发送不允许发送已发送并已发送并收到确认收到确认A 的的发送窗口发送窗口=20允许发送的序号允许发送的序号26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

2、47 48 49 50 51 52 53 54 55 56B 期望期望收到的序号收到的序号前沿前沿后沿后沿前移前移收缩收缩 根据根据 B 给出的窗口给出的窗口值,值,A 构造出自己的发送构造出自己的发送窗口。窗口。当前当前A 的的发送窗口发送窗口=20,A 可以可以连续把窗口内的数据都发送出去。连续把窗口内的数据都发送出去。发送窗口表示允许发送的序号发送窗口表示允许发送的序号31-50。B 期望期望收到的下一个序号收到的下一个序号是是 31,表示表示31之前都收到。之前都收到。显然,窗口越大,可能获得更高的传输效率。显然,窗口越大,可能获得更高的传输效率。TCP 标准强烈不赞成标准强烈不赞成发

3、送窗口前沿向后收缩发送窗口前沿向后收缩 A 构造构造发送发送窗口窗口不允许发送不允许发送已发送并已发送并收到确认收到确认A 的的发送窗口发送窗口位置不变位置不变允许发送但尚未发送允许发送但尚未发送26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送但未收到确认已发送但未收到确认56P1P2P3不允许接收不允许接收已发送确认已发送确认并交付主机并交付主机B 的的接收窗口接收窗口允许接收允许接收26 27 28 29 30 31 32 33 34 35 36 37 3

4、8 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56未按序收到未按序收到可用窗口可用窗口现在现在A 发送了发送了 11 个字节,编号个字节,编号31-41 P3 P1=A 的发送窗口(又称为通知窗口)的发送窗口(又称为通知窗口)P2 P1=已发送但尚未收到确认的字节数已发送但尚未收到确认的字节数P3 P2=允许发送但尚未发送的字节数(又称为可用窗口)允许发送但尚未发送的字节数(又称为可用窗口)接收窗口接收窗口B内的序号(内的序号(31 50)是是允许接收允许接收的的序号序号。看看A 的发送的发送窗口情况:窗口情况:允许发送但尚未发送允许

5、发送但尚未发送A 的的发送窗口发送窗口向前滑动向前滑动26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送并收到确认已发送并收到确认不允许不允许发送发送已发送已发送但未收到确认但未收到确认56P1P2P3允许接收允许接收B 的的接收窗口接收窗口向前滑动向前滑动26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送确认已发送确认并交付主机

6、并交付主机不允许不允许接收接收56未按序收到未按序收到现在现在A 收到新的确认号收到新的确认号34,发送窗口向前滑动到,发送窗口向前滑动到34-53,但还没收到确认但还没收到确认 先存下,等待缺少的先存下,等待缺少的数据的到达数据的到达不允许不允许发送发送已发送并收到确认已发送并收到确认A 的发送窗口已满,有效窗口为零的发送窗口已满,有效窗口为零26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送但未收到确认已发送但未收到确认56P1P2P3这时这时A 的发送窗口

7、内的序号都已用完,的发送窗口内的序号都已用完,但还没有再收到确认,必须停止发送。但还没有再收到确认,必须停止发送。发送发送窗口内的序号都属于已发送但未被确认窗口内的序号都属于已发送但未被确认 TCP窗口管理窗口管理 TCP使用使用两个缓存两个缓存和和两个窗口两个窗口来控制数据的流动。来控制数据的流动。q发送端的发送端的TCPTCP有一个缓存,用来存储从发送应用程序来的数有一个缓存,用来存储从发送应用程序来的数据。据。发送端对这个缓存设置一个窗口,只要这个窗口大小不是发送端对这个缓存设置一个窗口,只要这个窗口大小不是 零就可以发送报文段零就可以发送报文段。qTCPTCP的接收端也有一个缓存,用来

8、接收数据的接收端也有一个缓存,用来接收数据,检查无错,就检查无错,就存储在缓存中,以便接收应用程序将其取走。存储在缓存中,以便接收应用程序将其取走。发送端的发送端的TCPTCP的窗口大小取决于接收端,并在的窗口大小取决于接收端,并在ACKACK报文段中报文段中宣布。宣布。由接收端宣布的窗口大小通常就是由接收端宣布的窗口大小通常就是接收端的接收端的TCPTCP缓存剩下的缓存剩下的空间。空间。例子:发送端开始时定义了一个非常大的缓存,接收端定义了一个4K缓存。在连接建立期间,接收窗口宣布窗口大小为4K。发送缓存发送缓存 最后被确认最后被确认的字节的字节发送应用程序发送应用程序发送缓存发送缓存最后发

9、送最后发送的字节的字节发送窗口发送窗口-允许发送允许发送已发送已发送TCP序号增大序号增大发送方的应用进程把字节流发送方的应用进程把字节流写入写入 TCP 的的发送发送缓存缓存。发送窗口通常只是发发送窗口通常只是发送缓存的一部分。送缓存的一部分。接收缓存接收缓存接收应用程序接收应用程序已收到已收到接收窗口接收窗口-TCP接收缓存接收缓存下一个读取下一个读取的字节的字节序号增大序号增大下一个期望收到的下一个期望收到的字节(确认号)字节(确认号)接收方的应用进程接收方的应用进程从从 TCP 的的接收缓存中读取字节流。接收缓存中读取字节流。允许接收允许接收需要强调三点需要强调三点n第一,第一,A 的

10、发送窗口并的发送窗口并不总是不总是和和 B 的接收窗口的接收窗口一样大(因为有一定的时间滞后)。一样大(因为有一定的时间滞后)。n第二,第二,TCP 对不按序到达的数据,通常是先临对不按序到达的数据,通常是先临时存放在接收窗口中,等到字节流中所缺少的时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。字节收到后,再按序交付上层的应用进程。n第三,第三,TCP 要求接收方必须有要求接收方必须有累积确认累积确认的功能,的功能,这样可以减小传输开销。这样可以减小传输开销。接收接收方发送确认方发送确认n接收方可以在接收方可以在合适的时候发送确认合适的时候发送确认,也可以有,也

11、可以有数据要发送时把确认信息数据要发送时把确认信息顺便捎带上顺便捎带上。n但但请注意两请注意两点点:n第一第一,接收方不应过分推迟发送确认,否则会导致,接收方不应过分推迟发送确认,否则会导致发送方不必要的重传,浪费网络的资源发送方不必要的重传,浪费网络的资源。n第二第二,捎带确认实际上并不经常发生。,捎带确认实际上并不经常发生。小小 结结TCP 的的滑动窗口是以字节为单位滑动窗口是以字节为单位n发送缓存用来暂时存放:发送缓存用来暂时存放:n 发送方的发送方的TCP TCP 准备发送的数据;准备发送的数据;n TCP TCP 已发送出但尚未收到确认的数据。已发送出但尚未收到确认的数据。n接收缓存用来暂时存放:接收缓存用来暂时存放:n 按序到达的、但尚未被接收应用程序读取按序到达的、但尚未被接收应用程序读取的数据;的数据;n 不按序到达的数据。不按序到达的数据。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁