TCP

TCP头

tcp_header

连接维护

三次握手

tcp_connect_workflow
三次握手的目的是让客户端和服务器端都知道对方的收、发是正常的。第一次:服务器知道客户端发正常。第二次:客户端知道服务器收、发都正常。第三次:服务器知道客户端收也正常。

四次挥手

tcp_disconnect_workflow
需要四次挥手是因为服务器知道客户端要断开连接后,不一定可以向建立连接时用一个包发送ACK和SYN一样也同时发ACK和FIN,因为服务器端可能还有数据包要发送,所以要等数据包发完之后才能再发FIN包。

累计应答机制

为了处理顺序问题以及丢包问题,首先每个TCP包都有一个编号,并用发送和接收缓存来记录。每一个包都需要接收方发送ACK包进行确认,如果发生丢包就会重发。有超时重传机制和快速重传机制(发送三个ACK包含下一个期望的包序号)。
send_buffer
receive_buffer

流量控制

接收方返回的ACK包中包含接收窗口大小,来通知发送方控制发送速度。

拥塞控制

通过拥塞窗口控制发送速度。拥塞窗口初始值为1,然后指数增长到ssthresh,变为线性增长。如果通过快速重传算法检测丢包,就将拥塞窗口变为当前值的一般,令ssthresh等于新的拥塞窗口,然后开始线性增长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值