为了保证接受的报文段是没有比特差错的,TCP中引入了这三个机制:
①差错检测:也就是引入校验和。在TCP的首部中有一个占据16为的空间用来放置校验和的结果。在源主机的运输层开始接受到一个从应用进程传下来的数据的时候,会将他封装成一个报文段,加上至少20字节的首部。同时会将这个报文段首部和数据还有伪首部部分一起根据取反码和的形式计算出校验和添加到首部中。传输到目的主机的运输层之后,会计算这个通过这个校验和检查是否存在比特差错。
②控制消息:当检测到发生比特差错之后要对发送发进行信息的反馈使得能够根据返回决定是否进行重传。一般理论上会有两种返回一种是肯定的反馈ACK,在TCP中反馈信息是接收到的分许中最后一个字节序号的下一位。一种是否定反馈,但是为了减少网络中的注入分组的数量减少负担取而代之的是通过发送上一个分组的确认信息表明当下这个分组没有正确的接收。
③重传:如果接收方接收到的是一个换掉的ACK或者上一个分组的确认之后意味着要再发一遍这个分许。怎么发后面将分析到。