通过TCP报文中的标志位和序号区分字节流是否发送完毕
TCP字节流的基本概念和机制12
TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP中,数据传输是以字节流的形式进行的,这意味着数据没有固定的数据包大小限制,可以连续不断地发送数据。
通过TCP报文中的标志位和序号区分字节流是否发送完毕
TCP报文中的标志位和序号用于区分字节流是否发送完毕。具体来说:
例如,在三次握手过程中,客户端发送SYN=1 ACK=0的报文请求连接,服务器回复SYN=1 ACK=1的报文确认连接请求,客户端再回复ACK=1的报文确认连接建立。当数据传输完毕后,发送方发送FIN=1的报文通知接收方没有更多数据发送,接收方回复ACK=1的报文确认连接关闭。
TCP滑动窗口机制
为了更高效地传输数据,TCP引入了滑动窗口机制。滑动窗口以字节为单位,允许在不等待确认的情况下连续发送多个数据包。发送方和接收方都有自己的发送窗口和接收窗口,窗口的大小由接收方的接收缓冲区大小决定。发送方在发送数据时,会根据接收方的确认信息动态调整窗口大小。
通过这些机制,TCP能够有效地管理和控制字节流的传输,确保数据的可靠传输和高效利用网络资源。
来源参考:
1就3张图,直接搞懂TCP的11种状态!搜狐
2TCP协议详解CSDN博客