You are on page 1of 106

3 LA CAPA DE

ENLACE DE DATOS
2
Ing. Ral Ortiz Gaona
Veremos:
Principios de diseo de la capa 2.
Algoritmos para lograr la comunicacin confiable y
eficiente entre dos mquinas adyacentes en capa 2.
Algoritmo: Conjunto ordenado y finito de operaciones para
solucionar un problema.
Adyacente: enlace P2P. Conexin directa por un canal fsico:
cable coaxial, lnea telefnica, enlace inalmbrico.
3
Ing. Ral Ortiz Gaona
Los circuitos tiene la siguiente realidad:
Cometen errores ocasionales.
Tienen una tasa de datos finita.
Hay un retardo de propagacin de los bits.
3.1 CUESTIONES DE
DISEO DE LA CAPA
DE ENLACE DE DATOS
5
Ing. Ral Ortiz Gaona
Funciones de la capa 2.
Maneja errores de transmisin.
Regula el flujo de datos: emisores rpidos y
receptores lentos.
6
Ing. Ral Ortiz Gaona
Para realizar las funciones, la capa 2 encapsula
en tramas los paquetes de la capa 3.
Trama:
Encabezado.
Carga til para el paquete.
Final.
Control de flujo y errores realiza las capas 2 y 4.
7
Ing. Ral Ortiz Gaona
8
Ing. Ral Ortiz Gaona
9
Ing. Ral Ortiz Gaona
3.1.1 Servicios dados a la capa de red
Servicio principal: transferir datos en forma de
bits de la capa 3 en el origen a la capa 3 en el
destino.
10
Ing. Ral Ortiz Gaona
11
Ing. Ral Ortiz Gaona
Servicios de la capa de enlace
No orientado a la conexin sin ACK.
No orientado a la conexin con ACK.
Orientado a la conexin con ACK.
12
Ing. Ral Ortiz Gaona
Servicio no orientado a la conexin sin ACK
El origen enva tramas independientes al
destino sin pedir confirmacin.
Si se pierde una trama debido a ruido en la
lnea, la capa 2 no lo detecta.
13
Ing. Ral Ortiz Gaona
Servicio apropiado con baja tasa de errores.
Para aplicaciones de tiempo real.
Adecuado para redes LAN como Ethernet.
14
Ing. Ral Ortiz Gaona
Servicio no orientado a la conexin con
ACK
El emisor sabe si la trama lleg bien o no.
Si no ha llegado, lo reenva.
Para canales inestables como inalmbricos.
Con FO, este servicio es innecesario.
15
Ing. Ral Ortiz Gaona
Servicio orientado a la conexin con ACK
Servicio confiable.
Tramas numeradas para garantizar:
Ordenamiento de las tramas.
Cada trama se recibe exactamente una vez.
Cada trama llega sin errores.
16
Ing. Ral Ortiz Gaona
Controla de tramas recibidas y las que no.
El algoritmo de la capa 2 podra implementarse
en hw.
17
Ing. Ral Ortiz Gaona
18
Ing. Ral Ortiz Gaona
3.1.2 Entramado
Mtodos para indicar el inicio y fin de una trama:
Insercin de intervalos de tiempo entre las tramas.
Conteo de caracteres.
Banderas, con relleno de caracteres.
Banderas de inicio y fin, con relleno de bits.
Violacin de codificacin de la capa fsica.
19
Ing. Ral Ortiz Gaona
Insercin de intervalos de tiempo
Pausas de tiempo entre tramas.
Similar a los espacios entre palabras.
Es riesgoso depender de ella.
Estos intervalos podran ser eliminados.
Podran errneamente insertarse otros intervalos
durante la transmisin.
20
Ing. Ral Ortiz Gaona
Conteo de caracteres
Longitud de la trama: campo en la cabecera
para indicar el nmero de caracteres de la
trama.
Mtodo casi no usado.
21
Ing. Ral Ortiz Gaona
22
Ing. Ral Ortiz Gaona
Banderas con relleno de caracteres
Una trama inicia y termina con un byte especial.
01111110.
Si el receptor pierde sincrona, puede esperar la
siguiente bandera.
Dos banderas consecutivas sealan el final de
una trama y el inicio de la siguiente.
23
Ing. Ral Ortiz Gaona
Podra ocurrir que el patrn de bits de la
bandera aparezca entre los datos.
Para solucionar se usa el byte ESC.
Empleado por el protocolo PPP, utilizado para
comunicarse con el ISP.
24
Ing. Ral Ortiz Gaona
25
Ing. Ral Ortiz Gaona
Desventaja: esquema atado a caracteres de 8
bits.
No todos los cdigos usan caracteres de 8 bits.
Hay otra tcnica que permite caracteres de
tamao arbitrario.
26
Ing. Ral Ortiz Gaona
Banderas con relleno de bits
Tramas de datos con nm. arbitrario de bits.
Cdigos de caracteres con nm. arbitrario de bits.
Cada trama inicia y termina con 01111110.
Si la capa 2 encuentra cinco 1s consecutivos en los
datos, inserta un 0.
Si el receptor ve cinco 1s de entrada seguido de un
0, extrae el bit 0 de relleno.
27
Ing. Ral Ortiz Gaona
Bits de relleno
28
Ing. Ral Ortiz Gaona
Violaciones de codificacin de la capa fsica
Algunas LANs representan los bits de datos
usando codificacin Manchester.
Alto bajo: bit 1.
Bajo alto: bit 0.
La combinacin alto-alto y bajo-bajo no se usa
para datos.
Algunos protocolos lo usan para delimitar
tramas.
29
Ing. Ral Ortiz Gaona
3.1.3 Control de errores
Retroalimentacin al emisor.
ACK - NACK.
NACK: Retransmisin de trama.
Prdida de trama de datos sin retroalimentacin:
Inicio de temporizador en el emisor.
Expira el temporizador retransmite.
Numeracin de tramas para no duplicar.
30
Ing. Ral Ortiz Gaona
3.1.4 Control de flujo
Saturacin, sobrecarga o desbordamiento:
emisores rpidos y receptores lentos.
Para evitarlo se controla el flujo:
Basado en retroalimentacin.
Basado en tasa. El protocolo limita la tasa a la que el
emisor puede transmitir los datos.
Se utiliza en la capa 3.
3.2 DETECCIN Y
CORRECCIN DE
ERRORES
32
Ing. Ral Ortiz Gaona
Se producen errores en:
ltima milla local loop del sistema telefnico
Comunicacin inalmbrica.
Los errores aparecen en rfagas, no de manera
individual.
33
Ing. Ral Ortiz Gaona
Desventaja de errores en rfaga: son ms
difciles de detectar y corregir.
Ventaja: daan a una o mximo dos tramas.
Si los errores fueran independientes la mayora
de las tramas tendran errores.
34
Ing. Ral Ortiz Gaona
3.2.1 Cdigos de correccin de errores
Hay dos estrategias:
Cdigos de correccin de errores.
Incluir informacin redundante en la trama para que
el receptor deduzca lo que debi ser.
Cdigos de deteccin de errores.
Incluir suficiente informacin para que el receptor
sepa que ha ocurrido un error.
35
Ing. Ral Ortiz Gaona
En FO hay una tasa baja de error.
Es suficiente usar cdigos de deteccin de errores.
En enlaces inalmbricos es mejor usar cdigos
de correccin de errores.
36
Ing. Ral Ortiz Gaona
Una trama tiene m bits de datos.
La trama tiene r bits redundantes.
La trama tiene una longitud
n = m + r
37
Ing. Ral Ortiz Gaona
En dos palabras codificadas, el nmero de bits
en las que difieren es d.
10001001
10110001
XOR 00111000
En el ejemplo, d = 3.
d es la distancia de Hamming.
38
Ing. Ral Ortiz Gaona
Se puede construir una lista completa de
palabras codificadas legales.
En la lista habrn dos palabras codificadas cuya
distancia de Hamming no sea menor a un cierto
valor.
39
Ing. Ral Ortiz Gaona
La deteccin y correccin de errores dependen
de la distancia de Hamming d.
Si una palabra tiene una d menor a la distancia
mnima m con alguna de las palabras legales,
se detectar el error.
Alterando esta cantidad de bits no es posible
convertir una palabra codificada legal en otra.
40
Ing. Ral Ortiz Gaona
41
Ing. Ral Ortiz Gaona
Para corregir e bits errados se necesita un
cdigo de distancia m = 2e + 1.
Las palabras legales estn tan separadas que
alterando slo e bits todava estar ms cerca
de la palabra original.
42
Ing. Ral Ortiz Gaona
43
Ing. Ral Ortiz Gaona
44
Ing. Ral Ortiz Gaona
Ejemplo deteccin de errores
Bit de paridad.
Paridad par: cantidad par de 1s
Paridad impar: cantidad impar de 1s .
Un cdigo con bit de paridad tiene una distancia
mnima de 2:
10100011
11100010
XOR 01000001 d = 2
45
Ing. Ral Ortiz Gaona
Cualquier error de un solo bit ser detectado.
Este es un sistema para detectar errores
individuales.
46
Ing. Ral Ortiz Gaona
Ejemplo de correccin de errores
En vez de: 00 Se tiene: 0000000000
01 0000011111
10 1111100000
11 1111111111

