Удаленная система через спутниковую связь

У меня есть удаленная система, которая доступна только по спутниковой связи. Задержка составляет порядка 2000 мс, а пропускная способность - в бит / с. У меня проблемы с пониманием, как администрировать систему. Мой метод устранения неисправностей по умолчанию заключается в том, чтобы войти в SSH и ткнуть в логи, но здесь это не работает. Как я должен управлять этой системой?

2 ответа

Во-первых, 2000 мс довольно нетипично для спутниковой связи (я работаю в компании VSAT). Типичное время прохождения сигнала туда и обратно для спутниковых каналов GEO составляет ~650 мс. Во-вторых, вы столкнулись с проблемой фундаментального дизайна TCP. Оконная. По сути, TCP имеет встроенный таймер, который, когда / если он не получит ответ в течение определенного периода времени, снизит пропускную способность TCP-соединения, чтобы уменьшить количество повторных передач и потерянных пакетов. Поскольку время приема-передачи очень велико, оно довольно быстро уменьшает пропускную способность TCP-соединения, до нескольких сотен кбит / с или даже до нескольких кбит / с... или даже хуже.

Единственное исправление заключается в реализации какого-либо TCP Spoofing или UDP-прокси для TCP-соединений. Это требует какого-то устройства на обоих концах, которое будет перехватывать сеанс TCP, а затем ретранслировать трафик через спутниковый канал (обычно через туннель UDP), который затем устанавливает 2-й канал TCP к конечной точке. Работа с окнами не становится проблемой, потому что оба конца ссылки получают свои SYN и ACK очень быстро. Некоторое программное обеспечение для туннелей позволяет предварительно настроить пропускную способность канала или попытаться определить доступную пропускную способность, а также заставит конечные точки регулировать свои каналы, как ожидается, для доступной пропускной способности.

В некоторых случаях вы можете вручную настраивать фиксированные размеры окон в самой операционной системе, но обычно это намного больше головной боли, чем стоит.

Вы можете попробовать использовать mosh вместо ssh - с локальным эхом и поддержкой прерывистой связи, это должно сделать процесс более терпимым.

Другие вопросы по тегам