TCP的可靠传输
因特网的网络层服务是不可靠的
TCP在IP的不可靠的:尽最大努力服务的基础上实现了一种可靠的数据传输服务
TCP采用的可靠传输机制:差错检测、序号、确认、超时重传、滑动窗口等
互联网环境中端到端的时延往往是比较大的:采用基于流水线方式的滑动窗口协议
TCP的序号与确认
当ACK=1时确认号字段才有效
累计确定,对确认号之前所有字节的数据的确认
若延迟确认期间又有数据到达,则立即对这两次到达数据进行累积确认
TCP的滑动窗口
为了提高传输效率,TCP采用滑动窗口协议
但与GBN不同的是,TCP发送窗口大小的单位是字节,而不是分组数。TCP发送方已发送的未被确认的字节数不能超过发送窗口的大小
TCP的发送窗口和接收窗口的大小在通信过程中会根据情况动态变化
TCP可靠传输的基本要点
序号与窗口以字节为单位;
采用的是累积确认,仅对按序到达的数据进行确认;
双向通信时,在发送数据时可以向对方进行“捎带”确认;
对不按序到达的数据通常是先放在缓存中,等到齐后,再进行确认并按序交付上层;
收到接收窗口之外的数据,丢弃,并对之前按序到达的数据进行确认;