[Перевод] Умрёт ли FTP? Расцвет и упадок протокола
Вот небольшое известие, которое вы могли пропустить, восстанавливая свою жизнь после начала кризиса COVID: из-за того, что вирус перемешал всем карты, Google пропустила выпуск Chrome версии 82. «Да кого это волнует?», — спросите вы. Ну, хотя бы пользователей FTP, или File Transfer Protocol. Во время пандемии Google отложила свои планы по убийству FTP, и теперь, когда буря немного успокоилась, Google недавно объявила о том, что возвращается к мысли об убийстве в Chrome версии 86, которая снова сократит поддержку протокола, и окончательно убьёт его в Chrome 88. (Mozilla объявила о похожих планах на Firefox, утверждая, что дело в безопасности и возрасте поддерживающего протокол кода.) Это один из старейших протоколов, который поддерживает мейнстримный Интернет (в следующем году ему исполнится 50 лет), но эти популярные приложения хотят оставить его в прошлом. Сегодня мы поговорим об истории FTP, сетевого протокола, который продержался дольше, чем почти все остальные.
1971
Именно в этом году родившийся в Индии студент магистратуры MIT Абхай Бхушнан впервые разработал File Transfer Protocol. FTP, появившийся спустя два года после telnet, стал одним из первых примеров работающего пакета приложений для системы, которая в дальнейшем стала известна как ARPANET. Он обогнал электронную почту, Usenet и даже стек TCP/IP. Как и telnet, FTP по-прежнему используется, хоть и ограниченно. Однако в современном Интернете он потерял значимость, в основном из-за проблем с безопасностью, а его место занимают альтернативные протоколы с шифрованием — в случае FTP это SFTP, протокол передачи файлов, работающий поверх протокола Secure Shell (SSH), по большей мере заменившего telnet.
FTP настолько стар, что появился раньше электронной почты, а в начале он сам играл роль email-клиента. Наверно, неудивительно, что среди множества программ прикладного уровня, созданных для раннего ARPANET именно FTP выделился и проложил себе дорогу в мир современных технологий.
Причина этого сводится к его базовой функциональности. По сути, это утилита, упрощающая передачу данных между хостами, однако секрет его успеха заключается в том, что он в определённой степени сгладил различия между этими хостами. Как говорит Бхушан в своём рабочем предложении (RFC), самая большая сложность использования telnet в то время заключалась в том, что каждый хост немного отличался от другого.
«Различия в характеристиках терминалов учитываются программами систем хостов в соответствии со стандартными протоколами», — пишет он, упоминая и telnet, и протокол удалённого ввода заданий той эпохи. «Однако чтобы использовать их, вам необходимо знать различные условности удалённых систем».
Телетайпный терминал эпохи ARPANET.
Придуманный им протокол FTP пытался обойти сложности непосредственного подключения к серверу при помощи способа, который он назвал «косвенным использованием»; этот способ позволял передавать данные или исполнять программы удалённо. «Первая сборка» протокола Бхушана, которая десятки лет спустя по-прежнему используется, хотя и в видоизменённом виде, использовала структуру директорий для исследований различий между отдельными системами.
В своём RFC Бхушан пишет:
Я попытался создать протокол пользовательского уровня, позволяющий пользователям и программам осуществлять косвенное использование удалённых хост-машин. Протокол упрощает не только операции с файловыми системами, но и выполнение программ на удалённых хостах. Это реализуется при помощи определения запросов, обрабатываемых сотрудничающими процессами. Направленность последовательности транзакций обеспечивает повышенные гарантии и упрощает контроль за ошибками. Вводится понятие типов данных, упрощающее интерпретацию, реконфигурацию и хранение простых и ограниченных видов данных на отдельных хостах. Протокол изначально готов к внесению расширений.
В интервью подкасту Mapping the Journey Бхушан сообщил, что приступил к разработке протокола из-за очевидной потребности в приложениях для зарождающейся системы ARPANET, в том числе из-за потребности в электронной почте и FTP. Эти первые приложения стали фундаментальными строительными блоками современного Интернета и за последующие десятилетия сильно усовершенствовались.
Бхушан рассказал, что из-за ограниченных возможностей компьютеров того времени сначала функции электронной почты были частью FTP и позволяли распространять письма и файлы по протоколу в более легковесной формате. И в течение четырёх лет FTP был своего рода электронной почтой.
«Мы спросили: «Почему бы не добавить в FTP две команды под названием mail и mail file?» Команда mail будет использоваться для обычных текстовых сообщений, а mail file для вложений писем, которые существуют и сегодня», — говорит он в интервью.
Разумеется, Бхушан был не единственным, кто принял участие в разработке этого фундаментального раннего протокола, ведь после выпуска из вуза он получил должность в Xerox. Созданный им протокол продолжил своё развитие без него, получив в 1970-х и 1980-х серию обновлений в виде RFC; в том числе примерно в 1980 году появилась его реализация, позволявшая обеспечивать поддержку спецификации TCP/IP.
Хотя со временем появлялись незначительные обновления, чтобы протокол успевал за временем и мог поддерживать новые технологии, версия, которую мы используем сегодня, была выпущена в 1985 году, когда Джон Постел и Джойс К. Рейнольдс разработали RFC 959 — обновление предыдущих протоколов, лежащих в основе современного ПО для работы с FTP. (Постел и Рейнольдс, среди прочего, примерно в то же время работали над системой доменных имён (DNS).) Хотя в документе эта версия описывается как «предназначенная для исправления незначительных ошибок документации, улучшения объяснения некоторых функций протокола и добавления новых вспомогательных команд», стандартной стала именно она.
Учитывая его возраст, FTP обладает множеством неотъемлемых слабых мест, многие из которых проявляются и сегодня. Например, передача папки, содержащей множество крошечных файлов, выполняется в FTP чрезвычайно неэффективно, он гораздо лучше работает с крупными файлами, так как ограничивает количество необходимых отдельных соединений.
Во многих смыслах, из-за столь раннего появления в истории Интернета FTP повлиял на структуру множества последующих протоколов. Можно сравнить его с чем-то, что часто менялось и совершенствовалось в течение нескольких десятков лет, допустим, с баскетбольными кроссовками. Да, Converse All-Stars — это хорошая обувь, и в нужных условиях с честью она послужит и сегодня, но с гораздо большей вероятностью успеха добьётся какая-нибудь модель от Nike, вероятно, под брендом Air Jordan.
File Transfer Protocol — это Converse All-Star Интернета. Он передавал файлы ещё до того, как это стало круто, и по-прежнему сохраняет часть своей притягательности.
«Никто не зарабатывал на Интернете. Скорее наоборот, на него тратили кучу денег. Мы смело сражались в этой битве и знали, что у него был потенциал. Но если кто-то скажет вам, что он знал, что будет дальше, то это ложь. Ведь я видел всё сам своими глазами».
Так Алан Эмтедж, создатель Archie, считающегося первым поисковым движком Интернета, рассказывал Internet Hall of Fame почему его изобретение, позволявшее пользователям искать на анонимных FTP-серверах файлы, не сделало его богатым. Если вкратце, то Интернет тогда был некоммерческим, а аспирант и работник техподдержки монреальского Университета Макгилла Эмтедж без разрешения использовал сеть вуза для работы Archie. «Но именно так и лучше всего было поступить. Как гласит старая пословица, лучше просить прощения, чем разрешения». (Как и Бхушан, Эмтедж был иммигрантом, он родился и вырос на Барбадосе и приехал в Канаду, став студентом благодаря своим достижениям.)
Скриншот WS_FTP — FTP-клиента для Windows, который был довольно популярен в 90-х.
Почему FTP может быть последней связью с нашим прошлым, до сих пор используемым онлайн
Как я писал несколько лет назад, если взять старую книгу об Интернете и попытаться пройти по старым ссылкам, то вероятность добраться до указанного в них ПО выше всего, если оно хранится на большом корпоративном FTP-сайте, потому что такие сайты обычно закрывают не очень часто.
Крупные технологические компании наподобие Hewlett-Packard, Mozilla, Intel и Logitech десятками лет использовали эти сайты для распространения среди конечных пользователей документации и драйверов. И по большей части эти сайты по-прежнему находятся онлайн, храня контент, который находился там долгие годы.
Во многих случаях эти сайты наиболее полезны, когда вам нужно найти нечто по-настоящему старое, например, драйвер или документацию. (Когда я пытался запустить свою Connectix QuickCam, то знал, что эти сайты мне пригодятся.)
Пример того, как выглядит FTP в современном веб-браузере (ftp.logitech.com).
В каком-то смысле, это даже может быть удобнее, чем навигация по веб-сайту, потому что интерфейс однороден и безупречно работает. (Многие веб-интерфейсы могут быть довольно кошмарными, если вам просто нужно добраться до драйвера.) Но у этого есть и недостатки — такая простота означает, что FTP часто не очень хорошо справляется с современными стандартами и может быть намного медленнее современных способов передачи файлов.
Как я писал в статье на эту тему в прошлом году, доступ к таким FTP-сайтам получить всё сложнее (хотя их и архивируют в разные места), ведь компании отходят от подобных моделей хранения информации и могут отключать старые сайты.
В статье, где приводится интервью с Джейсоном Скоттом из Internet Archive, архив предпринимает шаги для защиты этих старых публичных FTP-сайтов, которые сегодня в любой момент могут быть отключены.
В том интервью Скотт заметил, что долгая жизнь таких FTP-сайтов на самом деле больше исключение, чем правило.
«Невероятно странно, что FTP-сайты накопили инерцию, позволившую им продолжать работать в течение 15–20 лет», — сказал он.
Поскольку основные способы использования FTP-сайтов остаются только в книгах об истории, их исчезновение, скорее всего, становится делом времени. Прежде чем это случится, я рекомендую зайти на чей-нибудь сайт и посмотреть, что за странные вещи там хранятся. В современном мире мы больше не cможем изучать целиком папки с файлами публичных компаний, поэтому в этот переходный период подобное является потрясающим опытом.
«FTP, технология, опередившая возникновение сферы своего применения, теперь привлекла критическую массу бизнес-пользователей, считающих передачу данных по электронной почте ужасно неэффективной или непрактичной, когда дело касается больших документов».
— Цитата из статьи 1997 года в Network World; в ней говорится, что FTP, несмотря на свою неуклюжесть, по-прежнему остаётся хорошим вариантом для надомных работников и корпоративных пользователей Интернета. Хотя автор статьи был заинтересованным лицом (Роджер Грин являлся президентом компании Ipswitch, крупного изготовителя программ для FTP), его аргументы, тем не менее, соответствовали духу эпохи. Протокол был отличным способом передачи больших файлов через сети и сохранения их на сервере. Проблема в том, что FTP, несмотря на своё постепенное совершенствование, будет вытеснен гораздо более изощрёнными альтернативами, как протоколами (BitTorrent, SFTP, rsync, git, даже современными вариантами HTTP), так и облачными системами наподобие Dropbox или Amazon Web Services.
Когда-то у меня был собственный FTP-сервер. В основном он использовался для хранения музыки во времена учёбы в колледже, когда студенты были одержимы идеей обмена музыкой. У меня было чрезвычайно быстрое подключение, а потому идеальная скорость для работы FTP-сервера.
Это был отличный способ делиться собственными музыкальными вкусами с миром, но университетская система однажды узнала об обмене файлами и начала ограничивать пропускную способность, поэтому на этом всё закончилось… или, по крайней мере, так я думал. Дело в том, что летом я работал в общежитии, и оказалось, что после выпуска студентов ограничение больше не было проблемой, поэтому я смог снова на пару месяцев запустить FTP-сервер.
Panic«s Transmit — современный пример FTP-клиента. Множество современных клиентов поддерживает широкий набор протоколов, а не только старый добрый FTP.
Позже я выпустился и FTP-сервер отключился навсегда; к тому же всё равно возникли более эффективные варианты его замены, например, BitTorrent, и более законные, типа Spotify и Tidal.
Так же, как и обмен файлами, сильно эволюционировавший спустя 15 лет, изменились и мы сами. Мы узнали о более эффективных и безопасных способах удалённого управления файлами. В 2004 году многие считали, что лучше всего управлять веб-сервером при помощи FTP. Сегодня, когда сервисы типа Git обеспечивают возможность эффективного контроля версий, такой способ кажется рискованным и неэффективным.
Даже если популярные браузеры в ближайшие месяцы избавятся от поддержки FTP, это не значит, что у нас совершенно исчезнут другие способы работы с этим протоколом. Специализированное ПО, разумеется, по-прежнему будет существовать. Но, что более важно, для замены устаревшего протокола FTP есть веские причины.
В отличие от ситуации с IRC (когда у протокола отобрали популярность коммерческие инструменты) и Gopher (рост которого погубил внезапный переход на коммерческую модель), FTP уходит из веб-браузеров потому, что его возраст подчёркивает отсутствие инфраструктуры безопасности.
Самые распространённые способы его использования, например, для организации публично доступных анонимных FTP-серверов, по сути, потеряли свою популярность. А в своей основной нише он в конечном итоге был заменён более защищёнными и современными версиями, например SFTP.
Уверен, что какой-нибудь технарь может заявить, что FTP никогда не умрёт, потому что для него всегда найдётся специализированная область применения. Да, это возможно. Но у подавляющего большинства людей после отключения FTP в браузере Chrome, вероятно, не будет причин искать способы подключиться к нему снова.
Если уход FTP из веб-браузеров ускорит его окончательную гибель, то быть по сему. Однако в течение пятидесяти лет, меняя версии и вариации, он служил нам верой и правдой.
На правах рекламы
VDS с посуточной оплатой для любых целей — это про наши эпичные серверы. Максимальная конфигурация — 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe.