【C++实习生】每天十道面试题打卡

本文详细介绍了TCP如何保证有序传输,包括序列号/确认应答、超时重传机制,以及TCP的拥塞控制算法如TCP Tahoe/Reno和TCP BBR。还探讨了TCP连接中的超时重传、滑动窗口大小的影响以及TIME_WAIT状态的作用,以防止SYN Flood攻击。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 说说TCP如何保证有序

主机每次发送数据时,TCP就给每个数据包分配一个序列号,并且在一个特定的时间内等待接收主机对分配的这个序列号进行确认,如果发送主机在一个特定的时间内没有收到接收主机的确认,则发送主机会重传此数据包。接收主机利用序列号对接收的数据进行确认,以便检测对方发送的数据是否丢失或者乱序等,接收主机一旦收到已经顺序化的数据,它就将这些数据按正确的顺序重组成数据流,并传递到高层进行处理。

具体步骤如下:

(1)为了保证数据包的可靠传递,发送方必须把已发送的数据包保留在缓冲区;

(2)并为每个已发送的数据包启动一个超时定位器;

(3)如果在定时器超时之前收到了对方发来的应答信息(可能是对本包的应答,也可以是对本包后序包的应答),则释放该数据包占用的缓冲区;

(4)否则,重传该数据包,直到收到应答或者重传次数超过规定的最大次数为止。

(5)接收方收到数据包后,先进行CRC校验,如果正确,则把数据交给上层协议,然后给发送方发送一个累计应答包,表明该数据已经收到,如果接收方正好也有数据要给发送方,应答包也可放在数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0泡果奶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值