先说结论:
- 确认和重传:接收方收到报文就会确认,发送方发送一段时间后没有收到确认就重传。
- 数据校验
- 数据合理分片和排序:
- 流量控制:当接收方来不及处理发送方的数据,能降低发送方的发送速度,防止包丢失。
- 拥塞控制:当网络拥塞时,减少数据的发送。
具体分析:
-
确认和重传(Acknowledgment and Retransmission):
- 确认:当接收方成功接收到一个数据报文(或称为数据包、帧等)后,它会向发送方发送一个确认报文,以告知发送方数据已成功接收。
- 重传:发送方在发送数据后等待接收方的确认。如果在一段时间内没有收到确认(可能是由于网络延迟、丢包等原因),发送方会重新发送该数据报文,这就是重传。重传机制可以确保数据的可靠性传输。
-
数据校验(Data Checksum):
- 数据校验是一种检查数据在传输过程中是否发生错误的方法。发送方会为每个数据报文计算一个校验和(或称为校验码、校验值等),并将其附加在数据报文上。
- 接收方在收到数据报文后,会使用相同的算法重新计算校验和,并与发送方附带的校验和进行比较。如果两者一致,则数据很可能在传输过程中没有发生错误;如果不一致,则数据可能已损坏,需要进行错误处理(如请求重传)。
-
数据合理分片和排序(Data Fragmentation and Sequencing):
- 分片:当要发送的数据包太大,不适合整个网络或某个特定的传输层协议时,发送方会将其分割成多个较小的数据包进行传输。每个数据包都是原始数据的一部分,称为分片。
- 排序:接收方在接收到分片后,需要按照原始数据的顺序重新组合它们。这通常是通过在每个分片中附加一个序列号来实现的,接收方可以根据这些序列号对分片进行排序和重组。
-
流量控制(Flow Control):
- 流量控制是一种机制,用于防止发送方发送数据过快,导致接收方来不及处理。当接收方的缓冲区已满或处理能力受限时,它会向发送方发送一个信号,告知其减慢发送速度或暂停发送。
- 流量控制可以防止数据丢失和接收方资源的过度使用。
-
拥塞控制(Congestion Control):
- 拥塞控制是一种机制,用于防止过多的数据同时进入网络,导致网络拥塞和性能下降。当网络出现拥塞时,发送方会采取措施减少数据的发送速度或数量,以减轻网络的负担。
- 拥塞控制通常与流量控制结合使用,以确保网络的稳定和高效运行。