| 12
 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
 |