Hola amigos, el día de hoy les mostrare un ejemplo mas detallado sobre como se inicia y termina una conexión entre dos hosts en una red, para esto voy a utilizar la siguiente topología:
Esta topología esta conformada (de izquierda a derecha) por:
Una red clase C la cual es la 192.168.0.0/24; recordemos que el /24 es la mascara de red 255.255.255.0, esta mascara nos dice que en esta red se pueden tener un máximo de 254 equipos concurrentes (al mismo tiempo).
Una red pública clase B la cual es 189.189.189.0/30; la mascara de esta red esta subneteada la cual es 255.255.255.252, esto quiere decir que se le aplico un proceso de optimización para que solo en esa red, se puedan utilizar 2 hosts concurrentes, en un futuro post se explicara como realizar subneteo a las IP.
Una red pública clase C la cual es 200.200.200.0/30; utiliza la misma mascara que la red anterior ya que solo ocupamos 2 IP para esta red; esta red también se encuentra subneteada.
Por ultimo tenemos una red Clase A la cual es 10.10.2.0/24; si recordamos estas IP de clase A su mascara default es 255.0.0.0, a esta red se le aplico un subneteo y se cambio la mascara a una /24 (255.255.255.0), con esto tenemos la misma cantidad de hosts que en la red de clase C 192.168.0.0/24 que se esta utilizando en la otra red.
Como equipos que se encuentran en la red tenemos los siguientes:
Una PC de escritorio con los siguientes parámetros:
IP: 192.168.0.1
Mascara:255.255.255.0
GW:192.168.0.254
DNS: 192.168.0.200
Una Laptop con los siguientes parámetros:
IP: 192.168.0.3
Mascara:255.255.255.0
GW:192.168.0.254
DNS: 192.168.0.200
Un Servidor que tiene la función de DNS:
IP: 192.168.0.200
Mascara:255.255.255.0
GW:192.168.0.254
DNS: 192.168.0.200
este servidor cuenta con un registro tipo A hacia la IP pública donde se encuentra la página web:
Objeto Tipo Valor
www.mipagina.com A 200.200.200.2
Un router que sirve de gateway para la red 192.168.0.0/24, con los siguientes parámetros:
Interfaz LAN:
IP: 192.168.0.254
Mascara:255.255.255.0
Interfaz WAN:
IP: 189.189.189.1
Mascara:255.255.255.0
A este equipo no se le asigna un gateway ni DNS, lo que se configura es una ruta por defecto para que conozca todas las redes que no tenga directamente conectadas a través de la IP 189.189.189.2 que es el otro router llamado Router_Internet y este toma el rol de default gateway.
Ruta estática:
0.0.0.0 0.0.0.0 -> 189.189.189.2
Esta ruta significa todo lo que no sean las redes que se encuentren en mi tabla de ruteo las conozco a través de la IP 189.189.189.2; mas adelante en protocolos de ruteo se explicará esta parte, por lo pronto esta explicación básica debe de bastar.
Adicional se hizo la configuración de NAT Overload para la red 192.168.0.0/24, para que todo el tráfico que viene de esa red salga con la IP 189.189.189.1.
Un router que tiene el rol de simular Internet en este caso así se le llamo al equipo Router_Internet este equipo se configuro con los siguientes parámetros:
Interfaz WAN 1:
IP: 189.189.189.2
Mascara:255.255.255.0
Interfaz WAN 2:
IP: 200.200.200.1
Mascara:255.255.255.0
A este equipo no se le configura nada ya que conoce ambas redes públicas ya que se encuentran directamente conectadas.
Un router que sirve de gateway para la red 10.10.2.0/24, con los siguientes parámetros:
Interfaz LAN:
IP: 10.10.2.1
Mascara:255.255.255.0
Interfaz WAN:
IP: 200.200.200.2
Mascara:255.255.255.0
De igual manera que el router de la red 192.168.0.0/24, este router no tiene configurado un gateway ni DNS, sino una ruta por defecto:
0.0.0.0 0.0.0.0 -> 200.200.200.1
Esta ruta significa todo lo que no sean las redes que se encuentren en mi tabla de ruteo las conozco a traves de la IP 200.200.200.1, la cual es la IP de la interfaz WAN 2 del Router_Internet.
Adicional se agrego un Static NAT para que el servidor WEB salga con la IP 200.200.200.1.
Por ultimo tenemos un servidor WEB el cual se encarga de mostrar la página web que este configurada, el servidor cuenta con los siguientes parámetros:
IP: 10.10.2.100
Mascara:255.255.255.0
GW: 10.10.2.1
Este equipo no necesita DNS ya que solo responderá a una petición IP y no a un host con nombre de dominio.
*Con estos equipos terminamos la topología de este ejemplo. Adjuntare al final del Post las configuraciones de los routers para que vayan relacionándose e identificando algunos comandos o configuraciones básicas, en un tema futuro veremos el IOS y también las configuraciones de cada equipo.
Ejemplo:
*La máquina 192.168.0.1 desea ver la página web que se encuentra en el servidor 10.10.2.100, para esto, toda la comunicación será a través de de IP pública, esto quiere decir que si hacemos un ping de la maquina 192.168.0.1 a la 10.10.2.100 no va a funcionar, ya que necesitamos que los routers se vean con IP pública como funciona en la "vida real" y no en un laboratorio.
Paso 1.- Tecleamos en el navegador "www.mipagina.com" (Dominio previamente creado en el servidor DNS para este ejemplo) y la máquina como primer paso hará una consulta de DNS hacia su servidor en este caso el 192.168.0.200, para esto la máquina "sabe" que se encuentra el servidor en su misma red y manda un broadcast para determinar la Mac address del DNS.
*El mensaje de broadcast cuando lo reenvía el switch se envía a todos los puertos menos al puerto por el que entro el mensaje.
Paso 2.- Cuando lanza el mensaje de broadcast este llega al switch y lo reenvía o inunda (flooding) todos sus puertos con un mensaje de broadcast para preguntar quien es la IP 192.168.0.200.
Paso 3.- Ya con todos los puertos con un mensaje de broadcast el servidor sabe que lo buscan a el y envía un mensaje de vuelta con su Mac address, con esto primeramente el switch guarda esta información de relación puerto/mac address de ese servidor junto con la información ya obtenida de la máquina origen.
*En una MAC Address podemos saber a que fabricante pertenece un equipo, debido a que los primeros 6 dígitos corresponden a lo que se conoce como OUI (organizationally unique identifier) y los siguientes 6 dígitos son únicos para cada dispositivo)
Como ejemplo pondré la Mac address de un equipo:
54-E1-AD-22-D8-DA
Donde: 54-E1-AD Es el OUI y pertenece a LCFC(HeFei) Electronics Technology co., ltd;
Mientras que 22-D8-DA es único para el dispositivo.
Les dejo esta página donde pueden consultar que marca es según la MAC Address:
Paso 4.- La PC también crea una tabla donde pone MAC Address e IP, esto es la tabla de ARP, esta tabla solo se guarda por 5min antes de volver a hacer el proceso de broadcast.
Paso 5.- La PC hace la petición de DNS www.mipagina.com al servidor 192.168.0.200; el servidor revisa en su zonas internas para determinar que IP esta asociada a ese nombre y el servidor responde la petición de la PC con la IP 200.200.200.2 (IP pública del otro router).
Registros del DNS
El DNS contesta con la IP 200.200.200.2:
Paso 6.- La PC al conocer ya la IP a la cual debe de hacer la petición de HTTP, inicia el tráfico por el puerto 80 hacia la IP 200.200.200.2, similar al proceso de los pasos 1 al 4.
*Hay que recordar que como puerto de origen siempre será aleatorio, mientras que el de destino si debe ser un puerto en especifico en este caso es el puerto 80, asignado al HTTP, les dejo una lista con los puertos comúnmente conocidos que son del 0 al 1024, pondré los mas usados y una liga donde pueden ver todos los puertos; algo que pueden ver en algunos dispositivos o páginas que tienen asignados puertos para una página web el 8080 o 8181 esto se hace redirigiendo el tráfico de puertos custom en este caso 8080 a puertos conocidos como el 80.
Liga para consultar puertos:
Paso 7.- La PC al comparar la red de destino y la red local, determina que tiene que mandar el tráfico por su default gateway en este caso el router y hace los pasos 1 al 4 nuevamente.
Paso 8.- Ya con la IP y Mac Address del default gateway la PC envia el primer paquete, al llegar al router, el router revisa su tabla de ruteo para saber por donde conoce la IP 200.200.200.2, en este caso usa su ruta por defecto, la cual es 0.0.0.0/0 (esto lo veremos en temas posteriores, por lo pronto solo conocer el concepto) y envía el tráfico de la PC al router que tiene como next-hop; En este proceso el router hace un nat de la IP privada a la IP pública que tiene asociada a su interfaz.
Tabla de ruteo:
Como vemos la red 189.189.0.0 y la red 192.168.0.0 las conoce ya que están directamente conectadas, todo lo no conocido lo envía a la red 0.0.0.0/0 a la IP 189.189.189.2 que es la IP del router que esta simulando la nube.
NAT de la IP privada a IP Pública:
En este ejemplo vemos que la IP 192.168.0.1 se enmascara con la IP pública 189.189.189.1 usando como puerto de origen el 1025 y como destino tiene la IP 200.200.200.2 como puerto el 80.
Paso 9.- El tráfico viaja a través de Internet (En este ejemplo el router central es la simulación) y es entregado el tráfico al router que tiene asignada la IP 200.200.200.2.
Paso 10.- Al llegar el tráfico al otro router, el revisa su tabla de nat para ver si esa IP esta asociada a un servidor interno o si el nat es dinámico y el puerto pertenece a un servidor según el puerto de entrada. (En este ejemplo es un nat estático y todo el tráfico entrante se redirige al mismo servidor).
Como vemos la IP 200.200.200.2 tiene asignada la IP privada 10.10.2.100, en la siguiente fila vemos el tráfico que entra por la IP 200.200.200.2 hacia el puerto 80 y que viene desde la IP pública 189.189.189.1 desde el puerto 1025 y como es una página web el protocolo es el TCP.
Paso 11.- El router envía el tráfico entrante al servidor con la IP privada 10.10.2.100.
Paso 12.- El servidor regresa el tráfico, para esto se realizan todo los pasos que vimos anteriormente.
Con este pequeño ejemplo podemos ver como lo anteriormente explicado en los temas, se junta y complementa, si tienen algún comentario o duda favor de compartirlo.