41
El Nivel de Transporte Arquitecura de Redes de Ordenadores Arquitectura de Internet GSYC Departamento de Teoría de la Señal y Comunicaciones y Sistemas Telemáticos y Computación Universidad Rey Juan Carlos Marzo 2015 GSyC - 2015 El Nivel de Transporte 1

5. Transporte

Embed Size (px)

DESCRIPTION

transporte

Citation preview

Page 1: 5. Transporte

El Nivel de TransporteArquitecura de Redes de Ordenadores

Arquitectura de Internet

GSYCDepartamento de Teoría de la Señal y Comunicaciones y

Sistemas Telemáticos y Computación

Universidad Rey Juan Carlos

Marzo 2015

GSyC - 2015 El Nivel de Transporte 1

Page 2: 5. Transporte

©2015 GSyCAlgunos derechos reservados.

Este trabajo se distribuye bajo la licenciaCreative Commons Attribution Share-Alike

disponible en http://creativecommons.org/licenses/by-sa/3.1/es

GSyC - 2015 El Nivel de Transporte 2

Page 3: 5. Transporte

Contenidos

1 Introducción

2 Puertos

3 NAT

4 Referencias

GSyC - 2015 El Nivel de Transporte 3

Page 4: 5. Transporte

Introducción

Contenidos

1 Introducción

2 Puertos

3 NATTráfico salienteTráfico entrante que responde al salienteTráfico saliente: mismo protocolo y puerto origen hacia elmismo servidorTráfico entrante nuevo

4 Referencias

GSyC - 2015 El Nivel de Transporte 4

Page 5: 5. Transporte

Introducción

Introducción

El Nivel de Transporte se encarga de gobernar el accesomúltiple a la red de los diversos procesos de la misma máquinaque quieran usarla: En TCP/IP se hace a través de puertos.Hay dos protocolos que ofrecen un servicio de nivel detransporte:

UDP: no orientado a conexión y no fiableTCP: orientado a conexión y fiable

GSyC - 2015 El Nivel de Transporte 5

Page 6: 5. Transporte

Introducción

Puertos

En una máquina multiproceso, el nivel de transporte debepreocuparse de saber a qué proceso va destinado una unidadde datos de UDP o TCP que acaba de llegar por la red. Ladirección IP no es suficiente. Por ello, los procesos utilizan“direcciones de nivel de transporte”, denominadas puertos.

Cada puerto del Nivel de Transporte proporciona a unaaplicación un punto de acceso a la red de comunicaciones, conlo que ésta puede dialogar con otra aplicación situada en unpuerto de una máquina remota.

GSyC - 2015 El Nivel de Transporte 6

Page 7: 5. Transporte

Puertos

Contenidos

1 Introducción

2 Puertos

3 NATTráfico salienteTráfico entrante que responde al salienteTráfico saliente: mismo protocolo y puerto origen hacia elmismo servidorTráfico entrante nuevo

4 Referencias

GSyC - 2015 El Nivel de Transporte 7

Page 8: 5. Transporte

Puertos

Puertos

El Nivel de Transporte TCP/IP:

multiplexa las unidades de datos que envían las aplicaciones a través de lospuertos, encapsulándolas en unidades de datos de UDP o TCPdemultiplexa las unidades de datos de UDP y TCP, pasando los datos a lasaplicaciones.

Los puertos se identifican por un número de 16 bits. Los puertos UDP y TCP semanejan por separado:

el puerto 6001 UDP y el puerto 6001 TCP son puertos distintos.

TCP$

IP$

p1$ p2$ p3$ p4$

ETHERNET$eth0$

Puertos$

Dir.$IP$11.0.0.100'

6001$ 6002$6003$

6004$

LAN'

UDP$

p5$

6001$

MULTIPLEXACIÓN'TCP$

IP$

p1$ p2$ p3$ p4$

ETHERNET$eth0$

Puertos$

Dir.$IP$11.0.0.100'

6001$6002$6003$

6004$

LAN'

UDP$

p5$

6001$

DEMULTIPLEXACIÓN'

GSyC - 2015 El Nivel de Transporte 8

Page 9: 5. Transporte

Puertos

Puertos en la cabecera del nivel de transporte

Cuando se envía una unidad de datos del nivel de transporte seespecifica el puerto de destino y el puerto desde el que seenvía.

Transporte:+TCP/UDP+

IP+

Ethernet+

Cabecera'de'transporte'

Cabecera'de'transporte'

Cabecera'de'transporte'

