在了解了TCP的面向连接传输之后我们讲解TCP的可靠传输相关的机制和面向字节流传输
一,TCP的可靠传输
- 可靠应答机制
- 超时重传机制
- 报文中的序号和确认序号
可靠应答机制
就是在每次发送数据或者请求之后对方都要回复一个应答信号,告知信息已经完整的接收到了
超时重传机制
在一段发送数据给另一端之后,可能因为网络拥堵的原因或者其他原因数据无法到达另一端,在一定的时间没有收到对方的确认应答,就会进行重新发送
报文中的序号和确认序号
报文中的序号和确认序号是保证数据的正确性和有序性,在发送的数据中可能不是按照书序到达的,在序号和确认序号来及逆行排序就能进行重新按照正确的顺序进行排序。
因为TCP为了实现可靠传输牺牲了部分常熟性能,并且有可能确认应答丢失就要重新传输数据,因此又提出几种机制来避免大量的丢包以及ACK丢失重传保证性能
滑动窗口机制
TCP通过双方协商窗口大小进行流量控制,避免因为缓冲区不够而导致丢包重传。通过协商,一次可以对多传输多条数据,之后然后等待确认应答,不需要一一停留。
- 窗口大小指的是无需等待确认应答可以继续发送数据的最大值,上图中就是4000个字节(分为四次发送)
- 发送前四个段的时候不需要等待任何的ACK,直接发送
- 收到第一个ACK之后华东窗口向后移动,继续发送的五