Un protocolo es un conjunto de reglas de
comunicaciones entre dispositivos: computadoras, teléfonos, enrutadores,
switches, etc. Los protocolos gobiernan el formato, sincronización, secuencia y control
de errores. Sin estas reglas, los dispositivos no podrían detectar
la llegada de bits.
Los
protocolos van más allá que sólo una comunicación básica. Si se desea enviar un
archivo de una computadora a otra, cierta información debe ser agregada al
paquete para decirle al receptor donde pertenece cada grupo en relación con los
otros, pero éste es un asunto menor. Para mejorar la confiabilidad de la
información, información de sincronización y corrección deberá ser agregada al
paquete. Al mensaje, junto con la información adicional se le conoce como protocolo.
PROTOCOLOS DE
APLICACIÒN TCP/IP
TCP/IP
es el protocolo común utilizado por todos los ordenadores conectados a
Internet, de manera que éstos puedan comunicarse entre sí. Hay que tener en
cuenta que en Internet se encuentran conectados ordenadores de clases muy
diferentes y con hardware y software incompatibles en muchos casos, además de
todos los medios y formas posibles de conexión. Aquí se encuentra una de las
grandes ventajas del TCP/IP, pues este protocolo se encargará de que la
comunicación entre todos sea posible. TCP/IP es compatible con cualquier
sistema operativo y con cualquier tipo de hardware.
TCP/IP
no es un único protocolo, sino que es en realidad lo que se conoce con este
nombre es un conjunto de protocolos que cubren los distintos niveles del modelo
OSI. Los dos protocolos más importantes son el TCP (Transmission Control
Protocol) y el IP (Internet Protocol), que son los que dan nombre al conjunto.
La arquitectura del TCP/IP consta de
cinco niveles o capas en las que se agrupan los protocolos y que se relacionan
con los niveles OSI de la siguiente forma:
Aplicación:
Se corresponde con los niveles OSI de aplicación, presentación y sesión. Aquí
se incluyen protocolos destinados a proporcionar servicios, tales como correo
electrónico (SMTP), transferencia de ficheros (FTP), conexión remota (TELNET) y
otros más recientes como el protocolo HTTP (Hypertext Transfer Protocol)
El
TCP/IP necesita funcionar sobre algún tipo de red o de medio físico que
proporcione sus propios protocolos para el nivel de enlace del Internet. Por
esto, hay que tomar en cuenta que los protocolos utilizados en este nivel
pueden ser muy diversos y no forman parte del conjunto TCP/IP. Sin embargo,
esto no debe ser problemático puesto que una de las funciones y ventajas
principales del TCP/IP es proporcionar una abstracción del medio de forma que
sea posible el intercambio de información entre medios diferentes y tecnologías
que inicialmente son incompatibles.
Para
transmitir información, ésta se debe dividir en unidades de menor tamaño, ya
que proporciona grandes ventajas en el manejo de los datos que se transfieren.
En TCP/IP, cada una de estas unidades de información recibe el nombre de
“datagrama” y son conjuntos de datos que se envían como mensajes
independientes.
Todos
los protocolos de alto nivel tienen algunas características en común:
Pueden ser aplicaciones escritas por el
usuario o aplicaciones estandarizadas y distribuidas con un producto TCP/IP. De
hecho, la pila TCP/IP incluye protocolos de aplicación tales como:
TELNET para
el acceso interactivo de una terminal a un host remoto.
FTP ("File
Transfer Protocol"). Sirve para transferencias de alta velocidad de un
disco a otro.
SMTP ("simple
mail transfer protocol"). Funciona como sistema de correo de
Internet.
RPC (Remote Procedure
Call). Permite llamadas a procedimientos situados remotamente.
SNMP (Simple
Network Managment Protocol). Se trata de una aplicación para el
control de la red.
NFS (Network
File System). Permite la utilización de archivos distribuidos por los programas
de la red.
X-Windows (Es
un protocolo para el manejo de ventanas e interfaces de usuario).
Estas
son las aplicaciones implementadas más ampliamente, pero existen muchas otras.
Cada implementación TCP/IP particular incluye un conjunto más o menos
restringido de protocolos de aplicación.
Usan
UDP o TCP como mecanismo de transporte. Recordar que UDP no es fiable ni ofrece
control de flujo, por lo que en este caso la aplicación ha de proporcionar sus
propias rutinas de recuperación de errores y de control de flujo. Suele ser más
fácil desarrollar aplicaciones sobre TCP, un protocolo fiable, orientado a
conexión. La mayoría de los protocolos de aplicación utilizan TCP, pero algunas
aplicaciones se construyen sobre UDP para proporcionar un mejor rendimiento
reduciendo la carga del sistema que genera el protocolo. La mayoría de ellas
usa el modelo de interacción cliente/servidor.
PROTOCOLO TELNET:
El
protocolo TELNET proporciona una interfaz estandarizada, a través de la cual un
programa de un host (el cliente de TELNET) puede acceder a los recursos de otro
host (el servidor de TELNET) como si el cliente fuera una terminal local
conectada al servidor.
Por
ejemplo, un usuario de una estación de trabajo situada en una LAN se puede
conectar al host. Por supuesto, TELNET se puede usar tanto en LANs como en
WANs.
El
servicio Telnet permite conectarse a ordenadores que no están comunicados
directamente para ejecutar programas y consultar información como si nuestro
ordenador personal fuese una terminal más del ordenador con el que nos
conectamos.
Una
vez nos conectamos con el ordenador (servidor) en cuestión, podremos utilizar
las aplicaciones instaladas en él. Para realizar las conexiones necesitaremos
utilizar un programa cliente telnet.
PROTOCOLO FTP:
FTP
(File Transfer Protocol) es un protocolo de transferencia de archivos entre
sistemas conectados a una red TCP basado en la arquitectura cliente-servidor,
de manera que desde un equipo cliente nos podemos conectar a un servidor para
descargar archivos desde él o para enviarle nuestros propios archivos
independientemente del sistema operativo utilizado en cada equipo.
El
Servicio FTP es ofrecido por la capa de Aplicación del modelo de capas de red
TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un
problema básico de FTP es que está pensado para ofrecer la máxima velocidad en
la conexión, pero no la máxima seguridad, ya que todo el intercambio de
información, desde el login y password del usuario en el servidor hasta la
transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo
de cifrado, con lo que un posible atacante lo tiene muy fácil para capturar
este tráfico, acceder al servidor, o apropiarse de los archivos transferidos.
Para solucionar este problema son de gran utilidad aplicaciones como scp y
sftp, incluidas en el paquete SSH, que permiten transferir archivos pero
cifrando todo el tráfico.
El siguiente modelo representa el
diagrama de un servicio FTP.
En el modelo, el intérprete de protocolo (PI) de usuario, inicia la conexión de control en el puerto 21. Las órdenes FTP estándar las genera el PI de usuario y se transmiten al proceso servidor a través de la conexión de control.
En el modelo, el intérprete de protocolo (PI) de usuario, inicia la conexión de control en el puerto 21. Las órdenes FTP estándar las genera el PI de usuario y se transmiten al proceso servidor a través de la conexión de control.
Las
respuestas estándar se envían desde el PI del servidor al PI de usuario por la
conexión de control como respuesta a las órdenes. Estas órdenes FTP especifican
parámetros para la conexión de datos (puerto de datos, modo de transferencia,
tipo de representación y estructura) y la naturaleza de la operación sobre el
sistema de archivos (almacenar, recuperar, añadir, borrar, etc.).
El
proceso de transferencia de datos (DTP) de usuario u otro proceso en su lugar,
debe esperar a que el servidor inicie la conexión al puerto de datos
especificado (puerto 20 en modo activo o estándar) y transferir los datos en
función de los parámetros que se hayan especificado.
Vemos
también en el diagrama que la comunicación entre cliente y servidor es
independiente del sistema de archivos utilizado en cada ordenador, de manera
que no importa que sus sistemas operativos sean distintos, porque las entidades
que se comunican entre sí son los PI y los DTP, que usan el mismo protocolo
estandarizado: el FTP. También hay que destacar que la conexión de datos es
bidireccional, es decir, se puede usar simultáneamente para enviar y para
recibir, y no tiene por qué existir todo el tiempo que dura la conexión FTP.
PROTOCOLO SMTP:
El
correo electrónico (E-mail) es probablemente la aplicación TCP/IP más usada.
Los
protocolos de correo básicos de correo proporcionan intercambio de correo y
mensajes entre hosts TCP/IP hosts; se han añadido servicios para la transmisión
de datos que no se pueden representar con texto ASCII de 7
bits. El término SMTP se emplea con frecuencia para
referirse a la combinación de los tres protocolos, por su estrecha
interrelación, pero estrictamente hablando, SMTP es sólo uno de los tres
estándares que se aplican a este tipo de correo.
PROTOCOLO DNS:
El
DNS usa el concepto de espacio de nombres distribuido. Los nombres simbólicos
se agrupan en zonas de autoridad, o más comúnmente, zonas. En cada una de estas
zonas, uno o más hosts tienen la tarea de mantener una base de datos de nombres
simbólicos y direcciones IP y de suministrar la función de servidor para los
clientes que deseen traducir nombres simbólicos a direcciones IP. Estos
servidores de nombres locales se interconectan lógicamente en un árbol
jerárquico de dominios.
Aplicaciones de DNS:
Muchas
implementaciones de DNS proporcionan tres utilidades bastante comunes para
consultar a servidores de nombres:
Host: Obtiene una
dirección IP asociada con un nombre de host o un nombre de host asociado con
una dirección IP.
Nslookup: Permite
localizar información acerca de los nodos de red, examinar los contenidos de la
base de datos de un servidor de nombres y establecer la accesibilidad a
servidores de nombres.
dig("Domain Internet Groper") Permite probar
los servidores de nombres, reunir grandes volúmenes de información de nombres
de dominio y ejecutar simples consultas de nombres de dominio.
PROTOCOLOS HTTP:
El Protocolo de Transferencia de HiperTexto (Hypertext Transfer Protocol)
es un sencillo protocolo cliente-servidor que articula los intercambios de
información entre los clientes Web y los servidores HTTP, atendiendo a las
necesidades de un sistema global de distribución de información como el World
Wide Web.
Desde
el punto de vista de las comunicaciones, está soportado sobre los servicios de
conexión TCP/IP, y funciona de la misma forma que el resto de los servicios
comunes de los entornos UNIX: un proceso servidor escucha en un puerto de
comunicaciones TCP y espera las solicitudes de conexión de los clientes Web.
Una vez que se establece la conexión, el protocolo TCP se encarga de mantener
la comunicación y garantizar un intercambio de datos libre de errores.
Los elementos software de la arquitectura
web (clientes, servidores, proxies) utilizan el protocolo HTTP para
comunicarse.
HTTP define la sintaxis
y la semántica que utilizan estos elementos para comunicarse.
Las últimas versiones
HTTP/1.0 y HTTP/1.1
Es un protocolo en la
capa de aplicación. Por debajo está TCP/IP.
Es un protocolo de
comunicaciones estándar que comunica servidores, proxies y clientes, permite la
transferencia de documentos web, sin importar cuál es el cliente o cual es el
servidor esta basado en el esquema petición/respuesta. El cliente envía un
mensaje de petición y el servidor contesta con un mensaje de respuesta, cuyo
contenido es función de la petición hecha por el cliente.
El usuario escribe en la barra de
dirección del navegador el recurso al que desea acceder:
http://www.uv.es/~uvalen/cat/index.html
El navegador descompone la URL en 3
partes:
El protocolo ("http")
El nombre del servidor ("www.uv.es")
El camino ("/~uvalen/cat/index.html")
El navegador se comunica con servidor de
nombres para traducir el nombre del servidor "www.uv.es" en
una Dirección IP, que es utilizada para conectarse a la máquina
servidora.
PROTOCOLO
SNMP:
El protocolo Simple Network Management Protocol (SNMP)
permite gestionar redes TCP/IP. Fue aprobado por el IAB en 1988 y está basado
en SGMP que permite manejar los routers en Internet. Servicio
en el puerto UDP 161.
SNMP
puede también dispositivos no-SNMP utilizando agentes proxy. Un
agente proxy es un conversor de protocolo que traduce las
órdenes SNMP a las comprensibles por el protocolo de gestión propio del
dispositivo. Actualmente SNMP está soportado en muchos sistemas distintos tales
como puentes, PC’s, estaciones de trabajo, encaminadores, terminales,
servidores, hubs, concentradores, y tarjetas avanzadas ethernet, token ring y
FDDI.
SNMP se basa en un sistema de petición-respuesta.
La autoridad gestora no es la red como sistema sino una o varias estaciones
distinguidas (NMS).