← Блог

Полевой отчёт

Вылеты 08:41
Время Рейс Направление Примечания

Одиннадцать часов над Атлантикой

Кресло 24B смотрит фильм, который видело трижды. Кресло 24C просматривает четыре сервера в том же Wi-Fi. Разница не в соединении — а в том, что каждый из них поставил на другом его конце.

§1 Два кресла, один спутник

Одиннадцать часов, Нью-Йорк — куда-то на восток. Свет в салоне гаснет до янтарного. Кресло 24B открывает экран в спинке переднего сиденья, пролистывает каталог из четырёхсот наименований и выбирает фильм, который уже видело трижды. Это не упрёк. Это самое разумное, что можно сделать с одиннадцатью часами в герметичной алюминиевой трубе, и большинство из нас так и делали.

Кресло 24C достаёт телефон.

кресло 24b

19:04 play — фильм, 118 мин

21:02 play — фильм, снова

23:10 idle — в салоне темно

05:41 wake — снижение

кресло 24c

19:04 attach — 4 сессии, 1 сетка

21:02 merge — три ветки

23:10 green — падавшие тесты зелёные

05:41 kick — зависшая задача перезапущена

Оба кресла — в одном и том же Wi-Fi. Оба на одной высоте над землёй. К моменту касания полосы одно посмотрит фильм, который и так знало наизусть, а второе сольёт три ветки, починит падающий набор тестов и перезапустит зависшую задачу на машине в четырёх тысячах миль отсюда.

Интересно не то, что так можно. Интересно, почему так можно — и почему очевидный подход, тот самый, который большинство пробует однажды и бросает где-то над Гренландией, не работает вовсе.

Тот же самолёт, та же антенна, тот же плохой Wi-Fi. Разница целиком в том, что вы поставили на дальнем его конце.

§2 Что на самом деле у вас над головой

Под словом «Wi-Fi» авиакомпания может иметь в виду две радикально разные вещи, и от того, какая из них привинчена именно к вашему фюзеляжу, зависит всё дальнейшее.

Старая схема — геостационарный спутник, припаркованный на 35 786 км. Эта высота выбрана не ради вас: это ровно то расстояние, на котором виток занимает двадцать четыре часа, так что спутник кажется висящим неподвижно. Следствие — арифметика, с которой не поспорит никакой инженерный бюджет: вверх и обратно вниз, дважды, — это 477 мс кругового пути для самого света, ещё до того, как в дело вступит хоть один маршрутизатор.

Новая схема — низкоорбитальная группировка примерно на 550 км: в шестьдесят пять раз ближе и 7,3 мс распространения туда и обратно.

GEO 35 786 км 477 мс света LEO 550 км 7,3 мс света кресло 24C, 11 000 м
Не в масштабе — всё, где есть 35 786 км, в масштабе не бывает.

Замеры в воздухе сходятся с физикой. Анализ бортовых тестов скорости Ookla за I квартал 2025 года дал медианное время кругового пути 44 мс на Starlink против 703–757 мс на Hughes, Intelsat и Viasat — разрыв примерно в шестнадцать раз. Другая команда, снявшая телеметрию с реальных устройств в 25 рейсах 7 авиакомпаний для ACM IMC 2025, независимо получила ту же картину: меньше 40 мс на LEO, больше 550 мс на GEO.

GEO — Hughes / Intelsat / Viasat, медиана703 мс
LEO над Тихим океаном — медиана дальних рейсов62 мс
LEO — Starlink в полёте, общая медиана44 мс

Столбцы в едином линейном масштабе. Источник 1.

Для дальнего рейса через океан честная цифра чуть хуже заголовочной. То же исследование намерило медиану 62 мс над Тихим океаном при разбросе 19–86 мс. Именно её и стоит держать в голове. Это всё ещё отлично. Но это не 44.

§3 Ложка дёгтя

Здесь пост в блоге на сайте продукта обязан сообщить, что будущее наступило.

Наступило оно неравномерно, и самолёт, до которого оно добралось последним, — ваш.

Узкофюзеляжные переоборудуют первыми: их много, они быстро оборачиваются и летают короткими внутренними рейсами, где никто не пытается делать что-либо одиннадцать часов подряд. Широкофюзеляжные, которые как раз и пересекают океаны, стоят в очереди последними. К середине 2026 года у United было больше 400 бортов со Starlink и ожидалась почти тысяча к концу года — но широкофюзеляжных среди них было лишь около шестидесяти, первый трансатлантический рейс широкофюзеляжного борта со Starlink (Ньюарк — Хитроу) состоялся только в июне 2026 года, а весь широкофюзеляжный флот обещают не раньше лета 2027 года. Virgin Atlantic закончила со своими двенадцатью A350 — это около 28% её широкофюзеляжного флота, — а 787-е запланированы на вторую половину 2026 года, A330neo — на 2027-й.

