Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні роботи.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
152 Кб
Скачать
☆

Лабораторна робота 1: Робота з ftp

Мета роботи: Отримати практичні навики використання протоколу FTP (File Transfer Protocol).

1.1 Теоретичні відомості

FTP (File Transfer Protocol) – протокол передачі файлів – дає можливість абоненту обмінюватися двійковими і текстовими файлами з будь-яким комп’ютером мережі, що підтримує протокол FTP. Установивши зв’язок з віддаленим комп’ютером, користувач може скопіювати файл з віддаленого комп’ютера на свій, або скопіювати файл з свого комп’ютера на віддалений.

При розгляді FTP як сервісу Інтернет мають на увазі не просто протокол, а саме сервіс – доступ до файлів, які знаходяться у файлових архівах.

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

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

Не зважаючи на розповсюдженість, у FTP є багато недоліків. Програми-клієнти FTP не завжди зручні і прості у користуванні. Користувач не завжди може зрозуміти який файл перед ним, чи той що необхідно, чи ні. Окрім того, не існує простого і універсального засобу для пошуку на серверах anonymous FTP, - хоча для цього і існує спеціальний сервіс archie, але це незалежна програма, вона не універсальна і не завжди її можна ефективно застосовувати. Програми FTP доволі старі і деякі їхні особливості, які були потрібні в часи їхнього створення, не зовсім зрозумілі і потрібні зараз. Наприклад, для передачі файлів існує два режими – двійковий та текстовий, і, якщо користувач неправильно обрав режим передачі, то файл, який необхідно передати, може бути пошкодженим. Опис файлів на сервері видається у форматі операційної системи серверу, а список файлів операційної системи Unix не завжди з розумінням сприймається користувачами Windows. Сервери FTP нецентралізовані, - звідси випливають ще деякі проблеми. Але незважаючи на все це, сервери anonymous FTP сьогодні – це стандартний шлях організації публічних файлових архівів в Інтернеті.

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

Протокол FTP працює на прикладному рівні моделі OSI і використовується для передачі файлів з допомогою TCP/IP. Для цього повинен бути запущений FTP-сервер, що очікує вхідних запитів. Комп’ютер-клієнт може зв’язатися з сервером по порту 21. Це з’єднання (потік управління) залишається відкритим на час сесії. Друге з’єднання (потік даних), може бути відкритий як сервером з порту 20 до порту відповідного клієнта (активний режим), або ж клієнтом з будь-якого порту до порту відповідного сервера (пасивний режим), що необхідно для передачі файлу даних. Потік управління використовується для роботи з сесією – наприклад, обмін між клієнтом і сервером командами і паролями за допомогою telnet-подібного протоколу. Наприклад, “RETR ім’я файлу” передасть вказаний файл від сервера клієнтові.

Протокол FTP визначений в RFC 959. Сервер відповідає по потоку управління тризначними ASCII-кодами стану з необов’язковим текстовим повідомленням. Наприклад, “200” (або “200 ОК”) означає, що остання команда була успішно виконана. Цифри є кодом відповіді, а текст – роз’яснення або запит. Поточна передача по потоку даних може бути перервана за допомогою повідомлення переривання, що посилається по потоку управління.

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

При передачі даних по мережі можуть бути використані чотири представлення даних:

  • ASCII – використовується для тексту. Дані, якщо необхідно, до передачі конвертуються з символьного представлення на хості-відправника в “восьмибітний ASCII”, і (знову ж таки, якщо необхідно) в символьне представлення приймаючого хоста. Як наслідок, цей режим не підходить для файлів, що містять не тільки звичайний текст.

  • Режим зображення (зазвичай іменований бінарним) – комп’ютер-відправник посилає кожен файл байт за байтом, а одержувач зберігає потік байтів при отриманні. Підтримка даного режиму була рекомендована для всіх реалізацій FTP.

  • EBCDIC – використовується для передачі звичайного тексту між хостами у кодуванні EBCDIC. В іншому, цей режим аналогічний ASCII-режиму.

  • Локальний режим – дозволяє двом комп’ютерам з ідентичними установками посилати дані у власному форматі без конвертації в ASCII.

Для текстових файлів надані різні формати управління і налаштування структури запису. Ці особливості були розроблені для роботи з файлами, що містять TELNET або ASA-форматування.

Передача даних може здійснюватися в будь-якому з трьох режимів:

  • Потоковий режим – дані посилаються у вигляді безперервного потоку, звільняючи FTP від виконання якої б то не було обробки. Замість цього, вся обробка виконується TCP. Індикатор кінця файлу не потрібний, за винятком розділення даних на записи.

  • Блочний режим – FTP розбиває дані на декілька блоків (блок заголовка, кількість байт, поле даних) і потім передає їх TCP.

  • Режим стиснення – дані стискаються єдиним алгоритмом.

Приклад логу з’єднання подано у лістингу 1.1.

Лістинг 1.1 – Приклад логу повідомлень FTP

220 FTP server ready.

USER ftp //Анонимус

230 Login successful.

PASV

227 Entering Passive Mode (192,168,254,253,233,92

LIST

150 Here comes the directory listing.

226 Directory send OK.

CWD incoming

250 Directory successfully changed.

PASV

227 Entering Passive Mode (192,168,254,253,207,56)

STOR gyuyfotry.avi

150 Ok to send data.

226 File receive OK.

QUIT

221 Goodbye.