Протоколы

  • Home
  • HTTP
  • FTP
  • POP3
  • SMTP
  • ICMP
  • FTP: протокол передачи файлов

    FTP отличается от других приложений тем, что он использует два TCP соединения для передачи файла.

    Управляющее соединение устанавливается как обычное соединение клиент-сервер. Сервер осуществляет пассивное открытие на заранее известный порт FTP (21) и ожидает запроса на соединение от клиента. Клиент осуществляет активное открытие на TCP порт 21, чтобы установить управляющее соединение. Управляющее соединение существует все время, пока клиент общается с сервером. Это соединение используется для передачи команд от клиента к серверу и для передачи откликов от сервера. Тип IP сервиса для управляющего соединения устанавливается для получения "минимальной задержки", так как команды обычно вводятся пользователем.
    Соединение данных открывается каждый раз, когда осуществляется передача файла между клиентом и сервером. (Оно также открывается и в другие моменты, как мы увидим позже.) Тип сервиса IP для соединения данных должен быть "максимальная пропускная способность", так как это соединение используется для передачи файлов.

    Команды FTP

    Команды и отклики передаются по управляющему соединению между клиентом и сервером в формате NVT ASCII. В конце каждой строки команды или отклика присутствует пара CR, LF.
    Единственные команды Telnet (начинающиеся с IAC), которые могут быть отправлены клиентом серверу - это команда прерывания процесса () и Telnet сигнал синхронизации ( в режиме срочности). Мы увидим, что эти две команды Telnet используются для прекращения передачи файла или для того, чтобы отправить серверу запрос в процессе передачи. Если сервер получает от клиента команду с Telnet опцией (WILL, WONT, DO или DONT), он отвечает либо DONT, либо WONT.
    Команды состоят из 3 или 4 байт, а именно из заглавных ASCII символов, некоторые с необязательными аргументами. Клиент может отправить серверу более чем 30 различных FTP команд. На рисунке 27.2 показаны некоторые наиболее широко используемые команды, большинство из которых мы рассмотрим в этой главе.

    ABOR прервать предыдущую команду FTP и любую передачу данных
    LIST список файлов список файлов или директорий
    PASS пароль пароль на сервере
    PORT n1,n2,n3,n4,n5,n6 IP адрес клиента (n1.n2.n3.n4) и порт (n5 x 256 + n6)
    QUIT закрыть бюджет на сервере
    RETR имя файла получить (get) файл
    STOR имя файла положить (put) файл
    SYST сервер возвращает тип системы
    TYPE тип указать тип файла: A для ASCII, I для двоичного
    USER имя пользователя имя пользователя на сервере

    © 2003 Mike Beerman

    Hosted by uCoz