RFC: 793
Оригинал: Transmission Control Protocol
Предыдущие версии: RFC 761
Категория: Стандарт Интернета
Дата публикации:
Автор:
Перевод: Николай Малых

SEND

  • Состояние CLOSED (TCB не существует)
  • Если у пользователя нет прав доступа к соединению, возвращается сообщение "error: connection illegal for this process" (некорректное соединение для данного процесса).

    В остальных случаях возвращается сообщение "error: connection does not exist" (соединения не существует).

  • Состояние LISTEN
  • Если указан внешний сокет, соединение переводится из пассивного состояния в активное и выбирается значение ISS. Передается сегмент SYN, устанавливаются значения SND.UNA = ISS, SND.NXT + ISS+1. Соединение переводится в состояние SYN-SENT. Данные, связанные с вызовом SEND, могут быть переданы в сегменте SYN или помещены в очередь на передачу для их отправки после перехода в состояние ESTABLISHED. Если при вызове команды был запрошен флаг срочности, он передается с сегментом данных, отправляемым в результате этой команды. Если в очереди запросов нет свободного места, возвращается сообщение "error: insufficient resources". Если внешний сокет не был указан, выдается сообщение "error: foreign socket unspecified".

  • Состояния SYN-SENT; SYN-RECEIVED
  • Данные помещаются в очередь для передачи после перехода в состояние ESTABLISHED. Если в очереди нет свободного места, возвращается сообщение "error: insufficient resources".

  • Состояния ESTABLISHED; CLOSE-WAIT
  • Буфер сегментируется и передается с вложенным подтверждением (RCV.NXT). При нехватке памяти для запоминания заданного буфера просто возвращается сообщение "error: insufficient resources".

    Если задан флаг срочности, тогда SND.UP <- SND.NXT-1 и для исходящих сегментов задается указатель срочности.

  • Состояния FIN-WAIT-1; FIN-WAIT-2; CLOSING; LAST-ACK; TIME-WAIT
  • Возвращается сообщение "error: connection closing" (соединение закрывается) без запроса обслуживания.
2007 - 2017 © Русские переводы RFC, IETF, ISOC.