Cuando dos computadoras (o dispositivos) están conectadas en la red se identifican entre sí por su número «IP». Un solo host puede tener muchas IP distintas, veamos un ejemplo:

Como podrán ver, cada computadora (o dispositivo) puede tener un nombre y una o varias IP.

Imaginen que internet es como las calles de una ciudad, un edificio puede tener una dirección o varias (si es un edificio grande y ocupa una o más cuadras), pero básicamente solo puede existir una dirección única para ese edificio en esa ciudad.

Pueden haber direcciones exactamente iguales en dos ciudades diferentes, pero jamás en la misma ciudad, sino, sería un problema.

Si alguna vez estuvieron en una red de hogar o de trabajo, cuando existe una IP duplicada en Windows suele aparecer un mensaje de advertencia similar a: «Se ha detectado otro equipo con la misma dirección IP», por eso cada IP debe ser única en su segmento.

Por ejemplo la dirección «San Martín 400» existe en dos ciudades, en Buenos Aires y en Santa Fe, en una ciudad puede ser un edificio y en la otra una casa de familia.

Ahora volvamos al concepto de la red, un dispositivo o computadora puede tener una o varias IP en un segmento de red determinado. Y una IP es un número, hay IP públicas, privadas, fijas o dinámicas, generalmente las de los servidores web son IP públicas fijas. Veamos el siguiente gráfico

Observen como Google tiene no solo dos sino muchas IP públicas, las cuales son controladas por el <a href="https://www.icann.org/es">ICANN</a>. Nuestro proveedor tiene un segmento o "rango" de IP's nacionales.

Observen como Google tiene no solo dos sino muchas IP públicas, las cuales son controladas por el ICANN. Nuestro proveedor tiene un segmento o «rango» de IP’s nacionales.

Nuestra computadora generalmente tiene una IP privada o de red interna que no se conecta directamente a internet, lo que en realidad hacemos es conectarnos a nuestro proveedor «Fibertel, Telmex, Telecentro, etc…» el cual nos presta una IP de otro rango (generalmente una IP dinámica que cambia cada cierto período de tiempo) y es esa la que sí está expuesta en internet.

Finalmente TCP o «Transfer Control Protocol» es la capa encargada de controlar que no se pierda ningún paquete por ahí en la red o vaya a un lugar que no le corresponde.

Entraremos en más detalles más adelante cuando realicemos diagnósticos de las implementaciones web.

Cómo saber mi IP o la IP de un servidor web

Tanto en Windows como Linux la herramienta de preferencia es «ping», esta herramienta envía unos paquetes de datos a través de un protocolo llamado ICMP, para entender mejor, supongan que ping envía una frase de cuatro palabras:

«buen día amigo google»

Cada una de esas palabras se puede interpretar como un «paquete» ping las envía una a una y espera exactamente cada una de ellas de regreso, además mide el tiempo que tardaron en regresarle cada una de las palabras.

Pueden hacer «ping google.com» para ver la IP de Google o «ping localhost» para conocer su propia IP.

{Alberta}mortiz~: ping google.com
PING google.com (173.194.42.98) 56(84) bytes of data.
64 bytes from eze03s16-in-f2.1e100.net (173.194.42.98): icmp_seq=1 ttl=55 time=28.0 ms
64 bytes from eze03s16-in-f2.1e100.net (173.194.42.98): icmp_seq=2 ttl=55 time=10.3 ms
64 bytes from eze03s16-in-f2.1e100.net (173.194.42.98): icmp_seq=3 ttl=55 time=8.53 ms
64 bytes from eze03s16-in-f2.1e100.net (173.194.42.98): icmp_seq=4 ttl=55 time=10.6 ms
64 bytes from eze03s16-in-f2.1e100.net (173.194.42.98): icmp_seq=6 ttl=55 time=8.46 ms
^C
--- google.com ping statistics ---
6 packets transmitted, 5 received, 16% packet loss, time 5006ms
rtt min/avg/max/mdev = 8.469/13.200/28.050/7.478 ms

Como podrán ver, cada uno de los paquetes que enviamos regresó y tardaron más o menos 10 milisegundos, el que más tardo fueron 28.0 milisegundos. Para una conexión Wifi esto está bien.

Si en vez de milisegundos recibimos «timeout» significa que el paquete se envío pero no regresó y eso puede pasar por dos motivos, el primero de ellos que el servidor al que le hacemos «ping» no está disponible (está caído) o que simplemente el servidor tiene filtrado el tráfico ICMP y no responde a ninguna petición por ping (y el servidor está funcionando).

Domain Name System o DNS

El Domain Name System o «Sistema de Nombres de Dominio» es uno de los conceptos fundamentales de conectivdad. Cuando compramos un dominio, delegamos o simplemente navegamos la web el DNS está presente. Vamos a explicar de qué se trata y cómo funciona.

Habiendo leído lo anterior y conociendo el concepto de IP, pues DNS es simplemente el sistema que se encarga de relacionar IP’s con Nombres y visceversa.

Como a los seres humanos nos resulta más sencillo aprender palabras que números, pues en vez de escribir

173.194.42.98

en nuestro navegador para ir a google, lo que hacemos es escribir google.com y el DNS ya sabe exactamente que IP’s responden al nombre de google.com.

El DNS generalmente tiene un archivo con reglas, las cuales le indican hacia donde debe redirigir nuestra petición o «tráfico».

dns

Sin un DNS no sería posible escribir «google.com» y llegar hasta google.

La resolución de nombres de dominio no termina aquí, hay muchas otras capas, una de las más importantes en el momento de tener un ambiente de desarrollo local es controlar la resolución de nuestro PC.

 

//En windows

C:WINDWOSSystem32drivershosts

//En Linux

/etc/hosts

Al modificar esos archivos con un editor de texto cualquiera podrán agregar una resolución local para determinado dominio.

Si agregan por ejemplo la línea:

127.0.0.1   google.com

Ya no podrán navegar a google.com, sino que será su propia PC la que estará tratando de responder a esa petición y no llegará al DNS.

Aprenderemos más de esto en capítulos posteriores.