FTP клиент

Автор: Пользователь скрыл имя, 11 Ноября 2010 в 19:37, курсовая работа

Описание работы

Информационная сеть — сеть, предназначенная для обработки, хранения и передачи данных. Информационная сеть состоит из:

- абонентских и административных систем;

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

Содержание

ВВЕДЕНИЕ………………………………………………………..3

1.ТЕОРЕТИЧЕСКИЙ АНАЛИЗ И ПРОЕКТИРОВАНИЕ……….4

1.1.ПОСТАНОВКА ЗАДАЧИ…………………………………….4

1.2.АРХИТЕКТУРА СИСТЕМЫ…………………………………4

1.3.ПРОТОКОЛ ПРИКЛАДНОГО УРОВНЯ……………………5

1.4.ПРОТОКОЛ ТРАНСПОРТНОГО УРОВНЯ………………....7

1.5.АКТИВЫЙ И ПАССИВНЫЙ РЕЖИМЫ……………………7

1.6.МОДЕЛЬ ПРОТОКОЛА………………………………………8

2.ПРОГРАММНАЯ РЕЛИЗАЦИЯ…………………………………9

2.1.ВЫБОР КОМПОНЕНТОВ……………………………………9

2.2.ПРОЦЕДУРЫ ПОДКЛЮЧЕНИЯ К СЕРВЕРУ И УДАЛЕНИЯ ФАЙЛА/ПАПКИ…………….………………..10

2.3.ОПИСАНИЕ ИНТЕРФЕЙСА…………………...…………. .11

3.ВЫВОДЫ…………………………………………………………12

СПИСОК ЛИТЕРАТУРЫ…………………………………...…..13

Работа содержит 1 файл

Пояснительная записка по КР по сетям.doc

— 115.00 Кб (Скачать)

Федеральное агентство по образованию  

Государственное образовательное учреждение

высшего профессионального образования

“Сибирский государственный индустриальный университет” 

Кафедра ИТМ 
 
 
 
 
 

Курсовая работа

 
по дисциплине: «Информационные сети»

на тему: «FTP клиент»  
 
 

                                                    Выполнил: ст. гр. ИСМ-07

                                                    Титов А.И. 

                          Проверил: Малинов М. Б.                                                                                                                                                                                

                           
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Новокузнецк

2010 

СОДЕРЖАНИЕ

   ВВЕДЕНИЕ………………………………………………………..3

1.ТЕОРЕТИЧЕСКИЙ  АНАЛИЗ И ПРОЕКТИРОВАНИЕ……….4

   1.1.ПОСТАНОВКА  ЗАДАЧИ…………………………………….4

   1.2.АРХИТЕКТУРА СИСТЕМЫ…………………………………4

   1.3.ПРОТОКОЛ ПРИКЛАДНОГО УРОВНЯ……………………5

   1.4.ПРОТОКОЛ ТРАНСПОРТНОГО УРОВНЯ………………....7

   1.5.АКТИВЫЙ  И ПАССИВНЫЙ РЕЖИМЫ……………………7

   1.6.МОДЕЛЬ  ПРОТОКОЛА………………………………………8

