На стороне клиента приложение sftp отправляет пакет на порт 22 ssh-сервера.
SFTP-приложение отправляет пакет в TCP, из эфирного захвата мы видим, что
отправка пакета sftp из приложения в TCP и отправка TCP в пакет на сервер, но TCP не получил TCP ACK от сервера, поэтому TCP снова отправляет пакет через несколько секунд, но по-прежнему не отвечает от сервера.
Похоже, что сервер не получил пакет от клиента.
ожидание клиента SFTP в режиме выбора для TCP recv с тайм-аутом 120 секунд
через 120 секунд приложение получит тайм-аут от выбора и закроет операцию SFTP
с ошибкой тайм-аута.
В перехвате я могу видеть пакет повторной передачи TCP много раз, но не могу получить ACK TCP сервера.
Сценарий:
1. Тайм-аут случается только иногда.
2. После этой проблемы следующий SFTP opration [upload] успешно с тем же сервером.
3. Кажется, сеть не имеет проблем, потому что следующая загрузка работает нормально.
4. и клиент, и сервер имеют ОС SOLARIS
5. мы не можем воспроизвести это в нашей лаборатории
6. Эта проблема возникает только в реальной сети клиентов.
7. Приложение на языке Си. Сервер SSH - открытый сервер SSH.
Я хочу знать:
1. Как мы можем найти причину, по которой TCP не получает ACK повторного запроса с сервера.
2. Являются ли какие-либо настройки системы TCP в Solaris причиной этой проблемы.
3. Пожалуйста, предоставьте любую информацию, чтобы мы могли решить эту проблему.