d = 5
d = 2e + 1
e = (d 1)/2 = (5 - 1)/2 = 2
1000011110 es 0000011111
47
Ing. Ral Ortiz Gaona
Se desea disear un cdigo de m bits de
mensaje y r bits de verificacin.
r bits permite corregir errores individuales.
Dado m, hay un r mnimo necesario para
corregir errores individuales (de 1 bit).
48
Ing. Ral Ortiz Gaona
Cul es el valor mnimo r ?
Hay 2
m
mensajes legales.
Por cada mensaje legal hay n palabras ilegales
a una distancia 1 del mensaje:
n 2
m

El nmero de palabras legales e ilegales es:
(n + 1) 2
m

Pero (n + 1) 2
m
2
n

n = m + r. entonces (m + r + 1 ) 2
m
2
m+r

m + 1 2
r
- r

49
Ing. Ral Ortiz Gaona
Ejemplo
legales ilegales n = 5 con errores de 1 bit
00000 10000 01000 00100 00010 00001
01011 11011 00011 01111 01001 01010
10100 00100 11100 10000 10110 10101
11111 01111 10111 11011 11101 11110
m = 2; r = 3; n = m + r = 5
Mensajes legales 2
m
= 2
2
= 4
Palabras ilegales: n 2
m
= 5*2
2
= 5*4 = 20
Legales + ilegales = 2
m
+ n 2
m
= (n + 1)* 2
m
= 24
Legales + ilegales <= 2
n

