了解TCP握手后ACK消息的作用



TCP握手需要ACK消息。但是,我读过一些文章,它们解释了实际数据传输时ACK消息的另一种外观;发送方需要等待接收方的ACK消息表明要发送以下字节。对吗?有人能解释一下为什么我们也称它为ACK消息吗?

TCP是在无连接网络IP上面向连接的协议。因此,要有连接的概念,每一端都必须承认从另一端接收到的数据。这是通过ACK消息(或确认消息)实现的。为了使TCP正常工作,每个传输的字节都需要被确认(只有这样它才会是一个面向连接的协议)。但是,请注意,这并不意味着发送的每个数据包都需要回复确认消息。需要的是"最终"所有发送的数据都被确认。回复每个发送的数据包将严重影响吞吐量,因此通常发送方可以继续发送消息,而保留一定数量的未确认数据。这被称为TCP窗口。它比这个简单的解释要复杂得多,大多数TCP的复杂性来自于——试图保持一个窗口,以使吞吐量(以字节/秒为单位)最大化。网上可能有很多资源。我强烈建议阅读"TCP/IP图解-第1卷",以便更好地理解IP网络和TCP。

最新更新