Справочник по сетевым протоколам

       

Получение


RCV.NXT

RCV.WND

RCV.UP

IRS



- получить следующий сегмент
- получить окно
- получить срочный указатель
- первоначальный номер очереди получения

Нижеприведенные диаграммы могут помочь связать некоторые из этих переменных с местом в очереди

Очередь отправления

  • старые номера очереди, которые получили подтверждение
  • номера очереди для данных, не получивших подтверждения
  • номера очереди, допущенные к новой передаче
  • следующие номера очереди, чья передача еще не разрешена
  • Рис. 1 Очередь отправления

    Окно отправления - это участок очереди, отмеченный меткой 3 на рисунке 1.

    Очередь получения

  • старые номера очереди, которые получили подтверждение
  • номера очереди, допущенные к очередному этапу получения
  • следующие номера очереди, еще не получившие разрешения
  • Рис.2 Очередь получения

    Окно получения - это участок очереди, отмеченный меткой 2 на рисунке 2.

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

    Переменные для очередного сегмента

    SEG.SEQ

    SEG.ACK

    SEG.LEN

    SEG.WND

    SEG.UP

    SEG.PRC

    номер очереди для сегмента
    номер подтверждения для сегмента
    длина сегмента
    окно для сегмента
    срочный указатель для сегмента
    приоритет для сегмента

    Соединение во время функционирования проходит через серии промежуточных состояний. Это состояния LISTEN, SYN-SENT, SYN-RECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT, а также фиктивное состояние CLOSED. Состояние CLOSED является фиктивным, поскольку оно представляет состояние, когда не существует блока TCP, а потому и нет соединения. Краткое описание состояний:

    LISTEN

    SYN-SENT

    SYN-RECEIVED

    ESTABLISHED

    FIN-WAIT-1

    FIN-WAIT-2

    CLOSE-WAIT

    CLOSING

    LAST-ACK

    TIME-WAIT

    CLOSED

    Ожидание запроса на соединение со стороны чужих портов и программ TCP
    Ожидание парного запроса на установление соединения. С нашей стороны запрос уже сделан.
    Ожидание подтверждения после того, как запрос соединения уже принят и отправлен.
    Состояние открытого соединения, принимаемые данные можно представить пользователю. Это нормальное состояние соединения в фазе передачи данных.
    Ожидание запроса от чужой программы TCP, или подтверждения ранее отправленного запроса на закрытие соединения.
    Ожидание запроса на закрытие соединения со стороны чужой программы TCP.
    Ожидание запроса на закрытие соединения со стороны своего клиента.
    Ожидание подтверждения со стороны чужой программы TCP запроса о закрытии соединения.
    Ожидание запроса на закрытие соединения, ранее отправленного чужой программе TCP (запрос включал также подтверждение получения чужого запроса на закрытие соединения).
    Ожидание когда истечет достаточное количество времени и можно быть уверенным, что чужая программа TCP получила подтверждение своего запроса на закрытие соединения.
    Состояние полного отсутствия соединения.
    <


    /p>

    Соединение TCP переходит с одного состояния на другое в ответ на события. Событие - это запросы клиента (открытие, посылка, получение, закрытие, отказ, получение состояния соединения), приход сегментов, и особенно тех, которые содержат флаги SYN, ACK, RST и FIN, а также истечение выделенного времени.

    Диаграмма состояний на рисунке иллюстрирует лишь смену состояний, а также вызвавшие это события, производимые действия, но не адреса, условия ошибок, не действия, не связанные прямо с изменением состояния.

    Более подробные сведения о действиях программы протокола TCP в ответ на события приведены в последней главе.

    Замечание. Данная диаграмма является лишь сводной, но не должна восприниматься как полная спецификация.

    <



    table border="0" cellpadding="0" cellspacing="0" width="100%">




    Содержание раздела