`
huangjun_mail
  • 浏览: 115112 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[TCP/IP]-TCP超时重传[一]

阅读更多

    这几天一直在看TCP/IP详解->TCP超时重传这一章,这章的内容可以毫不夸张的说是TCP的难点,。本章重点讲了Van.Jacobson的慢启动,拥塞避免算法,快速重传算法,快速恢复算法,在讲解中stevens重点关注了在传输中,cwnd(拥塞窗口),ssthresh(慢启动极限)的变化。现在重点描述一下在以下状态这两个值的变化:

 发送SYN超时->SYN重传->慢启动->拥塞避免算法->数据分组丢失->重复ACK->重传丢失数据分组->重复ACK->发送新的数据分组->重发数据ACK->->

(1)在发送SYN期间超时,cwnd设置一个报文段(256字节),ssthresh设置最小取值2D(两个报文段512字节),SYN重传成功后不会更新cwnd,ssthresh做任何修改,发送方将等待新的ACK发回;

(2)发送方进入慢启动状态后ssthresh不会变化,每次收到ACK时候cwnd=cwnd + 一个报文大小,说明在慢启动期间cwnd是成指数级增长的;

(3)当cwnd超过了ssthresh时进入拥塞避免算法状态,此刻cwnd增长速率减小cwd = cwnd + segsize*segsize/cwnd + 1/cwnd,但是实际上早期的BSD并没有按照这个算法去实现,而是错误按照cwd = cwnd + segsize*segsize/cwnd + segsize/8去实现;

(4)在传输数据的时候出现数据分组丢失时,一旦被接受方发现,接受方将一直发送重复ACK,此刻cwnd,ssthresh不变化(因为有可能是TCP传送序号失序),当接受方发现3个重复ACK的时候,接受方就立即发送丢失数据分组,就是是所谓的快速重传

(5)重传数据分组后,ssthresh变化为当前cwnd的一半(四舍五入去整),而cwnd设置为当前变化后的ssthresh + 3*报文段,这里乘3的原因是快速重传算法传三次;

(6)然后继续接受重复ACK,在此期间发送方运行发送数据但必须cwnd的容量大于通告窗口缓存里的容量才可传入新的数据分组,这就是所谓的快速恢复,cwnd在这个阶段也是按照报文段个数增长(与慢启动期间相同);

(7)最后发送方终于回复了重传数据包的ACK后,cwnd被设置成ssthresh的值,ssthresh不变,此时由于cwnd小于等于ssthresh,因此cwnd增加一个报文段大小,此时cwnd大于ssthresh接收方又进入拥塞避免状态.

写得有点乱,详细请看TCP/IP协议详解 卷一 p239,重点看那三张图,画得很直观,很清晰,

分享到:
评论

相关推荐

    《TCP/IP详解,卷1:协议》

    第21章 TCP的超时与重传 226 第22章 TCP的坚持定时器 245 第23章 TCP的保活定时器 251 第24章 TCP的未来和性能 256 第25章 SNMP:简单网络管理协议 270 第26章 Telnet和Rlogin:远程登录 293 第27章 FTP:文件传送...

    TCP/IP详解(卷一)

    第21章 TCP的超时与重传 226 第22章 TCP的坚持定时器 245 第23章 TCP的保活定时器 251 第24章 TCP的未来和性能 256 第25章 SNMP:简单网络管理协议 270 第26章 Telnet和Rlogin:远程登录 293 第27章 FTP:文件传送...

    TCP/IP详解 卷1完整版

    第21章 TCP的超时与重传 226 21.1 引言 226 21.2 超时与重传的简单例子 226 21.3 往返时间测量 227 21.4 往返时间RTT的例子 229 21.4.1 往返时间RTT的测量 229 21.4.2 RTT估计器的计算 231 21.4.3 慢启动 233 21.5 ...

    TCP/IP详解 卷3:TCP事务协议、HTTP、NNTP和UNIX域协议

    当客户与服务器进程在同一台主机上时,UNIX域协议通常要比TCP/IP快一倍。本书同样采用了大量的实例和实现细节,并参考引用了卷2中的大量源程序。适用于希望理解TCP/IP如何工作的人,包括编写网络应用程序的程序员...

    TCP/IP序列号和确认号

    在TCP传送一个数据包时,它会把这个数据包放入重发队列中,同时启动计时器,如果收到了关于这个包的确认信息,便将此数据包从队列中删除,如果在计时器超时的时候仍然没有收到确认信息,则需要重新发送该数据包。...

    TCP/IP详解 卷1:协议--源代码

    第21章 TCP的超时与重传 226 21.1 引言 226 21.2 超时与重传的简单例子 226 21.3 往返时间测量 227 21.4 往返时间RTT的例子 229 21.4.1 往返时间RTT的测量 229 21.4.2 RTT估计器的计算 231 21.4.3 慢...

    TCP/IP详解卷 pdf格式

    第21章 TCP的超时与重传 226 21.1 引言 226 21.2 超时与重传的简单例子 226 21.3 往返时间测量 227 21.4 往返时间RTT的例子 229 21.4.1 往返时间RTT的测量 229 21.4.2 RTT估计器的计算 231 21.4.3 慢启动 233 21.5 ...

    TCP-TIMEOUT.rar_ tcp timeo_CFG TCP/IP TIMEOUT_TCP 超时_超时三次

    介绍了TCP/IP协议的三次握手,并且解释了传输超时系统的设置。

    TCP/IP select 多路监听

    基于TCP/IP的连接 其中接收端SELECT 超时设置 阻塞 多路监听技术 初学者很适合! 为了初学者多学习,一定要用最低的积分

    TCP/IP详解卷1:协议

    第21章 TCP的超时与重传 226 21.1 引言 226 21.2 超时与重传的简单例子 226 21.3 往返时间测量 227 21.4 往返时间RTT的例子 229 21.4.1 往返时间RTT的测量 229 21.4.2 RTT估计器的计算 231 21.4.3 慢启动 233 21.5 ...

    tcp/ip详解

    tcp/ip详解全书pdf,绝对高清! 1.1 引言 很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但T C P / I P协议 族允许它们互相进行通信。这一点很让人感到吃惊,因为它的作用已远远超出了起初的...

    tcp/ip 卷1

    第21章 TCP的超时与重传 226 第22章 TCP的坚持定时器 245 第23章 TCP的保活定时器 251 第24章 TCP的未来和性能 256 第25章 SNMP:简单网络管理协议 270 第26章 Telnet和Rlogin:远程登录 293 第27章 FTP:文件传送...

    TCP/IP协议详解卷1_017(TCP:传输控制协议)

    对T C P的介绍将由本章开始,并一直包括随后的7章。第1 8章描述如何建立和终止一...第2 1章提供T C P超时及重传的技术细节,第2 2和第2 3章将介绍两种其他 的定时器。最后,第2 4章概述T C P新的特性以及T C P的性能。

    TCPIP详解--共三卷

    第21章 TCP的超时与重传 226 21.1 引言 226 21.2 超时与重传的简单例子 226 21.3 往返时间测量 227 21.4 往返时间RTT的例子 229 21.4.1 往返时间RTT的测量 229 21.4.2 RTT估计器的计算 231 21.4.3 慢启动 233 21.5 ...

    TCP-IP详解卷1:协议

    第21章 TCP的超时与重传 226 21.1 引言 226 21.2 超时与重传的简单例子 226 21.3 往返时间测量 227 21.4 往返时间RTT的例子 229 21.4.1 往返时间RTT的测量 229 21.4.2 RTT估计器的计算 231 21.4.3 慢启动 233 21.5 ...

    TCP-IP详解卷(一协议,二实现,三事务合集

     书中依次全面介绍了ARP、DHCP、NAT、防火墙、ICMPv4/ICMPv6、广播、多播、UDP、DNS等,并详细介绍了可靠传输和TCP,包括连接管理、超时、重传、交互式数据流和拥塞控制。此外,还介绍了安全和加密的基础知识,阐述...

    TCPIP思维导图.pdf

    互联网协议套件(英语:Internet Protocol Suite,缩写IPS)[1]是一个网络通信模型,以及一整个网络传输协议家族,为网际网络的基础通信架构。它常被通称为TCP/IP协议族(英语:...3、重传超时 4、流量控制 5、拥塞控制

    TCP/IP详解卷

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

Global site tag (gtag.js) - Google Analytics