logo
Мет по сетям (протоколам)

Протокол udp

Протоколы UDP и TCP относятся к транспортному уровню модели стека TCP/IP.

Протокол UDP (User Datagram Protocol) не требует подтверждения получения, не обеспечивает гарантированности доставки и, следовательно, целостности переданных данных (сборки данных из разных пакетов). Протокол используется для передачи команд и сетевой информации (например, при разрешении имен в DNS), а также для передачи вышележащим протоколам, обеспечивающим гарантированность доставки и целостность данных своими средствами.

←————————————————————————— Слово 32 бита (4-е байта) —————————————————————————→

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

Порт источника

Порт получателя

Длина

Контрольная сумма

Данные

….

Данные

Порты источника и получателя – 16-и битовые (2-х байтовые) идентификаторы прикладных протоколов источника и получателя соответственно. Эти идентификаторы необходимы для разделения данных при одновременной работе различных прикладных процессов. Например, при одновременном приёме файлов (протокол FTP) и просмотре web-страницы (протокол HTTP) на одном и том же узле. За известными протоколами (по умолчанию) закреплены первые 1024 порта (например, FTP – 21 порт, HTTP – 80 и т. д.), но номера портов могут быть и переназначены произвольным образом. Совокупность прикладного протокола, IP адресов и номеров портов узлов назначения и источника называется сокетом (socket – гнездо). В сокете номер порта указывается за IP адресом после двоеточия (например, 212.46.206.2:80).

Длина – длина всего (с заголовком) UDP пакета. Максимальная длина UDP пакета есть максимальный размер данных в IP пакете минус минимальная длина заголовка UDP пакета, т. е. (65 535 – 20) – 8 = 65 507 байт.Контрольная сумма – дополнение до нуля всех двухбайтовых слов пакета и псевдозаголовка. Перед заголовком для повышения надёжности вставляется псевдозаголовок из важнейших полей заголовка IP пакета

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

IP адрес источника

IP адрес получателя

0

Протокол

Длина

Протокол – идентификатор протокола (например, 17 – UDP, 6 – TCP).

Длина – длина UDP/TCP пакета.