United ≈60 широкофюзеляжных летают со Starlink из 400+ оборудованных бортов. Остальной широкофюзеляжный флот — не раньше лета 2027 года.
Virgin Atlantic 12 из ~43 широкофюзеляжных готовы — около 28 процентов. 787-е идут во второй половине 2026 года, A330neo — в 2027-м.

Источники 5 и 6. Оставшиеся широкофюзеляжные United — к лету 2027 года; у Virgin 787-е во второй половине 2026-го, A330neo — в 2027-м.

Итак: если вы читаете это на межконтинентальном рейсе в 2026 году, шансы всё ещё против вас. Скорее всего, у вас канал на 700 мс, а не на 62.

Что делает остаток текста полезнее, а не бесполезнее.

Ваш самолёт обновят последним. Планируйте на 700 мс и радуйтесь, если окажется 62.

§4 Почему фильм работает, а терминал — нет

$ time echo "a" | ssh shed 'cat' # целая сессия, чтобы передвинуть один символ

Фильм и оболочка ломаются в противоположные стороны, и бортовой Wi-Fi — ровно та сеть, которая не подходит одному из них.

Фильм — это задача про полосу пропускания, которой безразлична задержка. Он буферизуется. Если первый кадр придёт на 700 мс позже, никто не заметит: в этом опыте ничто не зависит от того, реагирует ли фильм на вас. Нажали play, подождали, смотрите. Круговой путь случается один раз.

Интерактивная оболочка — зеркальная противоположность. Полосы ей почти не нужно: сессия терминала измеряется в килобитах, а не в мегабитах, — но она платит круговым путём за каждое нажатие клавиши, эхо которого вы ждёте на экране. На 700 мс это уже не «медленное соединение». Это разговор с паузой в две трети секунды после каждого символа.

Вот здесь люди и ошибаются. Видят «50 Мбит/с» на бортовом портале, делают вывод, что связь нормальная, открывают терминал — и обнаруживают, что «нормальная» тут вообще ни при чём. Валюта здесь не полоса. Валюта — круговые задержки.

§5 Что ломается на самом деле (нет, не набор текста)

Поломка конкретнее, чем «как-то подтормаживает», и исследования на удивление ясно показывают, куда именно приходится боль.

В контролируемом эксперименте с 31 участником, где сравнивали 20 мс и 200 мс сквозной задержки ввода, скорость набора почти не сдвинулась: 290,9 мс на символ против 302,7 — разницу авторы не смогли назвать значимой. Доля ошибок совпала.

Schmid et al., MUM '23 — n = 31, задержка ввода 20 мс против 200 мс

задача20 мс200 мсвердикт
набор / символ290,9302,7не знач.
исправление текста38,9 с46,5 с+20%
раздражение20,931,3p=0,004

А вот задача исправления — переставить курсор стрелками и поправить текст, то самое, чем вы реально заняты в редакторе, — выросла с 38,9 до 46,5 секунды, примерно на 20% медленнее, с очень большим размером эффекта (p < 0,001, d = 1,673). Механизм авторы формулируют прямо: во время навигации приходится всё время ждать экрана, потому что от того, куда попал курсор, зависит следующее действие.

Субъективная нагрузка выросла даже там, где скорость не упала. В задаче набора, где результат статистически не изменился, самооценка раздражения всё равно поднялась с 20,9 до 31,3.

Переведите это на терминал — и получите точный список того, что разваливается на высоте: не набор команды. Разваливается навигация в vim, автодополнение по Tab, прокрутка в less и ритм «ткнул — посмотрел» в REPL. Каждое из них — цикл, в котором следующее действие зависит от того, что только что вернулось.

Задержка облагает налогом не набор текста. Она облагает каждое решение, которое ждёт экрана.

§6 Переносите работу, а не нажатия

Как только вы соглашаетесь, что дефицитный ресурс — круговые задержки, задача перестаёт быть «найти самолёт побыстрее» и становится архитектурной: делать меньше кругов и нагружать каждый сильнее.

Есть известный инструмент, который бьёт по этому в лоб. Mosh предсказывает, что сделают ваши нажатия, и отрисовывает их локально, не дожидаясь подтверждения сервера. Эффект измерен и впечатляет: на канале примерно с полусекундой кругового пути медианный отклик на нажатие упал с 503 мс до менее чем 5 мс. На трансокеанском маршруте от MIT до Сингапура — с 273 мс до менее чем 5 мс.

Но прочитайте примечание мелким шрифтом, потому что в нём вся соль. Mosh предсказывает около 70% нажатий. Оставшиеся примерно 30% — это, по собственному выражению авторов, главным образом навигация, и на них профиль задержек снова выглядит как у обычного SSH. То есть: единственное взаимодействие, которое высокая задержка карает сильнее всего, — ровно то, которое локальное эхо спасти не может.

