TCPPSH如何工作?

TCPPSH如何工作?

问题描述:

PSH是一种通过TCP发送数据的方式。除此之外,我可以找到关于如何正确实施的信息。TCPPSH如何工作?

这里是我感兴趣:

  1. 比方说,服务器窗口是8000个字节,我送2个请求150个600字节。我是否得到某种确认已收到数据?我能以某种方式触发确认吗?

  2. 我见过一些ACK包,它不包含PSH但包含某种有效负载数据(Wireshark将其标记为“TCP段数据”)。这些数据是否传递给用户,如果是这样,为什么我们需要PSH标志?

TCP PSH一般不 '工作' 的。 Berkely派生的TCP实现完全忽略它。来源:史蒂文斯第一卷。

+0

是否意味着所有的有效载荷数据应该交付给最终用户,包括没有PSH标志的发送的数据? –

+0

@ArsenZahray是的。无论PSH标志如何,所有的数据直接进入套接字接收缓冲区。 – EJP

@Arsen:回答你的问题的第二部分“为什么我们需要PSH的标志? TCP标头中的PSH标志通知接收主机应立即将数据推送到接收应用程序。 我们使用PSH标志在两台服务器之间交换Time Stamp值。

我假设,如果我们设置推送标志,包不会在接收缓冲区中等待,它会直接发送给接收方。

+0

如何?应用程序需要发布一个读取,在这种情况下,转移将会发生。 PSH标志对此没有任何影响。 – EJP