table of contents
other languages
other sections
UDP(7) | Manuel du programmeur Linux | UDP(7) |
NOM¶
udp - Protocole UDP pour IPv4SYNOPSIS¶
#include <sys/socket.h>DESCRIPTION¶
Il s'agit d'une implémentation de l'User Datagram Protocol décrit dans la RFC 768. Elle implémente un service de paquets datagrammes non-fiable, sans connexion. Les paquets peuvent être réordonnés ou dupliqués avant leur arrivée. UDP crée et vérifie des sommes de contrôle pour détecter les erreurs de transmission.Format d'adresse¶
UDP utilise le format d'adresse IPv4 sockaddr_in comme indiqué dans ip(7).Traitement des erreurs¶
Toutes les erreurs fatales seront transmises à l'utilisateur comme un retour d'erreur même lorsque la socket n'est pas connectée. Ceci inclut les erreurs asynchrones reçues du réseau. Vous pouvez ainsi recevoir une erreur due à un paquet précédemment envoyé sur la même socket. Ce comportement diffère de celui de nombreuses autres implémentations des sockets BSD, qui ne transmettent pas d'erreur si la socket n'est pas connectée. Le comportement de Linux correspond à la RFC 1122.Interfaces /proc¶
La configuration des paramètres système pour UDP sont accessible par les fichiers du répertoire /proc/sys/net/ipv4/.- udp_mem (depuis Linux 2.6.25)
- C'est un vecteur de trois entiers qui contrôle le nombre de pages permises pour la queue de toutes les sockets UDP.
- min
- En dessous de ce nombre de pages, UDP ne se soucie pas de son appétit en mémoire. Quand la quantité de mémoire allouée par UDP dépasse cette valeur, UDP commence à limiter son utilisation mémoire.
- pressure
- Cette valeur a été introduite pour suivre le format de tcp_mem (voir tcp(7)).
- max
- Nombre de pages permises pour la queue de toutes les sockets UDP.
- Les valeurs par défaut pour ces trois éléments sont calculées au démarrage à partir de la quantité de mémoire disponible.
- udp_rmem_min (entier ; PAGE_SIZE par défaut ; depuis Linux 2.6.25)
- Taille minimale, en octets, des tampons de réception utilisés par les sockets UDP dans le mode de modération. Chaque socket UDP peut utiliser cette taille pour recevoir des données, même si le nombre total de pages pour les sockets UDP dépasse le seuil udp_mem.
- udp_wmem_min (entier ; PAGE_SIZE par défaut ; depuis Linux 2.6.25)
- Taille minimale, en octets, du tampon d'émission utilisé par les sockets UDP dans le mode de modération. Chaque socket UDP peut utiliser cette taille pour envoyer des données, même si le nombre total de pages pour les sockets UDP dépasse le seuil udp_mem.
Options de sockets¶
Pour lire ou écrire une option de socket UDP, appeler getsockopt(2) pour la lecture ou setsockopt(2) pour l'écriture, avec l'argument de niveau d'option valant IPPROTO_UDP.- UDP_CORK (depuis Linux 2.5.44)
- Si cette option est active, toutes les données en sortie sur cette socket sont accumulées dans un unique datagramme qui est émis dès que l'option est désactivée. Cette option ne doit pas être utilisée dans des programmes destinés à être portables.
Ioctls¶
Ces ioctls sont accessibles à travers l'appel système ioctl(2). La syntaxe correcte est :int value; error = ioctl(udp_socket, ioctl_type, &value);
- FIONREAD (SIOCINQ)
- Prend en argument un pointeur sur un entier. Y écrit la taille en octets du prochain datagramme en attente, ou 0 si aucun datagramme n'est disponible. Attention : en utilisant FIONREAD, il est impossible de distinguer le cas où aucun datagramme n'est en attente du cas où le prochain datagramme en attente contient 0 octet de données. Il est préférable d'utiliser select(2), poll(2), ou epoll(7) pour différencier ces cas.
- TIOCOUTQ (SIOCOUTQ)
- Renvoie le nombre d'octets de données dans la file d'émission locale. Seulement sur Linux 2.4 et ultérieurs.
ERREURS¶
Toutes les erreurs documentées pour socket(7) ou ip(7) peuvent être renvoyées lors d'une émission ou d'une réception sur une socket UDP.- ECONNREFUSED
- Aucun correspondant sur l'adresse destination associée à la socket. Ceci peut être causé par l'émission antérieure d'un paquet sur la socket.
VERSIONS¶
IP_RECVERR est une nouveauté de Linux 2.2.VOIR AUSSI¶
ip(7), raw(7), socket(7), udplite(7)COLOPHON¶
Cette page fait partie de la publication 3.44 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse <http://www.kernel.org/doc/man-pages/>.TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>. Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009). Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le paquet manpages-fr. Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».13 juin 2010 | Linux |