PROTOCOLOS DE COMUNICACIÓN
bibliografía
[davi79] D.W.Davies et al; Computer Networks and their protocols;
John Wiley & Sons 1979; Chapter 6 - Communication Protocols
and Interfaces.
temario
- Introducción
- Protocolos
- Procesos
- Protocolo pregunta-respuesta 1
- Protocolo pregunta-respuesta 2
- Estructura del protocolo
Introducción
- Cuando tenemos dispositivos de hardware, separados geográficamente,
existirán procedimientos para control de cada dispositivo
implementados por procesos de software.
- Como los procesos ejecutan en hardware separado, deben intercambiar
mensajes para coordinar la acción y obtener SINCRONIZACIÓN.
- Para realizar el intercambio de mensajes debemos diseñar
(cuidadosamente) los procedimientos o protocolos.
- La principal característica, es la habilidad para trabajar
en un ambiente donde los periodos (timing) y secuencia de eventos
es desconocida y se esperan errores en la transmisión de
datos.
Protocolos
- El termino protocolo lo usamos para describir el intercambio
de información entre procesos.
- Procesos: Programas que se ejecuten en un hardware.
Procesos en:
- Equipos de una red.
- Sistema multiprocesador, para controlar interacción
de procesos paralelos.
- Aplicaciones en tiempo real para el control de dispositivos.
- En cualquier sistema donde no existe relación fija
en el tiempo de ocurrencia de los eventos.
Definición mas formal:
- Especificación de la lógica y de los procedimientos
de los mecanismos de comunicación entre procesos.
- La definición lógica constituye la sintaxis.
- La definición de los procedimientos constituye la semántica.
Funciones más importantes:
- Control de errores:
- Control de Flujo
- Control de Congestión
- Estrategias de encaminamiento
Control de Errores:
- Protege integridad de los datos del usuario y de los mensajes
de control.
Control de Flujo y Congestión:
- Permite a la red compartir sus recursos entre un gran número
de usuarios, entregando a cada uno un servicio satisfactorio sin
que sus operaciones corran peligro.
Estrategias de Encaminamiento:
- Permite optimizar la utilización de los recursos de
la red, aumentando la disponibilidad de los servicios de la red
al proveer caminos alternativos entre nodos terminales.
Procesos
- Los protocolos son implementados vía procesos.
- Un proceso se ejecuta en un procesador virtual o lógico.
- Un proceso es autocontenido
- No se de cuenta (y no le interesa), que un procesador real
comparte sus recursos entre varios procesos activos.
- Entrada a los procesos ocurre por puertas lógicas de
software, por donde el proceso recibe mensajes desde procesos
residentes en el mismo o en otro procesador.
- Un conjunto de datos privados definen el estado actual de
un proceso y determinan la acción a tomar por el receptor
de un mensaje.
- El resultado de la computación ejecutada por el proceso
se envía por una puerta lógica de salida.
¿Cómo opera un protocolo?
- Un proceso recibe un mensaje lo procesa y envía una
respuesta, sin que exista relación entre éste evento
y otro anterior o posterior.
- El proceso origen, conocerá la dirección del
proceso destino y la incluirá en el mensaje.
- Esta dirección, identificará únicamente
a un procesador, quién conocerá al proceso destino.
- El originador cuando despacha un mensaje, entre un estado
de espera de respuesta en una de sus puertas.
- El proceso destino ejecuta la función especificada
en el mensaje, construye la respuesta (con resultados y dirección
del origen) y envía el mensaje respuesta por una puerta
de salida, (quedando libre para aceptar otro mensaje).
- La respuesta llega al originador, quien realiza un chequeo
para asegurarse que viene del lugar correcto antes de aceptarla,
luego, pasa al estado "no espera respuesta" en esa puerta
de entrada.
Este es un protocolo muy simple, necesita de la sintaxis para
definición de formatos de los mensajes y una semántica
muy simple.
Debe considerarse el hecho que, la red introduce demoras causadas
por congestión, encaminamiento, etc., e incluso puede ocurrir
perdida del mensaje.
- Para esto, el proceso que realiza la consulta deberá
tener un reloj (timer) el que será activado al enviar el
mensaje. El reloj enviara una señal al expirar el tiempo
indicado en la activación indicando que la respuesta no
llegó en el tiempo esperado por lo que el mensaje deberá
ser retransmitido.
PROTOCOLO PREGUNTA RESPUESTA 1
Esquema de Procesos:
PP : Recibe mensaje en puerta 1, desde usuario.
PP : Construye mensaje y lo despacha hacia PR por la puerta de
salida 2.
Al mismo tiempo construye un mensaje para proceso timer el que
contiene tiempo t y datos, enviándolo por la puerta 3.
Finalmente actualiza sus datos privados para definir su estado
y espera respuesta por puerta 2, cerrando puerta 1.
PP : Próximo evento:
- Recibe respuesta por PE2, se construye un mensaje y se envía
al usuario por PS1 y el proceso vuelva al estado no ocupado. (acepta
nueva solicitud).
- Señal de time-out que puede ser de la pregunta actual
o de la anterior.
. Anterior: Tarea ya completada, debemos poder hacer distinción,
colocando un rótulo a la actividad y a los datos enviados
al timer. Otra alternativa es desligar timer.
. Actual: El mensaje debe ser retransmitido y tenemos un nuevo
problema.
Si la respuesta original no está perdida, sino sólo
demorada, su llegada completará la operación (retransmisión).
La respuesta a la retransmisión puede llegar durante la
siguiente actividad y deberá ser reconocida como respuesta
a una pregunta antigua (duplicado) y descartada.
PROTOCOLO PREGUNTA RESPUESTA 2
definición de un protocolo:
- Un protocolo se define en función de su sintaxis, de
su semántica y es implementado por 2 procesos (1 en cada
máquina).
- La definición de una implementación describe
la acciones que se requiere de cada proceso.
- Descripción de acciones:
- Diagramas de estado y eventos.
- Lenguaje de descripción de protocolos (alto nivel).
- Ejemplo: Especificación de protocolo: Diagrama de estados.
ESTRUCTURA DEL PROTOCOLO
- La función más importante de un tarea en la
red es el transporte de datos, sin errores.
- Esta función es parcialmente provista por la red de
comunicaciones.
Niveles de los Procesos en Comunicación
- Un par de procesos no necesita conocer la estructura interna
de su sistema de comunicaciones, sólo se comunica con el
, a través de una interfaz.
- P1 y P2 podrían ser capaces de soportar varios procesos
simultáneamente, proporcionando funciones de multiplexación.
- Si P3-P1 no están instalados en el mismo procesador,
deberá usarse un protocolo para implementar la interfaz.
- Además si existe una línea física (P3-P1),
propensa a errores, se deberá usar un protocolo a nivel
de línea para asegurar la corrección de los mensajes
intercambiados por los procesos. Este protocolo no afectará
la estructura general, solo reemplazará una conexión
directa.
- Los protocolos se organizan jerárquicamente o en capas
(arquitectura de capas de cebollas, encapsuladas...)
-
- La estructura de un mensaje es:
