<
От версии < 1.11 >
отредактировано Alexandr Fokin
на 2022/07/09 17:22
К версии < 1.4 >
отредактировано Alexandr Fokin
на 2022/07/09 16:58
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,8 +3,6 @@
1 -**Transmission Control Protocol**
2 -
3 3  ----
4 4  
5 -**Основные моменты:**
3 +**Основные понятия:**
6 6  
7 7  |(% style="width:546px" %) |(% style="width:960px" %)(((
8 8  Основывается на протоколе IP для передачи и маршрутизации.
... ... @@ -23,8 +23,8 @@
23 23  1. Обмен данными.
24 24  1. Закрытие соединения.
25 25  )))
26 -|(% style="width:546px" %)Потоковая (stream) передача|(% style="width:960px" %)(((
27 -Данные раскладываются в tcp сегменты, но стороны оперирует интерфейсами в виде потока байт.
24 +|(% style="width:546px" %)Потоковый (stream) передача|(% style="width:960px" %)(((
25 +Отправка и получение данных идут в виде потока байт.
28 28  
29 29  Необходима реализация механизмов для определения границ сообщения в передаваемых данных
30 30  (
... ... @@ -37,21 +37,16 @@
37 37  |(% style="width:546px" %)Гарантия доставки сегментов.|(% style="width:960px" %)(((
38 38  При отправке данных (сегментов) каждая сторона фиксирует статус отправки и ожидает подтверждения. Если подтверждение не происходит в течении определенного времени, то один или группа сегментов (зависит от реализации) посылается повторно.
39 39  
40 -Возможно ситуация, когда сегмент подтверждения может быть утерян (или же еще не успел прийти), и сегмент будет выслан повторно, но такое поведение не приведет к повреждению передаваемых данных.
41 -
42 42  Отметим, что возможна ситуация, когда сегменты достигли клиента, отправитель получил подтверждение, но приложение или хост упали, не выполнив окончательную обработку данных из этих сегментов.
43 43  )))
44 -|(% style="width:546px" %)Гарантия порядка получения
45 -(за счет нумерации данных)|(% style="width:960px" %)(((
46 -В заголовок сегмента записывается порядковый номер первого байта данных, который используется принимающей стороной для восстановления последовательности сегментов (т.к. они могут быть получены не в том порядке, в котором было отправлены).
40 +|(% style="width:546px" %)Гарантия порядка получения (за счет нумерации данных)|(% style="width:960px" %)(((
41 +В метаданные сегмента записывается порядковый номер первого байта данных, который используется принимающей стороной для восстановления последовательности сегментов (т.к. они могут быть получены не в том порядке, в котором было отправлены).
47 47  
48 48  Также важно, что одно логическое сообщение приложение может быть разбито на несколько TCP сегментов, которые физически дойдет до получателя не в том порядке, в котором были отправлены, но их порядок будет восстановлен на стороне получателя при передаче в поток чтения.
49 49  )))
50 -|(% style="width:546px" %)Гарантия целостности данных
51 -(за счет контрольной суммы)|(% style="width:960px" %)Перед отправкой в заголовок сегмента включается блок с контрольной суммой данных. При получении сегмента, контрольная сумма сверяется для проверки изменения содержимого сегмента.
45 +|(% style="width:546px" %)Гарантия целостности данных за счет контрольной суммы|(% style="width:960px" %)Перед отправкой в метаданные сегмента включается блок с контрольной суммой данных. При получении сегмента, контрольная сумма сверяется для проверки изменения содержимого сегмента.
52 52  |(% style="width:546px" %)Окно приема|(% style="width:960px" %)Можно представить в виде некоторого буфера двигающегося вдоль данных по мере их приема.
53 -Если сегмент не попадает в окно приема, то он отбрасывается.
54 -Если сегмент приходит повторно (данный сегмент уже получен), то он отбрасывается.
47 +Если сегмент не попадает в окно приема то он отбрасывается.
55 55  Если сегмент попадает в окно приема, но не является следующим по порядку, то он буферизуется, до того момента, как будут получены расположенные по порядку перед ним сегменты (и будет выведен в поток чтения после них).
56 56  |(% style="width:546px" %)Окно передачи|(% style="width:960px" %)Можно представить в виде некоторого буфера двигающегося вдоль данных по мере их передачи.
57 57  Определяет, какие сегменты можно отправить в текущий момент времени.