Cabecera''IP'

Cabecera''IP'Cabecera''Ethernet'

Puerto+origen+

Puerto+des8no+

GSyC - 2015 El Nivel de Transporte 9

Page 10: 5. Transporte

Puertos

Ejemplo de comunicaciones en el nivel de transporte

TCP$

IP$

p1$ p2$ p3$ p4$

ETHERNET$

eth0$

Puertos$

Dir.$IP$11.0.0.100'

ordenador$A'

6001$ 6002$6003$6004$

LAN'

UDP$

p5$

6001$

TCP$

IP$

pA$ pB$

ETHERNET$12.0.0.100'

ordenador$B'

10000$ 7002$

LAN'

UDP$

pC$

22222$

IP$

eth0'

11.0.0.1'

eth1' eth0'

12.0.0.1'

TCP$

IP$

ETHERNET$12.0.0.200'

ordenador$C'

UDP$

eth0'

pZ$ pY$

8003$ 6004$

ROUTER$

Comunicaciones'desde'el'ordenador'A'

Protocolo' Dirección''IP'origen'

Puerto'origen' Dirección'IP'desCno' Puerto'desCno'

TCP$ 11.0.0.100$ 6001$ 12.0.0.100$ 10000$

TCP$ 11.0.0.100$ 6002$ 12.0.0.100$ 7002$

UDP$ 11.0.0.100$ 6003$ 12.0.0.200$ 8003$

UDP$ 11.0.0.100$ 6004$ 12.0.0.200$ 6004$

UDP$ 11.0.0.100$ 6001$ 12.0.0.100$ 22222$

ETHERNET$

Una comunicación de nivel de transporte queda completamente identificada con lossiguientes parámetros: protocolo, dirección IP origen, puerto origen, dirección IPdestino y puerto destino.

GSyC - 2015 El Nivel de Transporte 10

Page 11: 5. Transporte

Puertos

Puertos reservados

Los puertos menores que 1024 (puertos privilegiados) estánreservados y asignados universalmente a aplicaciones de redconocidas.

En una máquina Unix esta asignación está en el fichero/etc/services:

echo 7/tcpecho 7/udpdiscard 9/tcp sink nulldiscard 9/udp sink nulldaytime 13/tcpdaytime 13/udpnetstat 15/tcpftp-data 20/tcp # default ftp data portftp 21/tcpssh 22/tcp # SSH Remote Login Protocolssh 22/udptelnet 23/tcpsmtp 25/tcp mailwww 80/tcp http # WorldWideWeb HTTPwww 80/udp # HyperText Transfer Protocol

GSyC - 2015 El Nivel de Transporte 11

Page 12: 5. Transporte

Puertos

Modelo de aplicaciones cliente/servidor

Al arrancar una aplicación que funciona como servidor, ésta sequedará esperando a recibir mensajes de un determinadoprotocolo de nivel de transporte y en un determinado puerto.Al arrancar una aplicación que funciona como cliente, éstatomará la iniciativa de enviar el primer mensaje a la aplicaciónservidor utilizando el protocolo de nivel de transporte que estáusando la aplicación servidor y enviando los mensajes a ladirección IP y puerto en los que está escuchando la aplicaciónservidor.Es necesario arrancar primero la aplicación que funciona comoservidor y posteriormente arrancar la aplicación que funcionacomo cliente.

GSyC - 2015 El Nivel de Transporte 12

Page 13: 5. Transporte

NAT

Contenidos

1 Introducción

2 Puertos

3 NATTráfico salienteTráfico entrante que responde al salienteTráfico saliente: mismo protocolo y puerto origen hacia elmismo servidorTráfico entrante nuevo

4 Referencias

GSyC - 2015 El Nivel de Transporte 13

Page 14: 5. Transporte

NAT

NAT (Network Address Translation)

Se denomina NAT a la reescritura por parte de un router dealgunos campos de la cabecera de los paquetes que encamina:

cambia dirección IP origen y puerto origen en el tráfico salientecambia dirección IP destino y puerto destino en el tráficoentrante

Esta técnica se utiliza con el propósito principal de paliar laescasez de direcciones IP.Gracias al NAT, una organización puede usar direccionesprivadas internamente, y tener una sola dirección IP global(pública) en el router que le da acceso a Internet.Direcciones IP para redes «privadas»:

De 10.0.0.0 a 10.255.255.255: 1 red de clase ADe 172.16.0.0 a 172.31.255.255: 16 redes de clase BDe 192.168.0.0 a 192.168.255.255: 256 redes de claseclase C

