Post on 07-Aug-2018
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.