5. transporte
DESCRIPTION
transporteTRANSCRIPT
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
©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
Contenidos
1 Introducción
2 Puertos
3 NAT
4 Referencias
GSyC - 2015 El Nivel de Transporte 3
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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