You are on page 1of 8

PROTOCOLOS DE INTERNET

Herramientas de Colaboración Digital
José Francisco González

Un protocolo es u n método estándar que permite la comunicación entre
procesos (que potencialmente se ejecutan en diferentes equipos) y un
conjunto de reglas y procedimientos que deben respetarse para el envío y la
recepción de datos a través de una red.

En Internet existen diversos protocolos de acuerdo a la comunicación y que
pertenecen a una sucesión o a un conjunto de protocolos relacionados entre
sí (familias de protocolos de Internet).

La familia de protocolos de Internet es un conjunto de protocolos de red
en la que se basa Internet y que permiten la transmisión de datos entre
redes de computadoras. En ocasiones se le denomina conjunto de
protocolos TCP/IP, en referencia a los dos protocolos más importantes que
la componen: Protocolo de Control de Transmisión (TCP) y Protocolo de
Internet (IP), que fueron los dos primeros en definirse, y que son los más
utilizados de la familia. Existen tantos protocolos en este conjunto que
llegan a ser más de 100 diferentes, entre ellos se destacan los siguientes:

TCP (Transmission-Control-Protocol)

El Protocolo de Control de Transmisión es uno de los protocolos
fundamentales en Internet. Fue creado entre los años 1973 - 1974 por
Vint Cerf y Robert Kahn.
Muchos programas dentro de una red de datos compuesta por
computadoras pueden usar TCP para crear conexiones entre ellos a
través de las cuales puede enviarse un flujo de datos. El protocolo
garantiza que los datos serán entregados en su destino sin errores y
en el mismo orden en que se transmitieron. También proporciona un
mecanismo para distinguir distintas aplicaciones dentro de una
misma máquina, a través del concepto de puerto.

Este es uno de los principales protocolos de la capa de transporte del
modelo TCP/IP. En el nivel de aplicación, posibilita la administración
de datos que vienen del nivel más bajo del modelo, o van hacia él, (es
decir, el protocolo IP). Cuando se proporcionan los datos al protocolo
IP, los agrupa en datagramas IP, fijando el campo del protocolo en 6
(para que sepa con anticipación que el protocolo es TCP).
Como es un protocolo orientado a conexión permite que dos
máquinas que están comunicadas controlen el estado de la
transmisión.

Las principales características del protocolo TCP son las siguientes:

Da soporte a muchas de las aplicaciones más populares de Internet,
incluidas HTTP, SMTP, SSH y FTP.
Permite colocar los datagramas nuevamente en orden cuando vienen
del protocolo IP.
También permite el monitoreo del flujo de los datos y así evita la
saturación de la red.
Permite que los datos se formen en segmentos de longitud variada
para "entregarlos" al protocolo IP.
Permite “multiplexar” los datos, es decir, que la información que
viene de diferentes fuentes (por ejemplo, aplicaciones) en la misma
línea pueda circular simultáneamente.
Por último, permite comenzar y finalizar la comunicación
amablemente.
IP (Internet Protocol)

El Protocolo de Internet es un protocolo no orientado a conexión usado tanto
por el origen como por el destino para la comunicación de datos a través de
una red de paquetes conmutados.

Los datos en una red basada en IP son enviados en bloques conocidos como
paquetes o datagramas (en el protocolo IP estos términos se suelen usar
indistintamente). En particular, en IP no se necesita ninguna configuración
antes de que un equipo intente enviar paquetes a otro con el que no se
había comunicado antes.

El Protocolo de Internet provee un servicio de datagramas no fiable
(también llamado del mejor esfuerzo “best effort”, lo hará lo mejor posible
pero garantizando poco). IP no provee ningún mecanismo para determinar
si un paquete alcanza o no su destino y únicamente proporciona seguridad
(mediante checksums o sumas de comprobación) de sus cabeceras y no de
los datos transmitidos. Por ejemplo, al no garantizar nada sobre la recepción
del paquete, éste podría llegar dañado, en otro orden con respecto a otros
paquetes, duplicado o simplemente no llegar. Si se necesita fiabilidad, ésta
es proporcionada por los protocolos de la capa de transporte, como TCP.

Si la información a transmitir (datagramas) supera el tamaño máximo
"negociado" (MTU) en el tramo de red por el que va a circular podrá ser
dividida en paquetes más pequeños, y re ensamblada luego cuando sea
necesario. Estos fragmentos podrán ir cada uno por un camino diferente
dependiendo de cómo estén congestionadas las rutas en cada momento.

