Я использую NPing (инструмент проверки связи NMap) для измерения задержки на определенных серверах, которые могут не отвечать на ICMP. Кроме того, серверы обычно не используют HTTP (S), и я проверяю задержку только на определенном TCP-порту, связанном с игрой counter-strike.
Я всегда пробую ICMP, TCP и TCP-Connect и выполняю их отдельно. Мой метод:
nping --icmp dstip -p dstport
)nping --tcp dstip -p dstport
)nping --tcp-connect dstip -p dstport
).По моей интуиции, ожидаемое поведение должно быть
ICMP latency >= TCP-Connect latency >= TCP latency
На самом деле происходит то, что
ICMP latency >= TCP latency >>> TCP-Connect latency
(где >>> означает "намного больше")
Чтобы дать вам представление, на одном сервере ICMP дает тайм-аут, TCP обходится 180ms
, а TCP-Connect выдает только 3ms
.
Есть идеи, почему это могло произойти?
РЕДАКТИРОВАТЬ1: The tcptraceroute
инструмент также дает мне 3ms
. Оба очень близки и подключаются через IXP. Увидеть ниже:
~$ sudo tcptraceroute dstip dstport
Selected device ens3, address 172.16.1.6, port 58803 for outgoing packets
Tracing the path to dstip on TCP port dstport, 30 hops max
1 my_localip (172.16.1.6) 0.139 ms 0.131 ms 0.155 ms
2 my_isp_globalip 0.288 ms 0.233 ms 0.264 ms
3 my_isp_bordergw 1.855 ms 0.311 ms 0.257 ms
4 IXP_router_name (IXP_router_ip) 0.570 ms 0.420 ms 0.482 ms
5 dst_bordergw 2.820 ms 2.967 ms 3.145 ms
6 dst_internalrouter 2.736 ms 3.665 ms 2.331 ms
7 dstname (dstip) [open] 3.095 ms 3.088 ms 3.145 ms
Тем не менее ... Почему режим TCP NPing дает такую долгую задержку?
РЕДАКТИРОВАТЬ2: В соответствии с tcpdump
, в режиме TCP приходит ответ TCP Syn 3 to 6ms
. Так зачем NPing сообщать мне 180ms
задержка?
Данные: https://pastebin.com/v4mgacTR