Este documento describe varios protocolos de comunicación. Explica conceptos como protocolo, elementos de un protocolo, control de flujo y corrección de errores. Define protocolos específicos como Xon-Xoff, parada y espera, bit alternante y ventana. El objetivo principal es asegurar la transmisión efectiva de datos entre dos puntos a través de reglas estandarizadas.
1. * PROTOCOLOS DE COMUNICACIÓN *
NOMBRE DEL ALUMNO: KARLOS ISABEL ALVARADO B.
NOMBRE DEL MAESTRO: ING. LUIS MIGUEL VENEGAS
HERNÁNDEZ.
“INGENIERÍA EN TELEMÁTICA”
“NOVENO”
MATERIA: PROTOCOLOS Y SERVICIOS DE RED.
05- DICIEMBRE – 2013
1
2. Contenido
1.
Protocolos y servicios informáticos .................................................................................... 3
1.1 Concepto de Protocolo.............................................................................................................. 3
1.2 Función de los Protocolos ......................................................................................................... 4
1.3 Elementos de un Protocolo (5).................................................................................................. 5
1.3.1 Servicio que proporciona el protocolo ............................................................................... 5
1.3.2 Suposiciones sobre el entorno donde se ejecuta el protocolo .......................................... 5
1.3.3 Vocabulario de los mensajes utilizados en el protocolo .................................................... 5
1.3.4 Formato del mensaje ......................................................................................................... 7
1.3.5 Reglas de procedimiento.................................................................................................... 7
1.4 Diez reglas en el Diseño de un Protocolo .................................................................................. 8
1.5 Errores, Tipos, Correcciones, Bit de paridad ............................................................................. 8
1.5.1 Errores y sugerencias ......................................................................................................... 8
1.5.2 Correcciones ....................................................................................................................... 9
1.5.3 Tipos de códigos ................................................................................................................. 9
1.5.4 Corrección de errores....................................................................................................... 10
1.5.5 Bit de paridad ................................................................................................................... 10
1.6 Control de Flujo ....................................................................................................................... 11
1.6.1 Objetivos .......................................................................................................................... 11
1.6.2 Protocolo simple sin control de flujo ............................................................................... 11
1.6.3 Protocolo Xon-Xoff ........................................................................................................... 11
1.6.4 Protocolo de parada y espera .......................................................................................... 12
1.6.5 Protocolo de parada y espera con timeout...................................................................... 12
1.6.6 Protocolo de bit alternante .............................................................................................. 12
1.6.7 Protocolo de ventana ....................................................................................................... 12
Ilustración 1: Protocolo de comunicación HTTP Cliente Servidor ....................................................... 3
Ilustración 2: Ejemplo de comunicación entre dos PC ........................................................................ 4
Ilustración 3: Esquema de mensajes ACK y NACK ............................................................................... 6
Ilustración 4: Inicio de transmisión ..................................................................................................... 7
Ilustración 5: Código corrector basado en paridad ........................................................................... 11
2
3. 1. Protocolos y servicios informáticos
1.1 Concepto de Protocolo
El protocolo se define como las reglas o normas a seguir para la transmisión
de la información entre dos puntos, es decir un punto A y otro B, que se
encuentran a distancia y es necesaria su comunicación. Un protocolo de red
de comunicación de datos es un conjunto de reglas que gobierna el
intercambio ordenado de datos dentro de la red. Se le llama protocolo por
qué se debe seguir un orden específico para poder realizar la transmisión de
datos entre dos puntos y el margen de error sea mínimo, ya que siempre
existe.
Ilustración 1: Protocolo de comunicación HTTP Cliente Servidor
3
4. 1.2 Función de los Protocolos
Los detalles precisos de lo que hacen los protocolos dependen del tipo de
protocolo y de las tareas que les estemos pidiendo a la computadora u otro
dispositivo, pero las funciones generales que cumplen son las siguientes:
Enviar y recibir mensajes de cualquier tipo a través del hardware de la
red.
Identificar quien envía y cuál es el destino del mensaje, y determinar si
el dispositivo que recibe es el destino final.
Para los dispositivos con múltiples conexiones de red, enviar si es
posible los mensajes recibidos a lo largo del camino hacia su destino
final.
Verificar que el mensaje recibido ha llegado intacto o solicitar la
retransmisión de mensajes dañados.
Convertir los nombres de los dispositivos en direcciones usadas por el
software y hardware de la red y viceversa.
Recibir la identificación del usuario, la información de autenticación y
el control de acceso a los servicios.
Codificar y decodificar la información transmitida para mantener la
seguridad a través de la red.
Transferir información en ambos sentidos de acuerdo a los
requerimientos del software y servicios específicos.
Ilustración 2: Ejemplo de comunicación entre dos PC
4
5. 1.3 Elementos de un Protocolo (5)
Un protocolo de comunicación se caracteriza por cinco elementos que
garantizan la calidad de la comunicación. En seguida se describen cada uno
de los elementos mencionados.
1.3.1 Servicio que proporciona el protocolo
El propósito del protocolo es transferir ficheros de texto como secuencias de
caracteres a través de una línea de datos mientras que en la protección
frente a errores de transmisión, se asume que todos los errores pueden ser
detectados. El protocolo se define para transferencias Full-Duplex, es decir,
debería permitir transferir en ambas direcciones simultáneamente. Los
acuses de recibo positivos y negativos para el tráfico desde A hasta B se
envían por el canal desde B hasta A y viceversa. Cada mensaje contiene dos
partes: una parte que es el mensaje en sí y una parte de control que se aplica
al tráfico del canal inverso.
1.3.2 Suposiciones sobre el entorno donde se ejecuta el
protocolo
Dos usuarios como mínimo + un canal de transmisión.
Los usuarios envían una solicitud de transferencia de fichero y esperan
a que finalice para poder transmitir.
Canal con distorsiones aleatorias, pero no se pierden, duplican,
insertan o desordenan mensajes.
Se pueden producir errores aleatorios.
1.3.3 Vocabulario de los mensajes utilizados en el protocolo
ACK = mensaje + acuse de recibo positivo.
NACK= mensaje + acuse de recibo negativo.
ERR = mensaje con distorsión.
V = {ACK, NACK, ERR}
ACK: Es un mensaje que el destino de la comunicación envía al origen de ésta
para confirmar la recepción de un mensaje. Si el mensaje está protegido por
un código detector de errores y el dispositivo de destino posee además
5
6. capacidad para procesar dicha información, el ACK también puede informar
si se ha recibido de forma íntegra y sin cambios.
NACK: Es un mensaje del protocolo que se envía para informar de que en la
recepción de una trama de datos ha habido un error. Esta circunstancia se
detecta gracias a que la trama de datos estaba protegida con un código
detector de errores; o porque se define de esta forma en las normas del
protocolo.
ERR: Mensaje de código de error que describe que existe una distorsión en el
mensaje o información enviada.
Ilustración 3: Esquema de mensajes ACK y NACK
6
7. 1.3.4 Formato del mensaje
Formato del mensaje para ser interpretado, identificado y descifrado por el
receptor.
Mensaje = {etiqueta de control, dato}
Enum control {ack, nack, err};
Struct message {
Enum control etiqueta;
Unsigned char dato; };
1.3.5 Reglas de procedimiento
1. Si la recepción anterior estuvo libre de errores, el siguiente mensaje
por el canal inverso debe llevar un reconocimiento positivo; en caso
contrario, llevará un reconocimiento negativo.
2. Si la recepción anterior portaba un reconocimiento negativo, o si fue
errónea, se retransmitirá el último mensaje; en caso contrario se
transmitirá el mensaje siguiente.
Ilustración 4: Inicio de transmisión
7
8. 1.4 Diez reglas en el Diseño de un Protocolo
1. Asegurarse de definir bien todos los aspectos del protocolo
2. Definir el servicio a realizar por cada nivel antes de elegir estructuras
3. Diseñar antes funcionalidad externa que la interna
4. Mantener el diseño simple
5. No conectar lo que es independiente
6. Obviar aquello que es innecesario
7. Validar el diseño antes de implementarlo
8. Implementar diseño, medir su rendimiento y optimizarlo
9. Comprobar que la versión final cumple los criterios de diseño
10.Nunca saltarse las 7 primeras reglas
1.5 Errores, Tipos, Correcciones, Bit de paridad
1.5.1 Errores y sugerencias
Mayor número de errores debido a la comunicación que al hardware
P (circuitería) <10-15
P (F.O.) ≈10-9
P (coax.) ≈10 -6
P(tlf.) ≈10 -4 ó 10 -5
Causas principales de error:
Limitaciones en el ancho de banda del canal (distorsión lineal).
Eco, ruido blanco, impulsos electromagnéticos... (no lineal).
El efecto de esos ruidos se puede paliar hasta cierto punto con hardware y el
resto por software (no se eliminan)
El esquema de control de error debe ser adecuado a las características de la
línea de comunicaciones:
Si un canal sólo tiene inserciones, no sirve un protocolo que proteja
contra eliminaciones.
Si un canal produce errores simples, puede ser más adecuado usar un
protocolo más simple.
8
9. Si el error del canal es < que el de la circuitería, el mecanismo de
control sólo degrada rendimiento del sistema y disminuye fiabilidad
del protocolo.
1.5.2 Correcciones
Añadir información redundante a los mensajes
Dos formas de gestionar los errores:
Control de errores hacia delante → códigos correctores.
Control de errores por realimentación → códigos detectores.
p ≡ probabilidad de error en la transmisión de un mensaje
f ≡ fracción de errores que capta el método de control
error residual=p·(1-f)
Si p↓ → no código corrector (ralentiza las comunicaciones).
Si p↑ → no código detector (las reTx también podrían ser erróneas).
También depende del coste: si p↓ y coste de reTx↑ → código
corrector.
Sistema mixto: el receptor corrige los errores más frecuentes y solicita
reTx de los mensajes alterados por errores menos frecuentes.
1.5.3 Tipos de códigos
Códigos de bloque:
Palabras de código de misma longitud y codificación estática.
Códigos de convolución:
Palabras de código dependen del mensaje actual y de anteriores, el
codificador cambia su estado con cada mensaje procesado, longitud de
palabras suele ser constante.
Se pueden clasificar en:
Códigos lineales: combinación lineal de palabras válidas.
9
10. Códigos cíclicos: rotación cíclica de código válido.
Códigos sistemáticos: mensaje original + bits de comprobación.
Razón de código=d/(d+e)
d ≡ nº de bits de información
e ≡ nº de bits redundantes
A mejor calidad de código → menor razón de código.
1.5.4 Corrección de errores
Los códigos se eligen de forma que haya varios bits de diferencia entre dos
palabras válidas
Rxor reconstruye mensaje, asociándole la palabra de código más cercana
Razón de código de sistema corrector < razón de código de sistema detector
Se usa sistema corrector si hay:
un retraso de transmisión alto.
ausencia de canal de retorno.
una tasa de errores alta.
1.5.5 Bit de paridad
Método para la detección de errores de transmisión o almacenamiento de
datos. Consiste en agregar 1 bit para cada palabra, donde se especifica si la
cantidad de bits con valor 1 de la palabra es par o impar, es decir, se hace la
suma de los bits anteriores y se reduce a un bit. Nótese que este método
detecta los errores, pero no los corrige (salvo en el caso de que la palabra
transmitida sea de tamaño 1 bit).
10
11. Ilustración 5: Código corrector basado en paridad
1.6 Control de Flujo
1.6.1 Objetivos
Asegurarse que no se transmiten los datos más rápido de lo que se
puede procesar.
Optimizar el uso del canal.
Evitar saturar el canal.
Proteger la transmisión contra borrado, inserción, duplicación y
reordenamiento de mensajes.
1.6.2 Protocolo simple sin control de flujo
OK si Rxor más rápido que Txor → se viola el principio “no hacer
suposiciones de la velocidad relativa de procesos concurrentes”.
Rx es más costoso que Tx.
1.6.3 Protocolo Xon-Xoff
No requiere negociación previa.
Dúplex.
Si se pierde Xon � bloqueo de los cuatro procesos.
No se protege contra la saturación de forma efectiva.
No se protege contra la pérdida de mensajes.
11
12. 1.6.4 Protocolo de parada y espera
Desaparece problema de saturación en Rxor
Si se pierde un mensaje, se bloquea
Se desaprovecha el canal
Retraso de 2·t+a-p por cada mensaje enviado, t: tiempo de
propagación, a: tiempo que tarda el receptor en aceptar el mensaje, p:
tiempo que tarda el emisor en prepararlo
1.6.5 Protocolo de parada y espera con timeout
Protege contra la pérdida de tramas.
Si tanto Txor como Rxor pueden iniciar reTx, pueden perderse ambas y
asociar equivocadamente cada mensaje con otro ack.
Una solución: numerar mensajes y ack’s.
1.6.6 Protocolo de bit alternante
Timeout + nº de secuencia de 1bit.
Puede fallar si se produce un retraso demasiado grande en el envío del
ack desde el Rxor.
1.6.7 Protocolo de ventana
En la fase de establecimiento de conexión se negocia tamaño de la
ventana (W).
El Txor puede enviar W mensajes sin esperar acuse de recibo del Rxor.
Optimiza canal en los que el tiempo de tránsito es alto.
12