Comunicaciones y
Redes
Aspectos de diseño de la capa de enlace de
datos, detección y corrección de errores
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Agenda


Introducción
Cuestiones de diseño de la capa de enlace de
datos
 Servicios
proporcionados a la capa de red
 Entramado
 Control de errores
 Control de flujo

Detección y corrección de errores
 Códigos
Asp. Diseño, Det. & Corr. de
errores (C.E.)
de detección de errores
Introducción
Estudio de los mecanismos para lograr
una comunicación confiable y eficiente
entre máquinas adyacentes en la capa de
enlace de datos.
 El problema a primera vista es trivial
pero……..

Asp. Diseño, Det. & Corr. de
errores (C.E.)
Cuestiones de diseño de la capa de
enlace de datos

Las funciones básicas del nivel son:
 Proporcionar
una interfaz de servicio bien
definido con la capa de red.
 Manejar los errores de transmisión
 Regular el flujo de datos para que receptores
lentos no sean saturados por emisores
rápidos.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Cuestiones de diseño de la capa de enlace de datos
Servicios proporcionados a la capa
de red

La función de la capa de enlace de datos es suministrar
servicios a la capa de red.
Asp. Diseño, Det. & Corr. de
(a)
errores (C.E.)
Comunicación virtual (b) Comunicación real
Cuestiones de diseño de la capa de
enlace de datos
Relación entre los paquetes y las tramas
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Cuestiones de diseño de la capa de enlace de datos
Servicios proporcionados a la capa
de red
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Ubicación del protocolo de enlace de datos
Cuestiones de diseño de la capa de enlace de datos
Servicios proporcionados a la capa
de red

La capa de enlace de datos puede diseñarse
para ofrecer varios tipos de servicios.
 Servicios
no orientados a la conexión sin confirmación
de recepción. (Tráfico en tmp. real)
 Servicios no orientados a la conexión con
confirmación de recepción. (Canales inestables)
 Servicios orientados a la conexión con confirmación
de recepción.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Cuestiones de diseño de la capa de enlace de datos
Entramado
La capa física acepta un flujo de bits
puros, no se garantiza que el flujo este
libre de errores.
 El método común es que la capa de
enlace de datos divida el flujo de bits en
tramas separadas y que se calcule la
suma de verificación de cada trama.

Asp. Diseño, Det. & Corr. de
errores (C.E.)
Cuestiones de diseño de la capa de enlace de datos
Entramado

Puesto que es demasiado riesgoso
depender de la temporización para
marcar el inicio y el fin de cada trama, se
han diseñado otros métodos. Entre los
cuales veremos:
Conteo de caracteres
2. Banderas, con relleno de caracteres.
3. Banderas de inicio y fin, con relleno de bits.
1.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Cuestiones de diseño de la capa de enlace de datos
Entramado

Conteo de caracteres
Asp. Diseño, Det. & Corr. de
errores (C.E.)
(a) Sin errores (b) Con un error
Cuestiones de diseño de la capa de enlace de datos
Entramado

Banderas con relleno de caracteres: Cada trama inicia y
termina con caracteres especiales.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Cuestiones de diseño de la capa de enlace de datos
Entramado

Una desventaja del método anterior es que esta
fuertemente atada a caracteres de 8 bits , pero
por ejemplo en UNICODE los caracteres son de
16 bits. La técnica con relleno de bits admiten
tramas con un número arbitrario de bits y admite
códigos de caracteres con un número arbitrario
de bits.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Cuestiones de diseño de la capa de enlace de datos
Entramado

Bandera con relleno de bits
 Se
utiliza un patrón especial de bits (01111110)
 Funciona de la misma manera que el relleno de
caracteres
 Una vez detectados 5 bits en 1 en los datos se
inserta un bit 0
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Cuestiones de diseño de la capa de enlace de datos
Entramado
(a) Los datos originales (b) Los datos, según aparece en la línea (c) Los
datos, como se guardan en el receptor tras eliminar el relleno.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Cuestiones de diseño de la capa de enlace de datos
Control de errores



Resuelto el problema de inicio y fin de trama, se
llega al siguiente problema y es como asegurar
que le entrega de las tramas sea confiable.
Detectar y/o corregir errores en la trama
Dar retroalimentación al emisor.
 Problema:
Y si se pierden las tramas.
(Temporizadores o delegar de esto a las capas
superiores).

Problema: Es posible que las tramas lleguen repetidas.
(Números de secuencia).
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Cuestiones de diseño de la capa de enlace de datos
Control de flujo

Básicamente hay dos métodos:
 Control
de flujo basado en la
retroalimentación: El receptor regresa
información al emisor autorizándolo para
enviar más datos o indicándole su estado.
 Control de flujo basado en la tasa: Proveer un
mecanismo en el protocolo que indica la tasa
a la que el emisor puede transmitir datos.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores

