引言
网络层的作用是尽最大努力交付,是不可靠的,传输层要做到可靠,可以使用TCP。TCP是可靠传输,可靠指的是保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的。TCP实现可靠传输的机制有校验、序号、确认和重传。
校验
增加伪首部,二进制反码求和。
序号
TCP是面向字节流,一个字节占一个序号。但是在发送的时候是将多个字节组成一个报文段发送,报文段大小不定,最大取决于数据链路层的MTU(最大传输单元),报文段的序号就是报文段第一个字节的序号。
确认
基于序号机制,接收方接收到某个报文段后,会发送给发送方一个确认号,一般采用累积确认的方式。
重传
超时重传:发送方在规定时间内没有收到确认就要重传已发送的报文段。TCP采用自适应算法RTTs(加权平均往返时间),动态改变重传时间。
快速重传:发送方收到冗余确认,判断报文段丢失。