在连接到全局编录服务器期间,[PSH,ACK]在做什么?


14

我的linux服务器正在尝试建立与全局编录服务器的LDAPS连接,并且该连接被丢弃(大概是在GC端)。

出于讨论目的,假设1.1.1.1是Linux服务器,而1.2.3.4是全局编录服务器。

如果尝试telnet在Linux机器上使用,则会看到:

[root@foobox ~]# telnet gcfoo.exampleAD.local 3269
Trying 1.2.3.4...
Connected to gcfoo.examplead.local.
Escape character is '^]'.
Connection closed by foreign host.

在第4行和第5行之间没有延迟。它只是立即断开连接。

我认为telnet结果可能有点误导(因为它实际上不适用于任何类型的安全通信),所以我从设备(使用需要LDAPS的实际程序)收集了实际连接尝试的数据包捕获。

这是我所看到的(再次,IP和源端口已重命名以保护无辜者):

No.     Time      Source     Destination      Protocol    Length    Info
1       0.000000  1.1.1.1    1.2.3.4          TCP         66        27246 > msft-gc-ssl [SYN] Seq=0 Win=5840 Len=0 MSS=1460 SAC_PERM=1 WS=128
2       0.000162  1.2.3.4    1.1.1.1          TCP         62        msft-gc-ssl > 27246 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 SACK_PERM=1
3       0.000209  1.1.1.1    1.2.3.4          TCP         54        27246 > msft-gc-ssl [ACK] Seq=1 Ack=1 Win=5840 Len=0
4       0.003462  1.1.1.1    1.2.3.4          TCP         248       27246 > msft-gc-ssl [PSH, ACK] Seq=1 Ack=1 Win=5840 Len=194
5       0.007264  1.2.3.4    1.1.1.1          TCP         60        msft-gc-ssl > 27246 [RST] Seq=1 Win=64046 Len=0

我对TCP / IP有点生锈,所以请原谅我的无知...我看到数据包1-3中发生了三向握手。那讲得通。数据包4中发生了什么?什么[PSH, ACK]意思 这似乎是多余的确认,没有必要。实际数据正在第4个数据包中发送吗?还是这是握手的某种奇怪的延续?

Answers:


24

PSH是Push标志:http : //ask.wireshark.org/questions/20423/pshack-wireshark-capture

推标志告诉接收者的网络堆栈将数据直接“推”到接收套接字,而不要在这样做之前等待任何其他数据包。

Push标志通常意味着数据已被发送,同时覆盖了内置的TCP效率延迟,例如Nagle的AlgorithmDelayed Acknowledgments

这些延迟使TCP网络的效率更高,但要花费一些延迟(通常大约几十毫秒)。延迟敏感的应用程序不想等待TCP的效率延迟,因此该应用程序通常将其禁用,从而导致在设置了Push标志的情况下尽快发送数据。

在Linux上,这是通过setsockopt()标志TCP_QUICKACK和完成的TCP_NODELAY。请参阅man 7 socket以获取更多信息。


5

@DarkMoon解释了PSH标志的含义。关于您的数据,连接建立完成(3次握手),然后,是的,客户端向服务器发送了194个字节的数据(Len=194)。服务器不喜欢数据,因此关闭了连接。可能是客户端未正确配置为与服务器通信,反之亦然,例如SSL / TLS不匹配。

如果您具有访问权限,建议您检查服务器上的日志,以查看服务器是否记录了有关客户端数据的不满意内容。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.