Para el manejo de errores se han diseñado
básicamente dos técnicas
 Incluir
suficientemente información redundante en
cada bloque para permitir que el receptor sepa que
ha ocurrido un error. (Técnicas de códigos de
detección de errores)
 Además
de incluir información redundante para
detectar el error, la información extra sirve para
corregir. (Técnicas de códigos de corrección de
errores)
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores
Para entender la manera de manejar
errores, es necesario estudiar de cerca lo
que es un error.
 Una trama consiste en m bits de datos y r
bits redundantes o de verificación.
Entonces sea la longitud total n = m + r.
 A esta unidad se le llama palabra
codificada.

Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores

Dadas dos palabras codificadas
cualesquiera, 10001001 y 10110001, de
que manera (operador booleano) es
posible determinar cuántos bits
correspondientes difieren.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores
Se utiliza el OR exclusivo (XOR).
10001001
10110001
------------00111000
La cantidad de posiciones de bits en la que
difieren dos palabras codificadas se llama
Distancia de Hamming.

Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores


Los 2^m mensajes de datos posibles son legales, pero
debido a la forma como se calculan los bits de
verificación no se usan todas las 2^n palabras
codificadas posibles.
Dado el algoritmo de verificación es posible construir
una lista completa (2^m) de palabras codificadas legales
y encontrar, en esta lista, las dos palabras codificadas
cuya distancia de Hamming es mínima. Esta es la
distancia de Hamming para todo el código.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores


Para detectar d errores se necesita un código
con distancia d + 1, pues no hay manera que d
errores de un bit puedan cambiar una palabra
codificada válida en otra.
Para corregir d errores se necesita un código
con distancia 2d + 1,pues así las palabras
codificadas legales están tan separadas que,
aun con d cambios, la palabra codificada
original esta tan cerca que cualquier otra
palabra codificada legal.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores



Ejemplo: Se tiene un solo bit de paridad
(par o impar)
Cuando se envía 1011010 con paridad par,
se agrega un bit al final que sumando la
cantidad de bits en 1 sea la cantidad par.
Resultado 1011010 (4bits en 1) entonces
queda 1011010 + 0.
Un solo bit de paridad ofrece una distancia
de 2 entre palabras código legales
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores



Ejemplo 2: Teniendo las siguientes cuatro palabras
codificadas válidas, indicar:
Distancia del código.
Cuantos errores se pueden corregir?.
0000000000
0000011111
1111100000
1111111111
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores
Distancia 5:
 XOR entre 0000000000 y 0000011111 da
5 bits.
 5 = 2d + 1 d = 2 (Se pueden corregir hasta
dos bits),

Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores

Si se busca diseñar un código con m bits
de mensaje y r bits de verificación que
permite la corrección de todos los errores
individuales, se necesita:
(n+1)2^m <= 2 ^n
Siendo n = m + r
(m + r +1) <= 2 ^r
Si m es 5 cuanto bits r necesitamos:
6 + r < = 2 ^r (r igual a 4)
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores



El método para corregir los errores utilizado es
(De Hamming):
Los bits de la palabra codificada se numeran en
forma consecutiva , comenzando con el bit 1 a
la izquierda.
Los bits que son potencia de 2 (1,2,4,….) son de
verificación y el resto (3,5,….) son de datos.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores

Se va a transmitir 1 – 0 – 1 – 1 (datos),
por ahora aceptamos que se necesitan 3
bits de verificación, entonces:
_______
12 34567
Las posiciones de los bits de verificación son en el
ejemplo 1: 1,2 y 4 y de datos 3,5,6 y 7.
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores

1
2
4
Suponiendo paridad par, para calcular el valor de cada
bit de paridad se hace:
3
1
1
5
0
0
6
1
1
7
1
1
1
PP
0
1
0
Los bits redundantes que ayudan a corregir un bit de datos
son los que hacen parte de una suma que de la posición
del dato. Ejemplo para el 3 ( 1 + 2)
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores

La información se transmite así:
0 1
1
0
0
1
1.
Ahora para corregir errores se hace:
Suponga que se transmite 0110011 pero
llega 0110111, entonces para corregir el
proceso es:
Asp. Diseño, Det. & Corr. de
errores (C.E.)
Detección y corrección de errores
Códigos de corrección de errores

1
2
4
Llega
3
1
1
0110111
1234567 (Posiciones)
5
1
1
6
1
1
7
1
1
1
PP
0 (Error)
1 (Ok)
0(Error)
La suma de las posiciones donde están los bits de paridad
mal indican la posición del bit que tiene el error.
(1+4) = 5 (Posición que no es 1 sino un 0)

Asp. Diseño, Det. & Corr. de
errores (C.E.)
Descargar

La capa de enlace de datos