Космическая экспансия продолжается. До 2030 года более полдесятка стран планируют осуществить пилотируемые миссии к Луне. Ведётся подготовка к высадке человека на Марс. Уже к концу этого века наверняка на Луне будет построена постоянно действующая научная станция, а может, и жилая колония. В следующем веке человечество вполне может масштабно расселиться на Луну и Марс. Но как быть с тем, что так крепко связывает нас всех — с интернетом? Возможно ли объединить несколько планет в единую глобальную сеть? Под катом — симбиоз реальных достижений и авторской фантазии с элементами космонавтики, астрофизики и сетевых технологий.
Немного теории
Идея этого поста возникла из дружеской дискуссии на тему: можно ли исчерпать адреса IPv6, если они начнут использоваться на всём от компьютеров до холодильников и стиральных машин? А когда мы начнём заселять Луну и Марс? И тут вопросов стало больше. Среднее расстояние от Земли до Луны — порядка 384 тыс. км. Сигнал проходит это расстояние примерно за 1,3 секунды. Добавим немного задержек на маршрутизирующем оборудовании и получим примерный пинг в пару секунд (возможно, до 3 между противоположными точками планет). В контру побегать не выйдет, но посёрфить и даже поговорить голосом может выйти, хоть и с очень заметными тормозами.
С Марсом всё сложнее. Расстояние между планетами варьируется от 54,6 до 401 млн. км, что соответствует времени прохождения сигнала от примерно 3 до 22 с лишним минут. А по факту верхний предел будет даже выше. В наиболее удалённых точках орбит между планетами будет Солнце, и «перекричать» его фон своими передатчиками вряд ли выйдет. Необходимо запускать релей на некотором расстоянии от Солнца, что ещё заметно увеличит время прохождения сигнала.
Среднее расстояние между Землёй и Марсом — 225 млн. км (12,5 минут). Давайте попробуем представить себе классическую цепочку, которая происходит при загрузке обычной современной странички, но на расстоянии 225 млн. км. После ввода нами адреса отправляется запрос к службе DNS (с Марса на Землю, естественно), обратно возвращается IP-адрес. Ура! Через 25 минут наш марсианский компьютер знает, куда отправлять HTTP запрос. Ещё через каких-то 25 минут браузер получит html-документ со ссылками на все css, js файлики, картиночки и т.п. и отправит запросы на их получение. Полученные листы стилей и скрипты могут ссылаться на ещё какие-нибудь изображения, и не дай Бог создатели сайта догадались положить их в каком-нибудь отдельном субдомене или используют хотлинкинг (тут уже не только веб-мастеры, но и пользователи захотели бы сжечь хотлинкеров в аду). Итого, общее время загрузки одной странички по существующей на сегодня схеме запросто может достичь полутора-двух часов. И это мы рассматриваем идеальный вариант, в котором ни один пакет не потерялся и не повредился, что на таких расстояниях маловероятно. Неужели, отправляясь на Марс, о видео с котиками придётся забыть?
Надо отметить, что прокладка сети между планетами и космическими аппаратами — не такая уж выдумка научных фантастов. Разработка протокола, который позволил бы обмениваться данными в космосе, началась ещё в 1998 году. И одним из идейных вдохновителей нового протокола стал Винтон Серф, который за 25 лет до этого принимал непосредственное участие в разработке современных интернет-протоколов. Новая группа протоколов получила название Bundle (англ. пакет, свёрток, связка) и стала неотъемлемой частью направления Delay-tolerant networking (сети, толерантные к задержкам). Подробности его работы уже были разобраны в статье на хабре. Я же напомню ключевые проблемы, из-за которых использование современных протоколов стало невозможным.
Современный протокол TCP/IP, на котором держится весь интернет, предполагает, что пакет данных имеет относительно небольшой размер, может быть доставлен очень быстро и не нуждается в длительном хранении. Если следующий узел маршрута не доступен, возвращается соответствующий ответ, и пакет удаляется. В условиях космоса, где всё постоянно движется, восходит и заходит, поворачивается и отворачивается, сеансы передачи данных часто привязаны к окнам видимости. Старая модель дальней космической связи предусматривала прямую передачу данных с космического аппарата на Землю во время окна прямой видимости передающей и принимающей антенн. Новая модель предполагает, что космические аппараты будут содержать в себе функцию релея, способного хранить большие пакеты данных и передавать их дальше, как только откроется окно связи. Этот принцип и был заложен в новый протокол.
Удалённость узлов порождает также проблемы с управлением сетью. Протокол управления SNMP предполагает, что узлы сети отвечают на запрос достаточно быстро. Нормальное время ответа не превышает нескольких сот миллисекунд. Если узел не отвечает несколько секунд, скорее всего, он не доступен, и у нас есть смысл отправить пакет другим маршрутом, если он существует. В космических масштабах для того, чтобы полностью убедиться в наличии проблем на узле, может потребоваться несколько часов, а то и дни. Мне не попадалась информация о том, как планируется решать эту проблему. Если кто-то знает, поделитесь, пожалуйста.
Ещё одна проблема, как уже упоминалось, система DNS. Банальное разрешение домена в IP может занять немалый промежуток времени. Потому было принято решение внедрить двухфазный поиск и так называемое отложенное разрешение. Первая фаза — определение нужной планеты/станции и прокладка маршрута к ней, вторая — запрос к соответствующей локальной базе. Видимо, нам стоит ожидать, что со временем IANA добавит ко всем корневым зонам суффикс .earth либо просто запустит отдельные зоны .moon, .mars и т.п.
Определённой доработки требует и безопасность, особенно от атак типа man-in-the-middle. Потому было решено внедрить дополнительные меры безопасности, включающие шифрование, аутентикацию и т.п.
Современные достижения
… в космосе
Естественно, первыми, кто начал тестировать и применять на практике протоколы DTN, стали космические агенства. Так, разные версии протокола были внедрены на некоторые ближние и дальние космические программы NASA. Некий прототип этого протокола был заложен в марсоходы Spirit и Opportunity, запущенные в далёком 2003 году. Кстати, стоит отметить, что Opportunity по состоянию на 18 февраля 2015 года до сих пор жив, здравствует, ездит и присылает данные на Землю.
Ещё один марсоход, запущенный намного позже и использующий более современную версию протокола — Curiosity. Этот аппарат, как заведено, имеет функционал прямой связи с центрами дальней космической связи NASA, однако большинство данных передаётся через два околомарсовых орбитальных аппарата: основная часть передаётся через Mars Reconnaissance Orbiter, при необходимости также задействуется Mars Odyssey. Таким образом, решаются сразу две проблемы. Во-первых, с аппаратом проще связываться с Земли. В случае прямой связи Curiosity доступен примерно половину дня из-за вращения Марса. Низкоорбитальные спутники в свою очередь делают несколько полных витков за день (например, орбитальный период Mars Reconnaissance Orbiter — меньше 2 часов). Таким образом, при необходимости с посадочным аппаратом можно связаться за разумное время, передать управляющие команды и принять данные, даже когда он на обратной стороне Марса.
Справедливости ради стоит упомянуть, что Spirit и Opportunity держали связь преимущественно тем же путём, через те же промежуточные станции. Ими же пользовался посадочный аппарат Phoenix, исследовавший полярную шапку Марса, пока марсианская зима не забрала его. Марсианская зима темна и полна ужасов…
Однако первое серьёзное тестирование межпланетного интернета было проведено вовсе не на этих миссиях, а на аппарате EPOXI, который ранее был «материнским кораблём» миссии Deep Impact. После отделения «ударника» в 2005 году аппарат ещё пролетал 2 года в спящем режиме, из которого его выводили раз в полгода для проверки работоспособности. А в 2007 году миссию решили перепрофилировать. И одной из новых задач, порученных аппарату, стало тестирование прототипа межпланетного интернета в середине октября — середине ноября 2008 года, во время которого с аппарата и обратно было успешно передано множество изображений.
Ближний космос также активно задействован в тестировании. Первые эксперименты с протоколом DTN на Международной космической станции были проведены 18-й экспедицией. И вот уже который год эксперименты регулярно продлевают. Суммарно по официальной информации на страничке проекта в экспериментах с DTN приняли и принимают участие миссии с 18 по 42 в период с марта 2009 по март 2015. Вполне вероятно, что эксперименты будут продлены и на дальнейшие миссии.
… и на Земле
Технологии, созданные для космоса, нашли и вполне земное применение. Как это часто бывает с хорошими разработками, технологией заинтересовались военные. В условиях поля боя поддерживать связь удобнее с помощью протокола, допускающего перебои в связности.
Однако наука и социальная сфера также не остались в стороне. Так, некая ранняя адаптация протокола была использована для наблюдения за перемещением африканских зебр. Датчики, закреплённые на отдельных зебрах, были снабжены небольшим хранилищем, GPS и приёмо-передатчиком с радиусом действия порядка 8 км. Территория, на которой производились наблюдения, практически лишена стационарных ретрансляторов, потому было решено производить передачу журнала перемещения животных посредством сети, образованной из самих зебр, которая получила название ZebraNet.
Взгляд в будущее
Уже в ближайшие 10-15 лет несколько стран планируют высадку людей на Луну. Свои программы в этом направлении разрабатывают ЕС и Китай. США планирует провести на лунной орбите тесты аппарата Orion в рамках подготовки пилотируемого полёта на Марс. Более расплывчатые по датам лунные программы ведут Индия, Япония, Россия и Иран. Также есть планы по созданию постоянных баз на Луне и колонизации Марса без возможности возвращения на Землю уже в этом веке. И всем этим людям нужна будет связь.
Международный Консультативный Комитет по космическим системам передачи данных (CCSDS) уже сейчас предлагает всем космическим агенциям в мире устанавливать на свои новые автоматические и пилотируемые аппараты оборудование, работающее с новым протоколом. Это позволит не только сделать связь с аппаратами удобнее, но и постепенно наращивать количество маршрутизирующих нод по мере того, как аппараты будут завершать выполнение своих основных задач в миссии.
Взгляд в далёкое будущее
Ведущие учёные мира проявили всю свою изобретательность, чтобы обеспечить максимально бесперебойную связь между терранетом и селенетом (от древнегреческой богини Луны — Селены). Земля опоясана сетью точек входа в глобальную межпланетную сеть, каждая их которых соответствует одному из геостационарных хопов — сети спутников, выполняющих ключевую роль в связи Земли, всё ещё остающейся основным пристанищем человечества, с ближним и дальним космосом. Каждый из хопов связан с четырьмя ближайшими соседями по орбите и при необходимости способен перенастроиться на более удалённый спутник.
С Луной всё немного сложнее. Учитывая её очень малую угловую скорость, устойчивой селеностационарной орбиты не существует. От идеи размещать оборудование во внутренней точке Лагранжа отказались ввиду сложности удержания аппарата в ней. Геостационарам приходится «вести» поверхностные лунные хопы и передавать сигнал непосредственно туда. Дальнейшая маршрутизация происходит через сеть поверхностных вышек и низкоорбитальных спутников.
Очень полезными оказались стабильные точки Лагранжа L4 и L5. Станции связи, размещённые в них, осуществляют преобладающую часть задач по маршрутизации пакетов в более отдалённые подсети.
Станции связи сами «знают», где сейчас находятся специализированные релейные узлы дальней связи и другие аппараты, которые после выполнения основной миссии переквалифицировались. На Марс сигнал в основном передают через станции L4-L5 системы Земля-Луна, однако в системах Солнце-Земля и Солнце-Марс в этих точках Лагранжа также размещены узлы связи. Используются они в основном, когда прямая передача сигнала от Земли к Марсу невозможна из-за наличия Солнца на пути.
На Луне и Марсе появились первые дата-центры. Набирает популярности услуга межпланетного CDN, однако Марс в основном ориентируется на развитие собственной сети. Самые пожилые обитатели марсианских поселений, получая сообщения от детей и внуков с Земли, с улыбкой вспоминают о том, как в детстве включали ненадолго модем и ждали, пока скачается с сервера почта. Наша большая солнечная система продолжает своё движение вокруг ядра нашей огромной галактики. Жизнь продолжается.
Ремарка: всё описанное в последнем разделе является плодом воображения автора. Я приглашаю всех присоединиться к этой фантазии и представить себе, каким будет интернет 22-го века. Мирного Вам космоса.
Автор: Vasiliskov