保证稳定性的机制有:
1.校验和(authentication sum) 就是说咋数据传输的过程中 将发送的数据段映射为一个整数,然后加起来。发送方在发送数据之间计算校验和,然后接收方对收到的数据重新计算,与发送方进行对比。
2.TCP传输时将每个字节的数据都赋予了序列号(sequence number),每次发送端发送数据,接收方会回一个ack报文,报文里面会带有确认序列号。然后发送方就知道哪些数据已经被接收,下次数据从哪里开始发送。如果有丢包,就重发。
3. 而且针对丢包,TCP还有一种机制,叫超时重传(resend the package if timeout),就是说发送方发完包没有得到回应,过段时间就会自动重新发送。
4.当网络阻塞的时候,传输的稳定性就很差,所以TCP有拥塞控制(flow control),就是用滑动窗口来来动态的控制每次发送的数据量。窗口的大小怎么设置?窗口的大小就是在无需等待确认包的情况下,发送端还能发送的最大数据量。
顺口溜:
校验和,序列号,超时重传拥塞控