В даний час, коли популярність World Wide Web достатньо велика, об'єм трафіку, що передається по мережі Internet по протоколу FTP займає тим не менш перше місце, дещо випереджуючи об'єм трафіку по протоколу HTTP. У цьому світлі організація файлових архівів в рамках технології TCP / IP є вкрай актуальним завданням.
Архіви використовують для вирішення різних завдань, однак найбільш популярними в мережі є вільно доступні архіви або такі архіви, доступ до яких дозволений за анонімним ідентифікатором користувача. Таким чином ці архіви можна використовувати в якості:
* Колекції вільно розповсюджуваного програмного забезпечення;
* Колекції програм для бета-тестування;
* Колекції нормативних і регламентних документів;
FTP-архів можна використовувати і в якості архіву комерційного програмного забезпечення, яке використовується в компанії, тільки в цьому випадку такий архів не повинен дозволяти анонімного доступу до зберігаються в ньому ресурсів.
В даний час всю систему взаємодії компонентів FTP-обміну можна представити у вигляді схеми представленої на малюнку 4.1.
На цій схемі показано два важливих технологічних моменти: по-перше, доступ до архіву можна здійснювати не тільки зі спеціалізованої програми-клієнта, а й з універсального броузера, наприклад Netscape Communicator або Microsoft Internet Explorer, а по-друге, для пошуку інформації в FTP -архівах можна скористатися програмою Archie.
При цьому слід чітко розуміти, що Archie та FTP - це абсолютно різні технології. У більшості випадків доступ до Archie-сервера користувачі здійснюють з Archie-клієнта, який знаходиться на тій же машині, що і сервер, тобто спочатку користувач по Telnet заходить як користувач Archie, а потім використовує програму-клієнт (зазвичай вона запускається в якості оболонки) для доступу до Archie сервера.
Протокол FTP (File Transfer Protocol)
FTP (File Transfer Protocol або "Протокол Передачі фото") - один з найстаріших протоколів в Internet і входить в його стандарти. Обмін даними в FTP проходить по TCP-каналу. Побудований обмін за технологією "клієнт-сервер". На малюнку 4.2 зображена модель протоколу.
В FTP з'єднання ініціюється інтерпретатором протоколу користувача. Управління обміном здійснюється по каналу керування в стандарті протоколу TELNET. Команди FTP генеруються інтерпретатором протоколу користувача і передаються на сервер. Відповіді сервера відправляються користувачеві також по каналу керування. У загальному випадку користувач має можливість встановити контакт з інтерпретатором протоколу сервера та відмінними від інтерпретатора користувача засобами.
Команди FTP визначають параметри каналу передачі даних і самого процесу передачі. Вони також визначають і характер роботи з віддаленої та локальної файловими системами.
Сесія управління ініціалізує канал передачі даних. При організації каналу передачі даних послідовність дій інша, відмінна від організації каналу управління. У цьому випадку сервер ініціює обмін даними у відповідності з параметрами, узгодженими в сесії керування.
Канал даних встановлюється для того ж host'а, що і канал управління, через який ведеться настройка каналу даних. Канал даних може бути використаний як для прийому, так і для передачі даних.
Можлива ситуація, коли дані можуть передаватися на третю машину. У цьому випадку користувач організовує канал керування з двома серверами і організовує прямий канал даних між ними. Команди управління йдуть через користувача, а дані безпосередньо між серверами (малюнок 4.3).
Канал управління повинен бути відкритий при передачі даних між машинами. У разі його закриття передача даних припиняється.
Режими обміну даними
У протоколі велика увага приділяється різним способам обміну даними між машинами різних архітектур. Дійсно, чого тільки немає в Internet, від персоналок і Mac'ов до суперкомп'ютерів. Всі вони мають різну довжину слова та багато різний порядок бітів в слові. Крім цього, різні файлові системи працюють з різною організацією даних, яка виражається в понятті методу доступу.
У загальному випадку, з точки зору FTP, обмін може бути потоковий або блоковий, з кодуванням в проміжні формати або без неї, текстовий або двійковий. При текстовому обміні всі дані перетворюються в ASCII і в цьому виді передаються по мережі. Виняток становлять тільки дані IBM mainframe, які за замовчуванням передаються в EBCDIC, якщо обидві взаємодіючі машини IBM. Двійкові дані передаються послідовністю бітів або піддаються певним перетворенням в процесі сеансу управління. Зазвичай, при потокової передачі даних за одну сесію передається один файл даних, а при блоковому способі за одну сесію можна передати кілька файлів.
Описавши в загальних рисах протокол обміну, можна перейти до опису засобів обміну по протоколу FTP. Практично для будь-якої платформи і операційного середовища існують як сервери, так і клієнти. Нижче описуються стандартні сервер і клієнт Unix-подібних систем.
Програмне забезпечення доступу до FTP-архівів
Для роботи з Ftp-архівами необхідно наступне програмне забезпечення: сервер, клієнт і пошукова програма. Сервер забезпечує доступ до ресурсів архіву з будь-якої точки мережі, клієнт забезпечує доступ користувача до будь-якого архіву в мережі, а пошукова система забезпечує навігацію у всьому безлічі архівів мережі.
У різних операційних системах ці компоненти Ftp-обміну змінюються як за формою, так і за можливостями, але деякі загальні принципи залишаються, крім цього, програми, орієнтовані на інтерфейс командного рядка, здебільшого залишаються незмінними в різних операційних середовищах.
Сервер протоколу - програма ftpd
Команда ftpd призначена для обслуговування запитів на обмін інформацією по протоколу FTP. Сервер зазвичай стартує в момент завантаження комп'ютера. Синтаксис запуску сервера наступний:
ftpd [-d] [-1] [-t timeout]
* D - опція налагодження;
* 1 - опція автоматичної ідентифікації користувача;
* T - час пасивного очікування команд користувача.
Кожен сервер має свій опис команд, яке можна отримати по команді help. Автоматична ідентифікація користувачів здійснюється за допомогою файлу / etc / passwd. Пароль користувача не повинен бути порожнім.
Програма обміну файлами - ftp
FTP - це інтерфейс користувача при обміні файлами по однойменному протоколу. Програма встановлює канал керування з віддаленим сервером і очікує команд користувача. Ідентифікатор віддаленого сервера вказується або аргументом програми, або в команді інтерфейсу open.
Якщо команда ftp працює з користувачем і очікує його команд, то на екрані відображається запрошення "ftp".
* V - придушує відповіді сервера і статистику передачі даних;
* N - управляє режимом ідентифікації користувача. Якщо вказано цей ключ, то спочатку перевіряється файл .netrc;
* I - вимикає підтвердження передачі файлу при масовому копіюванні файлів;
* D - включає режим налагодження;
* G - відключає прозорість передачі імен.
В рамках даного курсу немає можливості перерахувати всі команди ftp, тому зупинимося тільки на найнеобхідніших.