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
|
.\" -*- nroff -*-
.\" Copyright (C) 1999 Andi Kleen <ak@muc.de>.
.\" permitido distribuir cpias modificadas deste manual desde
.\" que o cabealho original seja incluido na mesma e em caso de
.\" modificao no triviais o autor e a data da modificao
.\" acrescentada no cabealho.
.\" $Id: udp.7,v 1.1 2000/10/20 13:05:12 ricardo Exp $
.TH UDP 7 "02/10/1998" "Pgina de Manual Linux" "Manual do Programador Linux"
.SH NOME
udp \- Protocolo UDP do IPv4.
.SH SINPSE
.B #include <sys/socket.h>
.br
.B #include <netinet/in.h>
.br
.B udp_socket = socket(PF_INET, SOCK_DGRAM, 0);
.SH DESCRIO
Esta uma implementao do User Datagram Protocol descrito na RFC768. Ele
implementa um servio de datagramas sem checagem dos pacotes e no orientado a conexo.
Os pacotes podem ser reordenados ou duplicados antes de chegar ao destino. O UDP
gera e checa a validade (checksum) dos pacotes para pegar possveis erros de transmisso.
Quando um soquete UDP criado, os endereos local e remoto so indefinidos.
Os datagramas podem ser usados imediatamente atravs do comando:
.BR sendto (2)
ou
.BR sendmsg (2)
com um endereo de destino vlido como argumento. Quando o comando
.BR connect (2)
usado no soquete, o endereo de destino padro definido e o datagrama
pode ser enviado usando-se o comando:
.BR send (2)
ou
.BR write (2)
sem a necessidade de especificao do endereo de destino.
Pode-se tambm enviar para outros destinos passando um endereo para o comando
.BR sendto (2)
ou
.BR sendmsg (2).
Para poder receber os pacotes um endereo local deve ser definido para o
soquete usando-se o comando:
.BR bind (2),
quando este no o caso, a camada do soquete automticamente atribuir
uma porta local ao primeiro requisito do usurio.
Todas as operaes de recepo retornam apenas um pacote. Quando o pacote
menor do que o buffer informado, apenas a quantidade referente aos dados
retornada. Quando o pacote maior o mesmo truncado e o indicador
.B MSG_TRUNC
ativado.
Opes IP podem ser enviadas ou recebidas usando as opes do soquete descritas no
.BR ip "(7)."
Elas s so processadas pelo Linux quando a sysctl apropriada est
habilitada (mas ainda passada para o usurio mesmo quando desativada). veja no
.BR ip "(7)."
Quando o indicador
.B MSG_DONTROUTE
est ativo, o envio do endereo de destino deve referir-se ao endereo
da interface local e o pacote s enviado para esta interface.
O UDP fragmenta um pacote quando seu tamanho total excede a MTU
(Maximum Transmission Unit) da interface.
Uma alternativa mais amigvel usar a deteo da MTU como descrita na
seo
.B IP_PMTU_DISCOVER
do
.BR ip (7).
.SH FORMATO DO ENDEREO
O UDP usa o formato de endereo
.B sockaddr_in
do IPv4 descrito no
.BR ip (7).
.SH TRATAMENTO DE ERROS
Todos os erros fatais sero passados para o usurio como um erro retornado
mesmo quando o soquete no est conectado. Esta caracterstica difere de
outras implementaes de soquete BSD que no passam quaisquer erros a menos
que o soquete esteja conectado. Esta caracterstica no Linux est de acordo com a
.B RFC1122.
Para compatibilidade possvel definir a opo SOL_SOCKET
.B SO_BSDCOMPAT
para s receber erros remotos quando o soquete estiver conectado (exceto
para
.B EPROTO
e
.BR EMSGSIZE ).
melhor corrigir o
cdigo para manipular os erros adequadamente do que habilitar esta opo.
Os erros gerados localmente sempre sero passados.
Quando a opo
.B IP_RECVERR
est habilitada todos os erros so armazenados na fila de erros do
soquete e podem ser recebidos pelo
.BR recvmsg (2)
com o indicador
.B MSG_ERRQUEUE
ativado.
.SH ERROS
Todos os erros documentados pelo
.BR socket (7)
ou
.BR ip (7)
podem ser retornado por um send ou receive em um soquete UDP.
.B ECONNREFUSED
Nenhum receptor foi associado ao endereo de destino. Isto pode ter
sido causado por um pacote enviado anteriormente no soquete.
.SH VERSES
IP_RECVERR uma nova caracterstica do Linux 2.2
.SH CRDITOS
Esta pgina de manual foi escrita por Andi Kleen.
.SH "VEJA TAMBM"
.BR ip (7),
.BR socket (7),
.BR raw (7).
RFC768 - O protocolo UDP.
.br
RFC1122 - Requesitos da mquina.
.br
RFC1191 - Descrio da deteo do MTU.
.SH TRADUZIDO POR LDP-BR em 21/08/2000.
\&\fR\&\f(Fbio Henrique F. Silva <fabiohfs@mail.com> (Traduo)\fR
\&\fR\&\f(CWAndr L. Fassone Canova <lonelywolf@blv.com.br> (reviso)\fR
|