TFTP: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
IvanBot (обговорення | внесок)
м →‎'''Опції TFTP''': replaced: у відповідності з → згідно з (2)
Webknjaz (обговорення | внесок)
оновлення даних, стильові правлення, оформлення, видалення жахливої копіпасти "не по темі"
Рядок 1:
'''TFTP''' ({{lang-en|Trivial File Transfer Protocol}} - простий протокол передачі файлів) використовується головним чином для первинного завантаження бездискових робочих станцій. TFTP, на відміну від [[FTP]], не містить можливостей аутентифікації (хоча можлива фільтрація за IP-адресою) і заснований на транспортному протоколі UDP.
 
== '''Застосування''' ==
Рядок 75:
 
[[Категорія:FTP]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Зміст
 
1.0. FTP-протокол. 3
1.1. Загальні відомості про протокол передачі даних FTP. 3
1.2. Технічні процеси здійснення з'єднання за допомогою протоколу FTP. 4
1.3. Програмне забезпечення для здійснення з'єднання за допомогою протоколу FTP. 6
1.4. Служби архівів FTP. 7
2.0. Gene 6 Bulletproof FTP Server. 8
2.1. Загальний інтерфейс програми. 8
2.2. Загальні налаштування програми. 9
2.3. Опціональні налаштування програми. 10
2.4. Додаткові налаштування програми. 11
2.5. Налаштування кешування програми. 11
2.7. Генератор статистики. 12
2.7. Планувальник та налаштування динамічних IP адрес. 12
2.8. Налаштування MULTI IP-адрес і візуалізація програми. 13
2.9. Налаштування ведення лог-файлів (звітів). 13
2.10. Налаштування реакцій програми на події. 13
2.11. Налаштування прав і повноважень користувачів. 14
3.0. Деякі проблеми FTP-серверів. 15
4.0. Команди FTP протоколу. 16
4.1. Протоколи TFTP і SFTP. 18
Висновок. 21
Список використаної літератури 22
1.0. FTP-протокол
 
FTP (File Transfer Protocol) - це один з трьох основних протоколів Інтернету (mail, www, ftp). FTP або «Протокол Передачі фото» - один з найстаріших протоколів в Інтернет і входить в його стандарти. Обмін даними в FTP проходить по TCP-каналу. Побудований обмін за технологією «клієнт-сервер».
 
1.1. Загальні відомості про протокол передачі даних FTP
 
FTP (File Transfer Protocol) - це один з трьох основних протоколів Інтернету (mail, www, ftp). FTP або «Протокол Передачі фото» - один з найстаріших протоколів в Інтернет і входить в його стандарти. Обмін даними в FTP проходить по TCP-каналу. Побудований обмін за технологією «клієнт-сервер».
Protocol - протокол.
Погоджений формат для передачі даних між двома пристроями. Протокол визначає наступне:
• як буде здійснюватися перевірка на помилку;
• метод упаковки даних (якщо упаковка використовується);
• яким чином посилаюча пристрій повідомляє, що воно закінчило повідомлення;
• яким чином приймаючий пристрій повідомляє, що воно отримало повідомлення.
Є ряд стандартних (еталонних) протоколів, з яких можна вибрати підходящий. Кожен протокол має свої переваги і недоліки (незручності); наприклад, деякі простіші, ніж інші, деякі надійніші, і деякі швидше.
З точки зору користувача, єдине, що його цікавить в протоколі, - те, що комп'ютер або пристрій повинен підтримувати його (протокол) правильно, якщо Ви хочете зв'язуватися з іншими комп'ютерами. Протокол може бути реалізований або в обладнанні або в програмному забезпеченні.
Модель протоколу
FTP - це звід правил, які вказують на те, як комп'ютери можуть спільно використовувати файли в Інтернеті.
Протокол FTP побудований таким чином, що різні комп'ютери, з різним програмним забезпеченням і різних «залізом» можуть ефективно обмінюватися будь-якими файлами.
Сьогодні, багато користувачів при слові FTP асоціюють його з warez, mp3, jpeg і mpeg форматами. Але насправді цей протокол використовується для передачі будь-яких видів файлів, від звичайних текстових документів, до захищених програмних файлів. FTP протокол широко використовується в автоматичних системах проведення оплати через Інтернет і для передачі інформації з супутників в космосі.
Пересилання та завантаження файлів в Інтернеті - настільки важливі рутинні завдання, що протокол FTP став широко застосовуватися ще до появи в Мережі електронної пошти. Однак за допомогою цього протоколу істотно простіше отримати доступ до файлів іншого комп'ютера, ніж надати іншим можливість доступу до ваших файлів і їх зчитування.
 
1.2. Технічні процеси здійснення з'єднання за допомогою протоколу FTP
 
В FTP з'єднання ініціюється інтерпретатором протоколу користувача. Управління обміном здійснюється по каналу керування в стандарті протоколу TELNET. Команди FTP генеруються інтерпретатором протоколу користувача і передаються на сервер. Відповіді сервера відправляються користувачеві також по каналу керування. В загальному випадку користувач має можливість встановити контакт з інтерпретатором протоколу сервера та відмінними від інтерпретатора користувача засобами.
Команди FTP визначають параметри каналу передачі даних і самого процесу передачі. Вони також визначають і характер роботи з віддаленою та локальною файловими системами.
FTP відрізняється від інших програм тим, що він використовує два TCP з'єднання для передачі файлу.
Керуючий з'єднання встановлюється як звичайне з'єднання клієнт-сервер. Сервер здійснює пасивне відкриття на заздалегідь відомий порт FTP (21) і очікує запиту на з'єднання від клієнта. Клієнт здійснює активне відкриття на TCP порт 21, щоб встановити керуюче з'єднання. Керуючий з'єднання існує весь час, поки клієнт спілкується з сервером. Це з'єднання використовується для передачі команд від клієнта до сервера і для передачі відповідей від сервера. Тип IP сервісу для керуючого з'єднання встановлюється для отримання «мінімальної затримки», так як команди зазвичай вводяться користувачем.
З'єднання даних відкривається кожен раз, коли здійснюється передача файлу між клієнтом і сервером. (Воно також відкривається і в інші моменти, як ми побачимо пізніше.) Тип сервісу IP для з'єднання даних повинен бути «максимальна пропускна здатність», так як це з'єднання використовується для передачі файлів.
Сесія управління ініціалізує канал передачі даних. При організації каналу передачі даних послідовність дій інша, відмінна від організації каналу управління. У цьому випадку сервер ініціює обмін даними згідно з параметрами, узгодженими в сесії керування.
Канал даних встановлюється для того ж host'а, що і канал керування, через який ведеться настройка каналу даних. Канал даних може бути використаний як для прийому, так і для передачі даних.
Можлива ситуація, коли дані можуть передаватися на третю машину. У цьому випадку користувач організовує канал керування з двома серверами і організовує прямий канал даних між ними. Команди управління йдуть через користувача, а дані безпосередньо між серверами.
Канал управління повинен бути відкритий при передачі даних між машинами. У разі його закриття передача даних припиняється.
FTP адресу виглядає приблизно так:
ftp://user:password @ 127.0.0.1:21 /
user - ім'я користувача.
двокрапка - це роздільник для програми між ім'ям користувача і паролем
password - пароль.
@ - Означає поділ між даними користувача і адресою.
Далі йде безпосередньо адресу. Це може бути IP, а може мати і буквене значення (як-то ftp.ur.ru). Після адреси знову йде розділову двокрапка, яке розділяє адреса, і номер порту до якого слід підключатися. За замовчуванням цим портом є 21, але може бути будь-яка цифра, позначена адміністратором сервера.
Адреса може виглядати і так:
ftp://127.0.0.1
Це буде означати, що ім'я користувача anonymous, паролем є E-mail адресу, а порт 21-й.
З'єднання з двома різними серверами і передача даних між ними
 
1.3. Програмне забезпечення для здійснення з'єднання за допомогою протоколу FTP
 
Для отримання файлів необхідний FTP-client, програма, яка сьогодні поставляється як складова частина всіх сучасних браузерів. А от з наданням доступу до ваших файлів трохи складніше, для цього необхідний вихід в Інтернет, переважно (але необов'язково) з фіксованим (статичним) IP-адресою і постійним з'єднанням, і FTP-daemon - програма, що виконує функції FTP-сервера.
Якість FTP-сервера визначається його здатністю управляти доступом відповідно до типами користувачів і файлів. Якщо ви маєте в своєму розпорядженні загальнодоступними файлами, то ви захочете мати можливість надавати анонімний FTP-доступ до конкретних каталогах. Адміністратору FTP-вузла необхідний вичерпний протокол реєстрації доступу. І все це вимагає інтуїтивно зрозумілого, працездатного користувальницького інтерфейсу.
Існує безліч FTP-демонів, під всі операційні системи, але не все так зручні і функціональні. На мій погляд, найбільш зручним і не менш функціональним є Gene 6 Bulletproof FTP Server. Розглянемо більш докладно це FTP-сервер нижче.
 
1.4. Служби архівів FTP
 
FTP-архіви є одними з основних інформаційних ресурсів Internet. Фактично, це розподілений депозитарій текстів, програм, фотографій та іншої інформації, що зберігається у вигляді файлів на різних комп'ютерах у всьому світі.
Інформація в FTP-архівах розділена, в основному, на три категорії:
• Захищена інформація, режим доступу до якої визначається її власниками і дозволяється за спеціальною угодою із споживачем. До цього виду ресурсів відносяться комерційні архіви (наприклад, комерційні версії програм в архівах ftp.microsoft.com), закриті національні та міжнародні некомерційні ресурси (наприклад, роботи з міжнародних проектів CES або IAEA), приватна некомерційна інформація із спеціальними режимами доступу (наприклад , приватні благодійні фонди).
• Інформаційні ресурси обмеженого використання, до яких відносяться, наприклад, програми класу shareware. В даний клас можуть входити ресурси обмеженого часу використання або обмеженого часу дії.
• Вільно розповсюджувані інформаційні ресурси або freeware, якщо мова йде про програмне забезпечення. До цих ресурсів відноситься все, що можна вільно отримати по мережі без спеціальної реєстрації. Це може бути документація, програми або що-небудь ще. Слід зазначити, що вільно розповсюджується програмне забезпечення не має сертифіката якості, але його розробники відкриті для обміну досвідом.
З вище перерахованих ресурсів найцікавішими є дві останні категорії, які, як правило, оформлені у вигляді FTP-архівів.
2.0. Gene 6 Bulletproof FTP Server
 
BPFTP Сервер - це FTP-сервер, який повністю відповідає специфікації RFC-959, а також має безліч інших опцій, таких як:
• підтримка скачування / закачування;
• перегляд активності сервера в реальному часі;
• бан (автоматичний заборона доступу для певного IP адреси);
• ініційований відмову певним користувачам;
• коефіцієнт обміну файлами;
• установка квот на кількість користувачів і швидкість скачування / закачування даних;
• менеджер подій;
• генератор статистики в реальному часі;
• рейтинг користувачів ТОР10;
• віртуальні директорії;
• чат.
Якщо ви хочете мати повний контроль над користувачами вашого сервера, то ця програма для вас.
Ця програма протестована під Win9x \ NT \ W2K \ XP. Існують також версії по * nix системи.
BPFTP Сервер пропонує опції для повного контролю, який ви хотіли б мати над вашими користувачами, такі як:
• Real time взаємодія;
• Real time адміністрування;
• Real time «шпигун»;
• Real time статус акаунтів ваших користувачів;
• Real time моніторинг підключених користувачів.
2.1. Загальний інтерфейс програми
 
У верхній частині вікна знаходяться так звані Hot keys, вони ж «гарячі кнопки». Тобто кнопки швидкого доступу до потрібних функцій програми. Тут знаходяться такі функції як:
• старт / зупинка FTP-сервера;
• доступ до налаштувань програми;
• настройка подій на дії;
• доступ до списку користувачів і груп користувачів;
• доступ до статистичної інформації.
У вікні відображається інформація в текстовому вигляді про поточні з'єднаннях і діях підключених користувачів.
У нижній частині вікна програми знаходиться наступна інформація:
• кількість підключених користувачів;
• статус FTP-сервера, а також інформація про те, який порт відкритий для доступу IP-адрес на сервер;
• швидкість передачі інформації (у байтах / сек);
• коротка інформація про останній дій користувача FTP-сервера.
2.2. Загальні налаштування програми
 
В даному вікні налаштування програми настроюються загальні функції. Такі як:
• назва FTP-сервера;
• максимальна кількість користувачів сервера, які можуть знаходиться на сервері в один час;
• завантажувальні опції сервера, які активується разом із запуском ОС;
• призначення порту, на якому буде прослуховуватися фтп.
 
2.3. Опціональні налаштування програми
 
 
У даних настройках налаштовуються опціональний ¬ ні можливості про ¬ грами. Такі важливі настройки як:
• можливість обмеження доступу до директорії і піддиректоріях, де розташований FTP-сервер;
• шифрування паролів екаунтів користувачів;
• обмеження перевірки екаунту користувача та його пароля до n-раз, потім автоматична установка його в бан або просто викидання з сервера;
• настройка обмеження доступу з IP-адрес.
 
2.4. Додаткові налаштування програм
 
В даному вікні налаштовуючи ¬ ються технічні можливості програми, що оптимізують швидкодія її і системи в цілому. Це такі настройки як:
• настройка приймаючого буфера (в байтах), корисно для повільних або завантажених мережевих рішень;
• основне призначення сервера (закачуючи ¬ ня / скачування, тільки скачування, тільки закачування);
• пріоритет FTP-сервера в загальному списку процесів ОС;
• блокування передачі з сервера на сервер;
• анти-хаммерінг система (занадто часті спроби зайти на сервер без будь-яких на те причин).
 
2.5. Налаштування кешування програми
 
Дані налаштування дозволяють оптимізувати кешуючий здібності програми. Це дозволяє зберігати FTP-серверу в пам'яті список директорій, до яких здійснювався доступ, протягом заданого часу, що збільшує реакцію доступу до них, якщо протягом заданого часу були ще спроби отримати доступ до директорій, що знаходяться в оперативній пам'яті комп'ютера.
 
2.7. Генератор статистики
 
Дане вікно дозволяє настроїти періодичність оновлення статистики, тип збирається статистики, а так же, для яких користувачів збирати статистику.
Ця опція корисна тим, що наочно видно завантаження сервера і найбільш популярні ресурси, що дозволяє оптимізувати час роботи сервера і більш точно налаштувати кешуючий властивості програми (п. 2.5).
 
2.7. Планувальник та налаштування динамічних IP адрес
 
 
У даних настройках налаштовуються такі функції як:
• старт / зупинка FTP-сервера за розкладом;
• виконання стандартних системних функцій ОС за розкладом;
• стеження за динамічним зміною певних IP-адрес.
Останнє дозволяє користувачам з динамічним IP-адресою знаходиться в базі користувачів без будь-яких обмежень. Bulletproof FTP-сервер сам буде відслідковувати зміну IP-адреси і прописувати його в базі, як додатковий для даного користувача.
 
2.8. Налаштування MULTI IP-адрес і візуалізація програми
 
 
Дані опції дозволяють налаштувати мульти IP-адреси (користувачі можуть мати однакові логіни і паролі на різних «віртуальних» FTP-серверах), а також візуалізацію програми (відображення іконки активності сервера в system tray, відображення статусу передачі файлу, автоматична перевірка оновлень програми, видалення файлів в корзину ОС або безпосередньо в DEV \ NULL (фізична видалення)).
2.9. Налаштування ведення лог-файлів (отчетов.
 
В даному вікні існує можливість налаштування ведення найдокладнішого файлу звіту, без якого не може обійтися не один серйозний FTP-сервер.
 
2.10. Налаштування реакцій програми на події
 
Ця функція, на мій погляд, найбільш корисна на web-сайтах, де розташовується даний FTP-сервер. На кожну дію або відгук сервера, можна налаштувати певну реакцію, такі як висновок повідомлення, запуск певного файлу або виконання системної функції. Т.ч. ефективність web-сайтів підвищується в кілька разів, а взаємодія з активним користувачем, взагалі, піднімається на недосяжну до цього висоту.
 
2.11. Налаштування прав і повноважень користувачів
 
Дані налаштування можна зробити через закладку USER ACCOUNTS. Тут можна прописати такі повноваження:
• задати певний список користувачів і прописати для кожного з них свої повноваження;
• задати список директорій, до яких користувач може отримати доступ, а також атрибути доступу для кожної з них;
• настройка додаткових налаштувань;
• настройка квотування і обмеження швидкості;
• можливість задати список дозволених / заборонених IP-адрес;
• детальний загальний статус за весь період роботи сервера.
 
3.0. Деякі проблеми FTP-серверів
 
FTP сервери можуть працювати в двох режимах: активному і пасивному. В активному режимі, коли починається передача даних, клієнт починає прослуховування TCP порту і повідомляє серверу, який порт він прослуховує, після чого сервер відкриває TCP з'єднання з порту 20 на порт, зазначений клієнтом. Потім дані передаються через це з'єднання. У пасивному режимі, клієнт повідомляє серверу, що він готовий до передачі даних і сервер починає прослуховувати неспеціальних TCP порт і повідомляє клієнту, який саме. Потім клієнт відкриває TCP з'єднання на порт вказаний сервером і обмін даними відбувається через це з'єднання.
Проблема цих допоміжних з'єднань в тому, що існуюча специфікація FTP протоколу не передбачає будь-якого методу перевірки того, що клієнт або сервер, який встановив з'єднання це саме той, хто запросив це з'єднання в керуючому сеансі. Це, в поєднанні з фактом того, що багато операційні системи призначають TCP порти послідовно в порядку зростання, означає, що в результаті в FTP протоколі створюються умови дозволяють атакуючої сторони перехопити дані, які передає будь-хто інший, або підмінити дані. Ці атаки злегка відрізняються в активному і пасивному режимі.
4.0. Команди FTP протоколу
 
Команди управління контролем передачі даних, якими обмінюються «Інтерпретатор протоколу сервера» і «Інтерпретатор протоколу користувача», можна розділити на три великі групи:
1. Команди управління доступом до системи.
2. Команди управління потоком даних.
3. Команди FTP-сервісу.
Розглянемо кілька найбільш характерних команд з кожної групи. Серед команд управління доступом до системи слід зазначити наступні:
USER. Як правило, ця команда відкриває сесію FTP між клієнтом і сервером. Аргументом команди є ім'я (ідентифікатор) користувача для роботи з файловою системою. Ця команда може подаватися не тільки на початку, а й в середині сесії, якщо, наприклад, користувач бажає змінити ідентифікатор, від імені якого будуть проводитися дії. При цьому всі змінні, пов'язані з старому ідентифікатору, звільняються. Якщо під час зміни ідентифікатора відбувається обмін даними, обмін завершується зі старим ідентифікатором користувача.
PASS. Дана команда подається після введення ідентифікатора користувача і, як аргумент містить пароль користувача. Нагадаємо, що дані аутентифікації FTP передаються по мережі відкритим текстом, тому для забезпечення захищеності каналу користувачеві необхідно вживати додаткових заходів.
CWD. Команда дозволяє користувачам працювати з різними каталогами віддаленої файлової системи. Аргументом команди є рядок, що вказує шлях каталогу віддаленої файлової системи, в якому бажає працювати користувач.
REIN. Команда реініціалізації. Ця команда очищає всі змінні поточного користувача, скидає параметри з'єднання. Якщо в момент подачі команди відбувається передача даних, передача триває і завершується з колишніми параметрами.
QUIT. Команда закриває керуючий канал. Якщо в момент подачі команди відбувається передача даних, канал закривається після закінчення передачі даних.
Команди управління потоком встановлюють параметри передачі даних. Всі параметри, які описуються цими командами мають значення за замовчуванням, тому команди управління потоком використовуються тільки тоді, коли необхідно змінити значення параметрів передачі, використовуваних за замовчуванням. Команди управління потоком можуть подаватися в будь-якому порядку, але всі вони повинні передувати командам FTP-сервісу. З команд управління потоком даних слід виділити наступні:
PORT. Команда призначає адресу і порт хоста, який буде використовуватися як активний учасник з'єднання по каналу передачі даних. Аргументами команди є 32-бітний IP адреса і 16-бітний номер порту з'єднання. Ці значення розбиті на шість 8-бітних полів і представлені в десятковому вигляді: h1, h2, h3, h4, p1, p2, де hN - байти адреси (від старшого до молодшого), а pN - байти порту (від старшого до молодшого) .
PASV. Ця команда відправляється модулю, який буде грати пасивну роль, в передачі даних («слухати» з'єднання). Відповіддю на цю команду повинна бути рядок, що містить адресу і порт хоста, що знаходяться в режимі очікування з'єднання в форматі команди PORT - «h1, h2, h3, h4, p1, p2».
Команди TYPE, STRU, MODE визначають, відповідно, тип переданих даних (ASCII, Image та інші), структуру або формат передачі даних (File, Record, Page), спосіб передачі (Stream, Block та інші). Використання цих команд дуже важливо при побудові взаємодії в гетерогенних середовищах і вельми відрізняються операційних та файлових систем взаємодіючих хостів.
Команди FTP-сервісу визначають дії, які необхідно зробити з вказаними файлами. Як правило, аргументом команд цієї групи є шлях до файлу. Синтаксис зазначеного шляху повинен задовольняти вимогам формату файлової системи обробника команди. З команд FTP-сервісу можна виділити наступні:
RETR. Ця команда вказує модулю «Програма передачі даних сервера» передати копію файлу, заданого параметром цієї команди, модулю передачі даних на іншому кінці з'єднання.
STOR. Команда вказує модулю «Програма передачі даних сервера» взяти дані по каналу передачі даних і зберегти їх як файл, ім'я якого задано параметром цієї команди. Якщо такий файл вже існує, він буде заміщений новим, якщо ні, буде створений новий.
Команди RNFR і RNTO повинні слідувати одна за одною. Перша команда містить в якості аргументу старе ім'я файлу, друга - нове. Послідовне застосування цих команд перейменовує файл.
ABOR. Команда наказує серверу перервати виконання попередньої сервісної команди (наприклад, передачу файлу) і закрити канал передачі даних.
Команда DELE видаляє вказаний файл.
Команди MKD і RMD, відповідно, створюють і видаляють зазначений в аргументі каталог.
За допомогою команд LIST і NLST можна отримати список файлів у вказаному каталозі.
Усі команди FTP-протоколу відправляються «Інтерпретатором протоколу користувача» в текстовому вигляді - по одній команді в рядку. Кожен рядок команди - ідентифікатор і аргументи - закінчуються символами <CRLF>. Ім'я команди відділяється від аргументу символом пробілу - <SP>.
Оброблювач команд повертає код обробки кожної команди, що складається з трьох цифр. Коди обробки становлять певну ієрархічну структуру і, як правило, певна команда може повернути тільки певний набір кодів. За кодом обробки команди слід символ пробілу - <SP>, потім слідує текст пояснення. Наприклад, рядок успішного завершення операції виглядає наступним чином: «200 Command okay».
Нижче наведено приклад роботи з FTP-протоколу. Позначення: S - сервер, U - користувач.
S: 220 Service ready for new user
U: USER Gluk
> S: 331 User name okay, need password
U: PASS murmur
S: 230 User logged in, proceed
U: RETR test.txt
S: 150 File status okay; about to open data connection
<Йде передача файлу ...>
S: 226 Closing data connection, file transfer successful
U: TYPE I
S: 200 Command okay
U: STOR / home / images / first.my
S: 550 Access denied
U: QUIT
 
4.1. Протоколи TFTP і SFTP
 
FTP-протокол має двох «молодших братів»: SFTP - Simple FTP і TFTP - Trivial FTP.
TFTP-протокол - це найпростіший протокол передачі файлів. Він працює поверх транспортного протоколу UDP і забезпечує виконання тільки самих елементарних операцій передачі файлів, а саме, записи і читання файлів. TFTP був розроблений як простий і легкий у застосуванні протокол. Він не дозволяє викликати список каталогу і не має ніяких засобів аутентифікації, але може передавати 8-бітну інформацію згідно з усіма стандартами Internet.
Оскільки передача даних здійснюється поверх UDP, протокол TFTP реалізує власні методи надійної доставки даних - пакети підтвердження, нумерація блоків даних і пакетів підтвердження і т.п. Все дуже схоже на спрощений варіант емуляції протоколу TCP.
TFTP працює лише п'ятьма командами:
1. Read request (RRQ) - запит на читання.
2. Write request (WRQ) - запит на запис.
3. Data (DATA) - пакет даних.
4. Acknowledgment (ACK) - підтвердження.
5. Error (ERROR) - помилка.
Процес передачі даних починається з надходження від клієнта TFTP на сервер запиту на читання або запис файлу. З'єднання встановлюється після отримання підтвердження готовності на один із запитів, або на запис, або на читання.
При відкритті з'єднання, кожна зі сторін вибирає (випадковим чином) унікальний ідентифікатор - TID, який використовується і UDP як порт з'єднання. Кожен пересилається пакет асоційований з двома TID, відповідними кожній стороні з'єднання. Початковий запит відправляється ініціатором TF TP-з'єднання на UDP-порт 69 (порт ініціалізації), в якому вказується порт з'єднання. Подальший обмін вже відбувається через порти, обрані учасниками передачі даних.
Якщо сервер дозволяє запит, обмін відкривається, і вказаний файл передається (блоками по 512 байт). Кожен пакет переданих даних містить один блок (512 байт) і номер блоку в переданому потоці. Надходження кожного блоку на хост призначення має бути підтверджено пакетом ACK (підтвердження), із номером надійшов блоку. Тільки після отримання пакета підтвердження буде відправлений наступний пакет даних.
Якщо довжина пакета менше 512 байт - це служить сигналом для закриття каналу зв'язку. У разі втрати пакета при передачі, через деякий проміжок часу сервер відправить цей пакет даних повторно.
Три типи ситуацій породжують відправку помилкових пакетів:
1. Не підтверджений запит, наприклад, не був знайдений файл, немає прав доступу та ін
2. Неправильний формат пакета, наприклад, сталася помилка комутації.
3. Втрата доступу до необхідного ресурсу.
При великій кількості повідомлень про помилки з'єднання може бути закрито за ініціативою однієї із сторін.
SFTP-протокол передачі файлів користується популярністю в тих випадках, якщо користувачеві необхідний трохи більш гнучкий і надійний протокол, ніж TFTP і не такий складний і громіздкий, як FTP.
SFTP підтримує механізми ідентифікації користувача, передачу файлів, перегляд каталогів, зміна поточного каталогу, перейменування і видалення файлів. У більшості операцій, які користувач проводить з віддаленим FTP-сервером, цього сервісу цілком достатньо. SFTP може передавати 8-бітний потік даних і використовує, як TFTP, тільки один канал з'єднання - як для команд, так і для даних. На відміну від TFTP, SFTP працює поверх TCP, порт 115.
Команда SFTP мають майже той же синтаксис і призначення, що й аналогічні команди FTP.
SFTP цілком задовольняє роботі з одним користувачем і одним сервером, крім того, його легко використовувати і програмувати.
Висновок.
 
ФТП протокол, безсумнівно, грає величезну роль в глобальній мережі Інтернет (і не тільки в ній). Цей зручний, дійсно багатофункціональний, а, головне, давно стандартизований протокол є домінуючим і беззастережним лідером в Інтернеті. На його базі побудовано безліч файлових архівів, без яких технічна робота була б не настільки ефективна. Автоматизація та захищеність цього протоколу, також не викликає нарікань, що дозволяє використовувати його в державних структурах.
Останнім часом ФТП-сервери стали заводити багато користувачів мережі Інтернет, у яких є хоч якийсь контент, яким вони хочуть поділитися. І це виявилося дуже зручним, що говорить про те, що даний протокол ще і відносно легкий в налаштуванні і підтримці.
ФТП-протокол практично не схильний вірусним атакам, що зайвий раз підтверджує його безпеку.
Дані роздуми приводять мене до одного єдиного висновку. Цей протокол універсальний, гнучкий, надійний, швидкий, нескладний в освоєнні, абсолютно безкоштовний і доступний для мас, що і робить його настільки популярним і віддається перевага, в даний час.
 
 
 
 
1. Поисковая система Google. www.google.com.ru
2. Образовательный портал «Кирилл и Мефодий». www.km.ru
3. Специализированный форум по программному обеспечению iXBT. forum.ixbt.ru
4. Официальный www сервер FTP-сервера Gene 6 Bulletproof. http://www.bpftpserver.com/