ProHoster > Блог > Администрирование > «Перонет» на основе голубей до сих пор остаётся самым быстрым способом передачи больших объёмов информации
«Перонет» на основе голубей до сих пор остаётся самым быстрым способом передачи больших объёмов информации
Почтовый голубь с грузом microSD-карточек способен передавать большие объёмы данных быстрее и дешевле практически любого другого метода
Прим. перев.: хоть оригинал этой статьи и появился на сайте IEEE Spectrum 1 апреля, все перечисленные в ней факты вполне достоверны.
В феврале SanDisk объявила о выходе первой в мире фдэш-карты формата microSD объёмом в 1 терабайт. Она, как и другие карты этого формата, крохотная, размерами всего 15 х 11 х 1 мм, и весит 250 мг. Она может уместить невероятное количество данных в очень маленьком физическом пространстве, а купить её можно за $550. Чтоб вы понимали, первые карточки формата microSD на 512 Гб появились всего за год до этого, в феврале 2018.
Мы так сильно привыкли к скорости прогресса в области вычислительной техники, что эти увеличения плотности накопителей остаются практически без внимания, и иногда удостаиваются пресс-релиза и пары статей в блогах. Более интересно (и, вероятно, приведёт к более серьёзным последствиям) то, насколько быстрее наши способности генерировать и хранить данные растут по сравнению с нашими возможностями передавать их по сетям, доступным для большинства людей.
Эта проблема не нова, и уже несколько десятилетий «хитронеты» различного типа использовались для физической транспортировки данных из одного места в другое – пешком, по почте или более экзотическими методами. Один из способов передачи данных, активно использовавшийся последние тысячу лет – это почтовые голуби, способны проделывать путь длиной в сотни или даже тысячи километров, возвращаясь домой, и используя навигационные техники, природа которых до сих пор точно не изучена. Оказывается, что в терминах пропускной способности (количества данных, передаваемых на заданное расстояние за определённое время), «перонет» на основе голубей остаётся более эффективным, чем типичные сети.
Из «стандарта передачи IP датаграмм воздушными перевозчиками»
1 апреля 1990 года Дэвид Вайцман предложил инженерному совету интернета Request for Comment (RFC) под названием «стандарт передачи IP датаграмм воздушными перевозчиками«, известный теперь, как IPoAC. RFC 1149 описывает «экспериментальный метод инкапсуляции IP датаграмм в воздушных перевозчиках», и имеет уже несколько обновлений, касающихся как качества сервиса, так и перехода на IPv6 (опубликованных 1 апреля 1999 и 1 апреля 2011 соответственно).
Отправка RFC в День смеха – традиция, начавшаяся в 1978 году с RFC 748, в котором предлагалось сделать так, чтобы после отправки на телнет-сервер команды IAC DONT RANDOMLY-LOSE сервер переставал случайным образом терять данные. Довольно здравая идея, не так ли? И это одно из свойств первоапрельского RFC, поясняет Брайан Карпентер, руководившей рабочей группой по сетям в ЦЕРН с 1985 по 1996, председательствовавший в IETF с 2005 по 2007, а теперь живущий в Новой Зеландии. «Он должен быть технически осуществимым (т.е., не нарушать законов физики), и вы должны прочитать как минимум страницу до того, как поймёте, что это шутка, — говорит он. – И, естественно, он должен быть абсурдным».
Карпентер, вместе со своим коллегой Бобом Хинденом, и сами писали первоапрельские RFC, где описывали модернизацию IPoAC для IPv6, в 2011 году. И даже спустя два десятилетия после своего появления, IPoAC всё ещё хорошо известен. «Все знают про воздушных перевозчиков, — сказал нам Карпентер. – Однажды мы с Бобом беседовали на встрече IETF по поводу распространения IPv6, и идея добавить его к IPoAC появилась весьма естественно».
RFC 1149, изначально определявший IPoAC, описывает множество преимуществ нового стандарта:
Множество различных услуг можно предоставить при помощи приоритизации клевания. Дополнительно имеется встроенное распознавание и уничтожение червей. Поскольку IP не гарантирует 100% доставки пакетов, с потерей перевозчика можно примириться. Со временем перевозчики самостоятельно восстанавливаются. Широковещание не определено, а шторм может привести к потере данных. Есть возможность делать настойчивые попытки доставки, до падения перевозчика. Аудиторские следы генерятся автоматически, их часто можно найти в кабельных лотках и на брёвнах [англ. log означает как «бревно» так и «журнал для записей» / прим. перев.].
Обновление в связи с улучшением качества (RFC 2549) добавляет несколько важных деталей:
Мультивещание хоть и поддерживается, но требует реализации устройства для клонирования. Перевозчики могут теряться, если они расположатся на спиливаемом дереве. Перевозчики распределяются по дереву наследований. В среднем TTL перевозчиков составляет 15 лет, поэтому их использование в поисках по расширяющемуся кольцу ограничено.
Страусов можно рассматривать как альтернативных перевозчиков, обладающих гораздо большими возможностями по передаче больших объёмов информации, но обеспечивающих более медленную доставку и требующую наличия мостов между разными областями.
С дополнительным обсуждением качества обслуживания можно ознакомиться в путеводителе Мишлен.
Обновление от Карпентера, описывающее IPv6 для IPoAC, среди прочего упоминает потенциальные сложности, связанные с маршрутизацией пакетов:
Прохождение перевозчиков по территории схожих с ними перевозчиков, без установления договоров о равноправном информационном обмене, может привести к резкому смену маршрута, зацикливанию пакетов и доставке не по порядку. Прохождение перевозчиков по территории хищников может привести к значительной патере пакетов. Рекомендуется рассматривать эти факторы в алгоритме составления таблиц маршрутизации. Тому, кто будет реализовывать эти маршруты, для того, чтобы гарантировать надёжную доставку, стоит рассмотреть маршрутизацию на основе политик, обходящих стороной области с преобладанием местных и хищных перевозчиков.
Имеются свидетельства того, что некоторые перевозчики имеют склонность к поеданию других перевозчиков и дальнейшей перевозке съеденной полезной нагрузки. Возможно, это послужит новым методом для осуществления туннелирования пакетов IPv4 в пакетах IPv6, или наоборот.
Стандарт IPoAC был предложен в 1990, но сообщения с почтовыми голубями отправляли гораздо дольше: на фото показана отправка почтового голубя в Швейцарии, между 1914 and 1918 годами
Логично ожидать от стандарта, концепцию которого придумали ещё в 1990-м, что изначальный формат для передачи данных по протоколу IPoAC был связан с распечаткой шестнадцатеричных символов на бумаге. С тех пор многое поменялось, и объём данных, укладывающийся в заданные физические объём и вес, увеличился невероятно, при том, что величина полезной нагрузки отдельного голубя осталась той же. Голуби способны переносить полезную нагрузку, составляющую значительный процент от их массы тела – средний почтовый голубь весит порядка 500 гр, и в начале XX века они могли переносить 75-граммовые фотокамеры для разведки на территории противника.
Мы пообщались с Дрю Лесофски, любителем голубиных гонок из Мэриленда, и он подтвердил, что голуби без труда могут переносить на себе до 75 грамм (а возможно, и немного больше) «в течении дня на любое расстояние». При этом расстояние они могут пролететь значительное – мировой рекорд для почтового голубя держит одна бесстрашная птичка, сумевшая перелететь из Арраса во Франции к себе домой в Хошимин во Вьетнами, проделав путь длиной 11 500 км за 24 дня. Большинство почтовых голубей, конечно, не способны летать так далеко. Типичная длина продолжительной трассы на гонках, по словам Лесофски, составляет порядка 1000 км, и птицы преодолевают её со средней скоростью порядка 70 км/ч. На менее длинных дистанциях спринтеры способны достигать скоростей до 177 км/ч.
Сложив всё это вместе, можно подсчитать, что если мы загрузим почтового голубя до его максимальной грузоподъёмности в 75 грамм картами microSD на 1 Тб, каждая из которых весит по 250 мг, то голубь сможет нести на себе 300 Тб данных. Преодолев путь от Сан-Франциско до Нью-Йорка (4130 км) на максимальной спринтерской скорости, он достиг бы скорости передачи данных в 12 Тб/час, или 28 Гбит/с, что на несколько порядков выше большинства интернет-соединений. В США, к примеру, самое быстрая средняя скорость загрузки наблюдается в Канзас-Сити, где по Google Fiber данные передаются со скоростью в 127 Мбит/с. На такой скорости на загрузку 300 Тб потребовалось бы 240 дней – а за такое время наш голубь сумел бы облететь земной шар 25 раз.
Допустим, этот пример не выглядит очень реалистичным, поскольку описывает какого-то сверхголубя, поэтому давайте сбавим обороты. Возьмём более среднюю скорость полёта в 70 км/ч, и нагрузим птицу на половину максимального груза в терабайтных картах памяти – на 37,5 грамм. И всё равно, даже если мы сравним этот способ с очень быстрым гигабитным соединением, голубь выигрывает. Голубь сможет обогнуть больше половины земного шара за то время, пока наша передача файлов закончится, из чего следует, что данные будет быстрее отправить голубем буквально в любую точку земного шара, чем использовать интернет для их перекачки.
Естественно, это сравнение чистой пропускной способности. Мы не учитываем время и усилия на копирование данных на microSD-карточки, их погрузку на голубя, и чтение данных по прибытию птицы в точку назначения. Задержки очевидно высоки, поэтому что-то кроме односторонней передачи будет непрактичным. Самое большое ограничение состоит в том, что почтовый голубь летит только в одном направлении и в одну точку назначения, поэтому вы не сможете выбрать цель отправки данных, а также вам придётся перевозить голубей туда, откуда вы собираетесь их отправлять, что также ограничивает их практическую пользу.
Однако факт остаётся фактом – даже при реалистичных оценках полезного груза и скорости голубя, а также интернет-соединения, чистую пропускную способность голубя нелегко превзойти.
Учитывая всё это, стоит упомянуть, что передачу данных голубями проверяли в реальном мире, и они неплохо справились с этим. Группа пользователей Bergen Linux из Норвегии в 2001 году успешно реализовала IPoAC, отправляя по одному пингу с каждым голубем на дистанцию в 5 км:
Пинг был отправлен примерно в 12:15. Мы решили делать интервал в 7,5 мин между пакетами, что в идеале должно было привести к тому, что пара пакетов останется без ответа. Однако всё прошло не совсем так. У нашего соседа над участком летала стая голубей. И наши голуби не захотели лететь прямо домой, они сначала захотели полетать с другими голубями. И кто их может обвинить в этом, учитывая, что солнце вышло впервые после пары пасмурных дней?
Однако их инстинкты победили, и мы увидели, как, порезвившись примерно с час, парочка голубей откололась от стаи и направилась в нужном направлении. Мы возликовали. И это в самом деле были наши голуби, поскольку вскоре после этого мы получили отчёт с другой точки о том, что голубь приземлился на крышу.
Наконец, прибыл первый голубь. Пакет данных был аккуратно снят с его лапы, распакован и отсканирован. После ручной проверки OCR и исправления пары ошибок, пакет был принят, как допустимый, и наше ликование продолжилось.
Для действительно крупных объёмов данных (таких, что необходимое количество голубей станет сложно обслуживать), до сих пор приходится использовать физические методы перемещения. Amazon предлагает услугу Snowmobile – 45-футовый транспортный контейнер на грузовике. Один Snowmobile может перевозить до 100 Пб (100 000 Тб) данных. Он будет двигаться не так быстро, как эквивалентная стая из нескольких сотен голубей, однако работать с ним будет проще.
Большую часть людей, судя по всему, удовлетворяет крайне неспешная закачка, и их мало интересуют инвестиции в собственных почтовых голубей. Это и правда требует много труда, говорит Дрю Лесофски, да и сами голуби обычно ведут себя, не как пакеты данных:
GPS технология всё сильнее помогает любителям голубиных гонок, и мы получаем лучшее представление о том, как летят наши голуби, и почему одни летают быстрее других. Кратчайшей линией между двумя точками будет прямая, но голуби редко летают по прямой. Они часто рисуют зигзаги, летя примерно в нужном направлении, а затем корректируя курс, приближаясь к точке назначения. Некоторые из них физически сильнее, и летят быстрее, однако голубь, которые лучше ориентируется, не имеет проблем со здоровьем и физически тренирован, может обогнать быстро летящего голубя с плохим компасом.
Лесофски достаточно доверяет голубям как переносчикам данных: «Я вполне уверенно отправлял бы информацию своими голубями», — говорит он, при этом заботясь о коррекции ошибок. «Я бы выпускал не менее трёх сразу, чтобы гарантировать, что даже если у одного из них будет плохой компас, у двух других он будет лучше, и в итоге скорость всех трёх будет выше».
Проблемы с реализацией IPoAC и увеличение надёжности достаточно быстрых (и часто беспроводных) сетей означает, что большая часть сервисов, полагавшаяся на голубей (а таких было много), за последние несколько десятилетий переключились на более традиционные методы передачи данных.
А из-за всех предварительных приготовлений, необходимых для обустройства системы передачи данных голубями, сравнимые с ней альтернативы (вроде дронов с фиксированным крылом) могут стать более жизнеспособными. Однако у голубей до сих пор остаются некоторые преимущества: они хорошо масштабируются, работают за семечки, более надёжны, в них встроена очень сложная система избегания препятствий как на уровне софта, так и на уровне железа, и они умеют самостоятельно подзаряжаться.
Как всё это повлияет на будущее стандарта IPoAC? Стандарт есть, он доступен всем, пусть и немного абсурден. Мы спросили Брайана Карпентера, не готовит ли он очередных обновлений стандарту, и он рассказал, что думает над тем, не смогут ли голуби переносить кубиты. Но даже если IPoAC немного сложный (и немного дурацкий) лично для ваших нужд по передаче данных, всякие сети нестандартной связи в обозримом будущем будут оставаться нужными, а наша способность генерировать огромные количества данных продолжает расти быстрее наших возможностей по их передаче.
Спасибо пользователю AyrA_ch за наводку на информацию своим постом на Reddit, и за удобный калькулятор IPoAC, помогающий рассчитать, насколько действительно голуби опережают другие методы передачи данных.