Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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
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
0 11111011 1
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
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
1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0
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
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
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?
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