GSyC - 2015 El Nivel de Transporte 14

Page 15: 5. Transporte

NAT

Direccionamiento

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$

A.B.C.D$$$Direcciones$privadas$A.B.C.D$$$Direcciones$públicas$

Internet&

RED$PRIVADA$

router&NAT&

Todos los ordenadores de la red interna utilizan direcciones«privadas», que no son válidas en Internet.El router que da acceso a Internet tiene una dirección«pública», válida en Internet.

En algunos casos, el router podría disponer de más de una IPpública. Siempre que haya disponibles menos IPs públicas quemáquinas en la red interna habrá que utilizar NAT.

GSyC - 2015 El Nivel de Transporte 15

Page 16: 5. Transporte

NAT Tráfico saliente

Contenidos

1 Introducción

2 Puertos

3 NATTráfico salienteTráfico entrante que responde al salienteTráfico saliente: mismo protocolo y puerto origen hacia elmismo servidorTráfico entrante nuevo

4 Referencias

GSyC - 2015 El Nivel de Transporte 16

Page 17: 5. Transporte

NAT Tráfico saliente

Tráfico saliente, mecanismo básico (1/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

10.0.0.11&212.128.4.4&TCP& 1050& 200& DATOS&

router&NAT&

La máquina pc1 envía un datagrama IP dirigido a pc100

pc1 usa como IP origen su dirección IP privada, que no esválida en Internet (pues los routers de Internet no tienen rutashacia esas direcciones).

GSyC - 2015 El Nivel de Transporte 17

Page 18: 5. Transporte

NAT Tráfico saliente

Tráfico saliente, mecanismo básico (2/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

1&

2&IP&origen& IP&des2no& Prot& Puerto&origen&

Puerto&des2no&

10.0.0.11&212.128.4.4&TCP& 1050& 200& DATOS&

IP$origen$ IP&des2no& Prot& Puerto&origen&Puerto&des2no&

83.77.100.1$212.128.4.4&TCP& 1050& 200& DATOS&

router&NAT&

El router NAT cambia la IP de origen sustituyendo la IPprivada de la máquina que creó el datagrama (10.0.0.11) porla IP pública del router (83.77.100.1) .

GSyC - 2015 El Nivel de Transporte 18

Page 19: 5. Transporte

NAT Tráfico saliente

Tráfico saliente, mecanismo básico (3/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

1&

2&

3&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

10.0.0.11&212.128.4.4&TCP& 1050& 200& DATOS&

IP$origen$ IP&des2no& Prot& Puerto&origen&Puerto&des2no&

83.77.100.1$212.128.4.4&TCP& 1050& 200& DATOS&

IP$origen$ IP&des2no& Prot& Puerto&origen&Puerto&des2no&

83.77.100.1$212.128.4.4&TCP& 1050& 200& DATOS&

router&NAT&

La máquina que recibe el datagrama cree que el origen delmismo es el propio router NAT.

GSyC - 2015 El Nivel de Transporte 19

Page 20: 5. Transporte

NAT Tráfico saliente

Tráfico saliente: tabla NAT

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

10.0.0.11&212.128.4.4&TCP& 1050& 200& DATOS&

1&

2&

3&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&

IP$origen$ IP&des2no& Prot& Puerto&origen&Puerto&des2no&

83.77.100.1$212.128.4.4&TCP& 1050& 200& DATOS&

IP$origen$ IP&des2no& Prot& Puerto&origen&Puerto&des2no&

83.77.100.1$212.128.4.4&TCP& 1050& 200& DATOS&

router&NAT&

El router NAT mantiene una tabla con los cambios que hace en el tráficosaliente, para más tarde poder hacer los cambios al revés sobre el tráficoentrante de respuesta.La tabla contiene información de los campos origen del paquete recibido de lared privada (protocolo=tcp, IP=10.0.0.11, puerto=1050) y los asocia alos campos de origen del paquete enviado a Internet por el router NAT(IP=83.77.100.1, puerto=1050).

GSyC - 2015 El Nivel de Transporte 20

Page 21: 5. Transporte

NAT Tráfico entrante que responde al saliente

Contenidos

1 Introducción

2 Puertos

3 NATTráfico salienteTráfico entrante que responde al salienteTráfico saliente: mismo protocolo y puerto origen hacia elmismo servidorTráfico entrante nuevo

4 Referencias

GSyC - 2015 El Nivel de Transporte 21

Page 22: 5. Transporte

NAT Tráfico entrante que responde al saliente

Tráfico entrante que responde al saliente (1/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 1050& DATOS&

router&NAT&

pc100 responde al datagrama recibido, con lo que usa como IP destino laIP pública del router NAT.

GSyC - 2015 El Nivel de Transporte 22

Page 23: 5. Transporte

NAT Tráfico entrante que responde al saliente

Tráfico entrante que responde al saliente (2/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

2&

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 1050& DATOS&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 1050& DATOS&

router&NAT&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&

El router NAT al recibir el datagrama busca en su tabla NAT una entradaen la que encajen los siguientes valores:

protocolodirección IP destino y puerto destino (la dirección IP pública ypuerto del router NAT)dirección IP origen y puerto origen (dirección IP y puertoremotos)

GSyC - 2015 El Nivel de Transporte 23

Page 24: 5. Transporte

NAT Tráfico entrante que responde al saliente

Tráfico entrante que responde al saliente (3/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

IP&origen& IP$desGno$ Prot&Puerto&origen&Puerto&des2no&

212.128.4.4& 10.0.0.11$ TCP& 200& 1050& DATOS&

3&

2&

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 1050& DATOS&

router&NAT&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 1050& DATOS&

El router NAT reenvía a la red privada el datagrama cambiando loscampos de destino que ha recibido (dirección IP y puerto del router NATIP=83.77.100.1, puerto=1050) por los que aparecen en los campos deRed Privada de la entrada seleccionada en la tabla NAT(IP=10.0.0.11, puerto=1050).

GSyC - 2015 El Nivel de Transporte 24

Page 25: 5. Transporte

NATT. saliente: mismo protocolo y puerto origen → mismo

servidor

Contenidos

1 Introducción

2 Puertos

3 NATTráfico salienteTráfico entrante que responde al salienteTráfico saliente: mismo protocolo y puerto origen hacia elmismo servidorTráfico entrante nuevo

4 Referencias

GSyC - 2015 El Nivel de Transporte 25

Page 26: 5. Transporte

NATT. saliente: mismo protocolo y puerto origen → mismo

servidor

Tráfico saliente: mismo protocolo y puerto origen hacia elmismo servidor (1/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

10.0.0.12&212.128.4.4&TCP& 1050& 200& DATOS&

1&

router&NAT&

Supongamos que otra máquina de la red privada usa el mismo protocoloy el mismo puerto origen (en este caso protocolo=tcp, puerto=1050)para comunicarse con el mismo servidor (212.128.4.4 en el puerto 200)

GSyC - 2015 El Nivel de Transporte 26

Page 27: 5. Transporte

NATT. saliente: mismo protocolo y puerto origen → mismo

servidor

Tráfico saliente: mismo protocolo y puerto origen hacia elmismo servidor (2/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

10.0.0.12&212.128.4.4&TCP& 1050& 200& DATOS&

1&

2&

IP$origen$ IP&des2no& Prot& Puerto$origen$Puerto&des2no&

83.77.100.1$212.128.4.4&TCP& 1051$ 200& DATOS&

router&NAT&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&10.0.0.12& 1050& 83.77.100.1& 1051& 212.128.4.4& 200& TCP&

Para poder distinguir el tráfico de respuesta dirigido a pc2 del dirigido apc1, el router NAT elegirá un puerto origen público distinto al puertoorigen privado

Ahora cambiará además de la dirección IP origen, el puerto origen deldatagrama por el nuevo puerto elegido (IP=83.77.100.1, puerto=1051)

GSyC - 2015 El Nivel de Transporte 27

Page 28: 5. Transporte

NATT. saliente: mismo protocolo y puerto origen → mismo

servidor

Tráfico saliente: mismo protocolo y puerto origen hacia elmismo servidor (3/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

10.0.0.12&212.128.4.4&TCP& 1050& 200& DATOS&

1&

2&

3&

IP$origen$ IP&des2no& Prot& Puerto$origen$Puerto&des2no&

83.77.100.1$212.128.4.4&TCP& 1051$ 200& DATOS&

IP$origen$ IP&des2no& Prot& Puerto$origen$Puerto&des2no&

83.77.100.1$212.128.4.4&TCP& 1051$ 200& DATOS&

router&NAT&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&10.0.0.12& 1050& 83.77.100.1& 1051& 212.128.4.4& 200& TCP&

pc100 no puede distinguir que el tráfico en realidad lo han generado dosmáquinas diferentes (pc1 y pc2), simplemente ve puertos origendiferentes.

GSyC - 2015 El Nivel de Transporte 28

Page 29: 5. Transporte

NATT. saliente: mismo protocolo y puerto origen → mismo

servidor

Tráfico entrante que responde a pc2 (1/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 1051& DATOS&

router&NAT&

pc100 responde al datagrama recibido (originalmente enviado por pc2),con lo que usa como IP destino la IP pública del router NAT, y comopuerto destino (83.77.100.1) el que venía como origen (1051).

GSyC - 2015 El Nivel de Transporte 29

Page 30: 5. Transporte

NATT. saliente: mismo protocolo y puerto origen → mismo

servidor

Tráfico entrante que responde a pc2 (2/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

2&

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 1051& DATOS&

router&NAT&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&10.0.0.12& 1050& 83.77.100.1& 1051& 212.128.4.4& 200& TCP&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 1051& DATOS&

El router NAT al recibir el datagrama busca en su tabla NAT una entradaen la que encajen los siguientes valores:

protocolodirección IP destino y puerto destino (la dirección IP pública ypuerto del router NAT)dirección IP origen y puerto origen (dirección IP y puertoremotos)

GSyC - 2015 El Nivel de Transporte 30

Page 31: 5. Transporte

NATT. saliente: mismo protocolo y puerto origen → mismo

servidor

Tráfico entrante que responde a pc2 (3/3)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

IP&origen& IP$desGno$ Prot&Puerto&origen&Puerto$desGno$

212.128.4.4& 10.0.0.12$ TCP& 200& 1050$ DATOS& 2&

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 1051& DATOS&

router&NAT&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&10.0.0.12& 1050& 83.77.100.1& 1051& 212.128.4.4& 200& TCP&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 1051& DATOS&

3&

El router NAT reenvía a la red privada el datagrama cambiando loscampos de destino que ha recibido (IP=83.77.100.1, puerto=1051)por los que aparecen en los campos de Red Privada de la entradaseleccionada en la tabla NAT (IP=10.0.0.12, puerto=1050).

GSyC - 2015 El Nivel de Transporte 31

Page 32: 5. Transporte

NAT Tráfico entrante nuevo

Contenidos

1 Introducción

2 Puertos

3 NATTráfico salienteTráfico entrante que responde al salienteTráfico saliente: mismo protocolo y puerto origen hacia elmismo servidorTráfico entrante nuevo

4 Referencias

GSyC - 2015 El Nivel de Transporte 32

Page 33: 5. Transporte

NAT Tráfico entrante nuevo

El problema del tráfico entrante nuevo (1/2)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 3001& DATOS&

router&NAT&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&10.0.0.12& 1050& 83.77.100.1& 1051& 212.128.4.4& 200& TCP&

Supongamos que pc100 envía ahora un tráfico que va dirigido a unamáquina de la red privada que aún no ha enviado ningún tráfico saliente.

GSyC - 2015 El Nivel de Transporte 33

Page 34: 5. Transporte

NAT Tráfico entrante nuevo

El problema del tráfico entrante nuevo (2/2)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

2&

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 3001& DATOS&

router&NAT&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 3001& DATOS&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&10.0.0.12& 1050& 83.77.100.1& 1051& 212.128.4.4& 200& TCP& ¿?$

Cuando llega al router NAT el datagrama, el router NAT no tiene formade saber a qué máquina interna redirigirlo, pues no encuentra en su tablaNAT ninguna entrada que encaje con ese datagrama.

En este caso la configuración por defecto de un router NAT es descartarel datagrama recibido

GSyC - 2015 El Nivel de Transporte 34

Page 35: 5. Transporte

NAT Tráfico entrante nuevo

Tráfico entrante nuevo: abrir puertos (1/4)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

router&NAT&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&10.0.0.12& 1050& 83.77.100.1& 1051& 212.128.4.4& 200& TCP&10.0.0.11& 4023& 83.77.100.1& 3001& * * TCP&

Entrada&automá2ca&Entrada&automá2ca&Entrada&manual&

Solución: En la configuración del router NAT se añade manualmente (y apriori) una entrada en su tabla que indique, en función del puerto dedestino (en este caso puerto=3001) a qué IP y puerto de la red internosse redirigirá el tráfico (en este caso IP=10.0.0.11, puerto=4023),independiente de su origen.

Esta solución se conoce informalmente como “abrir puertos” en el routerNAT.

GSyC - 2015 El Nivel de Transporte 35

Page 36: 5. Transporte

NAT Tráfico entrante nuevo

Tráfico entrante nuevo: abrir puertos (2/4)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 3001& DATOS&

router&NAT&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&10.0.0.12& 1050& 83.77.100.1& 1051& 212.128.4.4& 200& TCP&10.0.0.11& 4023& 83.77.100.1& 3001& * * TCP&

pc100 debe conocer a priori:el protocolo para comunicarse con pc1la dirección IP pública del router NAT y el puerto público delrouter NAT que estarán asociados con la dirección IP privadade pc1 y el puerto privado de pc1.

GSyC - 2015 El Nivel de Transporte 36

Page 37: 5. Transporte

NAT Tráfico entrante nuevo

Tráfico entrante nuevo: abrir puertos (3/4)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

2&

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 3001& DATOS&

router&NAT&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 3001& DATOS&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&10.0.0.12& 1050& 83.77.100.1& 1051& 212.128.4.4& 200& TCP&10.0.0.11& 4023& 83.77.100.1& 3001& * * TCP&

Ahora el router NAT ya tiene una entrada que le encaja con el tráficorecibido.

GSyC - 2015 El Nivel de Transporte 37

Page 38: 5. Transporte

NAT Tráfico entrante nuevo

Tráfico entrante nuevo: abrir puertos (4/4)

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

2&

1&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 3001& DATOS&

router&NAT&

IP&origen& IP&des2no& Prot& Puerto&origen&Puerto&des2no&

212.128.4.4&83.77.100.1&TCP& 200& 3001& DATOS&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&10.0.0.12& 1050& 83.77.100.1& 1051& 212.128.4.4& 200& TCP&10.0.0.11& 4023& 83.77.100.1& 3001& * * TCP&

IP&origen& IP$desGno$ Prot&Puerto&origen&Puerto$desGno$

212.128.4.4& 10.0.0.11$ TCP& 200& 4023$ DATOS&

3&

El router cambia en el datagrama los campos de destino que ha recibido(IP=83.77.100.1, puerto=3001) por los que aparecen en los camposde Red Privada de la entrada seleccionada en la tabla NAT(IP=10.0.0.11, puerto=4023).

GSyC - 2015 El Nivel de Transporte 38

Page 39: 5. Transporte

NAT Tráfico entrante nuevo

Tráfico entrante nuevo: abrir varios puertos

10.0.0.1$

10.0.0.11$ 10.0.0.12$ 10.0.0.13$ 212.128.4.4$

83.77.100.1$ Internet&

RED$PRIVADA$

router&NAT&

RED$PRIVADA$ ROUTER$NAT$ REMOTO$Protocolo&IP&privada& Puerto&privado& IP&pública& Puerto&

público& IP&remota& Puerto&remoto&

10.0.0.11& 1050& 83.77.100.1& 1050& 212.128.4.4& 200& TCP&10.0.0.12& 1050& 83.77.100.1& 1051& 212.128.4.4& 200& TCP&10.0.0.11& 4023& 83.77.100.1& 3001& * * TCP&10.0.0.12& 4023& 83.77.100.1& 4001& * * TCP&

Entrada&automá2ca&Entrada&automá2ca&Entrada&manual&Entrada&manual&

Si en la red privada hubiera otro servidor que utilizara el mismo puerto,sería necesario al abrir el nuevo puerto usar un puerto público diferentepara el segundo servidor.

Nótese que desde los clientes de Internet debe saberse a priori qué puertospúblicos se están usando para los servidores que haya en la red privada.

GSyC - 2015 El Nivel de Transporte 39

Page 40: 5. Transporte

Referencias

Contenidos

1 Introducción

2 Puertos

3 NATTráfico salienteTráfico entrante que responde al salienteTráfico saliente: mismo protocolo y puerto origen hacia elmismo servidorTráfico entrante nuevo

4 Referencias

GSyC - 2015 El Nivel de Transporte 40

Page 41: 5. Transporte

Referencias

Referencias

C. M. Kozierok, The TCP/IP guide: A ComprehensiveIllustrated Internet Protocols Reference: Cap. 28.Disponible on-line:http://www.tcpipguide.com/free/t_IPNetworkAddressTranslationNATProtocol.htm

J. F. Kurose, K. W. Ross, Computer Networking: ATop-Down Approach (4th ed): Cap. 3 (3.1), Cap. 4 (4.4).

GSyC - 2015 El Nivel de Transporte 41