Возможно, протокол передачи файлов FTP и был когда-то одним из столпов раннего интернета. Но после 50 лет повсеместного использования его уход на покой, пожалуй, уже неизбежен




Пока вы пытались перестроить всю свою жизнь так, чтобы уместить её в своей крохотной квартирке в начале коронавирусного кризиса, вы могли пропустить эту небольшую новость: из-за того, что вирус повлиял практически на все сферы жизни, компания Google решила пропустить выпуск 82-й версии Chrome.

Кому какое дело, спросите вы? До этого есть дело пользователям FTP – протокола передачи файлов.

Во время пандемии Google отложила планы убийства FTP, и недавно, когда всё более-менее успокоилось, компания объявила о возврате к намерению убрать поддержку протокола в 86-й версии Chrome, и полностью убить его в 88-й версии.

Mozilla рассказала о похожих планах для браузера Firefox, ссылаясь на соображения безопасности и возраст кода.

Это один из самых старых протоколов, всё ещё поддерживаемых популярными приложениями в интернете – в следующем году ему стукнет 50 – но эти приложения уже готовятся отказаться от него.

Давайте углубимся в историю FTP, сетевого протокола, продержавшегося дольше любого другого.

1971


Именно в этом году Абхай Бушан, студент магистратуры из MIT, родившийся в Индии, впервые разработал FTP. FTP появился через два года после telnet, и был одним из первых примеров рабочего набора приложений для сети, известной тогда под названием ARPANET – ещё до появления электронной почты, Usenet и даже стека TCP/IP. FTP, как и telnet, до сих пор можно кое-где использовать, однако в современном интернете он потерял популярность в основном из-за проблем с безопасностью. Его место занимает зашифрованная альтернатива SFTP – протокол передачи файлов, работающий на базе протокола SSH, по большей части заменившего telnet.

Возможно, неудивительно, что из всех программ, написанных для ранней сети ARPANET, именно FTP проложил себе дорогу в современность.

Причиной этому служат его базовые возможности. По сути, это инструмент, занимающийся передачей данных между хостами. Однако секрет его успеха в том, что он в своё время практически устранил различия хостов. Бушан писал в своей RFC-заявке, что самой большой проблемой использования telnet в то время было то, что все хосты были немножко разными.

«Различия в характеристиках терминалов обрабатываются системными программами хостов в соответствии со стандартными протоколами», — пояснял он, цитируя как telnet, так и протокол удалённого запуска задач того времени. «Однако вам, чтобы пользоваться удалёнными системами, необходимо разбираться в их особенностях».


Терминал телетайпа из эпохи ARPANET

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

В RFC Бушан писал:
Я попытался представить протокол пользовательского уровня, который позволит пользователям компьютеров и программ не напрямую использовать удаленные хосты. Протокол облегчает не только операции с файловой системой, но и выполнение программ на удаленных хостах. Это делается через определение запросов, которые обрабатываются взаимодействующими процессами. Ориентация последовательности транзакций обеспечивает большую уверенность и облегчает контроль ошибок. Понятие типов данных вводится для облегчения интерпретации, реконфигурации и хранения простых и ограниченных форм данных на отдельных хостах. Протокол легко расширяется.


В интервью одному из подкастов Бушан отметил, что он занялся разработкой этого протокола, поскольку ощущал необходимость в приложениях у многообещающей сети ARPANET, в частности – в электронной почте и FTP. Эти самые ранние приложения стали строительными блоками современного интернета, и за прошедшие десятилетия претерпели значительные изменения.

Из-за ограниченных возможностей компьютеров той эпохи, как отметил Бушан, функциональность электронной почты была встроена в FTP – сообщения и файлы передавались при помощи этого протокола в более легковесном формате, и четыре года FTP технически исполнял роль электронной почты.

«Поэтому мы подумали – почему бы не добавить в FTP пару команд, mail и mail file? Mail – это обычные текстовые сообщения, mail file – это вложение файла в сообщение, это то, что у нас есть сегодня», — сказал он в интервью.