24 <= 32
50
Ing. Ral Ortiz Gaona
Cdigos de Hamming.
Ejemplo
1 2 3 4 5 6 7 8 9 10 11
2
n
1
2
4
8
ASCII
1 0 0 1 0 0 0
Posicin k
bits m
bits r
51
Ing. Ral Ortiz Gaona
1 2 3 4 5 6 7 8 9 10 11
2
n
1
2
4
8
ASCII
3 = 1 + 2
1
1
1 0 0 1 0 0 0
Posicin k
bits m
bits r
52
Ing. Ral Ortiz Gaona
1 2 3 4 5 6 7 8 9 10 11
2
n
1
2
4
8
ASCII
5 = 1 + 4
1 0
1
0
1 0 0 1 0 0 0
Posicin k
bits m
bits r
53
Ing. Ral Ortiz Gaona
1 2 3 4 5 6 7 8 9 10 11
2
n
1
2
4
8
ASCII
6 = 4 + 2
1 0
1 0
0 0
1 0 0 1 0 0 0
Posicin k
bits m
bits r
54
Ing. Ral Ortiz Gaona
1 2 3 4 5 6 7 8 9 10 11
2
n
1
2
4
8
ASCII
1 0 1 0 0
1 0 1 0 0
0 0 1
1 0 0 1 0 0 0
0 0 0
Posicin k
bits m
bits r
55
Ing. Ral Ortiz Gaona
1 2 3 4 5 6 7 8 9 10 11
2
n
1
2
4
8
ASCII
1 0 1 0 0
1 0 1 0 0
0 0 1
1 0 0 1 0 0 0
0 0 0
0
Paridad par de 1s
Posicin k
bits m
bits r
56
Ing. Ral Ortiz Gaona
1 2 3 4 5 6 7 8 9 10 11
2
n
1
2
4
8
ASCII
1 0 1 0 0
1 0 1 0 0
0 0 1
1 0 0 1 0 0 0
0 0 0
0
0
Paridad par de 1s
Posicin k
bits m
bits r
57
Ing. Ral Ortiz Gaona
1 2 3 4 5 6 7 8 9 10 11
2
n
1
2
4
8
ASCII
1 0 1 0 0
1 0 1 0 0
0 0 1
1 0 0 1 0 0 0
0 0 0
0
0
1
0
Posicin k
bits m
bits r
58
Ing. Ral Ortiz Gaona
1 2 3 4 5 6 7 8 9 10 11
2
n
1
2
4
8
Cdigo de Hamming
1 0 1 0 0
1 0 1 0 0
0 0 1
0 0 1 1 0 0 1 0 0 0 0
0 0 0
0
0
1
0
Posicin k
bits m
bits r
59
Ing. Ral Ortiz Gaona
Valor mnimo r:
m = 7
m + 1 2
r
r
Tanteo: r = 4.
7 + 1 2
4
4
8 12
60
Ing. Ral Ortiz Gaona
Los bits de la palabra se numeran desde 1
ascendentemente de izquierda a derecha.
Los bits potencias de 2 son redundantes: bits r.
Las otras posiciones se llenan con bits de datos
m.
Un bit m puede estar incluido en varios clculos
de paridad.
61
Ing. Ral Ortiz Gaona
La posicin k de bits m con valor 1, se escribe
como la suma de potencias de 2.
11 = 1 + 2 + 8; 10 = 2 + 8; 9 = 1 + 8; etc.
Se comprueba un bit m solamente por sus
correspondientes bits r.
Si los bits 1, 2 y 8 estn errados, se detecta al
bit 11 como alterado.
Un bit r contiene la paridad par slo de un
subgrupo de bits m.
62
Ing. Ral Ortiz Gaona
Cdigos de Hamming slo corrigen errores
individuales.
Hay un truco para corregir cdigos de rfaga.
k palabras se disponen en matriz.
No se transmite por filas, sino por columnas.
Un error de rfaga de longitud k, daar a lo
mucho 1 bit de cada una de las k palabras.
63
Ing. Ral Ortiz Gaona
64
Ing. Ral Ortiz Gaona
3.2.2 Cdigos de deteccin de errores
Si la tasa de errores es muy baja, se usa
cdigos de deteccin de errores (FO).
Para mejorar la deteccin de errores, un bloque
se enva como matriz.
Se calcula por separado un bit de paridad por
cada fila y uno por cada columna.
En la prctica se usa el cdigo de redundancia
cclica CRC.
65
Ing. Ral Ortiz Gaona
Cdigo de redundancia cclica CRC
Llamado cdigo polinomial.
Una cadena de bits se trata como un polinomio,
con coeficientes 0 y 1.
Una trama de k bits se considera como un
polinomio de k trminos de grado k - 1.
b
k-1
x
k-1
+ b
k-2
x
k-2
+ + b
1
x + b
0
101011 = 1x
5
+ 0x
4
+ 1x
3
+ 0x
2
+ 1x + 1
66
Ing. Ral Ortiz Gaona
La suma y la resta se reducen a un XOR

