Protocolos de Red
Los protocolos son reglas y procedimientos para la comunicación. El término «protocolo» se utiliza en distintos contextos. Por ejemplo, los diplomáticos de un país se ajustan a las reglas del protocolo creadas para ayudarles a interactuar de forma correcta con los diplomáticos de otros países. De la misma forma se aplican las reglas del protocolo al entorno informático. Cuando dos equipos están conectados en red, las reglas y procedimientos técnicos que dictan su comunicación e interacción se denominan protocolos.
Cuando piense en protocolos de red recuerde estos tres puntos:
Hay muchos protocolos. A pesar de que cada protocolo facilita la comunicación básica, cada uno tiene un propósito diferente y realiza distintas tareas. Cada protocolo tiene sus propias ventajas y sus limitaciones.
Algunos protocolos sólo trabajan en ciertos niveles OSI. El nivel al que trabaja un protocolo describe su función. Por ejemplo, un protocolo que trabaje a nivel físico asegura que los paquetes de datos pasen a la tarjeta de red (NIC) y salgan al cable de la red.
Los protocolos también puede trabajar juntos en una jerarquía o conjunto de protocolos. Al igual que una red incorpora funciones a cada uno de los niveles del modelo OSI, distintos protocolos también trabajan juntos a distintos niveles en la jerarquía de protocolos. Los niveles de la jerarquía de protocolos se corresponden con los niveles del modelo OSI. Por ejemplo, el nivel de aplicación del protocolo TCP/IP se corresponde con el nivel de presentación del modelo OSI. Vistos conjuntamente, los protocolos describen la jerarquía de funciones y prestaciones.
La operación técnica en la que los datos son transmitidos a través de la red se puede dividir en dos pasos discretos, sistemáticos. A cada paso se realizan ciertas acciones que no se pueden realizar en otro paso. Cada paso incluye sus propias reglas y procedimientos, o protocolo.
Los pasos del protocolo se tienen que llevar a cabo en un orden apropiado y que sea el mismo en cada una de los equipos de la red. En el equipo origen, estos pasos se tienen que llevar a cabo de arriba hacia abajo. En el equipo de destino, estos pasos se tienen que llevar a cabo de abajo hacia arriba.
Los protocolos en el equipo origen:
Se dividen en secciones más pequeñas, denominadas paquetes, que puede manipular el protocolo.
Se añade a los paquetes información sobre la dirección, de forma que el equipo de destino pueda determinar si los datos le pertenecen.
Prepara los datos para la transmisión a través de la NIC y enviarlos a través del cable de la red.
Los protocolos en el equipo de destino constan de la misma serie de pasos, pero en sentido inverso.
Toma los paquetes de datos del cable.
Introduce los paquete de datos en el equipo a través de la NIC.
Extrae de los paquetes de datos toda la información transmitida eliminando la información añadida por el equipo origen.
Copia los datos de los paquetes en un búfer para reorganizarlos.
Pasa los datos reorganizados a la aplicación en una forma utilizable.
Los equipos origen y destino necesitan realizar cada paso de la misma forma para que los datos tengan la misma estructura al recibirse que cuando se enviaron.
Por ejemplo, dos protocolos diferentes podrían dividir datos en paquetes y añadirles cierta información sobre secuenciación, temporización y comprobación de errores, pero cada uno de forma diferente. Por tanto, un equipo que utilice uno de estos protocolos no se podrá comunicar correctamente con otro equipo que esté utilizando el otro protocolo.
Hasta mediados de los ochenta, la mayoría de las redes de área local (LAN) estaban aisladas. Una LAN servía a un departamento o a una compañía y rara vez se conectaba a entornos más grandes. Sin embargo, a medida que maduraba la tecnología LAN, y la comunicación de los datos necesitaba la expansión de los negocios, las LAN evolucionaron, haciéndose componentes de redes de comunicaciones más grandes en las que las LAN podían hablar entre sí.
Los datos se envían de una LAN a otra a lo largo de varios caminos disponibles, es decir, se encaminan. A los protocolos que permiten la comunicación LAN a LAN se les conoce como protocolos encaminables. Debido a que los protocolos encaminables se pueden utilizar para unir varias LAN y crear entornos de red de área extensa, han tomado gran importancia.
En una red, tienen que trabajar juntos varios protocolos. Al trabajar juntos, aseguran que los datos se preparan correctamente, se transfieran al destino correspondiente y se reciban de forma apropiada.
El trabajo de los distintos protocolos tiene que estar coordinado de forma que no se produzcan conflictos o se realicen tareas incompletas. Los resultados de esta coordinación se conocen como trabajo en niveles.
Una jerarquía de protocolos es una combinación de protocolos. Cada nivel de la jerarquía especifica un protocolo diferente para la gestión de una función o de un subsistema del proceso de comunicación. Cada nivel tiene su propio conjunto de reglas. Los protocolos definen las reglas para cada nivel en el modelo OSI:
Nivel de aplicación |
Inicia o acepta una petición |
Nivel de presentación |
Añade información de formato, presentación y cifrado al paquete de datos |
Nivel de sesión |
Añade información del flujo de tráfico para determinar cuándo se envía el paquete |
Nivel de transporte |
Añade información para el control de errores |
Nivel de red |
Se añade información de dirección y secuencia al paquete |
Nivel de enlace de datos |
Añade información de comprobación de envío y prepara los datos para que vayan a la conexión física |
Nivel físico |
El paquete se envía como una secuencia de bits |
Los niveles inferiores en el modelo OSI especifican cómo pueden conectar los fabricantes sus productos a los productos de otros fabricantes, por ejemplo, utilizando NIC de varios fabricantes en la misma LAN. Cuando utilicen los mismos protocolos, pueden enviar y recibir datos entre sí. Los niveles superiores especifican las reglas para dirigir las sesiones de comunicación (el tiempo en el que dos equipos mantienen una conexión) y la interpretación de aplicaciones. A medida que aumenta el nivel de la jerarquía, aumenta la sofisticación de las tareas asociadas a los protocolos.
El proceso de ligadura (binding process), el proceso con el que se conectan los protocolos entre sí y con la NIC, permite una gran flexibilidad a la hora de configurar una red. Se pueden mezclar y combinar los protocolos y las NIC según las necesidades. Por ejemplo, se pueden ligar dos jerarquías de protocolos a una NIC, como Intercambio de paquetes entre redes e Intercambio de paquetes en secuencia (IPX/SPX). Si hay más de una NIC en el equipo, cada jerarquía de protocolos puede estar en una NIC o en ambas.
El orden de ligadura determina la secuencia en la que el sistema operativo ejecuta el protocolo. Cuando se ligan varios protocolos a una NIC, el orden de ligadura es la secuencia en que se utilizarán los protocolos para intentar una comunicación correcta. Normalmente, el proceso de ligadura se inicia cuando se instala o se inicia el sistema operativo o el protocolo. Por ejemplo, si el primer protocolo ligado es TCP/IP, el sistema operativo de red intentará la conexión con TCP/IP antes de utilizar otro protocolo. Si falla esta conexión, el equipo tratará de realizar una conexión utilizando el siguiente protocolo en el orden de ligadura.
El proceso de ligadura consiste en asociar más de una jerarquía de protocolos a la NIC. Las jerarquías de protocolos tienen que estar ligadas o asociadas con los componentes en un orden para que los datos puedan moverse adecuadamente por la jerarquía durante la ejecución. Por ejemplo, se puede ligar TCP/IP al nivel de sesión del Sistema básico de entrada/salida en red (NetBIOS), así como al controlador de la NIC. El controlador de la NIC también está ligado a la NIC.
La industria informática ha diseñado varios tipos de protocolos como modelos estándar de protocolo. Los fabricantes de hardware y software pueden desarrollar sus productos para ajustarse a cada una de las combinaciones de estos protocolos. Los modelos más importantes incluyen:
La familia de protocolos ISO/OSI.
La arquitectura de sistemas en red de IBM (SNA).
Digital DECnet.
Novell NetWare.
Apple Talk de Apple.
El conjunto de protocolos de Internet, TCP/IP.
Los protocolos existen en cada nivel de estas jerarquías, realizando las tareas especificadas por el nivel. Sin embargo, las tareas de comunicación que tienen que realizar las redes se agrupan en un tipo de protocolo entre tres. Cada tipo está compuesto por uno o más niveles del modelo OSI.
Antes del modelo de referencia OSI se escribieron muchos protocolos. Por tanto, no es extraño encontrar jerarquías de protocolos que no se correspondan directamente con el modelo OSI.
Los protocolos de red proporcionan lo que se denominan «servicios de enlace». Estos protocolos gestionan información sobre direccionamiento y encaminamiento, comprobación de errores y peticiones de retransmisión. Los protocolos de red también definen reglas para la comunicación en un entorno de red particular como es Ethernet o Token Ring.
IP: El protocolo de TCP/IP para el encaminamiento de paquetes.
IPX: El protocolo de Novell para el encaminamiento de paquetes.
NWLink: La implementación de Microsoft del protocolo IPX/SPX.
NetBEUI: Un protocolo de transporte que proporciona servicios de transporte de datos para sesiones y aplicaciones NetBIOS.
DDP (Protocolo de entrega de datagramas): Un protocolo de Apple Talk para el transporte de datos.
Los protocolos de aplicación trabajan en el nivel superior del modelo de referencia OSI. Proporcionan interacción entre aplicaciones e intercambio de datos.
APPC (Comunicación avanzada entre programas): Protocolo SNA Trabajo en Grupo de IBM, mayormente utilizado en equipos AS/400. APPC se define como un protocolo de aplicación porque trabaja en el nivel de presentación del modelo OSI. Sin embargo, también se considera un protocolo de transporte porque APPC utiliza el protocolo LU 6.2 que trabaja en los niveles de transporte y de sesión del modelo OSI.
FTAM (Acceso y gestión de la transferencia de archivos): Un protocolo OSI de acceso a archivos
X.400: Un protocolo CCITT para las transmisiones internacionales de correo electrónico.
X.500: Un protocolo CCITT para servicios de archivos y directorio entre sistemas.
SMTP (Protocolo básico para la transferencia de correo): Un protocolo Internet para las transferencias de correo electrónico.
FTP (Protocolo de transferencia de archivos): Un protocolo para la transferencia de archivos en Internet.
SNMP (Protocolo básico de gestión de red): Un protocolo Internet para el control de redes y componentes.
Telnet: Un protocolo Internet para la conexión a máquinas remotas y procesar los datos localmente.
SMBs (Bloques de mensajes del servidor) de Microsoft y clientes o redirectores: Un protocolo cliente/servidor de respuesta a peticiones.
NCP (Protocolo básico de NetWare) y clientes o redirectores: Un conjunto de protocolos de servicio.
AppleTalk y AppleShare: Conjunto de protocolos de red de Apple.
AFP (Protocolo de archivos AppleTalk): Protocolo de Apple para el acceso a archivos remotos.
DAP (Protocolo de acceso a datos): Un protocolo de DECnet para el acceso a archivos.
Los protocolos de transporte facilitan las sesiones de comunicación entre equipos y aseguran que los datos se pueden mover con seguridad entre equipos.
TCP: El protocolo de TCP/IP para la entrega garantizada de datos en forma de paquetes secuenciados.
SPX: Parte del conjunto de protocolos IPX/SPX de Novell para datos en forma de paquetes secuenciados.
NWLink: La implementación de Microsoft del protocolo IPX/SPX.
NetBEUI (Interfaz de usuario ampliada NetBIOS): Establece sesiones de comunicación entre equipos (NetBIOS) y proporciona los servicios de transporte de datos subyacentes (NetBEUI).
ATP (Protocolo de transacciones Apple Talk) y NBP (Protocolo de asignación de nombres): Protocolos de Apple de sesión de comunicación y de transporte de datos.
El modelo OSI se utiliza para definir los protocolos que se tienen que utilizar en cada nivel. Los productos de distintos fabricantes que se ajustan a este modelo se pueden comunicar entre sí.
La ISO, el Instituto de ingenieros eléctricos y electrónicos (IEEE), ANSI (Instituto de estandarización nacional americano), CCITT (Comité consultivo internacional de telegrafía y telefonía), ahora llamado ITU (Unión internacional de telecomunicaciones) y otros organismos de estandarización han desarrollado protocolos que se correspondan con algunos de los niveles del modelo OSI.
802-3 (Ethernet). Es una red lógica en bus que puede transmitir datos a 10 Mbps. Los datos se transmiten en la red a todos los equipos. Sólo los equipos que tenían que recibir los datos informan de la transmisión. El protocolo de acceso de múltiple con detección de portadora con detección de colisiones (CSMA/CD) regula el tráfico de la red permitiendo la transmisión sólo cuando la red esté despejada y no haya otro equipo transmitiendo.
802.4 (paso de testigo). Es una red en bus que utiliza un esquema de paso de testigo. Cada equipo recibe todos los datos, pero sólo los equipos en los que coincida la dirección responderán. Un testigo que viaja por la red determina quién es el equipo que tiene que informar.
802.5 (Token Ring). Es un anillo lógico que transmite a 4 ó a 16 Mbps. Aunque se le llama en anillo, está montada como una estrella ya que cada equipo está conectado a un hub. Realmente, el anillo está dentro del hub. Un token a través del anillo determina qué equipo puede enviar datos.
El IEEE definió estos protocolos para facilitar la comunicación en el subnivel de Control de acceso al medio (MAC).
Un controlador MAC está situado en el subnivel de Control de acceso al medio; este controlador de dispositivo es conocido como controlador de la NIC. Proporciona acceso a bajo nivel a los adaptadores de red para proporcionar soporte en la transmisión de datos y algunas funciones básicas de control del adaptador.
Un protocolo MAC determina qué equipo puede utilizar el cable de red cuando varios equipos intenten utilizarlo simultáneamente. CSMA/CD, el protocolo 802.3, permite a los equipos transmitir datos cuando no hay otro equipo transmitiendo. Si dos máquinas transmiten simultáneamente se produce una colisión. El protocolo detecta la colisión y detiene toda transmisión hasta que se libera el cable. Entonces, cada equipo puede volver a tratar de transmitir después de esperar un período de tiempo aleatorio.
Los protocolos se instalan y se eliminan de la misma forma en que se incorporan o se eliminan los controladores. Los protocolos esenciales se instalan de forma automática al mismo tiempo en que se instala el sistema operativo en el equipo. Para instalar un protocolo como NWLink después de la instalación inicial, el sistema operativo de red suele incluir una utilidad que guía al administrador en este proceso. Por ejemplo, un programa de instalación de un sistema operativo de red puede proporcionar un conjunto de ventanas que asistan al administrador durante el proceso de:
Instalación de un protocolo nuevo.
Cambiar el orden en que están ligados los protocolos instalados.
Eliminación de un protocolo.
El Protocolo de control de transmisión/Protocolo Internet (TCP/IP) es un conjunto de Protocolos aceptados por la industria que permiten la comunicación en un entorno heterogéneo (formado por elementos diferentes). Además, TCP/IP proporciona un protocolo de red encaminable y permite acceder a Internet y a sus recursos. Debido a su popularidad, TCP/IP se ha convertido en el estándar de hecho en lo que se conoce como interconexión de redes, la intercomunicación en una red que está formada por redes más pequeñas.
TCP/IP se ha convertido en el protocolo estándar para la interoperabilidad entre distintos tipos de equipos. La interoperabilidad es la principal ventaja de TCP/IP. La mayoría de las redes permiten TCP/IP como protocolo. TCP/IP también permite el encaminamiento y se suele utilizar como un protocolo de interconexión de redes.
Entre otros protocolos escritos específicamente para el conjunto TCP/IP se incluyen:
SMTP (Protocolo básico de transferencia de correo). Correo electrónico.
FTP (Protocolo de transferencia de archivos). Para la interconexión de archivos entre equipos que ejecutan TCP/IP.
SNMP (Protocolo básico de gestión de red). Para la gestión de redes.
Diseñado para ser encaminable, robusto y funcionalmente eficiente, TCP/IP fue desarrollado por el Departamento de Defensa de Estados Unidos como un conjunto de protocolos para redes de área extensa (WAN). Su propósito era el de mantener enlaces de comunicación entre sitios en el caso de una guerra nuclear. Actualmente, la responsabilidad del desarrollo de TCP/IP reside en la propia comunidad de Internet. Para la instalación y configuración de TCP/IP por parte del usuario se requieren ciertos conocimientos y cierto grado de experiencia. La utilización de TCP/IP ofrece varias ventajas:
Es un estándar en la industria. Como un estándar de la industria, es un protocolo abierto. Esto quiere decir que no está controlado por una única compañía, y está menos sujeto a cuestiones de compatibilidad. Es el protocolo, de hecho, de Internet.
Contiene un conjunto de utilidades para la conexión de sistemas operativos diferentes. La conectividad entre un equipo y otro no depende del sistema operativo de red que esté utilizando cada equipo.
Utiliza una arquitectura escalable, cliente/servidor. TCP/IP puede ampliarse (o reducirse) para ajustarse a las necesidades y circunstancias futuras. Utiliza sockets para hacer que el sistema operativo sea algo transparente.
Un socket es un identificador para un servicio concreto en un nodo concreto de la red. El socket consta de una dirección de nodo y de un número de puerto que identifica al servicio.
Históricamente, TCP/IP ha tenido dos grandes inconvenientes: su tamaño y su velocidad. TCP/IP es una jerarquía de protocolos relativamente grandes que puede causar problemas en clientes basados en MS-DOS. En cambio, debido a los requerimientos del sistema (velocidad de procesador y memoria) que imponen los sistemas operativos con interfaz gráfica de usuario (GUI), como Windows NT o Windows 95 y 98, el tamaño no es un problema.
Los estándares de TCP/IP se publican en una serie de documentos denominados Requests for comment (RFC); Solicitudes de comentarios. Su objeto principal es proporcionar información o describir el estado de desarrollo. Aunque no se crearon para servir de estándar, muchas RFC han sido aceptadas como estándares.
El desarrollo Internet está basado en el concepto de estándares abiertos. Es decir, cualquiera que lo desee, puede utilizar o participar en el desarrollo de estándares para Internet. La Plataforma de arquitectura Internet (IAB) es el comité responsable para la gestión y publicación de las RFC. La IAB permite a cualquier persona o a cualquier compañía que envíe o que evalúe una RFC. Esto permite que cualquier sugerencia sea tenida en cuenta para cambiar o crear estándares. Transcurrido un tiempo razonable para permitir la discusión, se crea un nuevo borrador que se convertirá o no en un estándar.
El protocolo TCP/IP no se corresponde exactamente con el modelo OSI. En vez de tener siete niveles, sólo utiliza cuatro. Normalmente conocido como Conjunto de protocolos de Internet, TCP/IP se divide en estos cuatro niveles:
Nivel de interfaz de red.
Nivel Internet.
Nivel de transporte.
Nivel de aplicación.
Cada uno de estos niveles se corresponde con uno o más niveles del modelo OSI.
El nivel de interfaz de red, que se corresponde con los niveles físico y de enlace de datos del modelo OSI se comunica directamente con la red. Proporciona la interfaz entre la arquitectura de red (como Token Ring, Ethernet) y el nivel Internet.
El nivel internet, que se corresponde con el nivel de red del modelo OSI, utiliza varios protocolos para encaminar y entregar los paquetes. Los routers son dependientes del protocolo. Funcionan a este nivel del modelo y se utilizan para enviar paquetes de una red a otra o de un segmento a otro. En el nivel de red trabajan varios protocolos.
El Protocolo Internet (IP) es un protocolo de conmutación de paquetes que realiza direccionamiento y encaminamiento. Cuando se transmite un paquete, este protocolo añade una cabecera al paquete, de forma que pueda enviarse a través de la red utilizando las tablas de encaminamiento dinámico. IP es un protocolo no orientado a la conexión y envía paquetes sin esperar la señal de confirmación por parte del receptor. Además, IP es el responsable del empaquetado y división de los paquetes requerido por los niveles físico y de enlace de datos del modelo OSI. Cada paquete IP está compuesto por una dirección de origen y una de destino, un identificador de protocolo, un checksum (un valor calculado) y un TTL (tiempo de vida, del inglés time to live). El TTL indica a cada uno de los routers de la red entre el origen y el destino cuánto tiempo le queda al paquete por estar en la red. Funciona como un contador o reloj de cuenta atrás. Cuando el paquete pasa por el router, éste reduce el valor en una unidad (un segundo) o el tiempo que llevaba esperando para ser entregado. Por ejemplo, si un paquete tiene un TTL de 128, puede estar en la red durante 128 segundos o 128 saltos (cada parada, o router, en la red), o una combinación de los dos. El propósito del TTL es prevenir que los paquetes perdidos o dañados (como correos electrónicos con una dirección equivocada) estén vagando en la red. Cuando la cuenta TTL llega a cero, se retira al paquete de la red.
Otro método utilizado por IP para incrementar la velocidad de transmisión es el conocido como «ANDing». La idea del ANDing es determinar si la dirección es de un sitio local o remoto. Si la dirección es local, IP preguntará al Protocolo de resolución de direcciones (ARP) por la dirección hardware de la máquina de destino. Si la dirección es remota, el IP comprueba su tabla de encaminamiento local para encaminarlo al destino. Si existe un camino, el paquete se envía por ahí. Si no existe el camino, el paquete se envía a través del gateway a su destino.
Un AND es una operación lógica que combina los valores de dos bits (0, 1) o dos valores lógicos (verdadero, falso) y devuelve un 1 (verdadero) si los valores de ambas entradas son 1 (verdadero) y devuelve 0 (falso) en caso contrario.
Antes de enviar un paquete IP a otro host se tiene que conocer la dirección hardware de la máquina receptora. El ARP determina la dirección hardware (dirección MAC) que corresponde a una dirección IP. Si ARP no contiene la dirección en su propia caché, envía una petición por toda la red solicitando la dirección. Todos los hosts de la red procesan la petición y, si contienen un valor para esa dirección, lo devuelven al solicitante. A continuación se envía el paquete a su destino y se guarda la información de la nueva dirección en la caché del router.
Un servidor RARP mantiene una base de datos de números de máquina en la forma de una tabla (o caché) ARP que está creada por el administrador del sistema. A diferencia de ARP, el protocolo RARP proporciona una dirección IP a una petición con dirección de hardware. Cuando el servidor RARP recibe una petición de un número IP desde un nodo de la red, responde comprobando su tabla de encaminamiento para el número de máquina del nodo que realiza la petición y devuelve la dirección IP al nodo que realizó la petición.
El ICMP es utilizado por los protocolos IP y superiores para enviar y recibir informes de estado sobre la información que se está transmitiendo. Los routers suelen utilizar ICMP para controlar el flujo, o velocidad, de datos entre ellos. Si el flujo de datos es demasiado rápido para un router, pide a los otros routers que reduzcan la velocidad de transmisión.
Los dos tipos básicos de mensajes ICMP son el de informar de errores y el de enviar preguntas.
El nivel de transporte, que se corresponde con el nivel de transporte del modelo OSI, es el responsable de establecer y mantener una comunicación entre dos hosts. El nivel de transporte proporciona notificación de la recepción, control de flujo y secuenciación de paquetes. También gestiona las retransmisiones de paquetes. El nivel de transporte puede utilizar los protocolos TCP o el Protocolo de datagramas de usuario (UDP) en función de los requerimientos de la transmisión.
El TCP es el responsable de la transmisión fiable de datos desde un nodo a otro. Es un protocolo orientado a la conexión y establece una conexión (también conocida como una sesión, circuito virtual o enlace) entre dos máquinas antes de transferir ningún dato. Para establecer una conexión fiable, TCP utiliza lo que se conoce como «acuerdo en tres pasos». Establece el número de puerto y los números de secuencia de inicio desde ambos lados de la transmisión. El acuerdo consta de tres pasos:
El solicitante envía al servidor un paquete especificando el número de puerto que él planea utilizar y el número de secuencia inicial (ISN).
El servidor responde con su ISN, que consiste en el ISN del solicitante más uno.
El solicitante responde a la respuesta del servidor con el ISN del servidor más uno.
En orden a mantener una conexión fiable, cada paquete tiene que contener:
Un número de puerto TCP origen y destino.
Un número de secuencia para mensajes que tienen que dividirse en partes más pequeñas.
Un checksum que asegura que la información se ha recibido sin error.
Un número de confirmación que indica a la máquina origen qué partes de la información han llegado.
Ventanas deslizantes (Sliding Windows) TCP.
Los números de puerto del protocolo se utilizan para hacer referencia a la localización de una aplicación o proceso en particular en cada máquina (en el nivel de aplicación). Al igual que una dirección IP identifica la dirección de un host de la red, el número de puerto identifica la aplicación a nivel de transporte, por lo que proporciona una conexión completa de una aplicación de un host a una aplicación de otro host. Las aplicaciones y servicios (como servicios de archivos e impresión o telnet) pueden configurar hasta 65.536 puertos. Las aplicaciones y servicios TCP/IP suele utilizar los primeros 1.023 puertos. La Internet Assigned Numbers Authority (IANA) los ha asignado como estándar, o puertos por omisión. Cualquier aplicación cliente puede asignar números de puerto dinámicamente cuando sea necesario. Un puerto y una dirección de nodo forman un socket.
Los servicios y las aplicaciones utilizan sockets para establecer conexiones con otro host. Si las aplicaciones necesitan garantizar la entrega de datos, el socket elige el servicio orientado a conexión (TCP). Si la aplicación no necesita garantizar la entrega de los datos, el socket elige el servicio no orientado a la conexión (UDP).
TCP utiliza una ventana deslizante para transferir datos entre hosts. Regula cuánta información puede pasarse a través de una conexión IP antes de que el host de destino envíe una confirmación. Cada equipo tiene una ventana de envío y de recepción que utiliza a modo de búfer para guardar los datos y hacer más eficiente el proceso de comunicación. Una ventana deslizante permite al equipo origen transmitir una serie de paquetes sin tener que esperar a que le sea confirmada la llegada de cada paquete. Esto permite al equipo de destino que pueda recibir los paquetes en otro orden al enviado, y si no se recibe una confirmación en un período de tiempo, se reenvían los paquetes.
El UDP, un protocolo no orientado a la conexión, es el responsable de la comunicación de datos extremo a extremo. En cambio, a diferencia de TCP, UDP no establece una conexión. Intenta enviar los datos e intenta comprobar que el host de destino recibe los datos. UDP se utiliza para enviar pequeñas cantidades de datos que no necesitan una entrega garantizada. Aunque UDP utiliza puertos, son distintos de los puertos TCP; así pues, pueden utilizar los mismos números sin interferirse.
El nivel de aplicación se corresponde con los niveles de sesión, presentación y aplicación del modelo OSI, y conecta las aplicaciones a la red. Dos interfaces de programación de aplicaciones (API) proporcionan acceso a los protocolos de transporte TCP/IP, los sockets de Windows y NetBIOS.
Los sockets de Windows (WinSock) son una API de red diseñada para facilitar la comunicación entre aplicaciones y jerarquías de protocolos TCP/IP diferentes. Se definió para que las aplicaciones que utilizasen TCP/IP pudiesen escribir en una interfaz estándar. WinSock se deriva de los sockets originales que creó la API para el sistema operativo Unix BSD. WinSock proporciona una interfaz común para las aplicaciones y protocolos que existen cerca de la cima del modelo de referencia TCP/IP. Cualquier programa o aplicación escrito utilizando la API de WinSock se puede comunicar con cualquier protocolo TCP/IP, y viceversa.
Al igual que TCP/IP, Novell proporciona un conjunto de protocolos desarrollados específicamente para NetWare. Los cinco protocolos principales utilizados por NetWare son:
Protocolo de acceso al medio.
Intercambio de paquetes entre redes/Intercambio de paquetes en secuencia (IPX/SPX).
Protocolo de información de encaminamiento (RIP).
Protocolo de notificación de servicios (SAP).
Protocolo básico de NetWare (NCP).
Debido a que estos protocolos se definieron antes de la finalización del modelo OSI, no se ajustan exactamente al modelo OSI. Actualmente, no existe una correlación directa entre los límites de los niveles de las dos arquitecturas. Estos protocolos siguen un patrón de recubrimiento. Concretamente, los protocolos de nivel superior (NCP, SAP y RIP) están recubiertos por IPX/SPX. Luego, una cabecera y un final del Protocolo de acceso al medio recubre a IPX/SPX.
Los protocolos de acceso al medio definen el direccionamiento que permite diferenciar a los nodos de una red NetWare. El direccionamiento está implementado en el hardware o en la NIC. Las implementaciones más conocidas son:
802.5 Token Ring.
802.3 Ethernet.
Ethernet 2.0.
El protocolo es responsable de colocar la cabecera al paquete. Cada cabecera incluye el código del origen y del destino. Una vez que se haya transmitido el paquete y que está en el medio, cada tarjeta de red comprueba la dirección; si la dirección coincide con la dirección del destino del paquete, o si el paquete es un mensaje de difusión, la NIC copia el paquete y lo envía a la jerarquía de protocolos.
Además del direccionamiento, este protocolo proporciona un control de errores a nivel de bit como una comprobación de redundancia cíclica (CRC). Una vez que se le añade la CRC al paquete, supuestamente los paquetes estaban libres de errores.
La comprobación de errores CRC utiliza un cálculo complejo para generar un número basado en los datos transmitidos. El dispositivo que realiza el envío hace el cálculo antes de realizar la transmisión y lo incluye en el paquete que se envía al dispositivo de destino. El dispositivo de destino vuelve a hacer este cálculo después de la transmisión. Si ambos dispositivos obtienen el mismo resultado, se supone que no se han producido errores en la transmisión. A este procedimiento se le conoce como comprobación de redundancia, porque cada transmisión incluye no sólo los datos, sino que además incluye valores de comprobación extras (redundantes).
El Intercambio de paquetes entre redes (IPX) define los esquemas de direccionamiento utilizados en una red NetWare, e Intercambio de paquetes en secuencia (SPX) proporciona la seguridad y fiabilidad al protocolo IPX. IPX es un protocolo a nivel de red basado en datagramas, no orientado a la conexión y no fiable, equivalente a IP. No requiere confirmación por cada paquete enviado. Cualquier control de confirmación o control de conexión tiene que ser proporcionado por los protocolos superiores a IPX. SPX proporciona servicios orientados a la conexión y fiables a nivel de transporte.
Novell adoptó el protocolo IPX utilizando el Protocolo de datagramas Internet del Sistema de red de Xerox (XNS). IPX define dos tipos de direccionamiento:
Direccionamiento a nivel de red. La dirección de un segmento de la red, identificado por el número de red asignado durante la instalación.
Direccionamiento a nivel de nodo. La dirección de un proceso en un nodo que está identificado por un número de socket.
Los protocolos IPX sólo se utilizan en redes con servidores NetWare y se suelen instalar con otro conjunto de protocolos como TCP/IP. Incluso NetWare está empezando a utilizar TCP/IP como un estándar.
RIP, al igual que IPX, facilita el intercambio de información de encaminamiento en una red NetWare y fue desarrollado desde XNS. Sin embargo, en RIP se ha añadido al paquete un campo de datos extra para mejorar el criterio de decisión para seleccionar la ruta más rápida hasta un destino. El hecho de realizar una difusión de un paquete RIP permite que ocurran ciertas cosas:
Las estaciones de trabajo pueden localizar el camino más rápido a un número de red.
Los routers pueden solicitar información de encaminamiento a otros routers para actualizar sus propias tablas internas.
Los routers pueden responder a peticiones de encaminamiento de otras estaciones de trabajo o de otros routers.
Los routers pueden asegurarse de si otros routers conocen la configuración de la red.
Los routers pueden detectar un cambio en la configuración de la red.
El Protocolo de notificación de servicios (SAP) permite a los nodos que proporcionan servicios (incluyen a los servidores de archivos, servidores de impresión, servidores gateway y servidores de aplicación) informar de sus servicios y direcciones. Los clientes de la red son capaces de obtener la dirección de la red de los servidores a los que pueden acceder. Con SAP, la incorporación y la eliminación de servicios en la red se vuelve dinámica. Por omisión, un servidor SAP informa de su presencia cada 60 segundos. Un paquete SAP contiene:
Información operativa. Especifica la operación que está realizando el paquete.
Tipo de servicio. Especifica el tipo de servicio ofrecido por el servidor.
Nombre del servidor. Especifica el nombre del servidor que difunde los servicios.
Dirección de red. Especifica el número de red del servidor que difunde los servicios.
Dirección de nodo. Especifica el número de nodo del servidor que difunde los servicios.
Dirección de socket. Especifica el número de socket del servidor que difunde los servicios.
Total de saltos hasta el servidor. Especifica el número de saltos que hay hasta el servidor que difunde los servicios.
Campo de operación. Especifica el tipo de petición.
Información adicional. Uno o más conjuntos de campos que pueden seguir al campo de operación con más información sobre uno o más servidores.
El Protocolo básico de NetWare (NCP) define el control de la conexión y la codificación de la petición de servicio que hace posible que puedan interactuar los clientes y los servidores. Éste es el protocolo que proporciona los servicios de transporte y de sesión. La seguridad de NetWare también está proporcionada dentro de este protocolo.
La mayoría de los servicios y aplicaciones que se ejecutan en el sistema operativo Windows utilizan la interfaz NetBIOS o la Comunicación entre procesos (IPC). NetBIOS se desarrolló sobre LAN y se ha convertido en una interfaz estándar para que las aplicaciones puedan acceder a los protocolos de red en el nivel de transporte con comunicaciones orientadas y no orientadas a la conexión. Existen interfaces NetBIOS para NetBEUI, NWLink y TCP/IP. Las interfaces NetBIOS necesitan una dirección IP y un nombre NetBIOS para identificar de forma única a un equipo.
NetBIOS realiza cuatro funciones importantes:
Resolución de nombres NetBIOS. Cada estación de trabajo de una red tienen uno o más nombres. NetBIOS mantiene una tabla con los nombres y algunos sinónimos. El primer nombre en la tabla es el nombre único de la NIC. Se pueden añadir nombres de usuario opcionales para proporcionar un sistema de identificación expresivo. Por tanto, NetBIOS se encarga de gestionar los nombres.
Servicio de datagramas NetBIOS. Esta función permite enviar un mensaje a un nombre, a un grupo de nombres, o a todos los usuarios de la red. Sin embargo, debido a que no utiliza conexiones punto a punto, no se garantiza que el mensaje llegue a su destino.
Servicio de sesión NetBIOS. Este servicio abre una conexión punto a punto entre dos estaciones de trabajo de una red. Una estación inicia una llamada a otra y abre la conexión. Debido a que ambas estaciones son iguales, pueden enviar y recibir datos concurrentemente.
Estado de la sesión/NIC NetBIOS. Esta función ofrece información sobre la NIC local, otras NIC y las sesiones activas disponibles a cualquier aplicación que utilice NetBIOS.
Originalmente, IBM ofrecía NetBIOS como un producto separado, implementado como un programa residente (TSR). Actualmente, este programa TSR es obsoleto; si se encuentra uno de estos sistemas, debería sustituirlo con la interfaz NetBIOS de Windows.
NetBEUI es el acrónimo de Interfaz de usuario ampliada NetBIOS. Originalmente, NetBIOS y NetBEUI estaban casi unidos y se les consideraba como un protocolo. Sin embargo, varios fabricantes separaron NetBIOS, el protocolo a nivel de sesión, de forma que pudiera utilizarse con otros protocolos de transporte encaminables. NetBIOS (Sistema básico de entrada/salida de la red) es una interfaz para LAN a nivel de sesión de IBM que actúa como una interfaz de aplicación para la red. NetBIOS proporciona a un programa las herramientas para que establezca en la red una sesión con otro programa, y debido a que muchos programas de aplicación lo soportan, es muy popular.
NetBEUI es un protocolo pequeño, rápido y eficiente a nivel de transporte proporcionado con todos los productos de red de Microsoft. Está disponible desde mediados de los ochenta y se suministró con el primer producto de red de Microsoft: MS-NET.
Entre las ventajas de NetBEUI se incluyen su pequeño tamaño (importante para los equipos que ejecuten MS-DOS), su velocidad de transferencia de datos en el medio y su compatibilidad con todas las redes Microsoft.
El principal inconveniente de NetBEUI es que no soporta el encaminamiento. También está limitado a redes Microsoft. NetBEUI es una buena solución económica para una red Trabajo en Grupo donde todas las estaciones utilizan sistemas operativos Microsoft.
X.25 es un conjunto de protocolos WAN para redes de conmutación de paquetes y está formado por servicios de conmutación. Los servicios de conmutación se crearon originalmente para conectar terminales remotos a sistemas mainframe. La red dividía cada transmisión en varios paquetes y los colocaba en la red. El camino entre los nodos era un circuito virtual, que los niveles superiores trataban como si se tratase de una conexión lógica continua. Cada paquete puede tomar distintos caminos entre el origen y el destino. Una vez que llegan los paquetes, se reorganizan como los datos del mensaje original.
Un paquete típico está formado por 128 bytes de datos; sin embargo, el origen y el destino, una vez establecida la conexión virtual, pueden negociar tamaños de paquete diferentes. El protocolo X.25 puede soportar en el nivel físico un máximo teórico de 4.095 circuitos virtuales concurrentes entre un nodo y una red X.25. La velocidad típica de transmisión de X.25 es de 64 Kbps.
El protocolo X.25 trabaja en los niveles físico, de enlace de datos y de red del modelo OSI. Se conoce desde mediados de los setenta y se ha depurado muy bien, por lo que proporciona un entorno de red muy estable. Sin embargo, tiene dos inconvenientes:
El mecanismo de guardar y enviar causa retardos. Normalmente, el retardo es de 6 décimas de segundos y no tiene efecto en bloques de datos grandes. En cambio, en un tipo de transmisión «flip-flop», el retraso puede ser considerable.
Un «flip-flop» es un circuito que alterna entre dos estados posibles cuando se recibe un pulso en la entrada. Por ejemplo, si la salida de un flip-flop es un valor alto y se recibe un pulso en la entrada, la salida cambia a un valor bajo; un segundo pulso en la entrada vuelve a colocar en la salida un valor alto, y así sucesivamente.
Para soportar la transferencia de guardar y enviar se requiere una gran cantidad de trabajo con el búfer.
X.25 y TCP/IP son similares en la medida en que utilizan protocolos de conmutación de paquetes. Sin embargo, existen algunas diferencias entre ellos:
TCP/IP sólo tiene comprobación de errores y control de flujo extremo a extremo; X.25 tienen control de errores nodo a nodo.
Para compensar el hecho de que una red TCP/IP sea completamente pasiva, TCP/IP tiene un control de flujo y un mecanismo de ventana más complicado que el de X.25.
X.25 tiene unos niveles de enlace y eléctricos muy concretos; TCP/IP está diseñado para trabajar con distintos tipos de medios, y con servicios de enlace muy variados.
Xerox desarrolló el Sistema de red de Xerox (XNS) para sus LAN Ethernet. XNS se utilizaba mucho en los ochenta, pero ha sido lentamente sustituido por TCP/IP. Es un protocolo de gran tamaño, lento, ya que genera muchos envíos a todos los dispositivos, aumentando el tráfico de la red.
La Comunicación avanzada entre programas es un protocolo de transporte de IBM desarrollado como parte de su Arquitectura de sistemas en red (SNA). Se diseñó para permitir que los programas de aplicación que se estuviesen ejecutando en distintas equipos se pudiesen comunicar e intercambiar datos directamente.
Apple Talk es la jerarquía de protocolos de Apple Computer para permitir que los equipos Apple Macintosh compartan archivos e impresoras en un entorno de red. Se introdujo en 1984 como una tecnología LAN autoconfigurable. Apple Talk también está disponible en muchos sistemas UNIX que utilizan paquetes comerciales y de libre distribución. El conjunto de protocolos AppleTalk permite compartir archivos a alto nivel utilizando AppleShare, los servicios de impresión y gestores de impresión de LaserWriter, junto con la secuencia de datos de bajo nivel y la entrega de datagramas básicos.
Tipo de AppleTalk |
Descripción |
AppleTalk |
Una colección de protocolos que se corresponde con el modelo OSI. Soporta LocalTalk, EtherTalk y TokenTalk. |
LocalTalk |
Describe el cable par trenzado apantallado utilizado para conectar equipos Macintosh con otros Macintosh o impresoras. Un segmento LocalTalk permite hasta un máximo de 32 dispositivos y opera a una velocidad de 230 Kbps. |
Ether Talk |
AppleTalk sobre Ethernet. Opera a una velocidad de 10 Mbps. Fast Ethernet opera a una velocidad de 100 Mbps. |
Token Talk |
AppleTalk sobre Token Ring. Dependiendo de su hardware, TokenTalk opera a 4 o a 16 Mbps. |
El conjunto de protocolos OSI es una jerarquía completa de protocolos. Cada protocolo se corresponde directamente con un único nivel del modelo OSI. El conjunto de protocolos OSI incluye protocolos de encaminamiento y transporte, la serie de protocolos IEEE 802, un protocolo a nivel de sesión, un protocolo a nivel de presentación y varios protocolos a nivel de aplicación diseñados para proporcionar una funcionalidad de red, incluyendo el acceso a archivos, impresión y emulación de terminal.
DECnet es una jerarquía de protocolos de Digital Equipment Corporation. Es un conjunto de productos hardware y software que implementan la Arquitectura de red de Digital (DNA). Define redes de comunicación sobre LAN Ethernet, redes de área metropolitana con Interfaz de datos distribuida de fibra (FDDI MAN) y WAN que utilicen características de transmisión de datos privados o públicos. DECnet también puede utilizar protocolos TCP y OSI, así como sus propios protocolos. Se trata de un protocolo encaminable.