Joh*_*ohn 1 networking tcpip tcp
任何数据丢失都会被检测到并自动纠正,这就是 TCP 也被称为可靠协议的原因。
换句话说,
传输层负责从源主机到目的主机无差错、端到端的数据传输。
TCP 确实保证是可靠的传输。提出了一个问题,在应用层回复接收到的消息(在 TCP 上传输)告诉发送者消息已经成功接收是多余的(或无用的,对不起我的英文不好)?
这不是多余的。TCP 只关心两个系统之间的传递,而不关心两个应用程序之间的传递。成功接收数据后发送 ACK。然后将数据包的有效载荷放入接收方应用程序的套接字缓冲区中。因此,在应用程序读取有效载荷(从套接字缓冲区)之前,特别是在它处理有效载荷之前,例如根据处理的有效载荷对数据库进行更改之前,发送 ACK。
因此,如果客户端在应用程序级别获得某种确认,则它只能知道应用程序已成功处理了有效负载。不过,这不需要是明确的确认——简单地发回响应可能就足够了。细节取决于应用协议的语义。
归档时间: |
|
查看次数: |
102 次 |
最近记录: |