版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TCP/IP网络原理与应用之TCP协议介绍2,TCP/IP网络原理与应用,袁巍 华中科技大学电信系 2012.04,TCP/IP网络原理与应用之TCP协议介绍2,主要内容,TCP的流量控制与拥塞控制 TCP的重传机制 TCP的选项 TCP的有限状态机,TCP/IP网络原理与应用之TCP协议介绍2,参考资料,计算机网络(第四版),谢希仁 TCP/IP详解卷1:协议,W.RICHARD STEVENS 下一代INTERNET的网络技术,李津生等,TCP/IP网络原理与应用之TCP协议介绍2,主要内容,TCP的流量控制与拥塞控制 TCP的重传机制 TCP的选项 TCP的有限状态机,TCP/IP网络原
2、理与应用之TCP协议介绍2,TCP 的流量控制与拥塞控制 0. 拥塞的概念,在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏产生拥塞(congestion)。 出现资源拥塞的条件: 对资源需求的总和 可用资源 若网络中有许多资源同时产生拥塞,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降。,TCP/IP网络原理与应用之TCP协议介绍2,拥塞控制与流量控制的关系,拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。 拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。 流量控制往往指在给
3、定的发送端和接收端之间的点对点通信量的控制,是局部问题。 流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。,TCP/IP网络原理与应用之TCP协议介绍2,TCP 的流量控制与拥塞控制 1. 滑动窗口等概念,TCP 采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。 在 TCP 报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。 发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。,TCP/IP网络原理与应用之TCP协议介绍2,实验观察发送窗口大小变化,实验步骤: 编程
4、实现TCP服务器并运行 该服务器在三次握手完成后即进入休眠状态 使用Telnet连接该服务器并发送数据 使用Windump抓包分析,TCP/IP网络原理与应用之TCP协议介绍2,窗口减小,TCP/IP网络原理与应用之TCP协议介绍2,收到确认即可前移,100,200,300,400,500,600,700,800,900,101,201,301,401,501,601,701,801,1,可发送,不可发送,发送端要发送 900 字节长的数据,划分为 9 个 100 字节长的报文段,而发送窗口确定为 500 字节。 发送端只要收到了对方的确认,发送窗口就可前移。 发送 TCP 要维护一个指针。每
5、发送一个报文段,指针就向前移动一个报文段的距离。,TCP/IP网络原理与应用之TCP协议介绍2,收到确认即可前移,100,200,300,400,500,600,700,800,900,101,201,301,401,501,601,701,801,1,不可发送,100,200,300,400,500,600,700,800,900,101,201,301,401,501,601,701,801,1,发送窗口,可发送,不可发送,发送窗口前移,发送端已发送了 400 字节的数据,但只收到对前 200 字节数据的确认,同时窗口大小不变。 现在发送端还可发送 300 字节。,TCP/IP网络原理与应
6、用之TCP协议介绍2,100,200,300,400,500,600,700,800,900,101,201,301,401,501,601,701,801,1,已发送 并被确认,已发送但 未被确认,可发送,不可发送,指针,100,200,300,400,500,600,700,800,900,101,201,301,401,501,601,701,801,1,不可 发送,指针,发送窗口前移,发送端收到了对方对前 400 字节数据的确认,但对方通知发送端必须把窗口减小到 400 字节。 现在发送端最多还可发送 400 字节的数据。,TCP/IP网络原理与应用之TCP协议介绍2,零窗口探测(1)
7、,TCP 提供可靠的传输服务,将TCP 分组送到目的地,如果需要可进行重发。然而,TCP 并不保证接收确认的可靠性。 通常,这种操作不会发生严重问题。,TCP/IP网络原理与应用之TCP协议介绍2,零窗口探测(2),不重发接收确认分组会出现以下危险 工作站将窗口置成0,处于至少在短时间内一个字节也不能从连接上接收的状态。 拥塞消除后,工作站重新发送接收确认分组,再次打开窗口。假定该分组在传输中丢失。PC 没有收到该分组,故无法知道窗口又被打开。 这时,此连接出现了问题。如果工作站没有要发送的数据,它就没有理由发送其他TCP分组。另一方面,PC 误认为窗口被关闭,不允许发送其他分组。,TCP/I
8、P网络原理与应用之TCP协议介绍2,零窗口探测(3),为了消除这种死锁(deadlock)状态,要求PC 侧的TCP 发起特殊的操作。也就是说,在窗口完全关闭的情况下,TCP 总是定时地发送分组。 当然,因该分组在窗口之外,所以预料对方会拒绝该分组。其结果不外乎以下二种情况,一种是对方以接收确认分组形式传来拒绝信息,利用它可以确认零窗口(zero window)仍然存在,另一种实际上是重发那个丢失的带有打开窗口信息的接收确认分组。 在TCP规范中,推荐在该连接当前的重发定时器设定的时间内若窗口处于关闭状态时,发送第一个零窗口探测分组。然后,应以指数增大的间隔发送其后的探测分组直至某一最大值。,
9、TCP/IP网络原理与应用之TCP协议介绍2,零窗口探测(4),TCP/IP网络原理与应用之TCP协议介绍2,零窗口探测(5),PC 收到关闭窗口的第一个接收确认分组后,立即启动定时器。当定时器超时而窗口依然被关闭时,PC 发送1 字节的数据,即序列号为200 的字节。此时,因窗口依然处于关闭状态,工作站可通过对该分组应答进行确认。 此后当工作站变为能够接收下一个数据的状态时,就发送接收确认分组以开放窗口。图中此分组丢失。幸好,PC 再次进行零窗口探测。在进行该操作时,工作站应收到第200 号字节。PC 收到它的确认分组时,窗口已经打开。于是连接上的数据流重新流动。,TCP/IP网络原理与应用
10、之TCP协议介绍2,实验零窗口现象观察,实验步骤: 编写服务器并运行 客户连接上后,服务器即进入睡眠状态 编写客户端并连接上述服务器 不停地向服务器发送数据 使用WinDump抓包并分析 请观看录像窗口减小至0,TCP/IP网络原理与应用之TCP协议介绍2,实验零窗口探测,实验步骤: 编写服务器并运行 客户连接上后,服务器即进入睡眠状态20秒 醒来后,服务器读取数据 编写客户端并连接上述服务器 不停地向服务器发送数据 使用WinDump抓包并分析,TCP/IP网络原理与应用之TCP协议介绍2,实验零窗口探测,TCP服务器代码,TCP/IP网络原理与应用之TCP协议介绍2,实验零窗口探测,使用命
11、令 windump i 2 tcp and host 192.168.88.206 1.txt 抓包数据部分结果 请见零窗口探测.doc,TCP/IP网络原理与应用之TCP协议介绍2,2. 慢开始和拥塞避免,发送端的主机在确定发送报文段的速率时,既要根据接收端的接收能力,又要从全局考虑不要使网络发生拥塞。 因此,每一个 TCP 连接需要有以下两个状态变量: 接收端窗口 rwnd (receiver window) 又称为通知窗口(advertised window)。 拥塞窗口 cwnd (congestion window)。,TCP/IP网络原理与应用之TCP协议介绍2,接收端窗口 rwn
12、d 和 拥塞窗口 cwnd,(1) 接收端窗口 rwnd 这是接收端根据其目前的接收缓存大小所许诺的最新的窗口值,是来自接收端的流量控制。接收端将此窗口值放在 TCP 报文的首部中的窗口字段,传送给发送端。 (2) 拥塞窗口 cwnd (congestion window) 是发送端根据自己估计的网络拥塞程度而设置的窗口值,是来自发送端的控制。,TCP/IP网络原理与应用之TCP协议介绍2,发送窗口的上限值,发送端的发送窗口的上限值应当取为接收端窗口 rwnd 和拥塞窗口 cwnd 这两个变量中较小的一个,即应按以下公式确定: 发送窗口的上限值 Min rwnd, cwnd (7-1) 当 r
13、wnd c:1.txt 注解: netstat p tcp a 用于显示包括监听状态在内的所有TCP连接信息 | find “202.114.0.248” 用于从上述显示中提取含有“202.114.0.248”字符串的信息 c:1.txt 上述内容添加到文件c:1.txt中 另一种方法:netstat -p tcp -a interval,TCP/IP网络原理与应用之TCP协议介绍2,结果显示,详细结果请见文件1.txt 部分结果如下: 11:13:39 0.227 11:13:39 0.727 TCP bigdog:3674 202.114.0.248:telnet ESTABLISHED . 11:13:41 0.727 TCP bigdog:3674 202.114.0.248:telnet ESTABLISHED 11:13:42 0.227 TCP bigdog:3674 202.114.0.248:telnet ESTABLISHED 11:13:42 0.727 TCP bigdog:3674 202.114.0.248:telnet TIME_WAIT 11:13:43 0.227 TCP bigdog:3674 202.114.0.248:telne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山西成人专升模拟试题及答案详解
- 2025年湖南省衡阳市城管协管人员招聘笔试试题及答案详解
- 2026年中国手持云台市场深度调查与投资方向研究报告(定制版)
- 2026年汕尾事业统招模拟试题及答案详解
- 2026年魔芋产业发展现状及趋势分析
- 2026年市场营销学核心理论模拟试题及答案详解
- 2026年中国整形美容市场深度分析与前景展望研究报告
- 2026年食堂炊事员模拟试题及答案详解
- 2026年山东普高综评模拟试题及答案详解
- 2026年中国生猪养殖市场供需预测研究报告
- 2.3 超声波与次声波(教学课件)- 八年级物理全一册(沪科版2024)
- 皮带八大保护之堆煤保护课件
- 品质意识培训教材
- 2025年冬季山东省高中学业水平合格考物理试卷(含答案)
- 备战2026年高考语文真题分类汇编(全国):专题10 文言文阅读(解析版)
- 重症患者的体位管理
- 《AutoCAD 2021基础与应用案例教程》全套教学课件
- 2026华能山东石岛湾核电有限公司应届高校毕业生招聘笔试参考题库附答案解析
- 2025陇南市西和县辅警考试试卷真题
- JG/T 268-2019建筑用闭门器
- CJ/T 328-2010球墨铸铁复合树脂水箅
评论
0/150
提交评论