Академический Документы
Профессиональный Документы
Культура Документы
Daniel Morat Area de Ingeniera Telemtica Departamento de Automtica y Computacin Universidad Pblica de Navarra daniel.morato@unavarra.es Laboratorio de Programacin de Redes http://www.tlm.unavarra.es/asignaturas/lpr
Contenido
UDP y TCP NAT Proxy El Laboratorio de Telemtica
12 Nov
Conceptos avanzados
1/23
Cmo se transporta IP
El paquete IP atraviesa diferentes redes hasta llegar al destino
El paquete IP Trama Ethernet transporta el paquete IP El (mismo) paquete IP Trama PPP (serie) transporta el paquete IP
(etc...)
12 Nov
Conceptos avanzados
2/23
TCP y UDP
Otros dos protocolos muy importantes de la familia TCP/IP son TCP = Transmission Control Protocol y UDP = User Datagram Protocol Aaden funcionalidades a IP Emplean IP :
Paquete IP
Campo protocolo=6 Campo protocolo=17
Paquete IP
Sencilla comunicacin entre aplicaciones sobre TCP o UDP empleando APIs (Application Programming Interfaces)
12 Nov Conceptos avanzados 3/23
Encapsulacin
TCP o UDP
Paquete IP
12 Nov
Conceptos avanzados
4/23
Caractersticas de UDP
Los datos enviados a otra aplicacin en otra mquina pueden perderse Si se envan varios bloques de informacin pueden llegar desordenados No hay conexin. Para cada bloque de informacin que se desea enviar hay que especificar el destino No intenta controlar la congestin en la red
12 Nov
Conceptos avanzados
5/23
Cabecera UDP
Cabecera UDP:
0
Datagrama UDP
15 16 31
Coloca el valor de puerto destino que identifica a la La aplicacin selecciona aplicacin destino un puerto origen
Datos de la aplicacin Datagrama UDP Paquete IP Protocolo=17 (UDP) IPs origen y destino Trama Ethernet
Aplicacin
Internet
La aplicacin indica al sistema operativo que le entregue los datagramas UDP dirigidos a cierto puerto
6/23
Caractersticas de TCP
Los datos que enve una aplicacin a otra en otra mquina seguro que llegarn (recupera prdidas) Si la aplicacin enva varios bloques de informacin stos llegarn en el mismo orden en que se enviaron (mantiene el orden de secuencia) Antes de poder enviar datos hay que establecer una conexin. Especificar entre qu par de aplicaciones en qu mquinas ser la comunicacin (orientado a conexin) Ambos extremos de la conexin pueden enviar informacin al otro extremo simultneamente (full-duplex) Intenta no congestionar la red
12 Nov
Conceptos avanzados
7/23
Cabecera TCP
0 15 16 31
Puerto destino
Nmero de secuencia Nmero de confirmacin Reservado Control bits Checksum Opciones Tamao de ventana Urgent pointer
12 Nov
Conceptos avanzados
8/23
Cabecera TCP
0 15 16 31
Puerto destino
Coloca el valor de puerto destino que identifica a la La aplicacin selecciona aplicacin destino un puerto origen
Datos de la aplicacin Segmento TCP Paquete IP Protocolo=6 (TCP) IPs origen y destino Trama Ethernet
Aplicacin
Internet
9/23
Establecimiento de la conexin
CLOSED CLOSED LISTEN
Open activo, snd SYN
SYN, Seq=ISN
SYN SENT
CLOSED
Open pasivo Close
Close
SYN RCVD
LISTEN
rcv SYN / snd SYN,ACK snd SYN
ESTABLISHED
SYN RCVD
Close, snd FIN
rcv SYN / snd ACK rcv ACK rcv SYN, ACK / snd ACK
SYN SENT
ESTABLISHED
Close, snd FIN rcv FIN / snd ACK
CLOSING
rcv ACK
LASTACK
rcv ACK
FIN WAIT-2
TIMEWAIT
rcv FIN / snd ACK Timeout 2xMSL
CLOSED
12 Nov
Conceptos avanzados
10/23
Envo de datos
CLOSED CLOSED LISTEN
Open activo, snd SYN
SYN, Seq=ISN
SYN SENT
CLOSED
Open pasivo Close
Close
SYN RCVD
LISTEN
rcv SYN / snd SYN,ACK snd SYN
ACK, ACK n=ISN+1 Datos(1460), Seq=ISN+1, ACK, ACK n=ISN+1 ACK, ACK n=ISN+1461
ESTABLISHED
SYN RCVD
Close, snd FIN
rcv SYN / snd ACK rcv ACK rcv SYN, ACK / snd ACK
SYN SENT
ESTABLISHED
Close, snd FIN rcv FIN / snd ACK
. .
CLOSING
rcv ACK
LASTACK
rcv ACK
FIN WAIT-2
TIMEWAIT
rcv FIN / snd ACK Timeout 2xMSL
CLOSED
12 Nov
Conceptos avanzados
11/23
Cierre de la conexin
CLOSED CLOSED LISTEN
Open activo, snd SYN
SYN, Seq=ISN
SYN SENT
CLOSED
Open pasivo Close
Close
SYN RCVD
LISTEN
rcv SYN / snd SYN,ACK snd SYN
ACK, ACK n=ISN+1 Datos(1460), Seq=ISN+1, ACK, ACK n=ISN+1 ACK, ACK n=ISN+1461
ESTABLISHED
SYN RCVD
Close, snd FIN
rcv SYN / snd ACK rcv ACK rcv SYN, ACK / snd ACK
SYN SENT
ESTABLISHED
Close, snd FIN rcv FIN / snd ACK
. .
CLOSE WAIT
FIN WAIT-1
FIN, Seq=Anterior+1
CLOSE WAIT LAST ACK
FIN WAIT-1
rcv ACK
CLOSING
rcv ACK
LASTACK
rcv ACK
FIN, Seq=Anterior+1
TIMEWAIT CLOSED
FIN WAIT-2
TIMEWAIT
rcv FIN / snd ACK Timeout 2xMSL
CLOSED
CLOSED
12 Nov
Conceptos avanzados
12/23
NAT
NAT=Network Address Translation Otra propuesta de solucin al problema del agotamiento del espacio de direcciones Permite que una red que emplee direccionamiento privado se conecte a Internet El router que conecta la red a Internet:
Cambia la direccin IP privada por una direccin pblica al reenviar un paquete hacia el exterior Cambia la direccin IP pblica por la correspondiente privada al reenviar un paquete hacia el interior
No se necesita reconfigurar los hosts de la red Si no todos los hosts de la red desean cursar trfico con Internet simultneamente no hacen falta tantas direcciones como hosts.
12 Nov Conceptos avanzados 13/23
NAT
(Ejemplo)
La red interna tiene direccionamiento privado El interfaz del router tiene una direccin pblica Adems tiene un pool de direcciones publicas disponibles Cuando un host quiere enviar un paquete IP a un destino en Internet el router NAT cambia la direccin IP origen antes de reenviarlo El router NAT apunta la direccin por la que la ha cambiado Enva el paquete Address pool
IP origen: 10.0.0.1 IP destino: 65.43.23.45 Cambia IP origen a: 130.206.166.1
10.0.0.1/24
10.0.0.2/24
130.206.166.9/21
10.0.0.254/24
Internet
14/23
12 Nov
Conceptos avanzados
NAT
(Ejemplo)
Cuando venga un paquete de esa IP destino vendr dirigido a la IP que coloc el router NAT El router NAT ve en su tabla la direccin IP interna a la que corresponde y la cambia Enva el paquete
Address pool
130.206.166.1 <- 10.0.0.1 130.206.166.2 130.206.166.3 130.206.166.4
10.0.0.1/24
10.0.0.2/24
130.206.166.9/21
IP destino: 130.206.166.1
10.0.0.254/24
Internet
15/23
12 Nov
Conceptos avanzados
(Ejemplo 2: Sobrecarga)
NAT
Supongamos que por ejemplo solo hay 1 direccin pblica Un host quiere enviar un paquete a otro externo
Pblica 130.206.166.1:1212
Externa 65.43.23.45:25
TCP
Cambia IP origen a: 130.206.166.1
10.0.0.1:1212
10.0.0.1/24
10.0.0.2/24
130.206.166.9/21
10.0.0.254/24
Internet
16/23
12 Nov
Conceptos avanzados
(Ejemplo 2: Sobrecarga)
NAT
Supongamos que por ejemplo solo hay 1 direccin pblica Un host quiere enviar un paquete a otro externo Otro host quiere tambin enviar trfico al exterior
TCP TCP
10.0.0.1:1212 10.0.0.2:8976
10.0.0.1/24
10.0.0.2/24
130.206.166.9/21
10.0.0.254/24
TCP IP origen: 10.0.0.2, puerto: 8976 IP destino: 201.0.91.7, puerto: 80
Internet
17/23
12 Nov
Conceptos avanzados
(Ejemplo 2: Sobrecarga)
NAT
Supongamos que por ejemplo solo hay 1 direccin pblica Un host quiere enviar un paquete a otro externo Otro host quiere tambin enviar trfico al exterior Un host enva un paquete IP con el mismo puerto origen, IP destino y puerto destino que una entrada en la cache La IP del pool podra ser simplemente la del interfaz externo del router Cambia el puerto
Address pool = 130.206.166.1
Prot Interna
Cambia IP:puerto origen a: 130.206.166.1:8977
10.0.0.1/24
10.0.0.2/24
130.206.166.9/21
10.0.0.254/24
TCP IP origen: 10.0.0.1, puerto: 8976 IP destino: 201.0.91.7, puerto: 80
Internet
18/23
12 Nov
Conceptos avanzados
Proxy
Normalmente es una mquina con un software de Proxy Puede hacer de proxy para numerosos servicios aunque el ms comn es la Web El cliente, en vez de solicitar el documento al servidor lo solicita al Proxy El proxy lo solicita al servidor
Proxy
Conexin TCP Servidor Web (peticin)
Internet
(documento)
12 Nov
Conceptos avanzados
19/23
10
Proxy-cache
El proxy puede guardar en cache los documentos que ha obtenido por solicitudes anteriores Cuando le llega una nueva peticin busca el documento en la cache Si no lo encuentra lo pedira al servidor pero si lo encuentra lo entrega directamente de la cache
Proxy
Servidor Web
Internet
12 Nov
Conceptos avanzados
20/23
Laboratorio de Telemtica
Red de la UPNA y conexin a Internet Proxy entre la red de la UPNA y la del laboratorio
- No reenva paquetes IP entre las dos redes - Las conecta a nivel de aplicacin - Servidor de DNS del exterior
UPNA
Internet
12 Nov
Conceptos avanzados
11
Prximo da
Conclusiones
12 Nov
Conceptos avanzados
22/23
12