TCP通信的单位是一个报文,TCP报文包括头部和数据部分,头部最少占用20个字节。运用TCP协议进行通信前需要建立连接(三次握手),数据传输完成后,最后需要断开连接(4次握手)。
TCP发送缓存和接收缓存,TCP发送窗口和接收窗口,以及拥塞窗口。
TCP的可靠传输是通过滑动窗口来实现的。TCP的滑动窗口的单位是字节的。
可靠传输
发送窗口中是TCP能够发送的数据和没有已经发送但没有收到确认的数据。发送窗口后沿表示已经发送且已经收到确认的数据,发送窗口前沿表示要发送的数据。发送窗口的越大,表示当接到确认后,能够连续发送的数据越多。发送窗口的大小收到对方接收窗口和拥塞窗口的共同影响。
TCP发送缓冲区有两个作用:
A)用于存储已经发送的,但没收到确认的数据。
B)用于保存应用程序传送给TCP发送缓存的准备发送的数据
接收窗口用于表示现在能够接收的数据。接收窗口后沿表示应用程序能够取走的数据。
TCP接收缓冲区有两个作用:
A)用于存储按序到达,还没有被应用程序取走的数据。
B)用于表示未按序到达的数据。