
срочности).
• Окно (Window) – информация, используемая механизмом управления потоком данных. Окно
содержит количество байтов, которые можно передать до того момента, как исходный узел
получит подтверждение приема фрейма. По достижении этого числа включается управление
потоком, прекращающее передачу до тех пор, пока не будет получено подтверждение.
Например, если размер окна равен 64 байтам, то управление потоком включается в тот
момент, когда будут переданы 65 байт без подтверждения, посланного передающему узлу.
Если скорость сети мала из-за высокого трафика, размер окна может быть увеличен для
того, чтобы управление потоком не включалось без необходимости. Размер окна может
быть и уменьшен, если принимающий узел отвечает медленно (например, когда на рабочей
станции возникает высокая нагрузка на шину или центральный процессор из-за того, что
локальное приложение занимает эти ресурсы). Иногда задержки так велики, что выделенное
поле окна не может вместить все значение размера окна. Хотя размер окна обычно
определяется автоматически взаимодействующими узлами, его может также задать
администратор сети, настраивающий оптимальную производительность сети на медленных
или быстрых каналах связи. Это можно сделать для уменьшения числа повторных
передач от ошибочно работающих программ или при перегрузке сети, а также для
исправления ошибок передачи со стороны прикладных программ, плохо работающих в сети.
• Контрольная сумма (Checksum) – 16-разрядный циклический код с избыточностью (CRC),
вычисляемый путем сложения всех полей заголовка и поля полезной нагрузки (сумма всех
полей TCP-сегмента). Сумма вычисляется с использованием логической операции дополнения
до единицы, т. е. двоичные разряды каждого поля меняют значение на противоположное
(например, двоичный 0 меняется на двоичную 1, а двоичная 1 меняется на двоичный 0).
Таким образом, перед сложением двух полей (например, ОНО и 10110110) их значения
меняются на обратные (1001 и 01001001), а затем складываются. Общая сумма будет CRC-
суммой, которая записывается во фрейм передающим узлом. Принимающий узел также
вычисляет контрольную сумму и сравнивает полученное значение со значением, записанным в
поле фрейма. Если значения различаются, то фрейм отбрасывается и принимающий узел
запрашивает повторную передачу фрейма. В дополнение к значению контрольной суммы
используются адреса источника и назначения, которые должны совпадать с теми адресами,
которые указаны в IP-заголовке фрейма в качестве подтверждения того, что фрейм послан по
заданному адресу.
• Указатель срочности (Urgent Pointer) – это поле заголовка, представляющее собой
предупреждение для принимающего узла о том, что передаются срочные данные. Оно также
указывает на конец срочных данных в последовательности пересылаемых фреймов.
Назначение этого поля – заранее дать информацию о том, сколько данных еще будет передано в
логически связанной последовательности из нескольких фреймов.
• Опции (Options) – поле фрейма, которое может содержать дополнительную информацию о
передаваемых данных, а также дополнительные флаги.
• Заполнение (Padding) – поле, используемое в тех случаях, когда дополнительные данные отсутствуют
или их слишком мало, чтобы обеспечить требуемую длину заголовка, которая должна быть кратна
32.
Примечание
Следует заметить, что данные, фактически передаваемые в ТСР-сегментах называются полезной
нагрузкой. Она представляет собой исходные данные пересылаемые от передающего узла к
принимающему. Также нужно сказать том, что порты TCP и IP поддерживают полудуплексные и
дуплексные коммуникации.
Подтверждения протокола TCP могут создать в сети заметный дополнительный трафик, особенно, если
средний размер скользящего окна относительно мал. Именно поэтому некоторые типы приложений, для
которых не требуется уровень надежности, обеспечиваемый протоколом TCP (с помощью механизмов