Las cabeceras IP contienen las direcciones de las máquinas de origen y
destino (direcciones IP), direcciones que serán usadas por los
conmutadores de paquetes (switches) y los enrutadores (routers) para
decidir el tramo de red por el que reenviarán los paquetes.

Las direcciones IP son direcciones numéricas compuestas por cuatro
números enteros (4 bytes) entre 0 y 255, y escritos en el formato
xxx.xxx.xxx.xxx. Por ejemplo, 194.153.205.26 es una dirección IP en
formato técnico.

Los equipos de una red utilizan estas direcciones para comunicarse, de
manera que cada equipo de la red tiene una dirección IP exclusiva.

El organismo a cargo de asignar direcciones públicas de IP, es decir,
direcciones IP para los equipos conectados directamente a la red pública
de Internet, es el ICANN (Internet Corporation for Assigned Names and
Numbers) que remplaza el IANA desde 1998 (Internet Assigned Numbers
Agency).

El IP es el elemento común en la Internet de hoy. El actual y más popular
protocolo de red es IPv4. El IPv6 es el sucesor propuesto de IPv4; poco a
poco Internet está agotando las direcciones disponibles por lo que IPv6
utiliza direcciones de fuente y destino de 128 bits (lo cual asigna a cada
milímetro cuadrado de la superficie de la Tierra la colosal cifra de 670.000
millones de direcciones IP), muchas más direcciones que las que provee
IPv4 con 32 bits. Las versiones de la 0 a la 3 están reservadas o no fueron
usadas. La versión 5 fue usada para un protocolo experimental. Otros
números han sido asignados, usualmente para protocolos experimentales,
pero no han sido muy extendidos.

HTTP (HyperText Transfer Protocol)

Desde 1990, el protocolo HTTP (Protocolo de transferencia de hipertexto) es
el protocolo más utilizado en Internet. Es el protocolo usado en cada
transacción de la Web (WWW). Fue desarrollado por el consorcio W3C y la
IETF, colaboración que culminó en 1999. 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).

HTTP define la sintaxis y la semántica que utilizan los elementos software
de la arquitectura web (clientes, servidores, proxies) para comunicarse. Es
un protocolo orientado a transacciones y sigue el esquema petición-
respuesta entre un cliente y un servidor. Al cliente que efectúa la petición
(un navegador o un spider) se lo conoce como "user agent" (agente del
usuario). A la información transmitida se la llama recurso y se la identifica
mediante una cadena de caracteres denominada dirección URL. Los
recursos pueden ser archivos, el resultado de la ejecución de un programa,
una consulta a una base de datos, la traducción automática de un
documento, etc.

La comunicación entre el
navegador y el servidor se lleva a
cabo e n dos etapas:

• El navegador realiza una
solicitud HTTP
• El servidor procesa la solicitud y
después envía una respuesta
HTTP
En realidad, la comunicación se realiza en más etapas si se considera el
procesamiento de la solicitud en el servidor.

HTTP es un protocolo sin estado, es decir, que no guarda ninguna
información sobre conexiones anteriores. El desarrollo de aplicaciones web
necesita frecuentemente mantener estado. Para esto se usan las cookies,
que es información que un servidor puede almacenar en el sistema cliente.
Esto le permite a las aplicaciones web instituir la noción de "sesión", y
también permite rastrear usuarios, ya que las cookies pueden guardarse en
el cliente por tiempo indeterminado.

ARP (Address Resolution Protocol)

El ARP (Protocolo de resolución de direcciones) es un protocolo de nivel de
red responsable de encontrar la dirección hardware (Ethernet MAC) que
corresponde a una determinada dirección IP. Para ello se envía un paquete
(ARP request) a la dirección de difusión de la red (broadcast (MAC = ff ff ff ff
ff ff)) que contiene la dirección IP por la que se pregunta, y se espera a que
esa máquina (u otra) responda (ARP reply) con la dirección Ethernet que le
corresponde. Cada máquina mantiene una caché con las direcciones
traducidas para reducir el retardo y la carga. ARP permite a la dirección de
Internet ser independiente de la dirección Ethernet, pero esto sólo funciona
si todas las máquinas lo soportan.
En Ethernet, la capa de enlace trabaja con direcciones físicas. El protocolo
ARP se encarga de traducir las direcciones IP a direcciones MAC (direcciones
físicas).Para realizar ésta conversión, el nivel de enlace utiliza las tablas
ARP, cada interfaz tiene tanto una dirección IP como una dirección física
MAC.

ARP se utiliza en 4 casos referentes a la comunicación entre 2 hosts:

