Работа FTP

Работа FTPFTP - это протокол типа «клиент-сервер», который использует два соединения между клиентом и сервером, в отличие от SMTP, HTTP и NNTP, использующих одно соединение.

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

FTP-соединения

FTP-соединения устанавливаются между FTP-клиентом и FTP-серве-ром. FTP-сеанс между клиентом и сервером может быть инициирован пользователем через интерфейс FTP-клиента или программно в Windows Server 2003 посредством API Win32 (программного интерфейса приложения). В любом случае само соединение инициируется пользовательским PI. PI пользователя отвечает за открытие TCP-соединения с FTP-сервером и за отправку команды к PI сервера, запрашивая открытие FTP-соединения. По умолчанию PI сервера прослушивает запросы на соединение по ТСР-порту 21, а после получения запроса на соединение от PI пользователя начинает установку управляющего соединения.

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

Пользователь инициирует FTP-сеанс между клиентом и сервером, используя FTP-программу. Windows Server 2003 содержит простой FTP-клиент командной строки, a Internet Explorer обеспечивает FTP-функции в режиме графического интерфейса пользователя (GUI). FTP-npoграмма клиента включает PI и DTP-компоненты пользователя (см. рисунок). Она позволяет клиенту инициировать управляющее соединение между клиентом и FTP-сервером (состоящее из PI и DTP сервера). В Windows Server 2003 веб-браузер типа Internet Explorer позволяет создавать или закрывать FTP-соединения с FTP-сервером. Вы также можете использовать встроенные FTP-средства, просто вводя в командной строке FTP <имя хоста или IP-адрес FTP-cepвepa>. После установки управляющего соединения между FTP-клиентом и сервером пользователь может выдавать команды серверу для открытия информационного соединения. Данные через это соединение передаются в обоих направлениях (полнодуплексный режим). После завершения передачи данных информационное соединение можно закрыть, хотя управляющее соединение остается открытым до тех пор, пока пользователь не инициирует разъединение, а сервер не выполнит процесс фактического закрытия соединения.

 

FTP-программа пользователя
(PI и DTP пользователя)
Управляющее соединение
Информационное соединение
FTP-сервер (PI и DTP сервера)
Выдает запрос на управляющее соединение Выдает команды открытия информационного соединения
Выдает команды закрытия управляющего соединения.
  Ожидает запрос на управляющее соединение и устанавливает управляющее соединение Принимает команды открытия информационного соединения и открывает его Принимает команды закрытия управляющего соединения и закрывает управляющее соединение

 

FTP-сеанс клиент-сервер
 

Ниже показана трассировка простого FTP-сеанса между FTP-клиентом и сервером (клиент подсоединяется, загружает один файл, а затем отключается).
    C:\&gt;ftp kapoho10.kapoho.com Connected to kapoho10.kapoho.com. 220-Microsoft FP Service 220 KAPOH010FTP
    User (kapoho10.kapoho.com:(none)): ftp
    331 Anonymous access allowed, send identity (e-mail name) as password. Password:
    230-Welcome to FP service at KapoholO
    230 Anonymous user logged in.
    ftp&gt; get rebecca.txt
    200 PORT command successful.
    150 Opening ASCII mode data connection for rebecca.txt(16 bytes). 226 Transfer complete.
    ftp: 16 bytes received in O.OOSeconds 16000.00Kbytes/sec.
    ftp&gt; quit
    221
    C:\&gt;

Трассировка для данного FTP-сеанса находится в выборке Capture 21-02. Теоретически FTP-клиент может запросить FTP-сервер для создания информационного соединения с другим FTP-сервером. Этот процесс допускается RFC для FTP, но редко реализуется. Большинство популярных FTP-клиентов создают информационные соединения только между системами FTP-клиента и сервера.

Рубрика: 

Добавить коментарий