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 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
.\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
.\" Permission is granted to distribute possibly modified copies
.\" of this page provided the header is included verbatim,
.\" and in case of nontrivial modification author and date
.\" of the modification is added to the header.
.\" $Id: udp.7,v 1.7 2000/01/22 01:55:05 freitag Exp $
.\" Traduction Christophe Blaess <ccb@club-internet.fr>
.\" 08/06/2001 - LDP-man-pages-1.37
.TH UDP 7 "8 juin 2001" Linux "Manuel de l'administrateur Linux"
.SH NOM
udp \- Protocole UDP pour IPv4
.SH SYNOPSIS
.B #include <sys/socket.h>
.br
.B #include <netinet/in.h>
.br
.B udp_socket = socket(PF_INET, SOCK_DGRAM, 0);
.SH DESCRIPTION
Il s'agit d'une impl�mentation de l'User Datagram Protocol d�crit dans la RFC768. Elle
impl�mente un service de paquets datagrammes non-fiables, sans connexion.
Les paquets peuvent �tre r�ordonn�es ou dupliqu�s avant leur arriv�e.
UDP cr�� et v�rifie des sommes de contr�le pour d�tecter les erreurs de transmission.
Lorsqu'une socket UDP est cr��e, ses adresses locales et distantes sont ind�termin�es.
Les datagrammes peuvent �tre envoy�s imm�diatement en utilisant
.BR sendto (2)
ou
.BR sendmsg (2)
avec une adresse de destination valide en argument. Lorsque
.BR connect (2)
est appel� sur une socket, l'adresse de destination par d�faut est fix�e, et les
datagrammes pourront �tre envoy�s avec
.BR send (2)
ou
.BR write (2)
sans sp�cifier d'adresse de destination.
Il restera possible d'envoyer des donn�es � d'autres destinations en passant l'adresse �
.BR sendto (2)
ou
.BR sendmsg (2).
Afin de recevoir les paquets, une socket doit �tre attach�e � une adresse locale
en utilisant
.BR bind (2).
Sinon la couche socket affectera automatiquement une port local libre, hors de
l'intervalle d�fini par
.I net.ipv4.ip_local_port_range
et attacher la socket � l'adresse
.IR INADDR_ANY .
Les op�rations de r�ception ne renvoie qu'un seul paque � la fois. Si le paquet est plus
petit que le buffer transmis, il n'y aura pas plus de donn�es renvoy�es. S'il est plus grand
le paquet sera tronqu� et le drapeau
.B MSG_TRUNC
sera activ�.
.I MSG_WAITALL
n'est pas support�.
Les options IP peuvent �tre fix�es ou lues en utilisant les options des sockets d�crites dans
.BR ip (7).
Elles ne sont trait�es par le noyau que lorsque le sysctl appropri� est activ�
(mais sont quand m�me fournies � l'utilisateur quant il est inhib�). Voir
.BR ip (7).
Quand l'attribut
.B MSG_DONTROUTE
est actif � l'�mission, l'adresse de destination doit repr�senter une adresse d'interface
locale, et le paquet n'est envoy� qu'� cette interface.
UDP fragmente un paquet quand sa longueur totale exc�de le MTU de l'interface
(Maximum Transmission Unit). Une alternative plus efficace pour le r�seau est d'utiliser
la recherche du MTU du chemin,
comme indiqu� dans la section
.B IP_PMTU_DISCOVER
de
.BR ip (7).
.SH "FORMAT D'ADRESSE"
UDP utilise le format d'adresse IPv4
.B sockaddr_in
comme indiqu� dans
.BR ip (7).
.SH "GESTION D'ERREUR"
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�.
Les comportement de Linux correspond � la
.BR "RFC 1122" .
Pour assurer la compatibilit� avec du code ancien, on peut fixer l'option SOL_SOCKET
.B SO_BSDCOMPAT
pour ne recevoir les erreurs distantes que si la socket a �t�
connect�e (sauf pour
.B EPROTO
et
.BR EMSGSIZE ).
Il vaut mieux corriger le code pour
g�rer les erreurs proprement plut�t que d'activer cette option.
Les erreurs locales sont toujours transmises.
Lorsque l'option
.B IP_RECVERR
est active, toutes les erreurs sont stock�es dans la file d'erreur de la socket
et peuvent �tre lues avec
.BR recvmsg (2)
en activant son option
.BR MSG_ERRQUEUE .
.SH IOCTLS
Les ioctls sont accessible avec l'appel-syst�me
.BR ioctl (2).
La syntaxe correcte est :
.PP
.RS
.nf
.BI int " value";
.IB error " = ioctl(" tcp_socket ", " ioctl_type ", &" value ");"
.fi
.RE
.TP
.B 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.
.TP
.B SIOCOUTQ
Renvoie le nombre d'octets de donn�es dans la file d'�mission locale. Seulement sur
Linux 2.4 et ult�rieurs.
.PP
De plus, les ioctls document� dans
.BR ip (7)
et
.BR socket (7)
sont support�s.
.SH "ERREURS"
Toutes les erreurs document�es pour
.BR socket (7)
ou
.BR ip (7)
peuvent �tre renvoy�es lors d'une �mission ou d'une r�ception sur une socket UDP.
.B 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.
.SH VERSIONS
IP_RECVERR est une nouveaut� de Linux 2.2.
.SH CREDITS
Cette page de manuel a �t� �crite par Andi Kleen.
.SH "VOIR AUSSI"
.BR ip (7),
.BR socket (7),
.BR raw (7).
RFC 768 pour le protocole UDP
.br
RFC 1122 pour les n�cessit� de l'h�te.
.br
RFC 1191 pour une description de la recherche du MTU par chemin.
.SH TRADUCTION
Christophe Blaess, 2001.
|