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

了解TCP握手后ACK消息的作用,tcp,packet,tcp-ip,ipv4,handshake,Tcp,Packet,Tcp Ip,Ipv4,Handshake,TCP握手需要ACK消息。然而,我读过一些文章,其中解释了在实际数据传输过程中ACK消息的另一种外观;发送方需要等待来自接收方的ACK消息指示要发送的以下字节。对吗?有人能解释一下为什么我们也叫它ACK消息吗?TCP是一种基于无连接网络IP的面向连接的协议。因此,要有连接的概念,每一端必须确认从另一端接收到的数据。这是通过ACK消息(或确认消息)实现的。为了使TCP正常工作,需要确认每个传输的字节(只有这样它才是面向连接的协议)。然而,请注意,这并不意味着发送的每个数据包都需要回复一条确认消息。

TCP握手需要ACK消息。然而,我读过一些文章,其中解释了在实际数据传输过程中ACK消息的另一种外观;发送方需要等待来自接收方的ACK消息指示要发送的以下字节。对吗?有人能解释一下为什么我们也叫它ACK消息吗?

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

是的,这是正确的。ACK用于确认。TCP保证消息被传递,因此ACK与UDP相反。@Marco TCP有字节,而不是消息,它保证字节被完整、有序、一次性地传递,或者根本不传递。天堂或地球上没有任何力量可以保证传递。@EJP如果你想达到那个水平,那么TCP传输比特,TCP确实保证消息传递……你的评论是无用的。。。谢谢你的回复,这里有很多错误。面向连接的协议由启动和终止握手来定义,而不是由协议中是否存在ACK来定义。存在基于NACK的协议。并非每个字节在TCP中都被明确确认。启动和终止是“显式连接建立”。您的意思是说,对于面向连接的协议,启动/终止握手和不需要中间确认就足够了吗?另外,我并不是说基于NACK的协议不可能存在,这是TCP的一个非常特殊的情况,所以基于ACK的机制就足够了。请仔细阅读-我已经说过-'最终'发送的每个字节都需要确认,那么关于这一点的错误在哪里?