Я хочу измерить задержку одного сервера от получения пакета запроса TCP до отправки пакета ответа TCP. Обратите внимание, что это отличается от обычной задержки в оба конца или в одну сторону, потому что я хочу исключить время, проведенное в дороге и на другой стороне сети. Базовая настройка теста следующая: send
и recv
- стандартные функции сокетов.
Сервер ожидает запроса от клиента, используя recv
. Он посылает ответ с помощью send
сразу после recv
успешно возвращает. Размер пакетов составляет всего 1 байт. Во время этого теста я использую Wireshark для захвата всех пакетов между сервером и клиентом. Меня интересует задержка - это время между сетевой картой сервера, получающей пакет запроса и отправляющей пакет ответа. Так что я просто использую разницу временных меток двух пакетов, как показано в Wireshark, чтобы измерить эту задержку.
Вопрос: влияет ли кабель (беспроводной, 100 Мбит /1000 Мбит /10 Гбит Ethernet, оптический и т.д.) Между сервером и клиентом на вышеуказанную задержку? Моя интуиция заключается в том, что, поскольку временные метки берутся после того, как пакет достигает сетевой карты, и до того, как пакет покидает сетевую карту, кабель не должен иметь значения. Но я не знаю, повлияет ли скорость кабеля на поведение сетевого адаптера и, соответственно, на задержку.