Tema1 comunicacion de datos

download Tema1 comunicacion de datos

of 15

Transcript of Tema1 comunicacion de datos

  • 8/19/2019 Tema1 comunicacion de datos

    1/38

    Comunicación de datos TEMA 2: Técnicas de comunicación

    de datos digitales

    Ingeniería en Telemática IV año.

    Universidad Nacional Autónoma de Nicaragua, León 

  • 8/19/2019 Tema1 comunicacion de datos

    2/38

    Objetivos

      Estudiar el comportamiento de la transmisión síncrona y asíncrona.

      Implementar códigos detectores y correctores de errores en la transmisión de datos.

    2

  • 8/19/2019 Tema1 comunicacion de datos

    3/38

    Introducción

      La transmisión de una cadena de bits desde un dispositivo a otro, a través de una línea de

    transmisión, implica un alto grado de cooperación entre ambos extremos

      Uno de los requisitos es la sincronización común en el receptor y el transmisor 

      El receptor debe saber la velocidad a la que se están recibiendo los datos, para que pueda

    muestrear la línea a intervalos constantes de tiempo y determinar cada uno de los bits

    recibidos

    3

  • 8/19/2019 Tema1 comunicacion de datos

    4/38

    Capa de enlace

      Es una capa lógica adicional sobre el nivel físico para controlar y gestionar el intercambio de

    información de un equipo a otro adyacente.   Objetivos:

      Sincronización de la trama.

      Control de flujo.

      Direccionamiento.

      Datos y control sobre el mismo enlace.

      Gestión del enlace.

      Los problemas de temporización requieren de mecanismo para sincronizar al transmisor y alreceptor.

      Dos soluciones:

      Transmisión Asíncrona

      Transmisión Síncrona

    4

  • 8/19/2019 Tema1 comunicacion de datos

    5/38

    Transmisión Asíncrona

      Es uno de los dos enfoques utilizado para resolver el problema de la sincronización

      El problema de la sincronización se evita no enviando cadenas de bit largas de forma

    ininterrumpida

      En su lugar, los datos se transmiten enviándolos carácter a carácter 

      La sincronización se debe mantener solamente durante la duración del carácter, ya que el

    receptor tiene la oportunidad de resincronizarse al principio de cada nuevo carácter 

    5

  • 8/19/2019 Tema1 comunicacion de datos

    6/38

    Transmisión Asíncrona

      Cada carácter se trata independientemente

      El primer bit de cada carácter es un bit de comienzo que alerta al receptor sobre la llegada

    del carácter 

      El receptor muestrea cada bit del carácter y busca el comienzo del siguiente

      Esta técnica puede que no funcione en bloques de datos excesivamente largos debido a que

    el reloj del receptor podría perder el sincronismo respecto al emisor.

      La duración de cada bit la deciden el transmisor y el receptor.

      Tiene un alto overhead, de 2 a 3 bits por cada carácter.

      Usada cuando los datos a transmitir son generados en forma aleatoria o esporádica. Por 

    ejemplo: teclado.

      La línea está ociosa en intervalos aleatorios.

    6

  • 8/19/2019 Tema1 comunicacion de datos

    7/38

    Transmisión Asíncrona

    7

    Bit

    de

    comienzo

    Bit

    P

    Elemento

    de parada

    (a) Formato de un carácter

    1

    0

    Estado de reposo

    de la línea 1 a 2 bitsde 5 a 8 bits de datos

    Impar, par o no

    utilizada

    Permanece en

    reposo o siguiente

    bit de comienzo

    Bit de

    comienzo

    011 1 0 0 0 1

    Elemento

    de parada

    Bit de

    comienzo

    0 11 0 11 0 0

    Elemento

    de parada

    Intervalo de tiempo impredecible

    entre dos caracteres

  • 8/19/2019 Tema1 comunicacion de datos

    8/38

    Transmisión Asíncrona

    8

  • 8/19/2019 Tema1 comunicacion de datos

    9/38

    111111111011 1

    Transmisión Asíncrona

    9

    Dirección de flujo

    0 11111011 1

    0 11111011 1 0 00010111 1 0

    Bit de inicio Bit de paradaDatos

    Intervalos entre unidades de datos

  • 8/19/2019 Tema1 comunicacion de datos

    10/38

    Transmisión Asíncrona

      Comportamiento:

      En un flujo estable, el intervalo entre caracteres es uniforme (la longitud de un elemento de

    parada).

      En estado pasivo, el receptor busca una transición de 1 a 0

      Luego muestrea los próximos 7 intervalos (la longitud del caracter)

      Luego busca el siguiente cambio de 1 a 0 que indicará el inicio del próximo caracter 

      Simple

      Barato

      Overhead de 2 a 3 bits por caracter (20%)

    10

  • 8/19/2019 Tema1 comunicacion de datos

    11/38

    Transmisión Síncrona

      La transmisión de datos en bloques grandes es más eficaz que la transmisión carácter a

    carácter 

      Cada bloque de datos forma una trama que incluirá, entre otros campos, los delimitadores

    de principio y de fin

      Al transmitir la trama se empleará alguna técnica de sincronización (Ej: Manchester)

      Cada bloque de bits se transmite como una cadena estacionaria sin utilizar códigos decomienzo o de parada

      El bloque puede tener una longitud de muchos bits

    11

  • 8/19/2019 Tema1 comunicacion de datos

    12/38

    Transmisión Síncrona

      Para prevenir la pérdida de sincronismo entre el emisor y el receptor, sus relojes se deberán

    sincronizar de alguna manera:

      Proporcionar la señal de reloj a través de una línea independiente

      Uno de los extremos enviará regularmente un pulso de corta duración

      El otro extremo utilizará esta señal a modo de reloj

     A distancias cortas esta técnica funciona bien, pero a distancias superiores puedenaparecer errores de sincronización

      Incluir la información relativa a la sincronización en la propia señal de datos

      En señalización digital, esto se puede llevar a cabo mediante la codificaciónManchester o Manchester diferencial

      Además se requiere de un nivel de sincronización adicional para que el receptor puedadeterminar dónde está el comienzo y el final de cada bloque de datos

      Para ello cada bloque comienza con un patrón de bits denominado preámbulo y termina conun patrón de bits denominado final

    12

  • 8/19/2019 Tema1 comunicacion de datos

    13/38

    Transmisión Síncrona

      Además se añaden otros bits que se utilizan en los procedimientos de control del enlace

      Al conjunto de bits formados por los datos más el preámbulo más los bits de final junto con lainformación de control se le denomina trama

      El receptor buscará la aparición del delimitador que determina el comienzo de la trama

      Este delimitador estará seguido por:

      Algunos campos de control

      El campo de datos (de long. variable)

      Más campos de control

      Y por último se repetirá el delimitador indicando el final de trama

    13

     Delimitador de

    8 bits

     Campos de

    control

     Campos de

    control

     Delimitador de

    8 bits

    Campo de datos

    Formato de una trama síncrona

    Preámbulo

    Final de la

    trama

  • 8/19/2019 Tema1 comunicacion de datos

    14/38

    Transmisión Síncrona

      Se necesita indicar el inicio y el fin de cada bloque de transmisión

      Se puede emplear un preámbulo y un final

      Ejemplo:

      Una serie de caracteres SYN (Hex 16)

      Un bloque de 11111111 y un patrón de 11111110 para el final   Un bloque de de 01111110 para cualquiera de los dos casos

      Más eficiente (tiene un menor overhead) que la transmisión asíncrona para tramas de más

    de 32 bits   Trama: datos + información de control

    14

  • 8/19/2019 Tema1 comunicacion de datos

    15/38

    Problema de transparencia

      No transparencia: Es cuando el nivel de enlace le dice al nivel de red: “me puedes enviar 

    cualquier cosa menos F” entonces el mecanismo no es transparente.

      Transparencia: El nivel de enlace no le debe limitar nada al nivel de red (el nivel de enlace es

    capaz de enviar cualquier dato del nivel de red)

      Para ello hacemos uso de caracteres de escape (ESC) (DLE, Data Link Escape)

      Inserción de un 0 después de 5 bits consecutivos de 1 de datos

      En el transmisor:

      Si encuentra una secuencia de 5 unos seguidos, inserta un 0 después de esta

    secuencia. De esta forma la única secuencia de seis 1 seguidos transmitida es F

      En el receptor:

      Si encuentra una secuencia de cinco 1 seguidos, elimina el 0 que viene después de

    la secuencia. Si encuentra una secuencia de seis 1 seguidos la interpreta como un

    guión

    15

  • 8/19/2019 Tema1 comunicacion de datos

    16/38

    Problema de transparencia

      Ejemplo:

      Si queremos transmitir la trama:

      1011011111101110111111111111001

      Realmente transmitimos:

      01111110  1011011111 0 10111011111 0 11111 0 11001

      01111110 

      Hemos insertado tres 0. La trama ha sido delimitada correctamente

      El receptor quitará los tres 0 insertados y obtendrá la trama original

      Aquí el problema es la pérdida de eficiencia ¿Por qué?

      En el peor de los casos (cuando todos los bit de la trama que queremos transmitir estén a 1)de cada 6 bits recibidos 5 serán útiles, entonces obtenemos una eficiencia de 5/6 (eficiencia

    = bits útiles/bits totales)

    16

  • 8/19/2019 Tema1 comunicacion de datos

    17/38

    Tipos de errores

      En los sistemas de transmisión digital se dice que ha habido un error cuando se altera un bit

      Existen dos tipos de errores:

      Errores aislados

      Corresponden con eventualidades que alteran un solo bit, sin llegar a afectar al resto

      Errores a ráfagas   Se dice que ha habido un ráfaga de longitud B cuando se recibe una secuencia de B

    bits en la que el 1ero, el último y cualquier número de bits intermedios son erróneos

      Un error aislado se puede dar en presencia de ruido blanco

      En cambio las ráfagas son más frecuentes y difíciles de tratar, estas pueden estar causadaspor ruido impulsivo

    17

  • 8/19/2019 Tema1 comunicacion de datos

    18/38

    Tipos de errores

      Detección de errores:

      Se lleva a cabo calculando un código en función de los bits de entrada

      El código se añade a los bits a transmitir 

      El receptor calcula el código en función de los bits recibidos y lo compara con el código

    recibido

      Corrección de errores:

      Opera de forma similar a la detección de errores

      Pero aquí será posible corregir ciertos errores en la secuencia de bits recibida

    18

  • 8/19/2019 Tema1 comunicacion de datos

    19/38

    Detección de errores

      Dada una trama de bits, se añaden bits adicionales por parte del transmisor para formar un

    código con capacidad de detectar errores

      Este código se calculará en función de los otros bits que se vayan a transmitir 

      Para un bloque de datos de k bits, el algoritmo de detección de errores utiliza un código de

    n - k bits, siendo (n - k) < k

      El código de detección de errores (bits de comprobación) se añade al bloque de datos paragenerar la trama de n bits de longitud, que será posteriormente transmitida

      El receptor separará la trama recibida en los k bits de datos y los (n - k) bits

    correspondientes al código de detección de errores

      El receptor realizará el mismo cálculo sobre los bits de datos recibidos y comparará el

    resultado con los bits recibidos en el código de detección de errores

      Se detectará un error si, y solamente si, los dos resultados no coinciden

    19

  • 8/19/2019 Tema1 comunicacion de datos

    20/38

    Detección de errores

    20

  • 8/19/2019 Tema1 comunicacion de datos

    21/38

    Detección de errores

    21

    Transmisor

    Receptor

    Datos

    K  bits

    E = f(data)

    Datos

    n- k bits

    nbits

    Datos´

    E´ = f(data´) COMPARA

    R

    Procedimiento para detectar errores

  • 8/19/2019 Tema1 comunicacion de datos

    22/38

    Comprobación de paridad

    22

      Consiste en añadir un bit de paridad al final de cada bloque de datos

      EL valor de este bit se determina de tal forma que el carácter resultante tenga un número

    impar de unos (paridad impar) o un número par (paridad par)

      Ejemplo:

      Utilizando paridad impar 

    1 1 1 1 0 0 0 1 0

    Bit de paridadTransmisor Receptor  

    1 1 0 1 0 0 0 1 0

    Bit de paridad

    ¿Cuántos unos hay?

    ¿Es par?

    ¿Es impar?

    COMPARAMOS

    ERROR

  • 8/19/2019 Tema1 comunicacion de datos

    23/38

    Comprobación de paridad

    23

      Si dos (o cualquier número par) de bits se invierten debido a un error, aparecerá un error no

    detectado

      Normalmente se utiliza paridad par para la transmisión síncrona y paridad impar para la

    asíncrona

  • 8/19/2019 Tema1 comunicacion de datos

    24/38

    La paridad de bloque

    24

      También pude ser par o impar. Se trata de organizar la información por bloques,

    componiendo una tabla de m x m bits. A continuación se extraen los bits de paridad por filasy por columnas. Por último se envían por la línea de transmisión, junto con los bits

    constitutivos del mensaje, los bits de paridad calculados.

      La paridad por bloques no sólo detecta, sino que además sabe dónde se ha producido el

    error, que corresponderá a la intersección de la fila y la columna en los que falló la paridad,

    con lo cual el receptor podrá codificar el BIT erróneo. La paridad es un método que en casossencillos no sólo permite detectar sino corregir errores.

  • 8/19/2019 Tema1 comunicacion de datos

    25/38

    Código de redundancia cíclica (CRC)

    25

      Uno de los códigos para la detección de errores más habitual y más potente son los de

    comprobación de redundancia cíclica   Funcionamiento:

      Dado un bloque o mensaje de k bits, el transmisor genera una secuencia de (n – k) bits,denominada secuencia de comprobación de trama (FCS, Frame Check Sequence), de talmanera que la trama resultante, con n bits, sea divisible por algún número

    predeterminado   El receptor dividirá la trama recibida entre ese número y si no hay resto en la división,

    supondrá que no ha habido errores

      Algunas definiciones:

      T = trama de n bits a transmitir 

      M = mensaje con k bits de datos, correspondientes con los primeros k bits de T

      F = (n - k)bits de FCS, los últimos (n - k)bits de T

      P = patrón de n – k + 1 bits; éste es el divisor elegido

  • 8/19/2019 Tema1 comunicacion de datos

    26/38

    Código de redundancia cíclica (CRC)

    26

      Ejemplo: [Usando Aritmética de módulo 2]

      La aritmética de modulo 2 hace uso de sumas binarias sin acarreo (igual que XOR)

      Sean:

      mensaje D = 1010001101 (10 bits)

      patrón P = 110101 (6 bits)

      FCS R = a calcular 

  • 8/19/2019 Tema1 comunicacion de datos

    27/38

    Corrección de errores

    27

      La detección de errores es una técnica útil

      Esta técnica se incorpora en la mayoría de los protocolos de control del enlace (HDLC, High

    level Data Link Control), al igual que en los protocolos de transporte (TCP)

      ¿Qué es lo malo de la detección de errores?

      Necesitamos solicitar retransmisiones al emisor para que se nos envíen nuevamente los

    datos (que nos habían llegado erróneos)

      Apliquemos esto a enlaces satelitales (Aquí el retardo de propagación es muy elevado)

      En enlaces de datos de gran longitud, un error en una trama aislada requerirá, la

    retransmisión de muchas tramas

      ¿Qué necesitamos, para solventar lo anterior?

      Sería deseable habilitar al receptor para que fuera capaz de corregir errores usando

    exclusivamente los bits recibidos en la transmisión

  • 8/19/2019 Tema1 comunicacion de datos

    28/38

    Corrección de errores

    28

    Transmisor 

    Datos

    K bits

    Codificador

    FEC

    Palabra - código

    n bits

    Receptor 

    Palabra - código

    Decodificador

    FEC

    Datos

       S   i  n

      e  r  r  o  r  e  s

       0

      e  r  r  o  r  e  s  n  o

      c  o  r  r  e  g   i   b   l  e  s

       E  r  r  o  r  e  s   d  e  t  e  c  t  a   b

       l  e  s

      p  e  r  o 

      n  o 

      c  o  r  r  e  g   i   b

       l  e  s

  • 8/19/2019 Tema1 comunicacion de datos

    29/38

    Corrección de errores

    29

      FEC = Forward Error Correction

      Para cada bloque de datos de k bits se genera uno de n bits (n > k) denominado palabra

    código, que es transmitido

      La señal es capturada, para obtener una cadena de bits similar a la palabra código original,

    pero posiblemente con errores

      Este bloque se pasa al decodificador FEC

      Si no ha habido errores, las palabras código son idénticas, se genera el bloque de datos

    original

      Las palabras códigos son diferentes, pero el decodificar FEC corrige los errores

      Las palabras códigos son diferentes, pero el decodificar FEC no puede corregir loserrores

      Las palabras códigos son diferentes, pero el decodificar FEC no detecta la ocurrencia los

    errores

  • 8/19/2019 Tema1 comunicacion de datos

    30/38

    Corrección de errores

    30

      ¿Cómo es posible que el decodificador corrija los bits erróneos?

      La corrección de errores funciona añadiendo redundancia al mensaje transmitido

      La redundancia hace posible que el receptor deduzca cuál fue el mensaje original

      Para ello necesitamos incluir suficiente información redundante en cada bloque de datostransmitidos para que el receptor pueda deducir lo que debió ser el carácter transmitido

      Para esto necesitamos utilizar una estrategia conocida como códigos de corrección de errores,el uso de códigos de corrección de errores usualmente se conoce como corrección de erroreshacia adelante

      ¿Dónde debemos utilizar corrección de errores y donde detección de errores?

      En los canales que son altamente confiables, como los de fibra óptica, es más económicoutilizar un código de detección de errores y simplemente retransmitir los bloques defectuosos

    que surgen ocasionalmente   En los canales que causan muchos errores, como los enlaces inalámbricos, es mejor agregar 

    la redundancia suficiente a cada bloque para que el receptor pueda descubrir cuál era elbloque original transmitido, en lugar de confiar en una retransmisión que también podría tener errores

  • 8/19/2019 Tema1 comunicacion de datos

    31/38

    Corrección de errores

    31

      Para entender la manera en que pueden manejarse los errores, es necesario entender lo

    que es en realidad un error 

      Por lo general una trama consiste en m bits de datos y r bits redundantes (verificación)

      La longitud total de esa trama es de n bits (donde, n = m + r)

      A una trama de n bits que contiene datos y bits de verificación se le conoce como palabra

    codificada de n bits

    Datos Redundancia

    m bits   r  bits

    n bits = m bits + r  bits

    Palabra codificada de

    n bits

  • 8/19/2019 Tema1 comunicacion de datos

    32/38

    Corrección de errores

    32

      Ejemplo:

      Dadas dos palabras codificadas cualesquiera, digamos 10001001 y 10110001

      Es posible determinar ¿En cuántos bits difieren estas dos palabras?

      La cantidad de posiciones de bits en la que difieren 2 palabras codificadas se llama

    distancia de Hamming

      Si dos palabras codificadas están separadas una distancia de Hamming d, se requerirán d

    errores de un bit para convertir una en la otra

    1 0 0 0 1 0 0 1

    1 0 1 1 0 0 0 1

    I I D D D I I I

    =

    10001001

    XOR 10110001

    00111000

    Difieren en tres bitsLa cantidad de bits a 1 en el resultado indica en

    cuanto difieren estas 2 palabras

  • 8/19/2019 Tema1 comunicacion de datos

    33/38

    Corrección de errores

    33

      Consideremos una técnica de código de bloque para corregir errores

      Se quiere transmitir un bloque de datos con longitud k bits

      En lugar de transmitir cada bloque de k bits, se asigna a cada secuencia de entrada una única palabra código de nbits

      Para k = 2 y n = 5 se pueden realizar las siguientes asignaciones:

    Bloque de datos Palabra código

    00 00000

    01 0011110 11001

    11 11110

      Supongamos que recibimos la siguiente palabra código: 00100 (No es una palabra código válida)

      El receptor detecta un error 

      ¿Puede ese error ser corregido?

      Para convertir la palabra código 00000 en 00100 sólo se necesita alterar 1 bit

      Para convertir la palabra código 00111 en 00100 se necesitarían alterar 2 bits

      Para convertir la palabra código 11110 en 00100 se necesitarían alterar 3 bits

      Para convertir la palabra código 11001 en 00100 se necesitarían alterar 4 bits

  • 8/19/2019 Tema1 comunicacion de datos

    34/38

    Corrección de errores

    34

      Se podría deducir que la palabra código enviada más probable fue 00000 y que por ende el bloque recibido es00

      Esto es básicamente una corrección de errores

    d(00000, 00100) = 1; d(00111, 00100) = 2;

    d(11001, 00100) = 4; d(11110, 00100) = 3;

      La regla es que si se recibe una palabra código inválida, entonces se selecciona la palabra código válida máscercana (a distancia mínima)

      ¿Qué pasa con la siguiente palabra código inválida?

      01010

    d(00000, 01010) = 2; d(00111, 01010)= 3;

    d(11001, 01010)= 3; d(11110, 01010)= 2;

      Aquí el receptor no tendría forma de elegir entre las dos alternativas (Se detecta el error pero no se corrige)   REGLA: Esto sólo funciona si hay una única palabra código a la distancia mínima para cada palabra inválida

      Se corrige cualquier error simple, y se detecta cualquier error doble.

  • 8/19/2019 Tema1 comunicacion de datos

    35/38

    Interfaz de comunicación Características

    35

      Mecánica

      Entrada de conexión

      Electrica

      Voltaje, codificación , sincronismo

      Funcionales

      Envío de datos, control, sincronización

      De procedimiento

      Secuencia de eventos

  • 8/19/2019 Tema1 comunicacion de datos

    36/38

    Interfaz RJ45

    36

      Ethernet es una tecnología de transmisión a alta velocidad para redes de área local

    utilizando un medio compartido. Permite transmitir información a velocidades de 10Mbps(Ethernet) y de 100Mbps (Fast Ethernet).

      El interfaz 10BASET proporciona una velocidad de transmisión de 10 Mbps sobre dos pares

    de cable trenzado de categoria 3 o superior según norma TIA/EIA 568-A. Uno de los pares

    se utiliza para la transmisión de datos y el otro para la recepción. El conector utilizado es de8 pins tipo RJ45. El interfaz proporcionado soporta los modos de funcionamiento half-duplex

    y full-duplex.

    I f RJ45

  • 8/19/2019 Tema1 comunicacion de datos

    37/38

    Interfaz RJ45

    37

      Las siglas RJ-45 significa ("Registred Jack 45") ó Conector 45 registrado. Es un conector de

    forma especial con 8 terminales, que se utilizan para interconectar computadoras y generar redes de datos de área local (LAN - red de computadoras cercanas interconectadas entre

    sí). Se les llama puertos porque permiten la transmisión de datos entre un la red (periférico),

    con las computadoras.

      Especificaciones

    Mecánica - Funcional

    I t f RJ45

  • 8/19/2019 Tema1 comunicacion de datos

    38/38

    Interfaz RJ45

    38

      Especificaciones eléctricas:

      La codificación Manchester, también denominada codificación bifase-L, es un método de

    codificación eléctrica de una señal binaria en el que en cada tiempo de bit hay una

    transición entre dos niveles de señal. Es una codificación autosincronizada, ya que en

    cada bit se puede obtener la señal de reloj, lo que hace posible una sincronización

    precisa del flujo de datos. Una desventaja es que consume el doble de ancho de banda

    que una transmisión asíncrona.

      Para representar un 1, la tarjeta de red emite un voltaje en forma de señal cuadrada que

    baja de +0,85V a −0,85V. El 0 se representa con una señal que sube de −0,85V a

    +0,85V.

      La no-transmisión (idle) puede ser reconocida fácilmente cuando el voltaje en la línea es

    0.