• Cuando 2 hosts están en la misma red y uno quiere enviar un
paquete a otro.
• Cuando 2 host están sobre redes diferentes y deben usar un
gateway/router para alcanzar otro host.
• Cuando un router necesita enviar un paquete a un host a través de
otro router.
• Cuando un router necesita enviar un paquete a un host de la misma
red.

El protocolo RARP (Protocolo de Resolución de Dirección Inversa) realiza la
operación inversa y es mucho menos utilizado. Es un tipo de directorio
inverso de direcciones lógicas y físicas.
En realidad, el protocolo RARP se usa esencialmente para las estaciones de
trabajo sin discos duros que desean conocer su dirección física.

El protocolo RARP le permite a la estación de trabajo averiguar su dirección
IP desde una tabla de búsqueda entre las direcciones MAC (direcciones
físicas) y las direcciones IP alojadas por una pasarela ubicada en la misma
red de área local (LAN).

Para poder hacerlo, el administrador debe definir los parámetros de la
pasarela (router) con la tabla de búsqueda para las direcciones MAC/IP. A
diferencia del ARP, este protocolo es estático. Por lo que la tabla de
búsqueda debe estar siempre actualizada para permitir la conexión de
nuevas tarjetas de interfaz de red.

Este protocolo tiene varias limitaciones. Se necesita mucho tiempo de
administración para mantener las tablas importantes en los servidores. Esto
se ve reflejado aun más en las grandes redes, lo que plantea problemas de
recursos humanos, necesarios para el mantenimiento de las tablas de
búsqueda y de capacidad por parte del hardware que aloja la parte del
servidor del protocolo RARP. Efectivamente, este protocolo permite que
varios servidores respondan a solicitudes, pero no prevé mecanismos que
garanticen que todos los servidores puedan responder, ni que respondan en
forma idéntica. Por lo que, en este tipo de arquitectura, no podemos confiar
en que un servidor RARP sepa si una dirección MAC se puede conectar con
una dirección IP, porque otros servidores ARP pueden tener una respuesta
diferente. Otra limitación del protocolo RARP es que un servidor sólo puede
servir a una LAN.

FTP (File Transfer Protocol)

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.
Este protocolo 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

SMTP (Simple Mail Transfer Protocol)