10011011
11001010
01010001
67
Ing. Ral Ortiz Gaona
Emisor y receptor acuerdan el generador G(x).
El polinomio M(x) de m bits, debe ser ms grande
que G(x).
Se aade la suma de verificacin al fin de M(x).
T(x) = M(x) + CRC
T(x) se transmite
T(x) debe ser divisible para G(x).
Si hay residuo, hay un error de transmisin.
68
Ing. Ral Ortiz Gaona
M(X)
G(X)
T(X)
69
Ing. Ral Ortiz Gaona
Si G(x) es de grado r, aadir r bits 0 al final de la
trama.
T(x) tiene m + r bits.
Se divide T(x) para G(x)
El residuo se suma a T(x) antes de transmitir.
3.3 PROTOCOLOS
ELEMENTALES DE
ENLACES DE DATOS
71
Ing. Ral Ortiz Gaona
Archivo protocol.h
72
Ing. Ral Ortiz Gaona
73
Ing. Ral Ortiz Gaona
Tres casos con niveles de complejidad
crecientes.
Protocolo smplex sin restricciones.
Protocolo smplex de parada y espera.
Protocolo simplex para un canal ruidoso.
74
Ing. Ral Ortiz Gaona
3.3.1 Protocolo smplex sin restricciones
Es el ms sencillo.
Es irreal.
Los datos se transmiten slo en una direccin.
Las capas de red del emisor y receptor siempre
estn listas.
Se ignora el tiempo de procesamiento.
Hay un espacio infinito de buffer.
Canal no produce errores ni pierde tramas.
75
Ing. Ral Ortiz Gaona
76
Ing. Ral Ortiz Gaona
No se usan nmeros de secuencia ni
confirmaciones de recepcin.
nico evento posible: llegada de tramas sin
daos.
77
Ing. Ral Ortiz Gaona
3.3.2 Protocolo simplex de parada y espera.
El receptor requiere un tiempo para recibir y
procesar la trama que llega.
Se evita que el emisor sature al receptor.
Se supone que el canal de comunicaciones est
libre de errores y el trfico de datos es smplex.
78
Ing. Ral Ortiz Gaona
Solucin: receptor retroalimenta al emisor.
Luego de enviar una trama, el emisor espera
que llegue una pequea trama ficticia.
La trama ficticia es una autorizacin al emisor
para que transmita la siguiente trama.
Este protocolo se llama de parada y espera.
79
Ing. Ral Ortiz Gaona
80
Ing. Ral Ortiz Gaona
En realidad hay flujo de informacin en ambas
direcciones en una alternancia estricta.

