Чтение онлайн

на главную

Жанры

TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)

Фейт Сидни М.

Шрифт:

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

ftp> dir

FTP необходим порт для пересылки данных. Клиент посылает команду PORT, которая идентифицирует его IP-адрес (4 байта) и новый порт (2 байта), чтобы использовать эти значения при пересылке данных. Байты преобразуются в десятичный формат и разделяются запятыми. IP-адрес 128.36.4.22 будет записан как 128,36,4,22, а порт 2613 — как 10,53.

– -> PORT 128,36,4,22,10,53

200 PORT command successful.

Сервер

откроет соединение по указанному адресу socket. Команда LIST — это формальное сообщение для запроса подробного списка файлов каталога:

– -> LIST

Далее сервер открывает соединение с объявленным клиентом портом:

150 Opening ASCII mode data connection for /bin/ls.

total 531

– rw-r-r- 1 feit tigers 0 Oct 24 1994 .addressbook

– rw-r-r- 1 feit tigers 2808 Sep 23 1994 .article

– rw-r-r- 1 feit tigers 397 Mar 14 1993 .cshrc

. . .

– rw-r-r- 1 feit tigers 3113 Jul 31 13:29 subnets

– rw-r-r- 1 feit tigers 59901 Jun 5 17:48 typescript

226 Transfer complete.

2239 bytes received in 0.31 seconds (7 Kbytes/s)

Сразу после пересылки списка файлов соединение данных будет закрыто. Затем мы можем получить файл.

ftp> get subnets

Клиент указывает новый адрес socket для переноса файла. Отметим, что на сей раз используется клиентский порт 2614 (10,54).

– -> PORT 128,36,4,22,10,54

200 PORT command successful.

– -> RETR subnets

150 Opening ASCII mode data connection for subnets (3113 bytes).

226 Transfer complete.

По завершении пересылки файла соединение для данных закрывается.

local: subnets remote: subnets

3187 bytes received in 0.27 seconds (11 Kbytes/s)

ftp> quit

– -> QUIT

221 Goodbye.

plum-feit>

Отметим, что сценарий для соединения данных был таким:

■ Локальный клиент получил новый порт и использовал управляющее соединение, чтобы сообщить серверу FTP номер своего порта.

■ FTP-сервер связался с новым портом данных клиента.

■ Данные были переданы.

■ Соединение было закрыто.

Можно применять альтернативный сценарий. Если клиент посылает команду PASV, сервер возвращает номер порта и переходит к прослушиванию установки соединения данных от клиента. Ранее преобладало использование команды PORT. Однако теперь клиент может послать команду PASV для пересылки файлов через простую систему защиты (firewall), которая не разрешает установку соединений из поступающих сообщений (этот вариант будет подробно рассмотрен чуть позже).

При работе с файлами большого размера иногда обнаруживается, что пересылается не тот файл. Хорошая реализация должна позволять отменить пересылку. Для текстового интерфейса это обычно делается через комбинацию клавиш CONTROL-C, а в графическом интерфейсе — специальной кнопкой Abort (остановить).

14.5 Типы данных, структуры файлов и методы пересылки

На обоих концах соединения необходимо обеспечить единый формат для пересылаемых данных. Этот файл текстовый или двоичный? Он структурирован по записям или по блокам?

Для описания формата пересылки используются три атрибута: тип данных (data type), структура файла (file structure) и режим пересылки (transmission mode). Допустимые значения этих атрибутов рассмотрены ниже. В общем случае применяются:

■ Пересылка текста ASCII или двоичных данных.

■ Неструктурированный файл, который рассматривается как последовательность байт.

■ Режим пересылки рассматривает файл как поток байт.

Однако есть и несколько исключений. Некоторые хосты структурируют текстовые файлы как последовательность записей. Хосты IBM используют для текстовых файлов кодирование EBCDIC и проводят обмен файлами как набором структурированных блоков, а не как потоком байт.

В следующих разделах мы рассмотрим различные варианты типов данных, структур файлов и методов их пересылки.

14.5.1 Типы данных

Файл может содержать текст ASCII, EBCDIC или двоичный образ данных (существует еще тип, называемый локальным или логическим байтом и применяемый для компьютеров с размером байта в 11 бит). Текстовый файл может содержать обычный текст или текст, форматированный для вывода на принтер. В последнем случае в нем будут находиться коды вертикального форматирования:

■ Символы вертикального форматирования Telnet для режима NVT (т.е. <CR>, <LF>, <NL>, <VT>, <FF>)

■ Символы вертикального форматирования ASA (ФОРТРАН)

Типом данных по умолчанию является нераспечатываемый текст ASCII (т.е. текст без управляющих символов форматирования. — Прим. пер.). Тип данных может быть изменен стандартной командой TYPE, пересылаемой по управляющему соединению.

Поделиться:
Популярные книги

Школа. Первый пояс

Игнатов Михаил Павлович
2. Путь
Фантастика:
фэнтези
7.67
рейтинг книги
Школа. Первый пояс

Лейб-хирург

Дроздов Анатолий Федорович
2. Зауряд-врач
Фантастика:
альтернативная история
7.34
рейтинг книги
Лейб-хирург

Не грози Дубровскому! Том VIII

Панарин Антон
8. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том VIII

Вернуть невесту. Ловушка для попаданки

Ардова Алиса
1. Вернуть невесту
Любовные романы:
любовно-фантастические романы
8.49
рейтинг книги
Вернуть невесту. Ловушка для попаданки

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Последний Паладин. Том 4

Саваровский Роман
4. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 4

Титан империи 7

Артемов Александр Александрович
7. Титан Империи
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Титан империи 7

На руинах Мальрока

Каменистый Артем
2. Девятый
Фантастика:
боевая фантастика
9.02
рейтинг книги
На руинах Мальрока

Сопряжение 9

Астахов Евгений Евгеньевич
9. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
технофэнтези
рпг
5.00
рейтинг книги
Сопряжение 9

Здравствуй, 1985-й

Иванов Дмитрий
2. Девяностые
Фантастика:
альтернативная история
5.25
рейтинг книги
Здравствуй, 1985-й

Генерал-адмирал. Тетралогия

Злотников Роман Валерьевич
Генерал-адмирал
Фантастика:
альтернативная история
8.71
рейтинг книги
Генерал-адмирал. Тетралогия

Машенька и опер Медведев

Рам Янка
1. Накосячившие опера
Любовные романы:
современные любовные романы
6.40
рейтинг книги
Машенька и опер Медведев

Беглец. Второй пояс

Игнатов Михаил Павлович
8. Путь
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
5.67
рейтинг книги
Беглец. Второй пояс

Защитник. Второй пояс

Игнатов Михаил Павлович
10. Путь
Фантастика:
фэнтези
5.25
рейтинг книги
Защитник. Второй пояс