предсказано / не предсказано

нажатия, которые mosh отражает мгновенно≈70%
не предсказаны — «главным образом навигация»≈30%

Источник 4.

Значит, предсказание помогает — но не спасает. Спасает отказ так часто находиться внутри этого цикла.

Перестаньте печатать сквозь задержку. Отдайте долгую работу дальнему концу и заглядывайте в неё. Сборка, набор тестов, миграция, кодинг-агент — ни одному из них вы не нужны на время кругового пути. Вы нужны в начале и в момент решения. Всё, что между, — забота машины, а машина стоит на земле с хорошей связью.

Поэтому же на высоте параллельность бьёт интерактивность. Быстро печатать сквозь 700 мс нельзя. А присматривать сразу за четырьмя серверами — вполне: присмотр упирается не в задержку, а во внимание, и у вас есть одиннадцать часов внимания и больше некуда его деть.

§7 Чем на самом деле занято кресло 24C

$ tmux list-windows -t atlantic

Конкретно: на телефоне, на плохом канале:

  • 0: сессии-которые-переживают-соединение

    Самолёт переключается между лучами, портал требует повторного входа, соединение рвётся. tmux всё равно держит оболочку запущенной на сервере: сессия — это вещь на дальнем конце, а не в вашей руке. Eternal Terminal идёт дальше и даёт сессии пережить само TCP-соединение, буферизуя и проигрывая заново то, что вы пропустили. (Честное предупреждение для сети с фильтрацией: ET нужен свой порт — по умолчанию 2022 — вдобавок к 22-му у SSH.)

  • 1: больше-одной-задачи-за-раз

    Несколько сессий в сетке, несколько сохранённых серверов, и в каждой — что-то, что между решениями в присмотре не нуждается.

  • 2: агенты-печатают-за-вас

    Кодинг-агенты работают на ваших серверах, с наземной задержкой, там же, где код. Спутниковый налог платят не они; вы платите его только тогда, когда им отвечаете.

  • 3: пуш-когда-это-важно ! (звонок)

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

Ничего из этого не придумывали ради самолётов. Так всегда и выглядела удалённая работа по враждебному каналу, а самолёт — просто необычно честный враждебный канал.

§8 Одна честная оговорка

Две вещи, которые мы не смогли проверить и не будем делать вид, что проверили:

Выпустит ли сеть вашей авиакомпании SSH наружу вообще. Мы не нашли надёжных публичных данных о блокировке портов, политике по VPN и таймаутах простоя у провайдеров бортового Wi-Fi — зато нашли множество уверенных заявлений с форумов, которые не выдерживают проверки. Всё зависит от перевозчика, провайдера и конкретного борта. Проверьте на коротком рейсе, прежде чем строить вокруг этого длинный.

Чем на самом деле занят салон. Самая цитируемая статистика по бортовым развлечениям при проверке восходит к рекламным прайс-листам без всякой методологии, и мы её выбросили. Лучшее, что нашлось из опросов, — Inmarsat/Censuswide, 11 231 пассажир в десяти странах, хотя опрос проводили ещё в 2022 году и спрашивали о намерениях, а не измеряли время, — даёт развлечениям большой отрыв: 41% хотели смотреть скачанные фильмы, 35% — стриминг, и 26% хотели поработать.

Так что считайте кресло 24B персонажем, а не статистикой. Речь никогда не шла о том, что смотреть фильм неправильно. Речь о том, что альтернатива больше не недоступна.

§9 Снижение

Фильм заканчивается там же, где заканчивался прошлые три раза. Начинается снижение. У кресла 24B был совершенно нормальный полёт, и оно приземлится отдохнувшим, что тоже чего-то стоит.

Кресло 24C приземляется с готовой работой — потому что работа никогда не была в кресле. Всё это время она была на машине на земле, а телефон был лишь окном в неё.

Одиннадцать часов — это долго, если проводить их на 700 мс. И совсем недолго, если проводить их, присматривая за четырьмя серверами, которым спутник совершенно безразличен.

seat24c@phone:~$ mobile-ssh --join-beta # бесплатно · открытый код · Apache-2.0

Ваш следующий дальний рейс — это одиннадцать часов серверного времени.

Mobile SSH — нативный клиент SSH, SFTP и терминала для Android, iPhone и iPad. Несколько сессий, встроенный менеджер tmux, Eternal Terminal и push-уведомления, когда агенту нужны вы. Бесплатно, без аккаунта, без рекламы, с открытым исходным кодом.

Без рекламыБез аккаунтаДанные на устройствеApache-2.0

Android сейчас в закрытом тестировании — записывайтесь тем аккаунтом Google, под которым будете тестировать, и открывайте ссылку в мобильном браузере; закрытый тест может быть не виден внутри приложения Google Play.