Изменения документа TCP
Редактировал(а) Alexandr Fokin 2022/12/12 12:13
<
>
отредактировано Alexandr Fokin
на 2022/07/09 17:13
на 2022/07/09 17:13
отредактировано Alexandr Fokin
на 2022/07/09 17:22
на 2022/07/09 17:22
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,3 +1,5 @@ 1 +**Transmission Control Protocol** 2 + 1 1 ---- 2 2 3 3 **Основные моменты:** ... ... @@ -35,16 +35,18 @@ 35 35 |(% style="width:546px" %)Гарантия доставки сегментов.|(% style="width:960px" %)((( 36 36 При отправке данных (сегментов) каждая сторона фиксирует статус отправки и ожидает подтверждения. Если подтверждение не происходит в течении определенного времени, то один или группа сегментов (зависит от реализации) посылается повторно. 37 37 38 -Возможно ситуация, когда сегмент подтверждения может быть утерян, и сегмент будет выслан повторно, но такое поведение не приведет к повреждению передаваемых данных. 40 +Возможно ситуация, когда сегмент подтверждения может быть утерян (или же еще не успел прийти), и сегмент будет выслан повторно, но такое поведение не приведет к повреждению передаваемых данных. 39 39 40 40 Отметим, что возможна ситуация, когда сегменты достигли клиента, отправитель получил подтверждение, но приложение или хост упали, не выполнив окончательную обработку данных из этих сегментов. 41 41 ))) 42 -|(% style="width:546px" %)Гарантия порядка получения (за счет нумерации данных)|(% style="width:960px" %)((( 43 -В метаданные сегмента записывается порядковый номер первого байта данных, который используется принимающей стороной для восстановления последовательности сегментов (т.к. они могут быть получены не в том порядке, в котором было отправлены). 44 +|(% style="width:546px" %)Гарантия порядка получения 45 +(за счет нумерации данных)|(% style="width:960px" %)((( 46 +В заголовок сегмента записывается порядковый номер первого байта данных, который используется принимающей стороной для восстановления последовательности сегментов (т.к. они могут быть получены не в том порядке, в котором было отправлены). 44 44 45 45 Также важно, что одно логическое сообщение приложение может быть разбито на несколько TCP сегментов, которые физически дойдет до получателя не в том порядке, в котором были отправлены, но их порядок будет восстановлен на стороне получателя при передаче в поток чтения. 46 46 ))) 47 -|(% style="width:546px" %)Гарантия целостности данных за счет контрольной суммы|(% style="width:960px" %)Перед отправкой в метаданные сегмента включается блок с контрольной суммой данных. При получении сегмента, контрольная сумма сверяется для проверки изменения содержимого сегмента. 50 +|(% style="width:546px" %)Гарантия целостности данных 51 +(за счет контрольной суммы)|(% style="width:960px" %)Перед отправкой в заголовок сегмента включается блок с контрольной суммой данных. При получении сегмента, контрольная сумма сверяется для проверки изменения содержимого сегмента. 48 48 |(% style="width:546px" %)Окно приема|(% style="width:960px" %)Можно представить в виде некоторого буфера двигающегося вдоль данных по мере их приема. 49 49 Если сегмент не попадает в окно приема, то он отбрасывается. 50 50 Если сегмент приходит повторно (данный сегмент уже получен), то он отбрасывается.