Universidad de Ibagué
Facultad de Ingeniería de Sistemas

Especialización en TELEINFORMÁTICA

Diseño y validación de protocolos de comunicación

 

Inicio

Generalidades

Ejercicios

Talleres

Proyecto

 

 Control de Error

 Existen diferentes probabilidades de error en los medios de transmisión guiados o no guiados.

  • Enlace fibra óptica: 10-9. En promedio 1 en 109 bits transmitidos.

  • Cable coaxial: 10-6.

  • Línea telefónica: 10-4... 10-5.

Vel. Transmisión Prob. de error Tipo de enlace 1 error cada:
9600 bps 10-4 Línea telefónica 1.04 segs
9600 bps 10-6 Coaxial 104 segs
9600 bps 10-9 Fibra óptica 3303 años

Tipos de Errores de Transmisión

  • Inserción

  • Pérdida

  • Duplicación

  • Distorsión

  • Reordenamiento

Cyclic Redundancy Check (CRC)

  •  Al mensaje original (palabra código) se le agrega una secuencia de bits.

  •  Si no hay error, el método garantiza que la palabra código junto con la secuencia de bits agregada, es divisible por un factor dado.

  •  El factor utilizado determina el rango de errores de transmisión que pueden ser detectados.

El método está basado en asimilar las secuencias de bit con polinomios de coeficientes 0 o 1

0 1 1 0 1 1 0    Þ   0 x6 + 1 x5 + 1 x4 + 0 x3 + 1 x2 + 1 x + 0    Þ    x5 + x4 + x2 + x

Para usar este método emisor y receptor acuerdan utilizar un polinomio G(x), que es el polinomio generador. La información redundante generada por este polinomio se denomina checksum.

 El cálculo del checksum se lleva a cabo de forma que el polinomio que representa la trama de datos + checksum sea divisible por G(x)

 M(x) = polinomio que representa los bits de datos

T(x) = trama de datos + checksum

 

Algoritmo para el cálculo del checksum:

 1º) Añadir r bits 0 al final de los datos  xr M(x) r = grado (G(x))

             Ejemplo:         G(x) = x5 + x4 + x2 + 1 r = 5

                        M(x) = x9 + x7 + x3 + x2 + 1       Þ    101000110100000

  

2º) Dividir xr M(x) entre G(x) utilizando aritmética en módulo 2

             101000110100000     |110101

            110101                       1101010110

            0111011

              110101

              00111010

                  110101

                  00111110

                      110101

                      00101100                     cociente Q(x) y resto R(x)

                          110101

                          0110010

                            110101

                            0001110

 

3º) Restar xr M(x) - R(x) = T(x)  que es lo que se transmite

                         101000110100000

                                              1110

                        101000110101110

 

4º) Receptor:               T’(x) / G(x)      Þ    R’(x)

            Si R’(x) = 0  la trama de datos recibida se da como buena

            Si R’(x) ¹ 0  la trama de datos tendrá errores

Aunque si R’(x) = 0 no se puede asegurar que no tenga errores ya que pueden haberse producido muchos errores en T(x) y que al dividirlo por G(x) de 0

 Condiciones que debe cumplir G(x) para detectar errores de 1 bit:

            T’(x) / G(x) = T(x) + E(x) / G(x) = T(x) / G(x) + E(x) / G(x)

 

Si sólo se ha producido un error en la transmisión:         E(x) = xi        i = posición del error.

Para detectar errores de un bit, G(x) deberá tener más de un término.

¿Qué debe cumplir G(x) para detectar un número impar de errores?

Si E(x) tiene un número impar de términos, no tiene (x+1) como factor

entonces, si G(x) tiene a (x+1) como factor, E(x) no es divisible por G(x)

 

