Що таке FTP (протокол передачі файлів)?

Не плутати з FTTP (Fibre To The Premises) , FTP означає протокол передачі файлів . Це класичний протокол, вперше опублікований як RFC 114 у 1971 році. З тих пір, як персональний комп’ютер існує, він був корисним. Або навіть необхідно, щоб мати можливість передавати файли. У сучасному світі ми маємо багатогігабайтні флеш-накопичувачі USB і багатотерабайтні зовнішні жорсткі диски. А хмарне сховище надає різноманітні ємності та набори функцій для більшості випадків використання.

До того, як USB був стандартизований і навіть були засновані деякі з найбільших компаній хмарного зберігання даних, все було дещо інакше. У 1971 році була винайдена дискета, винахід, який дозволив швидко передавати дані між пристроями. FTP дозволяв передачу через мережу, хоча Інтернету ще не було.

FTP був настільки раннім, що навіть не використовував TCP, оскільки він також ще не був стандартизований. Замість цього він використовував NCP або протокол керування мережею, попередник TCP/IP. Це призвело до особливо відмінної функції FTP, яка ніколи не змінювалася, системи подвійного порту. NCP був простим протоколом.

Отже, для двонаправленого зв’язку було важливо мати два з’єднання на двох різних портах, один для надсилання та інший для отримання. Незважаючи на те, що врешті-решт був переведений на використання TCP/IP, який не має цієї вимоги та може чудово працювати з одним дуплексним портом, стандарт FTP ніколи не оновлювався та зберіг свою пару номерів портів.

Використання FTP

FTP використовує два номери портів: 20 і 21. Порт 21 використовується для керування та видачі команд, тоді як порт 20 використовується для передачі даних. Однією з основних речей, які необхідно влаштувати під час з’єднання перед передачею файлів, є використання активного або пасивного режиму. В активному режимі клієнт запитує файл. Потім сервер відкриває з’єднання даних із клієнтом. І брандмауери, і NAT створюють значну проблему, оскільки вхідна передача з FTP-сервера здійснюється на іншому порту, тому її не можна легко зв’язати з потрібним пристроєм.

Щоб вирішити цю проблему, можна використовувати пасивний режим. У пасивному режимі, коли користувач запитує файл із сервера, замість того, щоб безпосередньо намагатися підключитися до клієнта на іншому порту, сервер FTP інформує клієнта про порт, до якого йому слід підключитися, і дозволяє клієнту ініціювати з’єднання. Це ефективно вирішує проблему підключення в активному режимі та не має недоліків, крім невеликої затримки початку передачі файлів.

Технічно сервер повинен домовитися з клієнтом про відправку даних. Однак використовується тільки один режим. Це режим зображення, який також зазвичай називають бінарним режимом. У режимі зображення кожен файл надсилається побайтно. Альтернативні режими включають переклад усього файлу у 8-бітний ASCII, який підходить лише для текстових файлів.

Автентифікація та безпека

Оскільки FTP є особливо раннім стандартом протоколу, можливо, ви не здивуєтесь, дізнавшись, що FTP не є особливо безпечним. FTP пропонує автентифікацію за іменем користувача та паролем. Однак він не шифрує жодного зв’язку, тобто будь-хто в MitM або Man in the Middle position може «прослуховувати» трафік «по дроту» та просто читати ім’я користувача та пароль, які використовуються для входу.

FTP також пропонує функцію анонімного входу, корисну для відкритих FTP-серверів, таких як ті, що використовуються для оновлення програмного забезпечення. Під час анонімного входу використовується ім’я користувача anonymous. Потім сервер запитає адресу електронної пошти як пароль, але будь-яке значення приймається. Відсутність шифрування також означає, що файли передаються незахищено, тому FTP не ідеальний для використання з конфіденційними документами.

