Vous êtes sur la page 1sur 6

UDP

Tema 3.- Nivel de transporte en Internet

Dr. Daniel Morat


Redes de Computadores
Ingeniero Tcnico en Informtica de Gestin, 2 curso

Material adaptado del libro Com puter Networking: A Top Down Approach Featuring the Internet,
3rd edition. Jim Kurose, Keith Ross, Ed. Addison-W esley, Julio 2004

UDP: User Datagram Protocol


RFC 768 Sin conexin:
Protocolo de transporte ! no hay handshaking entre
simple, sin gran inteligencia emisor y receptor
Servicio best effort ! cada datagrama UDP es
procesado de forma
Los datagramas UDP se independiente a los dems
pueden: Empleado frecuentemente para
! Perder aplicaciones de streaming
! Llegar desordenados a la multimedia
aplicacin ! Soportan prdidas
! Sensibles a la tasa de envo
Transferencia fiable sobre
UDP? Otros usos de UDP:
! DNS
! Aadir fiabilidad en el nivel de
aplicacin ! SNMP
! Recuperacin ante errores
especfica de cada aplicacin!
10 Nov UDP 1/11
UDP: User Datagram Protocol

Por qu existe UDP?


! Es simple: no hay que mantener el estado de la conexin
! Un establecimiento de conexin puede aadir retardo no
deseado
! Cabecera pequea
! No hay control de congestin: puede enviar tan rpido como
desee
Cada sendto() se convierte en un datagrama IP

10 Nov UDP 2/11

Demultiplexacin sin conexin

Tras crear el socket UDP le asociamos un puerto:


sockservidor= socket(PF_INET, SOCK_DGRAM, 0);
bind(sockservidor, (struct sockaddr*)&dirsock, sizeof(dirsock));

Socket identificado por la pareja:


(direc. IP destino, puerto IP destino)
Cuando un host recibe un datagrama UDP :
! Comprueba el puerto destino en el mismo
! Dirige el segmento al socket UDP con ese puerto
Datagramas IP con diferentes direcciones IP origen o
diferentes puertos origen pueden ser dirigidos al mismo
socket
10 Nov UDP 3/11
Puerto origen
Sirve para identificar a la 32 bits
aplicacin que enva el puerto origen puerto dest.
segmento
otros campos de
Para qu?
la cabecera
! Para poder contestar!
! recvfrom() rellena una
estructura donde indica la IP datos de la
y puerto origen aplicacin
! Ahora podemos emplear esa (mensaje)
informacin en una llamada
sendto()
int recvfrom(int s, void* buf, int len, int flags, struct
sockaddr *from, int *fromlen)
10 Nov UDP 4/11

Puerto origen
Hasta ahora no hemos 32 bits
visto forma de especificarlo
puerto origen puerto dest.
El sistema operativo
escoge un valor la primera otros campos de
vez que se enva un la cabecera
datagrama empleando el
socket UDP
datos de la
Valor mayor que 1024 aplicacin
(fuera del rango de well
(mensaje)
known port numbers)

10 Nov UDP 5/11


Demultiplexacin

P2 P1
P1
P3

SP: 53 SP: 53
DP: 9157 DP: 5775

SP: 9157 SP: 5775


Cliente DP: 53 DP: 53 Cliente
Servidor
IP: A IP: C IP: B

Puerto origen ofrece la direccin de retorno

10 Nov UDP 6/11

Puerto origen
Se puede escoger?
Claro.... bind() !
dirsock.sin_port=htons(2000);
bind(sockservidor, (struct sockaddr*)&dirsock, sizeof(dirsock));

P1
P1
P3

Servidor SP: 53 Cliente


IP: C DP: 2000 IP: B

SP: 2000
DP: 53
10 Nov UDP 7/11
Cabecera UDP
Puertos
32 bits
! 16 bits
! Origen y destino, puerto origen puerto destino
identifican a las longitud checksum
aplicaciones
Longitud
! En bytes del datagrama Datos de la
UDP (incluida la aplicacin
cabecera) (mensaje)
Checksum...

formato del datagrama UDP

10 Nov UDP 8/11

Checksum UDP
Objetivo: detectar errores (ej., bits cambiados) en un
datagrama
Cubre a la cabecera y los datos (y parte de la cabecera IP)

Emisor: Receptor:
Trata el datagrama como Hace la suma en
una secuencia de enteros de complemento a 1 de todo el
16 bits datagrama
checksum: complemento a 1 Da 0?
de la suma (en complemento ! NO - error detectado
a 1) del datagrama
! S - no hay errores
Emisor coloca el checksum detectados. Pero an as
en el campo puede haberlos...

10 Nov UDP 9/11


Temario
0.- Presentacin de la asignatura
1.- Introduccin
2.- Nivel de aplicacin en Internet
3.- Nivel de transporte en Internet
! Principios
! Protocolo UDP
! Protocolo TCP
4.- Nivel de red en Internet
5.- Nivel de enlace

10 Nov UDP 10/11

Prxima clase

TCP

Lecturas recomendadas:
! [1] 3.4-3.5

10 Nov UDP 11/11

Vous aimerez peut-être aussi