Вы находитесь на странице: 1из 12

Conceptos avanzados

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

Datos IP Segmento TCP


Cabecera TCP

Datos IP Datagrama UDP


Cabecera UDP

Datos que enva la aplicacin

Datos que enva la aplicacin

Sencilla comunicacin entre aplicaciones sobre TCP o UDP empleando APIs (Application Programming Interfaces)
12 Nov Conceptos avanzados 3/23

Encapsulacin

Informacin que desea enviar la aplicacin

TCP o UDP

Paquete IP

Bits que circulan por el cable

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

Puerto origen Longitud

Puerto destino Checksum

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

Ethertype 0x0800 (IP)


Segn el puerto destino entrega los datos a la aplicacin 12 Nov Conceptos avanzados
Aplicacin

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 origen Segmento TCP


Control bits: U R G A C K P S H R S T S Y N F I N
4bit Header Length

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 origen Segmento TCP


Control bits: U R G A C K P S H R S T S Y N F I N
4bit Header Length

Puerto destino

Nmero de secuencia Nmero de confirmacin Reservado Control bits Checksum Opciones


La aplicacin indica al sistema operativo que le entregue los segmentos TCP dirigidos a cierto puerto

Tamao de ventana Urgent pointer

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

Ethertype 0x0800 (IP)


Segn el puerto destino entrega los datos a la aplicacin 12 Nov Conceptos avanzados
Aplicacin

9/23

Establecimiento de la conexin
CLOSED CLOSED LISTEN
Open activo, snd SYN

SYN, Seq=ISN
SYN SENT

CLOSED
Open pasivo Close

Close

SYN, ACK, Seq=ISN, ACK n=ISN+1


ESTABLISHED

SYN RCVD

LISTEN
rcv SYN / snd SYN,ACK snd SYN

ACK, ACK n=ISN+1

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


rcv ACK rcv FIN / snd ACK

CLOSING
rcv ACK

Close, snd FIN

rcv FIN, ACK / snd 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, ACK, Seq=ISN, ACK n=ISN+1


ESTABLISHED

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


rcv ACK rcv FIN / snd ACK

CLOSING
rcv ACK

Close, snd FIN

rcv FIN, ACK / snd 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, ACK, Seq=ISN, ACK n=ISN+1


ESTABLISHED

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

rcv FIN / snd ACK

CLOSING
rcv ACK

Close, snd FIN

ACK, ACK n=Anterior+2


FIN WAIT-2

rcv FIN, ACK / snd ACK

LASTACK
rcv ACK

FIN, Seq=Anterior+1
TIMEWAIT CLOSED

FIN WAIT-2

TIMEWAIT
rcv FIN / snd ACK Timeout 2xMSL

CLOSED

CLOSED

ACK, ACK n=Anterior+2

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

El cambio puede ser:


Esttico: una IP interna siempre se cambia por la misma IP pblica Dinmico: existe un pool de IPs pblicas y se establece una relacin entre las IPs internas y las de ese pool

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

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

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

IP origen: 65.43.23.45 IP destino: 10.0.0.1

Cambia IP destino a: 10.0.0.1

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

Address pool = 130.206.166.1


Prot Interna
TCP IP origen: 10.0.0.1, puerto: 1212 IP destino: 65.43.23.45, puerto: 25

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

Address pool = 130.206.166.1


Prot Interna
Cambia IP origen a: 130.206.166.1

Pblica 130.206.166.1:1212 130.206.166.1:8976

Externa 65.43.23.45:25 201.0.91.7:80

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

Pblica 130.206.166.1:1212 130.206.166.1:8976 130.206.166.1:8977

Externa 65.43.23.45:25 201.0.91.7:80 201.0.91.7:80

TCP TCP TCP

10.0.0.1:1212 10.0.0.2:8976 10.0.0.1: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.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)

Conexin TCP (peticin) (documento)

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

Conexin TCP (peticin) (documento)

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

Servidor de NFS (disco), DNS y NIS (cuentas) Direccionamiento Red de alumnos


Proxy 1.1.1.0/24

UPNA

Internet

Servidor de NFS, DNS y NIS (lucas) Red para LPR 10.0.0.0/24


21/23

12 Nov

Conceptos avanzados

11

Prximo da

Conclusiones

12 Nov

Conceptos avanzados

22/23

12

Вам также может понравиться