<
От версии < 1.2 >
отредактировано Alexandr Fokin
на 2022/07/09 16:45
К версии < 1.3 >
отредактировано Alexandr Fokin
на 2022/07/09 16:53
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -29,11 +29,23 @@
29 29  
30 30  )
31 31  )))
32 -|(% style="width:546px" %)Гарантия доставки сегментов.|(% style="width:960px" %)При отправке данных (сегментов) каждая сторона фиксирует статус отправки и ожидает подтверждения. Если подтверждение не происходит в течении определенного времени, то один или группа сегментов (зависит от реализации) посылается повторно.
33 -|(% style="width:546px" %)Гарантия порядка получения (за счет нумерации данных)|(% style="width:960px" %)В метаданные сегмента записывается порядковый номер первого байта данных, который используется принимающей стороной для восстановления последовательности сегментов (т.к. они могут быть получены не в том порядке, в котором было отправлены).
32 +|(% style="width:546px" %)Гарантия доставки сегментов.|(% style="width:960px" %)(((
33 +При отправке данных (сегментов) каждая сторона фиксирует статус отправки и ожидает подтверждения. Если подтверждение не происходит в течении определенного времени, то один или группа сегментов (зависит от реализации) посылается повторно.
34 +
35 +Отметим, что возможна ситуация, когда сегменты достигли клиента, отправитель получил подтверждение, но приложение или хост упали, не выполнив окончательную обработку данных из этих сегментов.
36 +)))
37 +|(% style="width:546px" %)Гарантия порядка получения (за счет нумерации данных)|(% style="width:960px" %)(((
38 +В метаданные сегмента записывается порядковый номер первого байта данных, который используется принимающей стороной для восстановления последовательности сегментов (т.к. они могут быть получены не в том порядке, в котором было отправлены).
39 +
40 +Также важно, что одно логическое сообщение приложение может быть разбито на несколько TCP сегментов, которые физически дойдет до получателя не в том порядке, в котором были отправлены, но их порядок будет восстановлен на стороне получателя при передаче в поток чтения.
41 +)))
34 34  |(% style="width:546px" %)Гарантия целостности данных за счет контрольной суммы|(% style="width:960px" %)Перед отправкой в метаданные сегмента включается блок с контрольной суммой данных. При получении сегмента, контрольная сумма сверяется для проверки изменения содержимого сегмента.
35 -|(% style="width:546px" %)Окно приема|(% style="width:960px" %)
36 -|(% style="width:546px" %)Окно передачи|(% style="width:960px" %)
43 +|(% style="width:546px" %)Окно приема|(% style="width:960px" %)Можно представить в виде некоторого буфера двигающегося вдоль данных по мере их приема.
44 +Если сегмент не попадает в окно приема то он отбрасывается.
45 +Если сегмент попадает в окно приема, но не является следующим по порядку, то он буферизуется, до того момента, как будут получены расположенные по порядку перед ним сегменты (и будет выведен в поток чтения после них).
46 +|(% style="width:546px" %)Окно передачи|(% style="width:960px" %)Можно представить в виде некоторого буфера двигающегося вдоль данных по мере их передачи.
47 +Определяет, какие сегменты можно отправить в текущий момент времени.
48 +Также в рамках него контролируются статус сегментов (было ли получено подтверждение о получении).
37 37  
38 38  ----
39 39