Естественно, Бушан был не единственным человеком, оставившим свой след в этом раннем фундаментальном протоколе. Бушан в итоге ушёл от работы учёного, получив место в компании Xerox. Созданный им протокол продолжал расти и развиваться уже без него, претерпел несколько обновлений в 1970-х и 1980-х годах через последовательность RFC, включая и реализацию с поддержкой TCP/IP.

С тех пор он претерпел несколько небольших изменений, призванных поддерживать его в актуальном состоянии и добавлявших поддержку более новых технологий, современная версия FTP появилась в 1985 году, когда Джон Постел и Джойс Рейнолдс разработали RFC 959, обновление предыдущих протоколов, являющихся основой современных программ, поддерживающих FTP. Примерно в то же время Постел и Рейнолдс также принимали участие в разработке системы доменных имён. В документе новая версия описывалась, как «попытка исправить некоторые небольшие ошибки в документации, улучшить объяснение некоторых особенностей протокола, и добавить несколько необязательных команд». Но при этом именно эта версия задержалась надолго.

Из-за возраста протокола у FTP есть множество слабых мест, часть из которых вылезают и по сей день. К примеру, передача директории с кучей маленьких файлов идёт чрезвычайно неэффективно – передача больших файлов проходит гораздо лучше, поскольку протокол ограничивает количество отдельных соединений.

Поскольку протокол появился так давно, он во многом определил многие последующие протоколы. Его можно сравнить с чем-то, что часто скачкообразно обновляется в течение десятилетий – допустим, с баскетбольной обувью. Конечно, кеды Converse All-Stars до сих пор можно считать хорошей обувью, и они могут хорошо показать себя в определённых условиях и сегодня, однако для профессиональных баскетболистов, скорее всего, лучше подойдёт что-нибудь от Nike с брендом Air Jordan.

FTP – это кеды Converse All-Star интернета. Он передавал файлы ещё до того, как это стало круто, и до сих пор сохранил часть тех эмоций.

Никто не зарабатывал с интернета никаких денег – это была, скорее, денежная дыра. Мы сражались в праведной борьбе. Мы видели его потенциал. Но если кто-то говорит вам, что мог предсказать будущее, он врёт. Я лично был там.

— Алан Эмтейж, создатель первого поискового сервиса Archie, рассуждает в интервью блогу Internet Hall of Fame на тему того, почему его изобретение, позволившее пользователям искать файлы на анонимных FTP-серверах, не сделало его богатым. Если кратко, в то время интернет был некоммерческим, и Эмтейж, аспирант и сотрудник техподдержки монреальского университета Макгилла, использовал школьную сеть для работы Archie, причём без разрешения. «Но так поступать было круто, — рассказал он. – Как говорится, легче просить прощения, чем разрешения». Эмтейж, как и Бушан, эмигрант – он родился и рос на Барбадосе, а в Канаду приехал благодаря выдающейся успеваемости.



Почему FTP – возможно, последняя связь с остатками прошлого, всё ещё существующего в онлайне


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

Крупные технологические компании типа Hewlett-Packard, Mozilla, Intel и Logitech, десятилетиями использовали подобные сайты для распространения документации и драйверов среди конечных пользователей. По большей части эти сайты до сих пор работают, раздавая годами хранящийся там контент.

Во многих случаях эти сайты могут быть полезны, если у вас есть необходимость скачать что-то реально старое, типа драйвера или документации (мне это помогло, когда я подключал свою Connectix QuickCam).


Как сегодня выглядит FTP в браузере: ftp.logitech.com

В некоторых случаях ориентироваться на FTP бывает проще, чем на каком-нибудь сайте, поскольку интерфейс FTP последовательный и правильно работает. Через многие веб-интерфейсы бывает кошмарно сложно продраться, когда вам нужно просто скачать драйвер. Однако у простоты есть и обратная сторона – FTP не так хорошо работает с современными стандартами, и выглядит более убого, чем современные методы передачи файлов.

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

