Qué es un protocolo
La comunicación en Internet no consiste simplemente en enviar datos. Funciona porque el lado que envía y el lado que recibe intercambian datos siguiendo las mismas reglas.
Estas reglas de comunicación se llaman protocolos.
Cuando ves un sitio web, envías un correo electrónico o una aplicación se comunica con un servidor, por detrás se usan diversos protocolos. HTTP, DNS, TCP, UDP y TLS son protocolos con funciones diferentes.
Para una persona principiante, pueden parecer términos técnicos separados. Pero en la práctica todos son "reglas para hacer posible la comunicación".
Este artículo no profundiza en los detalles de cada protocolo. En su lugar, organiza qué papel tiene cada uno dentro de la comunicación.
Los protocolos son reglas de comunicación
Un protocolo es un conjunto de reglas para comunicarse.
En una comunicación, es necesario decidir de antemano cosas como estas.
- En qué formato enviar los datos
- En qué orden intercambiar información
- Cómo especificar a la otra parte
- Cómo confirmar que los datos llegaron
- Si se cifra el contenido de la comunicación
- Cómo tratar los errores cuando ocurren
Si el lado que envía y el lado que recibe funcionaran con reglas distintas, la comunicación no se establecería. Aunque se enviaran datos, el lado receptor no podría entender su significado.
Es decir, los protocolos son reglas comunes para que las computadoras puedan comunicarse correctamente entre sí.
Por qué la comunicación necesita acuerdos
En Internet se comunican muchos dispositivos diferentes de todo el mundo.
Participan muchos dispositivos y piezas de software, como PC, smartphones, servidores, routers, servidores DNS, aplicaciones y navegadores. Si cada uno se comunicara a su propia manera, no sería posible enviar ni recibir datos correctamente.
Por eso, se definen reglas comunes para cada tipo de comunicación. Al seguir esas reglas, dispositivos de distintos fabricantes y distintos sistemas operativos pueden acceder al mismo sitio web.
Gracias a que existen los protocolos, los diversos dispositivos de Internet pueden comunicarse dentro de los mismos mecanismos.
Protocolos representativos usados en la Web
Cuando accedes a un sitio web, intervienen varios protocolos y mecanismos.
Entre los ejemplos representativos están los siguientes.
| Protocolo o mecanismo | Función principal |
|---|---|
| DNS | Consulta la dirección IP correspondiente a un nombre de dominio |
| HTTP | Intercambia datos de páginas web |
| HTTPS | Protege la comunicación HTTP con TLS |
| TCP | Entrega datos con precisión |
| UDP | Envía datos dando prioridad a la velocidad y al comportamiento en tiempo real |
| TLS | Cifra el contenido de la comunicación |
No todos tienen la misma función. Cada uno se encarga de un ámbito distinto dentro de la comunicación.
El papel de DNS
DNS es un mecanismo para consultar la dirección IP correspondiente a un nombre de dominio.
Cuando accedes a un sitio web, normalmente no introduces directamente una dirección IP. Por ejemplo, usas un nombre de dominio como example.com.
Sin embargo, para que una computadora envíe realmente datos al destino de la comunicación, necesita una dirección IP. Por eso se usa DNS para consultar la dirección IP correspondiente al nombre de dominio.
Es decir, DNS es un mecanismo para consultar la dirección IP de la parte con la que quieres comunicarte.
Las consultas DNS tradicionales pueden enviarse sin cifrado. En ese caso, qué nombre de dominio se consultó puede ser visible en la red.
El papel de HTTP y HTTPS
HTTP es un protocolo para intercambiar datos de páginas web.
Se usa cuando un navegador solicita a un servidor web "muéstrame esta página" y el servidor devuelve datos como HTML, imágenes, CSS y JavaScript.
HTTPS es un mecanismo que protege la comunicación HTTP con TLS. Al cifrar mediante TLS el contenido intercambiado por HTTP, hace que el contenido sea más difícil de leer desde la ruta de comunicación.
Con solo HTTP, el contenido de la comunicación no está cifrado. En cambio, con HTTPS el contenido de la comunicación se cifra, por lo que resulta más difícil que una red intermedia lea el contenido tal cual.
Sin embargo, aunque se use HTTPS, no se oculta toda la información relacionada con la comunicación. La dirección IP de destino, el volumen de tráfico, el momento de conexión y otros datos similares pueden ser visibles de otras formas.
El papel de TCP y UDP
TCP y UDP son protocolos relacionados con la forma en que se entregan los datos.
TCP da prioridad a entregar los datos con precisión. Tiene mecanismos para reenviar datos si se pierden por el camino y para ordenarlos correctamente.
Se usa a menudo en comunicaciones donde la precisión es importante, como la navegación web, el correo electrónico y la transferencia de archivos. Hoy también existen mecanismos de comunicación web, como HTTP/3, que usan UDP.
En cambio, UDP da prioridad a la velocidad y la ligereza. Como no realiza confirmaciones de llegada detalladas como TCP, tiene características que facilitan reducir la latencia de la comunicación.
UDP puede usarse en comunicaciones donde importa la baja latencia, como llamadas de voz, videollamadas, juegos en línea y DNS.
TCP y UDP no están uno por encima del otro. TCP se usa en comunicaciones que priorizan la precisión, y UDP se usa en comunicaciones que priorizan la velocidad y el comportamiento en tiempo real.
El papel de TLS
TLS es un protocolo para cifrar el contenido de la comunicación.
Cuando accedes a un sitio web mediante HTTPS, quien se encarga realmente de proteger el contenido de la comunicación es TLS. TLS cifra el contenido intercambiado entre el navegador y el servidor.
Por ejemplo, la información de inicio de sesión, el contenido de búsqueda y lo introducido en formularios se vuelven más difíciles de leer en la ruta de comunicación gracias a HTTPS.
TLS está relacionado no solo con el cifrado, sino también con la verificación de la otra parte de la comunicación y la detección de alteraciones. Sin embargo, para este artículo basta con entenderlo primero como "un mecanismo para proteger el contenido de la comunicación".
Además, TLS es un mecanismo para proteger el contenido de la comunicación; no oculta por completo la existencia de la comunicación en sí. Información como con qué servidor te estás comunicando, cuándo te comunicaste y cuánta cantidad de datos se comunicó puede ser visible de otras formas.
Una sola comunicación usa varios protocolos
La comunicación para acceder a un sitio web no usa un único protocolo.
Por ejemplo, cuando abres un sitio web en un navegador, el flujo aproximado es el siguiente.
- Usar DNS para consultar la dirección IP correspondiente al nombre de dominio
- Usar TCP, UDP u otros mecanismos similares para manejar características relacionadas con la forma de entregar los datos
- Usar TLS para proteger el contenido de la comunicación
- Usar HTTP para intercambiar datos de la página web
La comunicación real tiene procesos más detallados. Sin embargo, el punto importante es que varios protocolos se reparten las funciones.
DNS tiene la función de consultar la dirección IP de destino. TCP y UDP tienen la función de decidir cómo se entregan los datos. TLS tiene la función de proteger el contenido de la comunicación. HTTP tiene la función de intercambiar información de páginas web.
De esta forma, incluso un solo acceso web combina varios protocolos.
Cada protocolo protege un ámbito distinto
Al entender los protocolos, es importante pensar por separado cuál es el ámbito del que se encarga cada uno.
Por ejemplo, usar HTTPS no significa que se oculte toda la información relacionada con la comunicación. HTTPS protege principalmente el contenido intercambiado entre el navegador y el servidor web.
Sin embargo, la dirección IP de destino, las consultas DNS, el volumen de tráfico, el momento de conexión y otra información similar pueden ser visibles desde otros puntos de vista.
Además, las consultas DNS tradicionales pueden enviarse sin cifrado. En ese caso, qué nombre de dominio se consultó puede ser visible en la red.
De esta manera, es importante entender qué protege un protocolo y qué no protege.
Una perspectiva importante al pensar en el anonimato
Al pensar en el anonimato, entender los protocolos es muy importante.
Esto se debe a que la información visible y el ámbito protegido cambian según qué protocolo se esté usando.
Por ejemplo, si se usa HTTPS, el contenido de la página web se cifra. Sin embargo, la dirección IP de destino y el momento de la comunicación no quedan completamente ocultos.
Si entiendes cómo funciona DNS, puedes ver que antes de acceder a un sitio web se produce una consulta de nombre de dominio. Si entiendes la diferencia entre TCP y UDP, resulta más fácil ordenar las características de la comunicación y los contextos en que se usan. Si entiendes el papel de TLS, puedes separar el ámbito que se cifra de la información que puede no estar cifrada.
Para aumentar el anonimato, no basta con mirar solo "si está cifrado". Hay que pensar por separado, protocolo por protocolo, qué partes de la comunicación son visibles y qué partes están protegidas.
Resumen
Un protocolo es un acuerdo para hacer posible la comunicación.
Cuando el lado que envía y el lado que recibe siguen las mismas reglas, las computadoras pueden intercambiar datos correctamente entre sí.
En la comunicación web intervienen varios protocolos y mecanismos, como DNS, HTTP, HTTPS, TCP, UDP y TLS. Cada uno tiene una función distinta dentro de la comunicación.
DNS consulta la dirección IP correspondiente a un nombre de dominio. HTTP intercambia datos de páginas web. HTTPS protege la comunicación HTTP con TLS. TCP entrega datos priorizando la precisión. UDP envía datos priorizando la velocidad y el comportamiento en tiempo real. TLS protege el contenido de la comunicación.
Incluso una sola comunicación combina varios protocolos.
Al pensar en el anonimato, es importante entender qué protege cada protocolo y qué deja visible. Cuando entiendes las diferencias entre protocolos, resulta más fácil ordenar qué partes de la comunicación están protegidas y dónde puede quedar información.
Herramientas relacionadas
DNSLeakTest
Recurso externo relacionado con este artículo. Ábrelo solo si encaja con tu situación y tu modelo de amenaza.
Por qué aparece aquí: Puede ayudar con el tema del artículo, pero está fuera de Anonymity Sense y conviene revisarlo antes de usarlo.