Изменения документа TCP
Редактировал(а) Alexandr Fokin 2022/12/12 12:13
<
>
отредактировано Alexandr Fokin
на 2022/07/09 16:53
на 2022/07/09 16:53
отредактировано Alexandr Fokin
на 2022/07/09 16:45
на 2022/07/09 16:45
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -29,23 +29,11 @@ 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 -))) 32 +|(% style="width:546px" %)Гарантия доставки сегментов.|(% style="width:960px" %)При отправке данных (сегментов) каждая сторона фиксирует статус отправки и ожидает подтверждения. Если подтверждение не происходит в течении определенного времени, то один или группа сегментов (зависит от реализации) посылается повторно. 33 +|(% 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 -Также в рамках него контролируются статус сегментов (было ли получено подтверждение о получении). 35 +|(% style="width:546px" %)Окно приема|(% style="width:960px" %) 36 +|(% style="width:546px" %)Окно передачи|(% style="width:960px" %) 49 49 50 50 ---- 51 51