81
Ing. Ral Ortiz Gaona
3.3.3 Protocolo smplex para un canal
ruidoso.
El canal comete errores o pierde tramas.
Puede ser que el ACK enviado por el receptor
se pierda.
El emisor lo vuelve a enviar duplicndose la trama.
Para evitar este problema se numera las tramas.
82
Ing. Ral Ortiz Gaona
El nmero de secuencia es de 1 bit (0 1).
ste se incrementa mdulo 2.
Se transmite tambin en una sola direccin.
Los protocolos en los que el emisor espera
confirmacin se llaman ARQ (Automatic Repeat
reQuest).
83
Ing. Ral Ortiz Gaona
84
Ing. Ral Ortiz Gaona
3.4 PROTOCOLOS DE
VENTANA CORREDIZA
86
Ing. Ral Ortiz Gaona
Una forma de transmitir datos dplex es con 2
circuitos smplex.
Cada circuito con una canal para datos y otro para
acuses de recibo que se desperdicia demasiado.
Otra idea es utilizar el mismo circuito para datos
en ambas direcciones.
El campo kind de la cabecera de la trama indica
si es de datos o un ACK.
87
Ing. Ral Ortiz Gaona
Tcnica de superposicin o piggybacking
Se anexa un ACK a una trama de datos de
retorno, usando el campo ack del encabezado.
La confirmacin viaja gratis.
Se aprovecha mejor el ancho de banda del
canal.
Hay menos interrupciones de ha llegado una
trama.
88
Ing. Ral Ortiz Gaona
Problema: Podra expirar el temporizador del
emisor y retransmitir la trama porque el receptor
no tiene datos que enviar.
Solucin: El receptor espera un nmero de
milisegundos. Si el receptor no tiene datos que
enviar, enva un ACK independiente.
89
Ing. Ral Ortiz Gaona
Tres protocolos de ventana deslizante
Son bidireccionales. Ellos son:
Protocolo de ventana corrediza de un bit.
Protocolo que usa retroceso N.
Protocolo que utiliza repeticin selectiva.
90
Ing. Ral Ortiz Gaona
Protocolos de ventana deslizante. continuacin
Cada trama tiene un nmero de secuencia.
Va de 0 a Nmax y encaja en un campo de n bits.
El emisor registra las tramas enviadas que no
han sido confirmadas.
El receptor tiene una ventana de las tramas
que puede aceptar.
Estas ventanas no tienen que tener los
mismos lmites ni tener el mismo tamao.
91
Ing. Ral Ortiz Gaona
Algunas veces las ventanas son de tamao fijo.
Estos protocolos entregan en orden los
paquetes a la capa 3.
En el emisor:
Si llega un paquete nuevo de la capa 3, el extremo
superior de la ventana avanza en 1.
Al llegar un ACK, el extremo inferior de la ventana
avanza uno.
92
Ing. Ral Ortiz Gaona
93
Ing. Ral Ortiz Gaona
Si la ventana crece a su tamao mximo, la
capa 2 del emisor detiene a su capa 3 hasta
liberar buffer.
En el receptor, toda trama que caiga fuera de la
ventana se descartar.
La ventana receptora siempre mantiene su
tamao inicial.
94
Ing. Ral Ortiz Gaona
Si la ventana tiene tamao 1 el receptor slo
acepta tramas en orden.
Con ventanas ms grandes esto no es as.
En todo caso, la capa 3 siempre recibe los datos
en orden.
95
Ing. Ral Ortiz Gaona
3.4.1 Protocolo de ventana corrediza
de 1 bit.
Este protocolo utiliza parada y espera.
Las tramas se numeran con 0 y 1
alternadamente.
Slo una de las mquinas puede iniciar
transmitiendo la primera trama.
Si las 2 mquinas inician la transmisin al
mismo tiempo hay funcionamiento anormal.
96
Ing. Ral Ortiz Gaona
97
Ing. Ral Ortiz Gaona
3.4.2 Canalizacin
Enlace satelital de R = 50 kbps.
Satlite geoestacionario (36.000 km).
Retardo de propagacin de ida y vuelta al
emisor=4x36.000km/300.000km/seg=500 ms
Tamao de trama l = 1.000 bits.
Tiempo de transmisin = l /R = 20 ms.
Con una confirmacin corta, el rendimiento =
20s/520s = 3.8%.
98
Ing. Ral Ortiz Gaona
Solucin
Canalizacin. El emisor enve hasta w tramas
antes de bloquearse.
Con w, el emisor enva tramas durante el tiempo
de ida y vuelta sin llenar la ventana.
Tamao de ventana, w = 520ms/20ms = 26.

