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

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -13,10 +13,6 @@
13 13  Между 2 сторонами устанавливается логическое соединение, в рамках которого идет передача данных.
14 14  
15 15  При этом соединение само по себе не имеет механизмов для определения разрыва сети, падения приложения одной из сторон или падения сервера.
16 -
17 -1. Установка соединения
18 -1. Обмен данными.
19 -1. Закрытие соединения.
20 20  )))
21 21  |(% style="width:546px" %)Потоковый (stream) передача|(% style="width:960px" %)(((
22 22  Отправка и получение данных идут в виде потока байт.
... ... @@ -29,24 +29,13 @@
29 29  
30 30  )
31 31  )))
32 -|(% style="width:546px" %)Гарантия доставки сегментов.|(% style="width:960px" %)(((
33 -При отправке данных (сегментов) каждая сторона фиксирует статус отправки и ожидает подтверждения. Если подтверждение не происходит в течении определенного времени, то один или группа сегментов (зависит от реализации) посылается повторно.
34 -
35 -Отметим, что возможна ситуация, когда сегменты достигли клиента, отправитель получил подтверждение, но приложение или хост упали, не выполнив окончательную обработку данных из этих сегментов.
36 -)))
37 -|(% style="width:546px" %)Гарантия порядка получения (за счет нумерации данных)|(% style="width:960px" %)(((
38 -В метаданные сегмента записывается порядковый номер первого байта данных, который используется принимающей стороной для восстановления последовательности сегментов (т.к. они могут быть получены не в том порядке, в котором было отправлены).
39 -
40 -Также важно, что одно логическое сообщение приложение может быть разбито на несколько TCP сегментов, которые физически дойдет до получателя не в том порядке, в котором были отправлены, но их порядок будет восстановлен на стороне получателя при передаче в поток чтения.
41 -)))
28 +|(% style="width:546px" %)Гарантия доставки сегментов.|(% style="width:960px" %)При отправке данных (сегментов) каждая сторона фиксирует статус отправки и ожидает подтверждения. Если подтверждение не происходит в течении определенного времени, то один или группа сегментов (зависит от реализации) посылается повторно.
29 +|(% style="width:546px" %)Гарантия порядка получения (за счет нумерации данных)|(% style="width:960px" %)В метаданные сегмента записывается порядковый номер первого байта данных, который используется принимающей стороной для восстановления последовательности сегментов (т.к. они могут быть получены не в том порядке, в котором было отправлены).
42 42  |(% style="width:546px" %)Гарантия целостности данных за счет контрольной суммы|(% style="width:960px" %)Перед отправкой в метаданные сегмента включается блок с контрольной суммой данных. При получении сегмента, контрольная сумма сверяется для проверки изменения содержимого сегмента.
43 -|(% style="width:546px" %)Окно приема|(% style="width:960px" %)Можно представить в виде некоторого буфера двигающегося вдоль данных по мере их приема.
44 -Если сегмент не попадает в окно приема то он отбрасывается.
45 -Если сегмент попадает в окно приема, но не является следующим по порядку, то он буферизуется, до того момента, как будут получены расположенные по порядку перед ним сегменты (и будет выведен в поток чтения после них).
46 -|(% style="width:546px" %)Окно передачи|(% style="width:960px" %)Можно представить в виде некоторого буфера двигающегося вдоль данных по мере их передачи.
47 -Определяет, какие сегменты можно отправить в текущий момент времени.
48 -Также в рамках него контролируются статус сегментов (было ли получено подтверждение о получении).
31 +|(% style="width:546px" %)Окно приема|(% style="width:960px" %)
32 +|(% style="width:546px" %)Окно передачи|(% style="width:960px" %)
49 49  
34 +
50 50  ----
51 51  
52 52