900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > TCP流量控制和拥塞控制基本思想

TCP流量控制和拥塞控制基本思想

时间:2023-05-25 07:19:20

相关推荐

TCP流量控制和拥塞控制基本思想

TCP超时重传 基本概念 TCP流量控制(滑动窗口)TCP拥塞控制 慢开始和拥塞避免快重传和快恢复

TCP超时重传

查看某一机器上的某一端口是否可访问

telnet ip port

抓取网卡某端口上的包

tcpdump -ieth1 'port 21'

其中,eth1是网卡名称,可通过ifconfig查询到本机的网卡名称。

基本概念

RTO 重传超时时间(retransmission timeout)

指,从发一个包t1,到未收到该包ack重传包t2,之间的时间差t2-t1.

- 设长了,重传慢,效率低,影响传输性能

- 设短了,重发太快,会增加网络拥塞,导致更多的超时,更多的超时导致更多的重发。

所以,TCP最后采用的是自适应算法调节RTO。其关键是:对于当前RTT的准确估计,并适时调整RTO。

RTT(Round Trip Time)传输往返时间

指,发送端从发送TCP包开始到接收它的立即响应所耗费的时间。

TCP流量控制(滑动窗口)

作用:一、提供TCP的可靠性;二、提供TCP的流控特性

位置:在TCP的头部:16bit窗口大小和TCP选项。其中,选项可使得窗口扩大一倍。

滑动窗口包含:发送窗口和接收窗口。

发送端的窗口控制即为发送窗口,对应为接收窗口。

发送缓存内的数据包含4类:

- (1) 已经发送并得到对端ACK

- (2)已经发送未得到对端ACK

- (3)未发送但对端允许发送

- (4)未发送且对端也不让发送

其中,发端窗口控制的就是:(2) (3)

发送窗口的移动也是建立在确认重传机制的,从而保证TCP的可靠性。移动原则:

收到对端对本段发送窗口内字节的ACK

可把TCP滑动窗口的过程,想象为水池的入口和出口控制,窗口就是一个水池。

TCP拥塞控制

TCP拥塞控制包括四个核心算法:

- 慢开始(slow start)

- 拥塞避免(congestion voidance)

- 快重传(Fast Retransmit)

- 快恢复(Fast Recovery)

总原则:拥塞窗口的变化为加法增大、乘法减小

慢开始和拥塞避免

慢开始的主要思想:一开始不发送大量的数据,而是从小到大的逐渐增加拥塞窗口的大小,从而试探网络的拥塞程度。

拥塞避免的主要思想:即每经过一个往返时间RTT就把发送方的拥塞窗口cwind加 1。

具体步骤:

(1) TCP连接初始化,cwind置1.

(2)cwind < ssthresh, 使用慢开始算法,cwind 指数规律增长。(y = 2x)

(3) cwind = ssthresh,使用拥塞避免算法此时,cwnd按线性增长。

(4) 当网络发送拥塞是,ssthresh更行为以前的一半,且cwnd重新设置为1。开始执行(2)

其中,cwind是拥塞窗口,ssthresh是慢开始门限。

快重传和快恢复

快重传的思想:接收方收到一个失序的报文段就立即发出重复确认发送方连续收到3重复确认就立即重传对方尚未收到的报文段,而不用等重传计时器的时间。

快恢复和快重传搭配使用。

快恢复的思想:发送方收到3个重传确认时,立即执行“乘法减小”算法,即ssthresh门限减半(1/2)。接下来,并不执行慢开始算法(cwind置1),而是将cwind置为ssthresh,然后执行拥塞避免算法

参考:徐晓鑫 后台开发:核心技术与应用实践

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。