TCP/IP,可靠数据传输rdt(reliable data transfer)的原理,包排序,停等确认,超时重传,确保传输过程中包的不出错和不丢失
O、信道的不可靠特点决定了可靠数据传输的复杂性,ip层提供的服务并不是稳定可靠的(unreliable data transfer),数据在传输时可能会发生数据出错,丢失的问题,tcp通过多个机制,以传输性能上的部分损耗,保证了数据不会出错丢失等问题,
Rdt的数据交付过程
经过上层调用后,发送方和接收方进入了数据传输的状态,此时讨论在上层调用后和下一次调用前,发送方和接收方在数据交互过程中为了确保数据可靠传输使用的几个机制。
可靠传输的机制:
一、包排序机制sequence
1、发送方从发送缓冲区中拿到一个大的数据奥,将这个大的数据包划分成多个小地数据包并一一编号,
2、编号使用的是int32,然后按序号向网络中推送具有编号的包,
3、发送方和接收方会对自己发送和接收的包的序号与自己等待发送和等待接收的报的序号做对比,确保接收和发送包的顺序。
二、停等机制(stop and wait),等待肯定应答ACK
1、接收方收到一个有序号的小包后,检验该包没有出现差错就将该包放入接收缓冲区,向发送方发送一个带有该序号的ACK作为确认应答,并等待下一个序号的包,如果接收方收到的下一个包的序号不是