Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СС нечет 0.doc
Скачиваний:
23
Добавлен:
26.01.2017
Размер:
206.85 Кб
Скачать

Описание используемых протоколов

FTP (File Transfer Protocol — протокол передачи файлов)

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

FTPявляется одним из старейших прикладных протоколов, появившимся задолго доHTTP, в 1971 году. Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам.

Протокол FTPотносится к протоколам прикладного уровня и для передачи данных использует транспортный протоколTCP. Команды и данные, в отличие от большинства других протоколов, передаются по разным портам. Исходящий Порт 20, открываемый на стороне сервера, используется для передачи данных, порт 21 для передачи команд. Порт для приема данных клиентом определяется в диалоге согласования. В случае, если передача файла была прервана по каким-либо причинам, протокол предусматривает средства для докачки файла, что бывает очень удобно при передаче больших файлов.

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

ABOR — Прервать передачу файла

CDUP — Сменить директорию на вышестоящую.

CWD — Сменить директорию.

DELE — Удалить файл (DELE filename).

EPSV — Войти в расширенный пассивный режим. Применяется вместо PASV.

HELP — Выводит список команд принимаемых сервером.

LIST — Возвращает список файлов директории. Список передается через соединение данных.

MDTM — Возвращает время модификации файла.

MKD — Создать директорию.

NLST — Возвращает список файлов директории в более кратком формате чем LIST. Список передается через соединение данных.

NOOP — Пустая операция

PASV — Войти в пассивный режим. Сервер вернет адрес и порт к которому нужно подключиться чтобы забрать данные. Передача начнется при введении следующих команд RETR, LIST и тд.

PORT — Войти в активный режим. Например PORT 12,34,45,56,78,89. В отличие от пассивного режима для передачи данных сервер сам подключается к клиенту.

PWD — Возвращает текущую директорию.

QUIT — Отключиться

REIN — Реинициализировать подключение

RETR — Скачать файл. Перед RETR должна быть команда PASV или PORT.

RMD — Удалить директорию

RNFR и RNTO — Переименовать файл. RNFR — что переименовывать, RNTO — во что.

SIZE — Возвращает размер файла

STOR — Закачать файл. Перед STOR должна быть команда PASV или PORT.

SYST — Возвращает тип системы(UNIX, WIN, …)

TYPE — Установить тип передачи файла(Бинарный, текстовый)

USER — Имя пользователя для входа на сервер

Алгоритм работы протокола FTP

Работа FTP на пользовательском уровне содержит несколько этапов:

1. Идентификация (ввод имени-идентификатора и пароля).

2. Выбор каталога.

3. Определение режима обмена (поблочный, поточный, ASCII или двоичный).

4. Выполнение команд обмена (get, mget, dir, mdel, mput или put).

5. Завершение процедуры (quit или close).

FTP довольно необычная процедура, так как поддерживает две логические связи между ЭВМ. Одна связь служит для удаленного доступа и использует протокол Telnet. Другая связь предназначена для обмена данными. Сервер производит операцию passive open для порта 21 и ждет соединения с клиентом. Клиент осуществляет операцию active open для порта 21. Канал остается активным до завершения процедуры FTP. TOS (тип IP-сервиса) соответствует минимуму задержки, так как этот канал используется для ручного ввода команд. Канал для передачи данных (TCP) формируется каждый раз для пересылки файлов. Канал открывается перед началом пересылки и закрывается по коду end_of_file (конец файла). IP-тип сервиса (TOS) в этом случае ориентирован на максимальную пропускную способность.

Конечный пользователь взаимодействует с протокольным интерпретатором, в задачи которого входит управление обменом информацией между пользователем и файловой системой, как местной, так и удаленной. Схема взаимодействия различных частей Internet при работе FTP изображена на рисунке 1.

Рисунок 1 - Схема работы протокола FTP

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

Протокол TCP (transmission control protocol)

Осуществляет доставку дейтограмм, называемых сегментами, в виде байтовых потоков с установлением соединения. Протокол TCPприменяется в тех случаях, когда требуется гарантированная доставка сообщений. Он использует контрольные суммы пакетов для проверки их целостности и освобождает прикладные процессы от необходимости таймаутов и повторных передач для обеспечения надежности. Для отслеживания подтверждения доставки вTCPреализуется алгоритм "скользящего" окна.

Рисунок 2 - Формат TCP-сегмента

SourcePort(порт отправителя) 16 бит - номер порта отправителя

DestinationPort(порт получателя) 16 бит - номер порта получателя

SequenceNumber(номер очереди) 32 бита - номер очереди для первого октета данных в данном сегменте (за исключением тех случаев, когда присутствует флаг синхронизацииSYN). Если же флагSYNприсутствует, то номер очереди является инициализационным (ISN), а номер первого октета данных -ISN+1.

AcknowledgmentNumber(номер подтверждения) 32 бита - если установлен контрольный битACK, то это поле содержит следующий номер очереди, который отправитель данной датаграммы желает получить в обратном направлении. Номера подтверждения посылаются постоянно, как только соединение будет установлено.

DataOffset(смещение данных) 4 бита - количество 32-битных слов вTCPзаголовке. Указывает на начало поля данных.TCPзаголовок всегда кончается на 32-битной границе слова, даже если он содержит опции.

Reserved6 бит - Это резервное поле, должно быть заполнено нулями.

ControlBits(контрольные биты) 6 бит - Биты этого поля слева направо

Window (окно) 16 бит - количество октетов данных, начиная с октета, чей номер указан в поле подтверждения. Количество октетов, получения которых ждет отправитель настоящего сегмента.

Checksum (контрольная сумма) 16 бит - поле контрольной суммы - это 16-битное дополнение суммы всех 16- битных слов заголовка и текста. Если сегмент содержит в заголовке и тексте нечетное количество октетов, подлежащих учету в контрольной сумме, последний октет будет дополнен нулями справа с тем, чтобы образовать для предоставления контрольной сумме 16-битное слово. Возникший при таком выравнивании октет не передается вместе с сегментом по сети. Перед вычислением контрольной суммы поле этой суммы заполняется нулями.

Контрольная сумма, помимо всего прочего, учитывает 96 бит псевдозаголовка, который для внутреннего употребления ставится перед TCP заголовком. Этот псевдозаголовок содержит адрес отправителя, адрес получателя, протокол и длину TCP сегмента. Такой подход обеспечивает защиту протокола TCP от ошибшихся в маршруте сегментов. Эту информацию обрабатывает Internet протокол. Она передается через интерфейс протокол TCP/локальная сеть в качестве аргументов или результатов запросов от протокола TCP к протоколу IP.

Длина TCP сегмента - это длина TCP заголовка и поля данных, измеренная в октетах. Это не является точным указанием количества передаваемых по сети октетов, она не учитывает 12 октетов псевдозаголовка, но тем не менее расчет этого параметра все же производится.

Urgent Pointer (срочный указатель) 16 бит - это поле сообщает текущее значение срочного указателя. Последний является положительной величиной - смещением относительно номера очереди данного сегмента. Срочный указатель сообщает номер очереди для октета, следующего за срочными данными. Это поле интерпретируется только в том случае, когда в сегменте выставлен контрольный бит URG.

Options (опции) длина переменная - опции могут располагаться в конце TCP заголовка, а их длина кратна 8 бит. Все опции учитываются при расчете контрольной суммы.

Padding (заполнитель) длина переменная. Выравнивание TCP заголовка осуществляется с тем, чтобы убедиться в том, что TCP заголовок заканчивается, а поле данных сегмента начинается на 32-битной границе. Выравнивание выполняется нулями.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]