TCP/IP 笔记

本文详细介绍了TCP/IP的连接过程,包括三次握手与四次挥手,以及数据交互中的Nagle算法、滑动窗口、超时重传、拥塞控制策略。重点解析了慢启动、拥塞避免、快速重传与恢复的机制,同时讨论了TCP如何处理失序报文段和使用读写缓冲区进行高效通信。
摘要由CSDN通过智能技术生成

TCP/IP笔记

建立连接,三次握手

​ 建立连接过程就不说了。

​ ACK是在上一个收到的SYN序列号上加一之后进行回复的。如果出现了乱序或丢包的情况,会重复发送最后一个正确收到的报文段的SYN+1的值。如果发送方连续两次收到重复的ACK可以认为是乱序,而连续三次收到重复的ACK,则认为是丢包的可能性更大,此时会启动快速重传和快速恢复的算法。

断开连接,四次握手

​ 发送 FIN 是TCP底层的动作,而原因是应用层调用关闭。主动关闭方 FIN_WAIT1 -> FIN_WAIT2 -> TIME_WAIT 的状态变换 。

​ 半关闭连接:TCP允许一端关闭写数据,而只接受另一端的读。

​ 2MSL的等待时间:防止的最后一次的ACK超时重传。在收到被动关闭方的FIN的时候,进入TIME_WAIT的同时会启动一个定时器。

交互数据流
Nagle 算法

​ 一般用于交互数据流,在广域网中传递数据的时候,可以将多个小的数据包积攒起来一起发送,提高网络的I/O效率。类似于single-flight,TCP选项中可以使用 NO_DELAY 来关闭。

成块数据流
滑动窗口

​ 接收方用于控制流量的一种方式,为了适配接收方的处理能力。只有窗口值不为0 的时候,发送方才可以发送数据。而数据的发送和确认都会导致窗口的左边右移,即窗口变小,接收方收到数据并处理完会导致窗口右侧右移,即窗口变大。

​ 注意在窗口为0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值