12
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

Protocolos de Comunicación

Embed Size (px)

DESCRIPTION

Protocolos de Comunicación, Protocolos de Comunicación de Red,

Citation preview

Page 1: Protocolos de Comunicación

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

Page 2: Protocolos de Comunicación

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

Page 3: Protocolos de Comunicación

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

Page 4: Protocolos de Comunicación

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

Page 5: Protocolos de Comunicación

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

Page 6: Protocolos de Comunicación

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

Page 7: Protocolos de Comunicación

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

Page 8: Protocolos de Comunicación

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.

Page 9: Protocolos de Comunicación

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.

Page 10: Protocolos de Comunicación

10

Códigos cíclicos: rotación cíclica de código válido.

Códigos sistemáticos: mensaje original + bits de comprobación.

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).

Razón de código=d/(d+e)

d ≡ nº de bits de información

e ≡ nº de bits redundantes

Page 11: Protocolos de Comunicación

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.

Page 12: Protocolos de Comunicación

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.