2.ПРОГРАММНАЯ  РЕЛИЗАЦИЯ…………………………………9

   2.1.ВЫБОР  КОМПОНЕНТОВ……………………………………9

       2.2.ПРОЦЕДУРЫ  ПОДКЛЮЧЕНИЯ К СЕРВЕРУ И     УДАЛЕНИЯ ФАЙЛА/ПАПКИ…………….………………..10

       2.3.ОПИСАНИЕ ИНТЕРФЕЙСА…………………...…………. .11

    3.ВЫВОДЫ…………………………………………………………12

       СПИСОК  ЛИТЕРАТУРЫ…………………………………...…..13 
     

   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение. 

   Компьютерная  сеть (вычислительная сеть, сеть передачи данных) — система связи компьютеров  и/или компьютерного оборудования (серверы, маршрутизаторы и другое оборудование). Для передачи информации могут быть использованы различные физические явления, как правило — различные виды электрических сигналов,световых сигналов или электромагнитного излучения.

   По  назначению компьютерные сети распределяются:

   - вычислительные

   - информационные

   - смешанные (информационно-вычислительные)

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

   Информационная  сеть — сеть, предназначенная для обработки, хранения и передачи данных. Информационная сеть состоит из:

   - абонентских  и административных систем;

   - связывающей  их коммуникационной сети.

   В зависимости  от расстояния между абонентскими системами, информационные сети подразделяются на глобальные, территориальные и локальные. Различают универсальные и специализированные информационные сети.

   Одной из самых часто используемых в  повседневной жизни программ продвинутого пользователя – FTP-клиент. Закачать html-странички на сервер, слить warez с сервака, качнуть фильмов в локалке – работа FTP клиента. Стоимость таких программ на рынке колеблется от 10 до 100 баксов. Скажи, тебе не хочется срубить столько же, да еще и не особо напрягаясь? Если ты решительно ответил «Да», то усаживайся по удобнее и продолжай читать статью, познавая секреты программирования ftp-клиентов.

   File transfer protocol (Протокол передачи файлов) берет свое начало с 70-х годов.  Именно в то время, возникла  необходимость в создании протокола,  который смог бы решить проблему передачи файлов с одного компьютера к другому. На протяжении 30 лет протокол неоднократно изменялся и совершенствовался.

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

1.Теоретический  анализ и проектирование. 

1.1.Постановка  задачи. 

   Цель - разработать программу: FTP клиент, которая может:

   - подключаться  к FTP серверу в активном и пассивном режимах,             

      используя имя пользователя и  пароль

   - скачивать,  загружать и удалять файлы  с сервера 

1.2. Архитектура системы. 

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

   В простейшем для пользователя (но при этом наиболее ко́мплексном) случае FTP-клиент представляет из себя эмулятор файловой системы, которая  просто находится на другом компьютере. С этой файловой системой можно совершать  все привычные пользователю действия: копировать файлы с и на сервер, удалять файлы, создавать новые файлы. В отдельных случаях возможно так же открытие файлов - для просмотра, запуска программ, редактирования. Необходимо учитывать лишь, что открытие файла подразумевает его предварительное скачивание на компьютер пользователя

   Благодаря распространенности протокола FTP, простые (с точки зрения реализации) FTP-клиенты  есть практически в каждой операционной системе. Однако использование этих клиентов требует навыков использования  консоли, а также знания команд протокола для общения с сервером. Так в Windows такой утилитой является ftp.exe. Во многих сборках Linux так же есть утилита ftp.

   Файловая  система на удаленном сервере  как правило имеет настройки  прав доступа для различных пользователей. Так, например, анонимным пользователям могут быть доступны лишь некоторые файлы, о существовании других пользователи знать не будут. Другой группе пользователей могут быть доступны другие файлы или, например, в дополнение к правам на чтение файлов, могут быть так же даны права на запись новых или обновление имеющихся файлов. Диапазон вариантов прав доступа зависит от операционной системы и программного обеспечения каждого конкретного FTP-сервера. Как правило, разделяют права на просмотр содержимого папки (т.е. возможность получить список содержащихся в ней файлов), на чтение файла(ов), на запись (создание, удаление, обновление) файла(ов)

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

   ftp://krasava:pass@ftp.someserver.com

   ftp:// —  указание того, что мы используем протокол FTP

   krasava — имя пользователя

    : —  разделитель имени пользователя  и пароля

   pass — пароль

   @ —  разделитель аутентификационной  информации и адреса сервера

   ftp.superserver.ru — адрес FTP-сервера

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

1.3.Протокол  прикладного уровня. 

   Протокол  прикладного уровня — протокол верхнего (7-ого) уровня сетевой модели OSI, обеспечивает взаимодействие сети и пользователя. Уровень разрешает приложениям пользователя иметь доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты. Также отвечает за передачу служебной информации, предоставляет приложениям информацию об ошибках и формирует запросы к уровню представления.

   Протокол пересылки файлов ftp – это протокол прикладного уровня стека TCP/IP .

    Работа этого протокола основана на архитектуре “клиент-сервер”.

   Команды и данные, в отличие от большинства  других протоколов передаются по разным портам. Порт 20 используется для передачи данных, порт 21 для передачи команд.  

Основные команды:

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-сервиса можно выделить следующие:

Информация о работе FTP клиент