З часом було запропоновано низку розширень та альтернатив для підвищення безпеки FTP. FTPS є основним варіантом. Він розширює FTP опцією шифрування процесу автентифікації та передачі файлів за допомогою TLS і сумісний зі стандартними клієнтами FTP. SFTP, зокрема протокол передачі файлів SSH, по суті пропонує ті самі функції, що й FTP, але через SSH, безпечний протокол зв’язку, що робить його несумісним зі стандартними клієнтами та серверами FTP.

Можна маршрутизувати підключення через існуючі тунелі SSH. Однак на практиці це часто призводить до того, що контрольне з’єднання здійснюється через тунель SSH, а окреме з’єднання для передачі даних стає незахищеним. VPN пропонують певний захист від хакерів у тій самій мережі, що й ви, але залишають постачальника VPN у змозі здійснити ту саму атаку.

Висновок

FTP означає протокол передачі файлів. Це ранній клієнт-серверний протокол для завантаження файлів на FTP-сервер і з нього. FTP за замовчуванням не забезпечує безпеки. Хоча ім’я користувача та пароль можна використовувати, вони передаються у вигляді відкритого тексту, що робить їх уразливими для мережевого аналізу. Новіші розширення FTP додають опцію підключення через TLS для безпеки.

Браузери раніше включали FTP-клієнт, щоб ви могли переглядати FTP-сервери напряму, не потребуючи окремого клієнта. Однак у 2021 році Chrome і Firefox припинили підтримку FTP, обмеживши підтримку окремими клієнтами FTP. У сучасному світі рішення для хмарних сховищ – і, меншою мірою, швидкі та місткі USB-сховища – по суті замінили варіант використання FTP, запропонувавши покращену зручність, безпеку та швидкість.


Як клонувати жорсткий диск

Як клонувати жорсткий диск

У сучасну цифрову епоху, коли дані є цінним активом, клонування жорсткого диска в Windows може бути вирішальним процесом для багатьох. Цей вичерпний посібник

Як виправити помилку завантаження драйвера WUDFRd у Windows 10?

Як виправити помилку завантаження драйвера WUDFRd у Windows 10?

Ви стикаєтеся з повідомленням про помилку під час завантаження комп’ютера, у якому йдеться про те, що драйвер WUDFRd не вдалося завантажити на ваш комп’ютер?

Як виправити код помилки NVIDIA GeForce Experience 0x0003

Як виправити код помилки NVIDIA GeForce Experience 0x0003

Ви відчуваєте код помилки NVIDIA GeForce 0x0003 на робочому столі? Якщо так, прочитайте блог, щоб дізнатися, як швидко та легко виправити цю помилку.

Що таке SMPS?

Що таке SMPS?

Перш ніж вибрати SMPS для свого комп’ютера, дізнайтеся, що таке SMPS і значення різних показників ефективності.

Чому мій Chromebook не вмикається

Чому мій Chromebook не вмикається

Отримайте відповіді на запитання «Чому мій Chromebook не вмикається?» У цьому корисному посібнику для користувачів Chromebook.

Як повідомити Google про фішинг

Як повідомити Google про фішинг

Дізнайтеся, як повідомити про шахрая в Google, щоб запобігти йому обманювати інших за допомогою цього посібника.

Roomba зупиняється, залипає та розвертається – виправлення

Roomba зупиняється, залипає та розвертається – виправлення

Вирішіть проблему, коли ваш робот-пилосос Roomba зупиняється, залипає та продовжує обертатися.

Як змінити налаштування графіки на Steam Deck

Як змінити налаштування графіки на Steam Deck

Steam Deck пропонує надійний і універсальний ігровий досвід прямо у вас під рукою. Однак, щоб оптимізувати вашу гру та забезпечити найкраще

Що таке безпека на основі ізоляції?

Що таке безпека на основі ізоляції?

Я збирався заглибитися в тему, яка стає все більш важливою у світі кібербезпеки: безпека на основі ізоляції. Такий підхід до

Як використовувати Auto Clicker для Chromebook

Як використовувати Auto Clicker для Chromebook

Сьогодні я збирався заглибитися в інструмент, який може автоматизувати повторювані завдання на вашому Chromebook: Auto Clicker. Цей інструмент може заощадити ваш час і