TCP的几大模块:分段与流,滑窗,连接,流量控制,重新发送,堵塞控制。
1、checksum:在发送TCP报文的时候,里面的信息可能会因为环境的问题,发送变化,这时,接收信号的时候就需要通过checksum,进行校验,一般处理:如果没问题的话,就接受,有问题的话就丢弃。
2、超时重传机制:接收端在接受一个到一个TCP包的时候会返回一个ack,如果发送端接收到了这个ack就知道接收端顺利接收到了原先的TCP包;反之在一段时间内(这个计时等待的时间叫做重新发送超时时间(RTO, retransmission timeout)) 说明没收到,发送端会再重新发送。
3、快速重新发送:比如接收到乱序片段9的时候,接收方需要回复ACK。回复号为8 (7+1)。此后接收方如果继续收到乱序片段(序号不是8的片段),将再次重复发送ACK=8。当发送方收到3个ACK=8的回复时,发送方推断片段8丢失。即使此时片段8的计时器还没有超时,发送方会打断计时,直接重新发送片段8,这就是快速重新发送机制。
4、拥塞控制:慢启动和拥塞避免。