¿Qué es un protocolo?
En informática, un protocolo es un conjunto de reglas usadas
por computadoras para comunicarse unas con otras a través de una red. Un
protocolo es una regla o estándar que controla o permite la comunicación en su
forma más simple, un protocolo puede ser definido como las reglas que dominan
la sintaxis, semántica y sincronización de la comunicación. Los protocolos
pueden ser implementados por hardware, software, o una combinación de ambos. A
su más bajo nivel, un protocolo define el comportamiento de una conexión de
hardware.
HTTP
Desde 1990, el protocolo HTTP
(Protocolo de transferencia de hipertexto) es el protocolo más utilizado en
Internet. La versión 0.9 sólo tenía la finalidad de transferir los datos a
través de Internet (en particular páginas Web escritas en HTML). La versión 1.0
del protocolo (la más utilizada) permite la transferencia de mensajes con
encabezados que describen el contenido de los mensajes mediante la codificación
MIME.
El propósito del protocolo HTTP es
permitir la transferencia de archivos (principalmente, en formato HTML). Entre
un navegador (el cliente) y un servidor web (denominado, entre otros, httpd en
equipos UNIX) localizado mediante una cadena de caracteres denominada dirección
URL.
Una solicitud HTTP es un conjunto de líneas que el navegador
envía al servidor. Incluye:
Una línea de solicitud: es una línea que especifica el tipo
de documento solicitado, el método que se aplicará y la versión del protocolo
utilizada. La línea está formada por tres elementos que deben estar separados
por un espacio:
- El método
- La dirección URL
- La versión del protocolo utilizada por el cliente (por lo
general, HTTP/1.0)
Los campos del encabezado de solicitud: es un conjunto de
líneas opcionales que permiten aportar información adicional sobre la solicitud
y/o el cliente (navegador, sistema operativo, etc.). Cada una de estas líneas
está formada por un nombre que describe el tipo de encabezado, seguido de dos
puntos (:) y el valor del encabezado.
El cuerpo de la solicitud: es un conjunto de líneas
opcionales que deben estar separadas de las líneas precedentes por una línea en
blanco y, por ejemplo, permiten que se envíen datos por un comando POST durante
la transmisión de datos al servidor utilizando un formulario.
HTTPS
El protocolo de Transferencia de Hiper-Texto (HTTPS) es la
versión segura del http (Hyper Text Transfer Protocol) que todos conocemos y
utilizamos habitualmente. La diferencia es que, con HTTP podemos desarrollar
actividades ecommerce, ya que permite realizar transacciones de forma segura.
En los navegadores comunes, como Firefox o Explorer, cuando
estamos empleando un protocolo https podemos ver el icono de un candado, que
aparece en la barra principal de nuestro navegador. Además, en la barra de
direcciones podremos ver que “http://” será sustituido por “https://”.
¿Y cómo funciona la conexión exactamente? ¿Por qué es más
segura? Básicamente, lo que ocurre es que la página Web codifica la sesión con
certificado digital. De este modo, el usuario tiene ciertas garantías de que la
información que envíe desde dicha página no podrá ser interceptada y utilizada
por terceros.
Estos certificados de seguridad son conocidos como SSL.
Cuando estos estás instalados en la página Web veremos el candado del que
hablábamos anteriormente. Por otro lado, si están instalados Certificados de
Validación Extendida, los usuarios, además del candado, podremos ver que la
barra de URL’s del navegador toma un fondo verdoso. (Siempre que estemos
utilizando las últimas versiones de Firefox, Explorer u Opera).
FTP
El protocolo FTP (Protocolo de transferencia de archivos)
es, como su nombre lo indica, un protocolo para transferir archivos.
La implementación del FTP se remonta a 1971 cuando se
desarrolló un sistema de transferencia de archivos (descrito en RFC141) entre
equipos del Instituto Tecnológico de Massachusetts (MIT, Massachusetts
Institute of Technology). Desde entonces, diversos documentos de RFC (petición
de comentarios) han mejorado el protocolo básico, pero las innovaciones más
importantes se llevaron a cabo en julio de 1973.
Actualmente, el protocolo FTP está definido por RFC 959
(Protocolo de transferencia de archivos (FTP) - Especificaciones).
El protocolo FTP define la manera en que los datos deben ser
transferidos a través de una red TCP/IP.
El objetivo del protocolo FTP es:
- Permitir que equipos remotos puedan compartir archivos
- Permitir la independencia entre los sistemas de archivo del
equipo del cliente y del equipo del servidor
- Permitir una transferencia de datos eficaz
El protocolo FTP está incluido dentro del modelo
cliente-servidor, es decir, un equipo envía órdenes (el cliente) y el otro
espera solicitudes para llevar a cabo acciones (el servidor).
Durante una conexión FTP, se encuentran abiertos dos canales
de transmisión:
- Un canal de comandos (canal de control)
- Un canal de datos
Por lo tanto, el cliente y el servidor cuentan con dos
procesos que permiten la administración de estos dos tipos de información:
- DTP (Proceso de transferencia de datos) es el proceso
encargado de establecer la conexión y de administrar el canal de datos. El DTP
del lado del servidor se denomina SERVIDOR DE DTP y el DTP del lado del cliente
se denomina USUARIO DE DTP.
- PI (Intérprete de protocolo) interpreta el protocolo y
permite que el DTP pueda ser controlado mediante los comandos recibidos a
través del canal de control. Esto es diferente en el cliente y el servidor:
- El SERVIDOR PI es responsable de escuchar los comandos que
provienen de un USUARIO PI a través del canal de control en un puerto de datos,
de establecer la conexión para el canal de control, de recibir los comandos FTP
del USUARIO PI a través de éste, de responderles y de ejecutar el SERVIDOR DE
DTP.
- El USUARIO PI es responsable de establecer la conexión con
el servidor FTP, de enviar los comandos FTP, de recibir respuestas del SERVIDOR
PI y de controlar al USUARIO DE DTP, si fuera necesario.
Cuando un cliente FTP se conecta con un servidor FTP, el
USUARIO PI inicia la conexión con el servidor de acuerdo con el protocolo
Telnet. El cliente envía comandos FTP al servidor, el servidor los interpreta,
ejecuta su DTP y después envía una respuesta estándar. Una vez que se establece
la conexión, el servidor PI proporciona el puerto por el cual se enviarán los
datos al Cliente DTP. El cliente DTP escucha el puerto especificado para los
datos provenientes del servidor.
Es importante tener en cuenta que, debido a que los puertos
de control y de datos son canales separados, es posible enviar comandos desde
un equipo y recibir datos en otro. Entonces, por ejemplo, es posible transferir
datos entre dos servidores FTP mediante el paso indirecto por un cliente para
enviar instrucciones de control y la transferencia de información entre dos
procesos del servidor conectados en el puerto correcto.
DNS
Este protocolo se utiliza para poder recordar de manera
sencilla las direcciones IP. De esta manera surge el concepto de nombres de
dominio. Gracias a esto podemos asignar a una dirección IP un nombre, además de
que es más fiable porque la dirección IP de un servidor puede cambiar pero el
nombre no lo hace. Podemos decir entonces que el DNS es un sistema jerárquico y
distribuido que permite traducir nombres de dominio en direcciones IP y
viceversa. Otro uso común de este es para los servidores de correo a través del
nombre de dominio de correo como por ejemplo “www.Hotmail.com“. Dado un dominio
puede leerse de derecha a izquierda por ejemplo “www.google.es” seria “.es” el
dominio más alto.
Cada dominio es como si terminase con un “.” Por eso nuestro
dominio seria “www.google.es“y el punto al final es el elemento raíz de nuestro
árbol y lo que indica al cliente que debe de empezar la búsqueda en los root
Server. Estos root Server son los que tienen los registros TLD que son los
dominios de nivel superior ósea los que no pertenecen a otro dominio, como son
“com, org, net, es, etc.” Actualmente hay 13 TLD en todo el mundo y 10 de ellos
se encuentran en estados unidos, uno en Estocolmo, otro en Japón, y el último
en Londres. Si alguna catástrofe hiciese que estos 13 servidores dejasen de
operar provocaría un gran apagón de Internet y causaría estragos a nivel
mundial.
Estos servidores dice que dominios de primer nivel existen y
cuáles son sus servidores de nombres recursivamente los servidores de esos
dominios dicen que subdominios existen y cuales don sus servidores. Cada
componente de dominio incluyendo la raíz, tiene un servidor primario y varios
secundarios. Todos tienen la misma autoridad para responder por ese dominio,
pero el primario es el único sobre el que se pueden hacer modificaciones de
manera que los secundarios son reaplicas del primario. Casi todos los
servidores de nombres utilizan un software llamado Bind que es un software de
libre distribución utilizado por la mayoría de sistemas Unix. Una herramienta
útil que encontramos para probar si un dominio se resuelve correctamente es el
comando “nslookup“. Se trata de un cliente DNS que nos sirve para obtener
direcciones IP a través del dominio y viceversa.