FTP: Установка и управление cоединениями и режимами передачи

FTP активный режим

Соединения и режимы передачи

Чтобы передать данные между клиентом и сервером посредством FTP, необходимо установить управляющее соединение и соединение для дан­ных. Управляющее соединение используется также для установки па­раметров соединения для данных и для отслеживания прохождения дан­ных через это соединение для данных.
Хотя управляющее соединение остается открытым в течение всего FТР-сеанса, для передачи данных может быть динамически открыто и закрыто несколько соединений.
FTP пассивный режим

Установка и управление соединением для данных

FTP-сеансы между клиентом и сервером инициируются PIпользовате­ля. PIFTP-сервера прослушивает TCP-порт 21 (по умолчанию) на нали­чие запросов соединения. Когда PIсервера обнаруживает запрос на со­единение от PIпользователя, он открывает управляющее соединение. Использование нестандартных портов для связи может быть иницииро­вано только PIпользователя, но не PIсервера. Клиент выдает команду инициирования передачи данных, DTPсервера открывает информаци­онное соединение - и передача данных начинается. DTPпользователя и сервера наблюдают за соединением и определяют, какой компьютер мо­жет посылать или получать данные в текущий момент времени. Процес­сы инициализации соединения, входа в систему (logon) и передачи дан­ных, основанные на FTP-сеансе и показанные в выборке, имеют следующий вид.

1.791683 FTP Client DNS Server DNS 0xA2A:Std Qry for kapoho10.kapoho.com. of type Ho 10.10.1.68 10.10.1.200  
1.791683 DNS Server FTP Client DNS 0xA2A:Std Qry Resp. for kapoho10.kapoho.com. of t 10.10.1.200 10.10.1.68  
1.801697 FTP Client FTP Server TCP ....S., len: 0, seq: 476820006- 476820006, ack: 10.10.1.68 10.10.1.74  
1.811712 FTP Server FTP Client TCP A.S., len: 0, seq:2161805281-2161805281, ack 10.10.1.74 10.10.1.68    
1.811712 FTP Client FP Server TCP .A len: 0, seq: 476820007- 476820007, ack: 10.10.1.68 10.10.1.74  
1.811712 FTP Server FTP Client FTP Resp. to Port 2413,'220-Microsoft FTP Service" 10.10.1.74 10.10.1.68   
2.012000 FTP Client FTP Server TCP .A len: 0, seq: 476820007- 476820007, ack: 10.10.1.68 10.10.1.74  
2.032029 FTP Server FP Client FP Resp. to Port 2413,'220 KAPOH010 FP' 10.10.1.74 10.10.1.68   
2.212288 FP Client FP Server TCP .A len: 0, seq: 476820007- 476820007, ack: 10.10.1.68 10.10.1.74  
3.053497 FP Client FP Server FP Req. from Port 2413, 'USER ftp' 10.10.1.68 10.10.1.74   
3.063512 FP Server FP Client FP Resp. to Port 2413, '331 Anonymous access allowed 10.10.1.74 10.10.1.68
3.213728 FP Client FP Server TCP .A len: 0, seq: 476820017- 476820017, ack: 10.10.1.68 10.10.1.74  
9.953419 FP Client FP Server FP Req. from Port 2413,'PASS tfl@kapoho.com' 10.10.1.68 10.10.1.74    
9.963433 FP Server FP Client FP Resp. to Port 2413,'230-Welcome to FP service а 10.10.1.74 10.10.1.68
10.123664 FTP Client FTP Server TCP 476820038, ack: 10.10.1.68 10.10.1.74       
10.123664 FTP Server FTP Client FTP logged in 10.10.1.74 10.10.1.68       
10.323952 FTP Client FTP Server TCP 476820038, ack: 10.10.1.68 10.10.1.74       
15.180936 FTP Client FTP Server FTP 10,10,1,68,9,111' 10.10.1.68 10.10.1.74        
15.190950 FTP Server FTP Client FTP successful. 10.10.1.74 10.10.1.68        
15.190950 FP Client FTP Server FTP 10.10.1.68 10.10.1.74         
15.190950 FTP Server FP Client FTP mode data 10.10.1.74 10.10.1.68       
15.200965 FP Server FP Client TCP 1569488684, ack 10.10.1.74 10.10.1.68       
15.200965 FP Client FP Server TCP 3313623390, ack 10.10.1.68 10.10.1.74       
15.200965 FP Server FP Client TCP 1569488685, ack 10.10.1.74 10.10.1.68        
15.200965 FP Server FP Client FP 16 10.10.1.74 10.10.1.68        
15.200965 FP Server FP Client TCP 1569488701, ack 10.10.1.74 10.10.1.68       
15.200965 FP Client FP Server TCP 3313623391, ack 10.10.1.68 10.10.1.74       
15.220993 FP Client FP Server TCP 3313623391, ack 10.10.1.68 10.10.1.74       
15.231008 FP Server FP Client TCP 1569488702, ack 10.10.1.74 10.10.1.68       
15.331152 FP Client FP Server TCP 476820079, ack: 10.10.1.68 10.10.1.74       
15.331152 FP Server FP Client FP complete.' 10.10.1.74 10.10.1.68        
15.531440 FP Client FP Server TCP 476820079, ack: 10.10.1.68 10.10.1.74       
17.654493 FP Client FP Server FP 10.10.1.74          
17.654493 FP Server FP Client FP 10.10.1.68          
17.664507 FP Client FP Server TCP 476820085, ack: 10.10.1.68 10.10.1.74       
17.674521 FP Server FP Client TCP 2161805598, ack 10.10.1.74 10.10.1.68       
17.674521 FTP Server FTP Client TCP A..F, len: 0, seq:2161805598-2161805598, ack 10.10.1.74 10.10.1.68    
17.674521 FP Client FTP Server TCP .A..., len: 0, seq: 476820086-476820086, ack: 10.10.1.68 10.10.1.74

