У меня возникла проблема во внутренней сети моего учреждения. Я сижу напротив A и пытаюсь подключиться к серверу B в другом городе.
Мои сеансы ssh зависают довольно часто, особенно когда у меня много вывода на экран или страниц вверх / вниз в $ PAGER или окна изменения на экране GNU. В сеансе ssh пересылка X11 слишком медленная, чтобы ее можно было использовать.
Мои сеансы vrdp (с VBoxHeadless) также часто зависают, обычно когда я перетаскиваю окно внутри удаленной гостевой ОС.
Я попытался использовать tcpdump, чтобы выяснить, почему, и заметил, что до зависания отправляется много пакетов с флагом PSH от A, а через некоторое время сразу много пакетов ACK от B.
ping от A до B дает задержку 40 мс, а traceroute дает 4 перехода. wget дает пропускную способность в среднем ~ 50 Мбит / с, но скорость очень нестабильна. Все три маршрутизатора по пути используют Cisco IOS 12.X (обозначены как nmap).
В чем проблема? Как я могу подробнее изучить эту проблему? Любые намеки или идеи приветствуются.
Может быть проблема с mtu (максимальная единица передачи). Если внезапно происходит большой трафик, соединение зависает, потому что один пакет был слишком большим. Это может произойти, если обнаружение пути mtu не работает. Особенно с подключениями DSL, так как накладные расходы pppoe уменьшают mtu. Обычно для устранения проблемы используется ограничение MSS на каналах DSL.
Вы можете протестировать mtu с помощью команды ping: используйте команду ping -s host для отправки команды ping на удаленный хост. Начните с размера 100 и увеличивайте его сотнями до 1500 (нормальный Ethernet MTU).
HTH.
Я согласен, нам неоднократно приходилось корректировать размер MTU, чтобы исправить те же проблемы. 800 - хороший размер для DSL-соединений.
Дэйв