У меня возникли некоторые проблемы с двумя серверами, которые у меня есть с моим провайдером хостинга VPS, где у меня периодически возникают ошибки подключения.
Я выполнил трассировку локальной сети с сервера и обнаружил, как мне кажется, проблему между балансировщиком нагрузки (предоставляемым хостинг-провайдером), подключенным к серверу.
В трассировке я вижу, что балансировщик нагрузки отправляет SYN, сервер отвечает SYN ACK, а затем балансировщик нагрузки отправляет обратно RST ACK, как показано во фрагменте ниже.
192.168.255.20 - балансировщик нагрузки, а 192.168.173.16 - сервер.
Насколько я понимаю TCP, видеть пакеты RST в трассировке - это плохо, так как это означает, что пакет не распознан, недействительное соединение, сокет не открыт и т. Д. И его соединение прерывается из-за проблемы.
Я запросил это у своего хостинг-провайдера, и они сказали, что это нормально, это просто часть проверки работоспособности TCP между балансировщиком нагрузки и сервером.
Это показалось мне немного странным, я не могу найти ничего конкретного о проверке работоспособности TCP, выполняющей что-то иное, чем обычное TCP-соединение, но я предполагал, что проверка работоспособности так же проста, как открыть соединение с сокетом, а затем закрыть.
Я тестировал это, выполняя трассировку от моего ноутбука до Linux-бокса дома, а затем я вижу, что ноутбук отправляет SYN, получает SYN ACK, ноутбук отправляет обратно ACK. Когда я отключаюсь, я получаю FIN, а затем FIN ACK от каждого устройства, чтобы закрыть соединение. Это то, что я ожидал увидеть от балансировщика нагрузки.
Я снова запросил это у своего хостинг-провайдера, и они вернулись со следующим утверждением:
Важным пакетом в проверке работоспособности TCP является «SYN ACK», приходящий от внутреннего узла. «RST ACK» просто сбрасывает соединение, как только серверный узел демонстрирует, что протокол TCP активирован и отвечает пакетом «SYN ACK».
Это проверка работоспособности, а не соединение как таковое.
Это звучит правильно, поскольку я ничего не вижу о конкретных проверках работоспособности TCP и о том, что в этом случае ожидается пакет RST.
Спасибо