Académique Documents
Professionnel Documents
Culture Documents
Computadoras
Nivel de Enlace de Datos
Contenido
1. Introducción - Cuestiones de diseño
Servicios para el nivel de red
Tramas
Control de errores
Control de flujo
2. Detección y corrección de errores
Códigos CRC
3. Protocolos elementales de enlace de
datos
4. Protocolos de ventana corrediza
5. Ejemplos de protocolos
1
1. Cuestiones de Diseño
Entre las funciones de este nivel:
• Proveer una interfaz de servicio para la
capa de red
Determinando cómo agrupar los bits de la
capa física en tramas
Lidiando con errores de transmisión
Regulando el flujo de tramas
Nivel de Enlace
2
Servicios para el nivel de red
3
Tramas
El nivel físico envía flujo de bits, intenta entregarlos al
destino. Los bits entregados pueden ser más, menos,
o distintos a estos mandados.
Tramas
Número de caracteres. Un campo del encabezado
guarda el número. Pero si el número es cambiado
en una transmisión, es difícil recuperar.
4
Tramas
Caracteres de inicio y fin, con relleno de
caracteres. Cada trama empieza con la secuencia
ASCII de DLE STX y termina con DLE ETX. Si la
secuencia está en los datos, se duplica el DLE. Pero
este sistema es muy vinculado a ASCII y caracteres
de 8 bits.
Tramas
Banderas de inicio y fin, con relleno de bits. Cada
trama empieza y termina con 01111110. En los datos
se inserta un 0 después de cada cinco 1’s
consiguientes. El receptor elimina cada 0 después de
cinco 1’s.
10
5
Tramas
Violaciones de codificación del nivel
físico. Se usa en sistemas con redundancia.
Ejemplo: LANs donde se usa dos bits físicos
para cada bit lógico. Entonces quedan dos
combinaciones para la señalización.
Una combinación del número de caracteres
con uno de otros métodos es también posible.
11
Control de errores
Se usan los acuses de recibo positivos y negativos.
• Para manejar el caso donde se pierde la trama o el acuse, el
remitente mantiene temporizadores.
• Para evitar tramas duplicadas usando números de
secuencia.
Para problemas de envío a mayor
Control de flujo velocidad que el receptor puede aceptar
• Se usan protocolos que prohíben que el emisor pueda
mandar tramas sin el permiso del receptor.
• Por ejemplo, el emisor puede mandar n tramas y espera.
12
6
2. Detección y corrección de errores
Dos enfoques:
Transmitir información redundante que permite
deducir qué debía ser un carácter transmitido.
Corrección de errores.
13
¿Qué es un error?
Codeword – n = m bits datos + r bits
redundancia
14
7
Normalmente,
Normalmente, 2m mensajes válidos,
lidos, 2n no.
Ejemplos:
16
8
Detección de errores
Se prefiere la detección que la corrección de errores
por ser más eficiente.
Corrección en simplex, mejor detección y
retransmisión.
Errores en ráfaga: Matriz con último
renglón de chequeo
Ejemplo: Un canal con una tasa de errores de 10-6 por
bit (un bit en cada 106). Mensajes de 1000 bits.
Corrección - añadir 10 bits por mensaje.
18
9
CRC
• Para calcular el checksum:
19
20
10
CRC – Qué tipo de errores se
detectan? i bit
determina qué
es erróneo
• Si hay un error de un bit, E(x) = xi . Si G(x) tiene más
de un término, no puede dividir E(x). Entonces se
detectan todos los errores de un bit.
CRC
• Podemos detectar todos los errores en grupo con
longitud menor que o igual a r. Si el grupo tiene una
longitud de k, lo podemos escribir como xi(xk-1+...+1)
(i ubica el grupo en la trama). Si G(x) contiene un
término de x0, xi no puede ser un factor y G(x) no
puede ser igual a xk-1+...+1 (el grado k-1 es menor
que r).
Si el grupo tiene una longitud de r+1, la probabilidad
que el grupo es G(x) es la probabilidad que los r-1
bits intermedios del grupo son iguales (por definición
el primer y el último bits del grupo son 1), que es
(1/2)r-1.
• Para los grupos con longitud mayor de r+1, la
probabilidad es (1/2)r.
22
11
CRC
• Estándares internacionales:
• CRC-12 = x12 + x11 + x3 + x2 + x + 1
• CRC-16 = x16 + x15 + x2 + 1
• CRC-CCITT = x16 + x12 + x5 + 1
Los dos últimos detectan todos los errores de
uno y dos bits, los errores con un número
impar de bits invertidos, los grupos de
errores con longitud menor que o igual a 16,
99,997% con longitudes de 17, y 99,998%
con longitudes mayor o igual a 18.
Registro de corrimiento, casi siempre usado.
23
3. Protocolos elementales de
enlace de datos
Suposiciones:
• En las capas física, de enlace y de red
hay procesos independientes pasando
mensajes.
• A quiere enviar un mensaje largo a B
usando servicio orientado a conexión.
• La capa de red recibe datos
infinitamente rápido.
• Varias definiciones: Æ Æ Æ…
24
12
25
26
13
Un protocolo unidireccional sin
restricción
27
Un protocolo unidireccional
“stop-and-wait”
28
14
Ejemplo de un protocolo
unidireccional “stop-and-wait”
29
15
31
En protocolos anteriores:
• Restricción – transmisión simplex
• Solución – piggybacking.
• Ventajas:
Mejor uso del ancho de banda
Menos tramas mandadas implica menos
interrupciones de llegada de trama en el receptor (y
quizás menos buffers también).
• Desventajas:
¿Por cuánto tiempo debe esperar el nivel de enlace
por un paquete de datos antes de que mande el
acuse? Si mucho – reenvio.
Protocolos de ventana
deslizante!!!
32
16
Protocolos de ventana deslizante
17
Protocolo de 1 Bit
OK para
Entonces, el protocolo de 1 bit : canales con
pérdida
Es stop-and-wait –
35
Rendimiento
36
18
Utilización
Pipelining
19
Recuperación de errores con pipeline
39
base proxnumsec
Tamaño de
ventana N
no usable
Enviados
pero
todavía sin
ack 40
20
Pipelining (entubamiento):
El concepto general es que los procesos
utilizan recursos distintos en distintas etapas
de su ejecución, por lo tanto, es posible
ejecutar simultáneamente múltiples
instrucciones, si éstas se encuentran todas en
distintas fases o etapas de ejecución.
42
21
Protocolos de ventana
deslizante
Protocolos de ventana
deslizante
22
Protocolo de ventana deslizante
a un bit
Utiliza para y espera (stop-and-wait).
Quien inicia toma el paquete de su capa, construye
una trama y la envía.
La capa la recibe, la revisa:
trama=esperada => trama a capa de red
y
ventana receptor avanza (desliza)
46
23
Protocolo Go back n
48
24
Especificación y Verificación de
los Protocolos
Modelos de Má
Máquina de Estado Finito
Protocolo de
Máquina de Estados Finitos
Existe un edo inicial.
50
25
Protocolo de
Máquina de Estados Finitos
El análisis de asequibilidad se puede usar para
detectar una variedad de errores en la
especificación del protocolo. Por ejemplo:
- Si hay una trama en un cierto estado y que la máquina
de estados finitos no diga que acción debería tomar, la
especificación está incompleta.
- Si hay un conjunto de estados sin “salida” y no se puede
hacer nada, hay un “deadlock”.
- Un caso donde la especificación del protocolo dice como
manipular un evento en un estado que no puede ocurrir.
51
Ejemplo
Cada tx o rx –
2 estados, cada
canal – 4
estados
Cada estado
(X,Y,Z)
X – (0,1) trama
que sx trata de
enviar
Y – (0,1) trama
tx espera
recibir
Z – (0,1,A,-)
52
26
Modelo de Máquina
de Estados Finitos
53
Modelo de Máquina
de Estados Finitos
Interbloqueo = situación en la que el protocolo no
puede seguir entregando paquetes a la capa de red.
54
27
Modelos de Red de Petri
56
28
Modelos de red de Petri
Si los num de arcos de e/s son dif., los tokens no se
conservarán
Si se habilitan 2 o más transiciones, cualquiera puede
dispararse
La decisión de disparo es indeterminada; por esto las
redes son útiles para modelar protocolos.
En una red no hay edos compuestos.
Las redes también ayudan a detectar fallas de protocolo.
Interbloqueo (red de Petri) = Interbloqueo (máq edo
finito).
Las redes pueden representarse algebraicamente.
57
58
29
Ejemplos de protocolos de Enlace
de Datos
HDLC - High Level Data Link Control
La capa de Enlace en Internet
• SLIP – Serial Line IP
• PPP – Point-to-Point Protocol
La capa de Enlace en ATM
• Transmisión de celdas
• Recepción de celdas
59
HLDC
Bits 8 8 8 ≥0 16 8
01111110 Address Control Data Checksum 01111110
60
30
HLDC
Bits
1 3 1 3
a) 0 Seq P/F Next
Seq – núm.
Secuencia
b) 1 0 Type P/F Next P/F – Poll/Final –
Cuando se censa
un grupo de
c) 1 1 Type P/F Modifier terminales (P indica
invitación a enviar
Campo de control de a) una trama de información, datos)
b) trama supervisora y c) una trama no numerada.
Type – Indica tipos
de tramas
3 tipos de tramas: De información, supervisión
supervisión y no numeradas (Ver fig.) Next – Primera
El protocolo usa ventana corrediza, con trama no recibida
número de secuencia de 3 bits.
61
SLIP y PPP
62
31
SLIP
63
PPP
64
32
PPP
65
33