В той статье было интервью с Джейсоном Скоттом из организации Internet Archive; они пытаются сохранять эти винтажные FTP-сайты, ведь любой из них может отключиться в любой момент.

Скотт тогда отметил, что долговременное существование этих FTP уже считается исключением из правила.

«Очень странно, что у этих FTP-сайтов бывает инерция по 15-20 лет, и что они могли всё это время работать в неприкосновенности», — сказал он.

И если одна из главных функций FTP-сайтов уходит в историю, возможно, их полное закрытие остаётся лишь вопросом времени. Рекомендую, пока этого не случилось, порыться в каком-нибудь из них, и посмотреть, какие странные штуки можно там отыскать. Мы уже не живём в мире, в котором можно просто порыться в директориях публичных компаний, и даже сегодня этот опыт остаётся интересным.

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

— так говорится в статье журнала Network World за 1997 год, где доказывается, что несмотря на все недостатки FTP, это всё равно был нормальный вариант для многих удалённых работников и корпоративных пользователей. Конечно, статья была написана заинтересованным лицом – Роджер Грин был президентом компании Ipswitch, крупного производителя программ для работы с FTP – однако его аргументы в то время были справедливы. Это был отличный способ передавать крупные файлы по сетям и хранить их где-то на сервере. Проблема в том, что протокол FTP, пусть он и улучшался со временем, в итоге обогнали более сложные альтернативы – как протоколы (BitTorrent, SFTP, rsync, git, даже современные варианты HTTP), так и облачные решения типа Dropbox или Amazon Web Services.

Когда-то давно и у меня был свой FTP-сервер. В основном я делился через него музыкой, учась в колледже – в то время все студенты фанатели от музыкального обмена. У нас были очень быстрые каналы, благодаря чему это была идеальная среда для поддержки FTP-сервера.

Это был отличный способ делиться музыкальными вкусами с миром, но руководство университета в итоге прознало про обмен файлами и начало урезать пропускную способность – и всё закончилось… По крайней мере, я так думал. Потому что я летом подрабатывал в общежитии, и оказалось, что, когда все разъехались, ограничения канала перестали быть проблемой, и на пару месяцев я снова поднял свой сервер.


Panic Transmit, современный пример FTP-клииента. Многие современные клиенты поддерживают множество протоколов кроме старого доброго FTP.

В итоге я съехал, и FTP-сервер закрылся навсегда – в любом случае, появились более эффективные альтернативы, типа BitTorrent, и более легальные, типа Spotify и Tidal. Сожалению ли я сегодня о моём сервере? Конечно. Но в то время я чувствовал, что реализую некий протест, иду против системы. Конечно, ничего такого на самом деле не было.

Как обмен файлами претерпел изменения по сравнению с теми безрассудными временами 15-летней давности, так и мы выросли из использования былых FTP-серверов. Мы обучились более эффективным и безопасным техникам удалённой работы с файлами. В 2004 году было общепринятой практикой работать с веб-сервером через FTP. Сегодня, когда инструменты типа Git позволяют эффективно контролировать версии, такой подход считается рискованным и неэффективным.

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

В отличие от IRC, потерявшего популярность из-за коммерческих инструментов, и Gopher, переставшего развиваться после внезапного перехода на коммерческую модель, FTP уходит на пенсию потому, что его возраст подчёркивает отсутствие в нём безопасной инфраструктуры.

Некоторые из наиболее популярных примеров использования FTP-серверов, вроде публичных хранилищ файлов, вышли из моды. Однако основные варианты использования FTP уже заменили более безопасные и современные их версии, типа SFTP.

Я уверен, что какой-нибудь человек на технической должности будет заявлять, что FTP не умрёт никогда, поскольку для него всегда найдётся какой-нибудь особый вариант использования. Ну и ладно. Но большинство людей, когда Chrome выпилит поддержку FTP из браузера, вряд ли найдут причину заходить на FTP.

Если удаление поддержки FTP из браузера ускорит уход протокола, то так тому и быть. Однако за эти 50 лет в той или иной форме он отлично нам послужил.