Header UDP
Header-ul UDP are 8 bytes si are urmatoarea structura:
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| Source | Destination |
| Port | Port |
+--------+--------+--------+--------+
| Length | Checksum |
+--------+--------+--------+--------+
Portul sursa este ales random de către mașina sursa a pachetului dintre porturile libere existente pe acea mașina. Este un număr pe 16 biti, între 0 si 65535. Identifică procesul UDP care a transmis datagrama.
Portul destinatie este portul pe care mașina destinatie poate recepționa pachete. Identifică socket-ul UDP care va procesa datele primite.
Length este lungimea în octeti (bytes) a datagramei (header size + data size).
Checksum este valoarea sumei de verificare pentru datagrama.
Putem folosi următoarea structură pentru a reprezenta header-ul UDP:
struct udphdr
{
uint16_t sport; /* source port */
uint16_t dport; /* destination port */
uint16_t ulen; /* udp length */
uint16_t sum; /* udp checksum */
};