Vamos a desvelar el misterio de cómo has podido acceder aquí sin saber de forma consciente mi dirección IP.
Cuando viste tu dirección IP, habrás visto que es un número algo largo y difícil de recordar. Imagina que cada vez que quisieras acceder a una página web, tuvieras que recordar su IP. Sería un caos, ¿verdad? A los humanos nos resulta mucho más fácil recordar palabras que números, por esa razón se crearon los servidores DNS. Estos servidores se encargan de traducir los nombres de dominio a direcciones IP. Pero, espera ¿qué es un nombre de dominio?
Los dominios son nombres que se utilizan para identificar una dirección IP. Por ejemplo, el dominio de esta página es magicweb.dev. Este nombre si es algo que conoces, ¿verdad?
Puedes imaginar un servidor DNS como una tabla que almacena los nombres de dominio y sus direcciones IP. Cuando tu navegador necesita acceder a una página web, pregunta a un servidor DNS por la dirección IP del dominio. Una vez que tiene la dirección IP, puede acceder a la página web.
Dominio | IP |
---|---|
google.com | 142.250.184.174 |
youtube.com | 172.217.17.14 |
instagram.com | 31.13.83.174 |
Este proceso que acabas de hacer tú, lo hace tu navegador de forma automática.
Vale, ya sabemos cómo has podido acceder a esta página sin saber mi dirección IP. El navegador ha preguntado a un servidor DNS por la dirección IP de este dominio y ha accedido a la página, pero, si recuerdas, dijimos que la IP sería como la dirección de el edificio, aún necesitamos el puerto, es decir, la vivienda en concreto a la que queremos que llegue el mensaje.
Existen unas convenciones que determinan el número de puerto por defecto de cada servicio. Esto no es algo obligatorio, por lo que el administrador del servidor puede cambiar el puerto de un servicio a otro distinto siempre que esté libre.
Este es un gran ejemplo, tú no has tenido que introducir el puerto para entrar aquí, eso es gracias a que el navegador ha seguido la convención de que los servidores web usan el puerto 443 cuando la conexión es por HTTPS y el puerto 80 cuando es por HTTP. (las diferencias entre HTTP y HTTPS las veremos más adelante) Si mi servidor web estuviera escuchando en otro puerto, no podrías haber accedido a esta página sin conocerlo.
Aquí puedes ver el puerto por defecto de los principales servicios de internet:
Servicio | Puerto |
---|---|
Servidor web (HTTP) | 80 |
Servidor web seguro (HTTPS) | 443 |
FTP (Control) | 21 |
FTP (Datos) | 20 |
SSH | 22 |
Telnet | 23 |
SMTP | 25 |
DNS | 53 |
DHCP (Servidor) | 67 |
DHCP (Cliente) | 68 |
TFTP | 69 |
HTTP Proxy | 8080 |
POP3 | 110 |
IMAP | 143 |
SNMP | 161 |
LDAP | 389 |
Samba (SMB/CIFS) | 445 |
MySQL | 3306 |
PostgreSQL | 5432 |
Ya conoces todos los procesos que hace el navegador por tí, para que tú únicamente tengas que introducir el nombre de dominio de la página a la que quieres acceder y ya estés dentro. Cuando establecemos una conexión con un servidor web, lo hacemos a través de HTTP o HTTPS, en el siguiente capítulo te enseñaré la diferencia entre ambas.