-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path2.18.html
148 lines (137 loc) · 8.09 KB
/
2.18.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Протоколы транспортного уровня: TCP и UDP</title>
<link rel="stylesheet" href="./css/index.css">
</head>
<body>
<div class="container">
<h1>Основные протоколы транспортного уровня: TCP и UDP</h1>
<div class="navigation-buttons">
<a href="2.17.html" class="button">⬅ Назад</a>
<a href="2.19.html" class="button">Вперёд ➡</a>
</div>
<h2>Протокол TCP (Transmission Control Protocol)</h2>
<p><strong>TCP</strong> — это протокол транспортного уровня, который обеспечивает надёжную передачу данных между устройствами. TCP использует установку соединения, контроль потока и подтверждение доставки, что гарантирует передачу данных в правильном порядке без потерь.</p>
<h3>Задачи TCP</h3>
<ul>
<li><strong>Надёжная доставка данных:</strong> TCP использует механизмы подтверждения (ACK) и повторную передачу для гарантии доставки всех сегментов.</li>
<li><strong>Упорядочение данных:</strong> TCP нумерует сегменты, что позволяет собирать данные в нужном порядке на стороне получателя.</li>
<li><strong>Управление потоком:</strong> TCP регулирует скорость передачи данных, чтобы избежать перегрузки приёмника.</li>
<li><strong>Управление перегрузкой:</strong> TCP использует алгоритмы управления перегрузкой (например, окно перегрузки), чтобы уменьшить нагрузку на сеть.</li>
</ul>
<h3>Ограничения TCP</h3>
<ul>
<li><strong>Высокие накладные расходы:</strong> Механизмы подтверждения, установления соединения и управления потоком требуют дополнительных данных, что увеличивает накладные расходы.</li>
<li><strong>Задержки:</strong> Установка соединения и подтверждение доставки могут увеличивать время передачи, что не всегда приемлемо для приложений реального времени.</li>
</ul>
<h3>Структура заголовка TCP</h3>
<p>Заголовок TCP включает несколько полей для управления соединением и надёжной передачей данных:</p>
<table border="1">
<tr>
<th>Поле</th>
<th>Описание</th>
<th>Размер</th>
</tr>
<tr>
<td>Source Port</td>
<td>Порт отправителя</td>
<td>16 бит</td>
</tr>
<tr>
<td>Destination Port</td>
<td>Порт получателя</td>
<td>16 бит</td>
</tr>
<tr>
<td>Sequence Number</td>
<td>Номер последовательности для упорядочивания сегментов</td>
<td>32 бита</td>
</tr>
<tr>
<td>Acknowledgment Number</td>
<td>Номер подтверждения доставки данных</td>
<td>32 бита</td>
</tr>
<tr>
<td>Data Offset</td>
<td>Указывает размер заголовка</td>
<td>4 бита</td>
</tr>
<tr>
<td>Flags</td>
<td>Флаги для управления соединением (например, SYN, ACK, FIN)</td>
<td>6 бит</td>
</tr>
<tr>
<td>Window Size</td>
<td>Размер окна для управления потоком</td>
<td>16 бит</td>
</tr>
<tr>
<td>Checksum</td>
<td>Контрольная сумма для проверки целостности данных</td>
<td>16 бит</td>
</tr>
<tr>
<td>Urgent Pointer</td>
<td>Указатель на срочные данные</td>
<td>16 бит</td>
</tr>
<tr>
<td>Options</td>
<td>Дополнительные параметры, такие как масштабирование окна</td>
<td>Переменный</td>
</tr>
</table>
<h2>Протокол UDP (User Datagram Protocol)</h2>
<p><strong>UDP</strong> — это более простой протокол транспортного уровня, который обеспечивает передачу данных без установления соединения и гарантии доставки. UDP подходит для приложений, требующих минимальной задержки и устойчивых к потерям данных, таких как голосовые и видеопотоки.</p>
<h3>Задачи UDP</h3>
<ul>
<li><strong>Быстрая передача данных:</strong> UDP не требует установки соединения и отправляет пакеты сразу, что снижает задержки.</li>
<li><strong>Минимальные накладные расходы:</strong> Заголовок UDP очень простой, что уменьшает нагрузку на сеть.</li>
</ul>
<h3>Ограничения UDP</h3>
<ul>
<li><strong>Отсутствие гарантии доставки:</strong> UDP не обеспечивает подтверждения получения и не гарантирует надёжной доставки.</li>
<li><strong>Отсутствие упорядочивания:</strong> Пакеты могут прибывать в произвольном порядке, что требует обработки на уровне приложения.</li>
<li><strong>Отсутствие контроля потока:</strong> UDP не регулирует объём передаваемых данных, что может привести к перегрузке сети.</li>
</ul>
<h3>Структура заголовка UDP</h3>
<p>Заголовок UDP содержит минимальные данные для упрощения передачи:</p>
<table border="1">
<tr>
<th>Поле</th>
<th>Описание</th>
<th>Размер</th>
</tr>
<tr>
<td>Source Port</td>
<td>Порт отправителя</td>
<td>16 бит</td>
</tr>
<tr>
<td>Destination Port</td>
<td>Порт получателя</td>
<td>16 бит</td>
</tr>
<tr>
<td>Length</td>
<td>Длина заголовка и данных</td>
<td>16 бит</td>
</tr>
<tr>
<td>Checksum</td>
<td>Контрольная сумма для проверки целостности данных</td>
<td>16 бит</td>
</tr>
</table>
<h2>Заключение</h2>
<p>Протоколы TCP и UDP решают различные задачи транспортного уровня. TCP обеспечивает надёжность, упорядочение и контроль потока, но имеет более высокие накладные расходы и задержки. UDP обеспечивает минимальные накладные расходы и быструю передачу, но не гарантирует доставку данных. Выбор протокола зависит от требований приложения к надёжности и скорости передачи.</p>
</div>
<div class="navigation-buttons">
<a href="2.17.html" class="button">⬅ Назад</a>
<a href="2.19.html" class="button">Вперёд ➡</a>
</div></body>
</html>