El protocolo SMTP (Protocolo simple de transferencia de correo) es un
protocolo de la capa de aplicación. Es un protocolo de red basado en texto
utilizado para el intercambio de mensajes de correo electrónico entre
computadoras u otros dispositivos (PDA's, teléfonos móviles, etc.). Está
definido en el RFC 2821 y es un estándar oficial de Internet que realiza la
transferencia de correo de un servidor a otro mediante una conexión punto
a punto.

Éste es un protocolo que funciona en línea, encapsulado en una trama
TCP/IP. El correo se envía directamente al servidor de correo del
destinatario. El protocolo SMTP funciona con comandos de textos enviados
al servidor SMTP (al puerto 25 de manera predeterminada). A cada comando
enviado por el cliente (validado por la cadena de caracteres ASCII CR/LF,
que equivale a presionar la tecla Enter) le sigue una respuesta del servidor
SMTP compuesta por un número y un mensaje descriptivo.

SMTP se basa en el modelo cliente-servidor, donde un cliente envía un
mensaje a uno o varios receptores. La comunicación entre el cliente y el
servidor consiste enteramente en líneas de texto compuestas por caracteres
ASCII. El tamaño máximo permitido para estas líneas es de 1000 caracteres.

Las respuestas del servidor constan de un código numérico de tres digitos,
seguido de un texto explicativo. El número va dirigido a un procesado
automático de la respuesta por autómata, mientras que el texto permite
que un humano interprete la respuesta. En el protocolo SMTP todas las
órdenes, réplicas o datos son líneas de texto, delimitadas por el carácter
<CRLF>. Todas las réplicas tienen un código numérico al comienzo de la
línea.

En el conjunto de protocolos TCP/IP, el SMTP va por encima del TCP.

POP (Post Office Protocol)

Se utiliza el Post Office Protocol (POP3) en clientes locales de correo para
obtener los mensajes de correo electrónico almacenados en un servidor
remoto. La mayoría de los suscriptores de los proveedores de Internet
acceden a sus correos a través de POP3.

POP3 está diseñado para recibir correo, no para enviarlo; le permite a los
usuarios con conexiones intermitentes ó muy lentas (tales como las
conexiones por módem), descargar su correo electrónico mientras tienen
conexión y revisarlo posteriormente incluso estando desconectados. Cabe
mencionar que la mayoría de los clientes de correo incluyen la opción de
dejar los mensajes en el servidor, de manera tal que, un cliente que utilice
POP3 se conecta, obtiene todos los mensajes, los almacena en la
computadora del usuario como mensajes nuevos, los elimina del servidor y
finalmente se desconecta. En contraste, el protocolo IMAP permite los
modos de operación conectado y desconectado.

Los clientes de correo electrónico que utilizan IMAP dejan por lo general los
mensajes en el servidor hasta que el usuario los elimina directamente. Esto
y otros factores hacen que la operación de IMAP permita a múltiples clientes
acceder al mismo buzón de correo. La mayoría de los clientes de correo
electrónico soportan POP3 ó IMAP; sin embargo, solo unos cuantos
proveedores de internet ofrecen IMAP como valor agregado de sus servicios.

Los clientes que utilizan la opción dejar mensajes en el servidor por lo
general utilizan la orden UIDL ('Unique IDentification Listing). La mayoría de
las órdenes de POP3 identifican los mensajes dependiendo de su número
ordinal del servidor de correo. Esto genera problemas al momento que un
cliente pretende dejar los mensajes en el servidor, ya que los mensajes con
número cambian de una conexión al servidor a otra. Por ejemplo un buzón
de correo contenía 5 mensajes en la última conexión, después otro cliente
elimina el mensaje número 3, el siguiente usuario se topará con que los
últimos dos mensajes están decrementados en uno. El UIDL proporciona un
mecanismo que evita los problemas de numeración. El servidor le asigna
una cadena de caracteres única y permanente al mensaje. Cuando un
cliente de correo compatible con POP3 se conecta al servidor utiliza la orden
UIDL para obtener el mapeo del identificador de mensaje. De esta manera el
cliente puede utilizar ese mapeo para determinar qué mensajes hay que
descargar y cuáles hay que guardar al momento de la descarga.

Al igual que otros viejos protocolos de internet, POP3 utilizaba un
mecanismo de firmado sin cifrado. La transmisión de contraseñas de POP3
en texto plano aún se da. En la actualidad POP3 cuenta con diversos
métodos de autenticación que ofrecen una diversa gama de niveles de
protección contra los accesos ilegales al buzón de correo de los usuarios.
Uno de estos es APOP, el cual utiliza funciones MD5 para evitar los ataques
de contraseñas. Mozilla, Eudora, Novell Evolution así como Mozilla
Thunderbird implementan funciones APOP.

TELNET

El protocolo Telnet es un protocolo de Internet estándar que permite
conectar terminales y aplicaciones en Internet. El protocolo proporciona
reglas básicas que permiten vincular a un cliente (sistema compuesto de
una pantalla y un teclado) con un intérprete de comandos (del lado del
servidor).

El protocolo Telnet se aplica en una conexión TCP para enviar datos en
formato ASCII codificados en 8 bits, entre los cuales se encuentran
secuencias de verificación Telnet. Por lo tanto, brinda un sistema de
comunicación orientado bidireccional (semidúplex) codificado en 8 bits y
fácil de implementar.

El protocolo Telnet se basa en tres conceptos básicos:

• El paradigma Terminal virtual de red (NVT);
• El principio de opciones negociadas;
• Las reglas de negociación.

Éste es un protocolo base, al que se le aplican otros protocolos del conjunto
TCP/IP (FTP, SMTP, POP3, etc.). Las especificaciones Telnet no mencionan la
autenticación porque Telnet se encuentra totalmente separado de las
aplicaciones que lo utilizan (el protocolo FTP define una secuencia de
autenticación sobre Telnet). Además, el protocolo Telnet no es un protocolo
de transferencia de datos seguro, ya que los datos que transmite circulan
en la red como texto sin codificar (de manera no cifrada). Cuando se utiliza
el protocolo Telnet para conectar un host remoto a un equipo que funciona
como servidor, a este protocolo se le asigna el puerto 23.

Excepto por las opciones asociadas y las reglas de negociación, las
especificaciones del protocolo Telnet son básicas. La transmisión de datos a
través de Telnet consiste sólo en transmitir bytes en el flujo TCP (el
protocolo Telnet especifica que los datos deben agruparse de manera
predeterminada —esto es, si ninguna opción especifica lo contrario— en un
búfer antes de enviarse. Específicamente, esto significa que de manera
predeterminada los datos se envían línea por línea). Cuando se transmite el
byte 255, el byte siguiente debe interpretarse como un comando. Por lo
tanto, el byte 255 se denomina IAC (Interpretar como comando). Los
comandos se describen más adelante en este documento.