Polinomios más utilizados:

            CRC-12                      G(x) = x12 + x11 + x3 + x2 + x + 1

            CRC-16                      G(x) = x16 + x15 + x2 + 1

            CRC-CCITT               G(x) = x16 + x12 + x5  + 1

 

 Los polinomios de grado 16 son capaces de detectar ráfagas de error de hasta 16 bits.

 

 Control de Flujo

 El Control de flujo consiste en ajustar la tasa a la cual el transmisor envía datos con la tasa a la cual el receptor puede procesar.

Protocolo x-on / x-off

  • El funcionamiento correcto del protocolo, depende de las propiedades de transmisión del canal.

  • Mensaje suspend perdido => overflow.

  • Mensaje resume  perdido  => procesos bloqueados.

Se requiere solucionar los siguientes problemas:

  • Proteger contra problemas de overflow

  • Proteger contra la pérdida de mensajes

Protocolo de Reconocimiento Positivo con Retransmisión

  • El emisor envía un paquete y espera un mensaje de reconocimiento de parte del receptor, antes de enviar el siguiente paquete.

  • El emisor, después de enviar un paquete, activa un temporizador: si éste expira antes de la llegada del reconocimiento, el emisor retransmite el paquete.

Protocolos de Ventana Deslizante

  • Más eficiente

  • Aprovechamiento del ancho de banda de la red.

  • El emisor transmite un número determinado de paquetes antes de esperar el reconocimiento.

  • Este número está limitado por el tamaño de la ventana.

  • Un tamaño de ventana igual a 1 corresponde al protocolo de reconocimiento positivo.

  • Conforme el tamaño de ventana aumenta es posible eliminar el tiempo de ocio de la red completamente. En el estado de equilibrio, el emisor transmite paquetes a la misma tasa con la que la red los puede procesar, lo que implica que se obtiene un máximo desempeño de la red.

Otras consideraciones a tener en cuenta:

·      La transmisión ya no es simplex sino que se transmite información en ambos sentidos (duplex o semi-duplex)

·      Van a haber tramas de datos y reconocimiento mezcladas en el canal, para diferenciarlas se usará el campo clase.

·      Se usará una técnica de reconocimiento llamada PIGGIBACKING, consiste en enviar el reconocimiento junto a la trama de datos.

    Problema: si no hay tráfico de sentido inverso. Se deberá habilitar un temporizador para   esperar un cierto tiempo si hay datos para enviar, en caso contrario se enviará una trama de reconocimiento.

    Ventajas: al haber menos tramas se realizará un mejor uso del canal.

·      Todas las tramas están identificadas por un número de secuencia entre 0 y 2n-1.

·      Permiten el envío de varias tramas antes de que las estaciones se queden bloqueadas esperando el reconocimiento.

·      Las estaciones que utilizan estos protocolos mantienen una ventana de emisión (lista con los números de tramas enviadas por esa estación y que están pendientes de reconocimiento) y una de recepción.

 El hecho de enviar varias tramas antes de que se bloquee la estación implica el tener unos buffers con las tramas enviadas por si se deben volver a enviar, esto añade cierta complejidad a los protocolos.

La ventana de recepción contiene una lista con los números de secuencia de las tramas que puede aceptar la máquina receptora.

 

 Ejercicios:

  1. ¿Cómo determinar cada cuánto tiempo ocurre un error en los medios de transmisión?

  2. ¿Cuáles son los diferentes tipos de errores de transmisión? .

  3. ¿Cómo se detectan errores de transmisión conociendo los datos recibidos y el polinomio CRC utilizado? .

  4. ¿Cómo evitar o reducir la congestión en un canal de comunicación?

  5. ¿En qué casos se deben utilizar protocolos de ventana deslizante?

 


Inicio | Biografía | Cursos | Para pensar... | Para reflexionar... | Para reir | Enlaces

 
Profesor Gustavo Martínez Villalobos
Email: gustavo.martinez@unibague.edu.co
Facultad de Ingeniería de Sistemas, Coruniversitaria
Ibagué, Tolima, COLOMBIA