Está en la página 1de 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
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
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
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 al


receptor.
 Dos soluciones:
 Transmisión Asíncrona
 Transmisión Síncrona

4
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
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
Transmisión Asíncrona

Permanece en
Impar, par o no reposo o siguiente
Estado de reposo utilizada bit de comienzo
de la línea de 5 a 8 bits de datos 1 a 2 bits
0
Bit Bit Elemento
de P de parada
1 comienzo
(a) Formato de un carácter

Intervalo de tiempo impredecible


entre dos caracteres

Bit de Elemento Bit de Elemento


comienzo de parada comienzo de parada

1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 0

7
Transmisión Asíncrona

8
Transmisión Asíncrona

Dirección de flujo

Bit de inicio Bit de parada


Datos

0 11111011 1

11111011 1 0 11111011 1 0 00010111 1 0 1111

Intervalos entre unidades de datos

9
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
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 de
comienzo o de parada
 El bloque puede tener una longitud de muchos bits

11
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 pueden
aparecer 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ón
Manchester o Manchester diferencial
 Además se requiere de un nivel de sincronización adicional para que el receptor pueda
determinar 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 con
un patrón de bits denominado final

12
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 la
información de control se le denomina trama
Final de la
Preámbulo trama

Delimitador de Campos de Campos de Delimitador de


Campo de datos
8 bits control control 8 bits

Formato de una trama síncrona


 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
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
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
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
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 causadas
por ruido impulsivo

17
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
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 para
generar 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
Detección de errores

20
Detección de errores

K bits

Datos
Datos´

E = f(data)

E´ = f(data´) COMPARA
R

Datos Receptor
n- k bits
n bits

Transmisor
Procedimiento para detectar errores

21
Comprobación de paridad
 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

Bit de paridad Bit de paridad


Transmisor Receptor

1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0

¿Cuántos unos hay?


¿Es par? COMPARAMOS
¿Es impar?

ERROR
22
Comprobación de paridad
 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

23
La paridad de bloque
 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 filas
y 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 casos
sencillos no sólo permite detectar sino corregir errores.

24
Código de redundancia cíclica (CRC)
 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 tal
manera 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

25
Código de redundancia cíclica (CRC)
 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

26
Corrección de errores
 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

27
Corrección de errores

K bits

Datos Palabra - código

Codificador Decodificador
FEC

pero no corregibles
Errores detectables
FEC

0 errores no
Sin errores

corregibles
Palabra - código
n bits
Datos
Receptor
Transmisor

28
Corrección de errores
 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 los
errores
 Las palabras códigos son diferentes, pero el decodificar FEC no detecta la ocurrencia los
errores

29
Corrección de errores
 ¿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 datos
transmitidos 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 errores
hacia 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ómico
utilizar 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 el
bloque original transmitido, en lugar de confiar en una retransmisión que también podría tener
errores

30
Corrección de errores
 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

n bits = m bits + r bits


m bits r bits Palabra codificada de
n bits
Datos Redundancia

31
Corrección de errores
 Ejemplo:
 Dadas dos palabras codificadas cualesquiera, digamos 10001001 y 10110001
 Es posible determinar ¿En cuántos bits difieren estas dos palabras?

1000 1001 10001001


1011 0001 = XOR 10110001
I IDDDI I I 00111000
La cantidad de bits a 1 en el resultado indica en
Difieren en tres bits cuanto difieren estas 2 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

32
Corrección de errores
 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 n
bits
 Para k = 2 y n = 5 se pueden realizar las siguientes asignaciones:
Bloque de datos Palabra código
00 00000
01 00111
10 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

33
Corrección de errores
 Se podría deducir que la palabra código enviada más probable fue 00000 y que por ende el bloque recibido es
00
 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ás
cercana (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.

34
Interfaz de comunicación Características
 Mecánica
 Entrada de conexión
 Electrica
 Voltaje, codificación , sincronismo
 Funcionales
 Envío de datos, control, sincronización
 De procedimiento
 Secuencia de eventos

35
Interfaz RJ45
 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 de
8 pins tipo RJ45. El interfaz proporcionado soporta los modos de funcionamiento half-duplex
y full-duplex.

36
Interfaz RJ45
 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

37
Interfaz RJ45
 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.

38

También podría gustarte