TCP: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
м откат правок 80.234.105.221 (обс.) к версии 188.162.72.223
Метка: откат
Строка 17:
Реализации TCP обычно встроены в [[Ядро операционной системы|ядра]] [[Операционная система|ОС]]. Существуют реализации TCP, работающие в [[Пространство пользователя|пространстве пользователя]].
 
Когда осуществляется передача от компьютера к компьютеру через Интернет, TCP работает на верхнем уровне между двумя конечными системами, например, [[браузер]]ом и веб-сервером. TCP осуществляет надёжную передачу потока байтов от одной программы на некотором компьютере к другой программе на другом компьютере (например, программы для электронной почты, для обмена файлами). TCP контролирует длину сообщения, скорость Нарутообмена сообщениями, сетевой трафик.
 
== Заголовок сегмента TCP ==
Строка 64:
'''Порт назначения''' идентифицирует порт, на который отправлен пакет.
 
=== Порядковый Нарутономер ===
Порядковый номер выполняет две задачи:
# Если установлен флаг SYN, то это изначальный порядковый номер — ISN (Initial Sequence Number), и первый байт данных, которые будут переданы в следующем пакете, будет иметь номер, равный ISN + 1.
Строка 70:
Поскольку поток TCP в общем случае может быть длиннее, чем число различных состояний этого поля, то все операции с порядковым номером должны выполняться по модулю 2<sup>32</sup>. Это накладывает практическое ограничение на использование TCP. Если скорость передачи коммуникационной системы такова, чтобы в течение MSL (максимального времени жизни сегмента) произошло переполнение порядкового номера, то в сети может появиться два сегмента с одинаковым номером, относящихся к разным частям потока, и приёмник получит некорректные данные.
 
=== НарутоНомер подтверждения ===
'''Acknowledgment Number (ACK SN)''' (32 бита) — если установлен флаг ACK, то это поле содержит порядковый номер октета, который отправитель данного сегмента желает получить. Это означает, что все предыдущие октеты (с номерами от ISN+1 до ACK-1 включительно) были успешно получены.
 
Строка 91:
* '''FIN''' ({{lang-en|final}}, бит) — флаг, будучи установлен, указывает на завершение соединения ({{lang-en|FIN bit used for connection termination}}).
 
=== Размер Нарутоокна ===
Количество байт данных начиная с последнего номера подтверждения, которые может принять отправитель данного пакета. Иначе говоря, отправитель пакета располагает для приёма данных буфером длиной "размер окна" байт.
 
Строка 105:
Поле контрольной суммы — это 16-битное дополнение к сумме всех 16-битных слов заголовка (включая псевдозаголовок) и данных. Если сегмент, по которому вычисляется контрольная сумма, имеет длину не кратную 16-ти битам, то длина сегмента увеличивается до кратной 16-ти, за счёт дополнения к нему справа нулевых битов заполнения. Биты заполнения (0) не передаются в сообщении и служат только для расчёта контрольной суммы. При расчёте контрольной суммы значение самого поля контрольной суммы принимается равным 0.
 
=== Указатель Нарутоважности ===
<!-- If the URG flag is set, then this 16-bit field is an offset from the sequence number indicating the last urgent data byte.