Publicado el 6 de Abril del 2019
792 visualizaciones desde el 6 de Abril del 2019
564,3 KB
80 paginas
Creado hace 19a (10/06/2005)
Capítulo 3
La Capa de Enlace
Autor: Santiago Felici
Fundamentos de Telemática
(Ingeniería Telemática)
1
Sumario
• Funciones de la capa de enlace
• Control de errores
• Control de flujo
• Protocolos de la capa de enlace
• Protocolos de nivel de enlace: SDLC/HDLC y
PPP
• Ejemplos de tecnologías de capa 1 y 2 (protocolos
WAN): X.25, Frame-Relay, ATM
2
Provee el
control de la
capa física
Capa de Enlace
Datos de la capa
superior
Detecta y/o corrige
Errores de
transmisión
Driver o controlador del
dispositivo de
comunicaciones
Capa 2
Capa 2
Implementa
control de flujo en
el envío de la
información
3
Comparación de modelos OSI, TCP/IP e híbrido
Aplicación
Presentación
Sesión
Transporte
Red
Enlace
Física
OSI
Aplicación
Aplicación
e
r
a
w
t
f
o
e S
r
a
w
m
r
i
F
Transporte
Transporte
Internet
Host-red
Red
Enlace
LLC
MAC
Física
e
r
a
w
d
r
a
H
TCP/IP
WAN
Híbrido
LAN
Host-Red o también conocida como de “Acceso a la Red”
4
o
i
r
a
u
s
u
e
d
.
r
g
o
r
P
o
v
i
t
a
r
e
p
O
.
t
s
i
S
Esquema de conexión para
Enlace de Datos
Objetivo: transmisión fiable de tramas entre
equipos directamente conectados.
DTE
Controlador de
Comunicaciones
Fuente o
colector
de Datos
DCE
Módem
RTB
DCE
Módem
DTE
Controlador de
Comunicaciones
Fuente o
colector
de Datos
RTB: red telefónica básica o analógica (tradicional)
5
Enlace de Datos
Acceso a un servidor Web a través de una
conexión remota
Capa
5
4
3
2
1
Aplicación
Transporte
Red
Enlace
Física
HTTP
TCP
IP
PPP
V.35
Aplicación
Transporte
Red
Enlace
Física
IP
IEEE
802.5
IEEE
802.5
Red
Enlace
Física
IP
IEEE
802.3
IEEE
802.3
Red
Enlace
Física
Cliente
LAN
Ethernet
WAN
LAN
Token Ring
Servidor
6
PPP: Point to Point Protocol
Funciones de la capa de enlace
• Obligatorias:
– Identificar tramas (agrupación de bits que se
intercambia a nivel de enlace)
– Detección de errores
• Opcionales (servicio orientado a conexión):
– Control de flujo
– Corrección de errores
7
Técnicas de identificación de tramas
Las tramas se delimitan por diferentes métodos:
• Contador de caracteres; posibles problemas por pérdida
de sincronismo.
• Caracteres de inicio y final con caracteres de relleno.
Normalmente ASCII “DLE” “STX” para inicio y “DLE”
“ETX” para final, con DLE de relleno.
• Secuencia de bits indicadora de inicio y final, con bits de
relleno; normalmente 01111110 (0x7E); si en los datos
aparecen 5 bits seguidos a 1 se intercala automáticamente
un 0.
• Violaciones de código a nivel físico.
Códigos ASCII: DLE (0x1C) data link escape, STX (0x02)
start text, ETX(0x03) end text.
8
Ejemplo de bit de relleno para evitar el código 0x7E
=(a)
9
Sumario
• Funciones de la capa de enlace
• Control de errores
• Control de flujo
• Protocolos de la capa de enlace
• Protocolos de nivel de enlace: SDLC/HDLC y
PPP
• Ejemplos de tecnologías de capa 1 y 2 (protocolos
WAN): X.25, Frame-Relay, ATM
10
Códigos y distancia Hamming
• Los datos a enviar se codifican en un formato especial (códigos), que
consiste normalmente en añadir información adicional (overhead) al
final. Es decir, que si los datos son “k” bit y se añaden “n-k” bit
adicionales, enviando “n” bits, n=k+(n-k). Este tipo de código se
conoce como códigos bloque (n,k) con n>k, que operan bloque de bits
a bloque de bits
• Con “k” bit las combinaciones en la fuente de posibles códigos son 2k
y con “n” bit, son 2n. El objetivo de la codificación es hacer
corresponder unívocamente a cada uno de los 2k un único valor de los
2n.
• En una transmisión, pueda ser que alguno de los “n” bit se alteren, por
tanto, si los errores introducidos (bit erróneos) hacen que el código sea
uno de los 2n- 2k, podremos saber que existe error.
• Se llama distancia Hamming (llamada “d”), el mínimo número de
bits diferentes que pueden tener dos códigos.
11
Códigos (n,k)
2n
Grupos de k bits de información
2k
2k
Grupos codificados con n bits
2n -2k:
combinaciones
de códigos
asociados a error
12
Códigos de control de errores
• Los códigos en función de la distancia de Hamming (d) pueden
ser:
– Detectores: sólo permiten detectar “d-1” errores , p. ej. CRC
(Cyclic Redundancy Check). Este tipo de códigos se llaman
BEC Backward Error Correction, de forma que tienen que
solicitar al emisor, hacia atrás (back) el reenvío.
– Correctores: permite corregir “(d-1)/2” errores . Este tipo
de códigos también se llaman FEC del inglés Forward Error
Correction. p. ej. RS (Reed-Solomon).
• Ejemplo: si la distancia de Hamming es 5, podremos detectar 4
errores per corregir sólo 2.
• Los códigos detectores tienen menos overhead, pues necesitan
incorporar menos redundancia.
• Los códigos correctores se utilizan bien en conexiones simplex,
bien en multicast o bien en tiempo real.
• La redundancia de un código se define como=(n-k)/n
13
Ejemplo de código detector basado en paridad impar
Si a nuestro código (bloques de 2 bits) introducimos paridad
impar, es decir añadimos un bit para obtener un número
impar de 1s, la distancia Hamming obtenida es de 2, y por
tanto sólo podemos detectar un bit erróneo.
Bloques códigos
00-> 001
01-> 010
10-> 100
11-> 111
000->error
001->00
010->01
011->error
100->10
101->error
110->error
111->11
Combinaciones con 3 bits,
tamaño del código, de forma
son palabras bloque aquellas
que estén codificadas
correctamente
14
Ejemplo de código corrector
Supongamos la codificación basada en 4 códigos de 10 bits:
00000 00000, 00000 11111, 11111 00000, 11111 11111.
Este código tiene una distancia Hamming de 5, por lo cual
puede corregir errores dobles.
Si recibimos 00000 00111, con un doble error, por tanto la
palabra código válida más próxima sería 00000 11111.
Si recibimos 00000 00111, con un triple error, es decir
proveniente de 00000 00000, no se podría corregir.
15
Tasa de errores (BER)
• La tasa de errores de un medio de transmisión se
mide por la BER (Bit Error Rate) que se define
como:
BER = bits erróneos / bits transmitidos
BER típico
Medio físico
Fibras ópticas
LANs de cobre, Radioenlaces
fijos (microondas)
Enlaces telefónicos, satélite,
ADSL, CATV
GSM
< 10-12
< 10-8
<10-5
>10-5
Pregunta: si en GSM transmitidos a 9600 bps y BER= 10-5,
¿cuánto tiempo tiene que pasar para que falle un bit?
16
Estrategias de control de errores en
la capa de Enlace
El propio BER del canal me determina el tipo de código a utilizar, si
corrige/detecta 1, 2 o 3 bits.
Las estrategias utilizadas son:
• Tasa de error baja/muy baja: código detector sin reenvío de tramas
erróneas (si acaso se hará a nivel de transporte): BEC (backward error
correction)
• Tasa de error alta/muy alta: código detector con reenvío de tramas
erróneas. El reenvio ralentiza el proceso de comunicación, no
aconsejable para tiempo real: : BEC (backward error correction)
• Tasa de error alta/muy alta con canal simplex o envío broadcast (p. ej.
TV digital): código corrector: : FEC (forward error correction)
Ejemplo, un RS (ReedSolomon) con 10% de overhead puede mejorar el
BER en 10-4 (p. ej. de 10-5 a 10-9)
17
Control/detección de errores
• Los medios de Transmisión son fuentes de ruido
que degeneran la señal procedente del emisor
• La subsanación de dichos errores se puede realizar
en diferentes niveles:
– NIVEL DE ENLACE:
• El emisor envía información adicional en la trama enviada al
nivel inferior junto con los datos recibidos de los niveles
superiores.
– Bits de PARIDAD (Horizontal, Vertical)
– Bits de CRC (Código de Redundancia Cíclica)
– NIVELES SUPERIORES: Checksum
18
Paridad horizontal
• Esta técnica es muy simple de implementar, pero
poco robusta, se llama paridad PAR ó paridad
IMPAR. Con ello se consigue distancia Hamming
de 2.
Ejemplo: cada carácter ASCII se compone de 8 bits
0x61 --> 0110 0001
• SI paridad par ----> deben ir número pares de 1’s
– 01100001 1
• SI paridad impar ----> deben ir número impares de 1’s
– 01100001 0
19
Paridad vertical
• Esta técnica es para evitar ráfagas de error en la
transmisión de grandes bloques
Ejemplo: a cada cadena de caracteres ASCII de una trama
se le asocia una paridad (par/impar) (paridad
horizontal) y tras ello, se le asocia paridad a todos los
bits de mismo peso de la trama (paridad vertical)
1
01100011
1
00101011
1
01001110
11111001 0
Ej: paridad impar en horizontal y
vertical
Nota: tiene la posibilidad de corregir un bit erróneo, detectado por
fila y columna
20
CRC: Cyclic Redundancy Check (1/2)
• Se utiliza un algoritmo matemático basado en álgebra modular y su
implementación se realiza a través de circuitos integrados, lo cual permite
gran velocidad para comprobar la integridad de los datos recibidos.
• Son códigos detectores.
• Los bits de una trama se representan como coeficientes de un polinomio,
de forma que los k-bit de mensaje generan un polinomio de grado k-1 = xk
+ …+x2 + x1+ x0
Ej: si la trama es 100011, el polinomio es: x5+0x4+0x3 +0x2+x1+x0
• Se agregan n-k bits de redundancia a los k-bit del mensaje (interesa que
n>>k).
• Se define un polinomio divisor C(x), también conocido como generador,
de grado n-k con unas propiedades especiales para la detección. El estudio
de estas propiedades queda fuera de los objetivos de esta asignatura.
Ej. C(x) = x3 + x2 + 1 o en binario 1101
21
CRC: Cyclic Redundancy Check (2/2)
• Pasos a seguir: Se genera el polinomio P(x) a partir del mensaje a
transmitir en forma de polinomio m(x) tal que sea divisible en forma
exacta por C(x), de la forma siguiente utilizando siempre operaciones
XOR para la resta (0 XOR 0= 0, 1 XOR 1= 0 , 1 XOR 0 =1, es decir bits iguales, 0 y diferentes 1)
1) se corre a la izquierda n-k bits=> m(x)xn-k
2) restar el resto polinomial de (m(x)xn-k / C(x)) (que también es
conocido como CRC) a m(x)xn-k, que es equivalente a cambiar los
n-k primeros 0s de m(x)xn-k por dicho resto (o CRC), re
Comentarios de: Capítulo 3 - La Capa de Enlace (0)
No hay comentarios