Во время передачи DTPна принимающем компьютере пассивен, aDTPна передающем компьютере активно управляет передачей данных. По-скольку нформационное соединение автоматически закрывается после завершения передачи данных, его сохраняют открытым либо посред­ством согласования нестандартных портов перед началом передачи, либо посредством переключения на другой режим передачи для рассматри­ваемых файлов. FTP определяет следующие режимы передачи.
•       Потоковый режим. Данные определяются в виде последовательнос­ти байт, при этом они не обрабатываются перед отправкой. Эти дан­ные могут иметь любой тип (файл, запись или образ). При отправке данных структуры конец файла указывается, если посылающий ком­пьютер закрывает информационное соединение. Если данные пере­даются в структуре записи, каждая запись сопровождается двухсим-вольным кодом управления, указывающим конец записи; конец самого файла указывается таким же кодом управления.
•       Блочный режим. Данные посылаются в виде последовательности бло­ков без наполнительных битов, предваряемых байтами заголовка, ко­торые содержат поле счетчика (Count) и, возможно, код дескриптора. Поле счетчика указывает длину каждого блока в байтах. Код деск­риптора указывает, является ли данный блок последним в записи или файле, возможность наличия ошибок в данных из-за плохой среды передачи, или используется для определения метки перезапуска (см. далее). Любой тип представления данных может использоваться в блочном режиме; допускаются структуры записей.
•       Компрессионный режим. Данные посылаются в трех вариантах: обыч­ные данные, сжатые данные и управляющая информация. Обычные данные отправляются в виде простой строки байтов. Для получения сжатых данных используют алгоритм компрессии байтов наполнения и представления их в виде одного байта наполнения, уменьшая фак­тическое количество передаваемых байт. Управляющая информация посылается в виде двухбайтовой escape-последовательности и кода дескриптора, аналогичного кодам блочного режима передачи данных, включая наличие маркера перезапуска.

Рубрика: 

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