Тайм-ауты и повторные передачи TCP


Прекращение передачи файла сигнал синхронизации Telnet



Прекращение передачи файла: сигнал синхронизации Telnet

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

Мы начали прием, после чего ввели символ прерывания. Ниже приведена интерактивная сессия, процесс идентификации пользователя удален:


ftp> get a.out получаем большой файл

---> TYPE I клиент и сервер - Unix системы с 8-битными байтами

200 Type set to I.

---> PORT 140,252,13,66,4,99
200 PORT command successful.

---> RETR a.out
150 Opening BINARY mode data connection for a.out (28672 bytes).

^? вводим символ прерывания
receive aborted вывод от клиента
waiting for remote to finish abort вывод от клиента

426 Transfer aborted. Data connection closed.
226 Abort successful

1536 bytes received in 1.7 seconds (0.89 Kbytes/s)

После того как введен символ прерывания, клиент немедленно сообщает, что он инициализировал прерывание передачи файла и ожидает, когда сервер его завершит. Сервер посылает два отклика: 426 и 226. Оба отклика посылаются Unix сервером, когда он принимает срочные данные от клиента с командой ABOR.

На рисунках 27.9 и 27.10 показаны временные диаграммы для этой сессии. Мы объединили вместе управляющее соединение (сплошные линии) и соединение данных (прерывистые линии), чтобы показать взаимосвязь между ними.









Начало  Назад  Вперед