26 tramas = retardo x tasa/ tamao de la trama

El aprovechamiento de uso del canal es mayor.
99
Ing. Ral Ortiz Gaona
Al terminar de enviar la trama 26 en t = 520 ms,
llega la confirmacin de recepcin de la trama 1.
Entonces las confirmaciones llegan cada 20 ms.
100
Ing. Ral Ortiz Gaona
Mtodos para manejar errores en
canalizacin
1. Retroceso n.
2. Repeticin selectiva.
101
Ing. Ral Ortiz Gaona
Retroceso n
102
Ing. Ral Ortiz Gaona
Retroceso n continuacin
Tamao de la ventana del receptor = 1.
El receptor descarta las tramas subsiguientes.
Desperdicio de mucho ancho de banda si la
tasa de errores es alta.
103
Ing. Ral Ortiz Gaona
Repeticin selectiva (1)
Ventana del receptor > 1.
Se descarta la trama daada recibida.
Siguientes tramas recibidas correctamente se
almacenan en buffer.
Emisor transmite slo la ltima trama sin ACK
El receptor enva un NACK al detectar error.
NACK estimula retransmisin antes de
expirar el temporizador.
104
Ing. Ral Ortiz Gaona
Repeticin selectiva (2)
105
Ing. Ral Ortiz Gaona
Repeticin selectiva (3)
El emisor y receptor mantienen una ventana.
La ventana del emisor puede crecer hasta un
nmero mximo.
La ventana del receptor siempre es de tamao
fijo = nmero mximo.
El receptor tiene un buffer reservado para cada
nmero de secuencia en su ventana.
106
Ing. Ral Ortiz Gaona
Repeticin selectiva (4)
La ventana del receptor acepta cualquier trama
con un nmero de secuencia dentro de la
ventana.
Cada buffer tiene un bit asociado que indica si
ste est lleno o vaco.

You might also like