Provided by: manpages-es_1.55-10_all bug

NOMBRE

       udp - Protocolo UDP sobre IPv4.

SINOPSIS

       #include <sys/socket.h>
       #include <netinet/in.h>
       udp_socket = socket(PF_INET, SOCK_DGRAM, 0);

DESCRIPCI'ON

       Esta  es  una implementacion del protocolo UDP (User Datagram Protocol)
       descrito en RFC768. Implementa un servicio de paquetes de datagramas no
       fiable y sin conexion. Los paquetes pueden ser reordenados o duplicados
       antes de que lleguen. UDP genera  y  comprueba  sumas  de  verificacion
       (checksums) para detectar errores de transmision.

       Cuando se crea un conector (socket) UDP, sus direcciones local y remota
       estan sin  especificar.  Se  pueden  enviar  datagramas  inmediatamente
       usando  sendto(2) o sendmsg(2) con una direccion de destino valida como
       argumento. Cuando se llama a connect(2) sobre el conector, se envia  la
       direccion  de  destino  por defecto y a partir de ese momento se pueden
       enviar  datagramas  usando  send(2)  o  write(2)  sin  especificar  una
       direccion  de  destino.   Todavia  es  posible  realizar envios a otros
       destinos pasando una direccion a sendto(2) o  sendmsg(2).   Para  poder
       recibir  paquetes,  se  debe  ligar primero el conector a una direccion
       local usando bind(2).  De otra manera  la  capa  de  conector  asignara
       automaticamente  un  puerto  local  libre  fuera del rango definido por
       net.ipv4.ip_local_port_range y ligara el conector a INADDR_ANY.

       Todas las operaciones de recepcion solo devuelven un paquete. Cuando el
       paquete  es  mas  pequeno  que  el buffer pasado, solo se devuelven los
       datos del paquete y, cuando es mayor, el paquete se trunca y la bandera
       MSG_TRUNC se activa.  MSG_WAITALL no esta soportada.

       Se  pueden  enviar  o  recibir  opciones  IP  usando  las  opciones  de
       conectores descritas en ip(7).  Estas son procesadas por el nucleo solo
       cuando esta activa la sysctl adecuada (pero todavia se pasan al usuario
       incluso cuando esta desactivada). Vea ip(7).

       Cuando en un envio esta activa la opcion MSG_DONTROUTE, la direccion de
       destino  debe  referirse  a  la  direccion  de  una interfaz local y el
       paquete solo se envia a esa interfaz.

       UDP fragmenta un paquete cuando su longitud total excede la MTU (Unidad
       de  Transmision  Maxima)  de  la  interfaz.  Una alternativa de red mas
       amigable es usar el descubrimiento  de  la  MTU  de  la  ruta  como  se
       describe en la seccion IP_PMTU_DISCOVER de ip(7).

FORMATO DE DIRECCI'ON

       UDP usa el formato de direccion sockaddr_in de IPv4 descrito en ip(7).

MANEJO DE ERRORES

       Todos los errores fatales seran pasados al usuario como un resultado de
       error incluso cuando  el  conector  no  este  conectado.  Esto  incluye
       errores asincronos recibidos de la red. Puede obtenerse un error por un
       paquete  anterior  que  fue  enviado  por  el  mismo  conector.    Este
       comportamiento  difiere  de muchas otras implementaciones de conectores
       BSD que no pasan ningun error al menos que el conector este  conectado.
       El comportamiento de Linux viene mandado por el RFC1122.

       Por  compatibilidad  con  codigo  anterior es posible activar la opcion
       SO_BSDCOMPAT de SOL_SOCKET para recibir errores remotos (excepto EPROTO
       y EMSGSIZE) solo cuando el conector se ha conectado.  Es mejor arreglar
       el codigo para manejar adecuadamente los  errores  que  habilitar  esta
       opcion.  Los errores generados localmente siempre se pasan.

       Cuando se activa la opcion IP_RECVERR todos los errores se almacenan en
       la cola de errores de conector y se pueden recibir mediante  recvmsg(2)
       con la opcion MSG_ERRQUEUE activa.

IOCTLS

       Estos  ioctls pueden ser utilizados con ioctl(2).  La sintaxis correcta
       es:

              int value;
              error = ioctl(tcp_socket, ioctl_type, &value);

       SIOCINQ
              Recibe un puntero a un entero como argumento. Devuelve el tamano
              del  siguiente  datagrama  pendiente  en el entero en bytes, o 0
              cuando no quedan datagramas pendientes.

       SIOCOUTQ
              Devuelve el numero de bytes de datos en la cola de envio  local.
              Solo disponible en Linux 2.4 o superior.

       Ademas  todos  los  ioctls  documentados  en  ip(7)  y  socket(7) estan
       soportados.

ERRORES

       Una operacion de enviar o recibir sobre un conector UDP puede  devolver
       cualquier error documentado en socket(7) o ip(7).

       ECONNREFUSED  No  se ha asociado un receptor a la direccion de destino.
       Esto podria ser provocado  por  un  paquete  anterior  enviado  por  el
       conector.

VERSIONES

       IP_RECVERR es una nueva caracteristica de la version 2.2 de Linux.

CREDITOS

       Esta pagina de manual fue escrita por Andi Kleen.

V'EASE TAMBI'EN

       ip(7), socket(7), raw(7)

       RFC768 para el protocolo UDP.
       RFC1122 para los requisitos del anfitrion (host).
       RFC1191 para una descripcion del descubrimiento de la MTU de la ruta.

Pagina man de Linux             2 octubre 1998                          UDP(7)