Scroll to navigation

udplite(7) Miscellaneous Information Manual udplite(7)

NUME

udplite - protocolul ușor al datagramelor de utilizator (Lightweight User Datagram Protocol)

REZUMAT

#include <sys/socket.h>
sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDPLITE);

DESCRIERE

Aceasta este o implementare a protocolului UDP-Lite (Lightweight User Datagram Protocol), așa cum este descris în RFC 3828.

UDP-Lite este o extensie a UDP (RFC 768) pentru a suporta sume de control de lungime variabilă. Acest lucru prezintă avantaje pentru anumite tipuri de transport multimedia care pot utiliza datagrame ușor deteriorate, în loc să fie eliminate de protocoalele de nivel inferior.

Acoperirea sumei de control cu lungime variabilă este stabilită prin intermediul unei opțiuni setsockopt(2). În cazul în care această opțiune nu este stabilită, singura diferență față de UDP constă în utilizarea unui identificator de protocol IP diferit (numărul IANA 136).

Implementarea UDP-Lite este o extensie completă a udp(7) - adică are aceeași API și același comportament API și, în plus, oferă două opțiuni de soclu pentru a controla acoperirea sumei de control.

Formatul adreselor

UDP-Litev4 utilizează formatul de adresă sockaddr_in descris în ip(7). UDP-Litev6 utilizează formatul de adresă sockaddr_in6 descris în ipv6(7).

Opțiuni de soclu

Pentru a defini sau a obține o opțiune de soclu UDP-Lite, apelați getsockopt(2) pentru a citi sau setsockopt(2) pentru a scrie opțiunea cu argumentul de nivel de opțiune stabilit la IPPROTO_UDPLITE. În plus, toate opțiunile de soclu IPPROTO_UDP sunt valabile pe un soclu UDP-Lite. Consultați udp(7) pentru mai multe informații.

Următoarele două opțiuni sunt specifice pentru UDP-Lite.

Această opțiune stabilește acoperirea sumei de control a expeditorului și ia ca argument un int, cu o valoare a acoperirii sumei de control în intervalul 0..2^16-1.
O valoare de 0 înseamnă că întreaga datagramă este întotdeauna acoperită. Valorile de la 1 la 7 sunt ilegale (RFC 3828, 3.1) și sunt rotunjite până la acoperirea minimă de 8.
În ceea ce privește jumbogramele IPv6 (RFC 2675), acoperirea sumei de control UDP-Litev6 este limitată la primii 2^16-1 octeți, conform RFC 3828, 3.5. Prin urmare, valorile mai mari sunt trunchiate în mod silențios la 2^16-1. În caz de dubii, valoarea curentă a acoperirii poate fi oricând interogată folosind getsockopt(2).
Acesta este analogul din partea receptorului și utilizează același format de argument și interval de valori ca și UDPLITE_SEND_CSCOV. Această opțiune nu este necesară pentru a permite traficul cu acoperire parțială a sumei de control. Funcția sa este cea a unui filtru de trafic: atunci când este activată, aceasta instruiește nucleul să renunțe la toate pachetele care au o acoperire mai mică decât valoarea de acoperire specificată.
Atunci când valoarea lui UDPLITE_RECV_CSCOV depășește acoperirea reală a pachetelor, pachetele primite sunt abandonate în mod silențios, dar pot genera un mesaj de avertizare în jurnalul sistemului.

ERORI-IEȘIRE

Pot fi returnate toate erorile documentate pentru udp(7). UDP-Lite nu adaugă alte erori.

FIȘIERE

/proc/net/snmp
Contoare de bază ale statisticilor UDP-Litev4.
/proc/net/snmp6
Contoare de bază ale statisticilor UDP-Litev6.

VERSIUNI

UDP-Litev4/v6 a apărut pentru prima dată în Linux 2.6.20.

ERORI

În cazul în care lipsește suportul glibc, sunt necesare următoarele definiții:


#define IPPROTO_UDPLITE     136
#define UDPLITE_SEND_CSCOV  10
#define UDPLITE_RECV_CSCOV  11

CONSULTAȚI ȘI

ip(7), ipv6(7), socket(7), udp(7)

RFC 3828 pentru Lightweight User Datagram Protocol (UDP-Lite).

Documentation/networking/udplite.txt în arborele sursă al nucleului Linux

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

10 februarie 2023 Pagini de manual de Linux 6.05.01