lecture 22 control de flujo dll
DESCRIPTION
TelecomTRANSCRIPT
Comunicaciones II
Conferencia 22: Control de Flujo DLL
UNIDAD VII: CODIFICACIÓN DE CANAL
Instructor: Israel M. Zamora, MS Telecommunications ManagementProfesor Titular, Departamento de Sistemas Digitales y Telecomunicaciones.
Universidad Nacional de Ingeniería
Universidad Nacional de Ingeniería
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ. 1
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
2
Outline
• Recapitulación– Que hemos discutido hasta ahora– Que discutiremos en adelante
• Subcapas de la Capa de Enlace – La subcapa LLC
– La subcapa MAC
• Servicios de la capa de Enlace Lógico a la capa de Red• Control de Flujo al nivel de enlace
– Tipos de control de Flujo• Stop & Wait
• Sliding Window
– Operación de los protocolos– Rendimiento de los protocolos
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ. 3
Qué hemos discutido hasta ahora
• La capa física– Técnicas de transmisión digital
• Conversión A/D (Ejemplo: PCM, ADM, digital)
• Codificación eficiente de línea (NRZ, RZ, etc)
• Transmisión banda base (Requerimientos de Tx, ISI, W, C, etc)
• Transmisión Pasabanda (Esquemas de modulación ASK, FSK, etc)
• Probabilidad de error en la transmisión
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
4
•La capa de enlace de datos (DLL)–Esta capa se haya subdividida en dos subcapas: LLC y MAC (Capa de Enlace Lógico y Capa de Acceso al Medio)
•LLC (Logical Link Control) –Sirve a la capa de red. A cargo de control de conexión, flujo, deteccion y correccion de errores a nivel punto-a-punto.
•MAC (Media Access Control)–Algunos protocolos de Acceso al medio.
¿Qué discutiremos ahora?
Capa de red
Capa de enlace de datos
Capa física
Capa de EnlaceLógico
Capa de Accesoal Medio
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
5
Control de Flujo
• El control de flujo coordina el intercambio de datos entre transmisor y receptor.
• Es una de las funciones mas importantes de la capa de enlace.
• El control de flujo es un conjunto de procedimientos que dice al transmisor cuanto dato puede transmitir antes que deba esperar por un acuse de recepción (acknowledgement - ACK) de parte del receptor.
• Debido que la velocidad de procesamiento es a menudo mas baja que la tasa de transmisión, el receptor tienen un bloque de memoria (buffer de recepción) para almacenamienot temporal hasta que dichos datos pueden ser procesados.
• El receptor tiene una velocidad limitada a la cual puede procesar los datos que le van llegando y una cantidad limitada de memoria en la cual almacena temporalmente los datos de entradas que no pueden procesar inmediatamente.
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
6
Control de Flujo
• El receptor debe informar al transmisor antes que se alcancen los límites y solicitar al transmisor que envíe menos tramas de datos o que se detenga temporalmente.
• Aún en los casos que la recepción sea sin errores, el receptor puede verse forzado a botar algunos de las tramas o paquetes de datos si el transmisor envía datos a una tasa mas rápida de lo que puede procesar el receptor.
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
7
Servicios de la subcapa LLC a la capa de Red (1/2)
• Servicio sin conexión/sin acuse de Rx (ACK).– No solicitud/no liberación de conexión.– La maq. fuente Tx tramas independientemente de
la máquina destino.– Las tramas pueden perderse.
• Servicio sin conexión/con acuse de Rx.– No solicitud de conexión pero c/trama es acusada.– Tiempo de espera para acuse (Time out) antes de
Tx la segunda trama.
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
8
Servicios de la subcapa LLC a la capa de Red (2/2)
• Servicio orientado a conexión.– Establecimiento de conexión antes de Tx de datos.– Enumeración de tramas.– Garantía de Rx/secuencia de tramas.
DLL proporcionauna comunicacióntransparente entrelas capas de Red delas entidades co-municandose.
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
9
Meta y tipos de Control de Flujo (Flow control)
• Métodos comunes (Servicio con conexión)– Stop-and-Wait Flow Control– Sliding Window Flow Control
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
10
FC tipo Stop & Wait
• Entidad fuente envía SOLO UNA trama
• Entidad destino envía ACK de la trama recibida para:– Confirmar recepción exitosa– Disposición para la próxima trama
• Entidad fuente espera por un tiempo limitado (time out):– Si ACK es recibido antes de “time out” envía la siguiente
trama– Si no recibe ACK, re-envía la última trama
• No es eficiente para redes de alta velocidad o grandes distancias
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
11
Diseño de FC Stop&Wait Protocol
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
12
Algoritmo Stop&Wait FC Transmisor
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
13
Algoritmo Stop&Wait FC Receptor
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
14
Diagrama de flujo Stop&Wait FC Receptor
Sender mantiene una copia de la última trama hasta que recibe un acuse.
Para identificación, ambos, la trama de datos y los acuses (ACK) de tramas son numerados alternativamente 0 y 1.
Sender tiene una variable de control (S) que mantiene el número de la trama enviada recientemente (0 or 1).
Receiver tienen una variable de control (R) que mantiene el númro de la próxima trama que se espera (0 or 1).
Sender inicia un contador (temporizador) cuando envía una trama. Si no se recibe acuse (ACK) dentro de el tiempo designado en el contador, el Sender asume que la trama se ha perdido o dañado y la reenvía.
Receiver envía solamente acuses (ACK) positivos si la trama está intacta. En algunas implementaciones se cuenta con acuses tanto positivos (ACK) como negativos (NACK).
Los números de acuses (ACK) siempre definen el número de la siguiente trama que se espera.
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
15
Diagrama de flujo Stop&Wait FC Receptor
• Los acuses (ACK) pueden un campo de control en las tramas de datos que van desde el Receiver hacia el Sender (“piggybacking”).
• Las estaciones A y B, ambas tienen datos que enviar.
• En lugar de enviar separadamente, la estación A envía una trama de datos que incluye acuse (ACK).
• La estación B hace la misma cosa.
• Piggybacking ahorra ancho de banda.
Piggybacking
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
16
Operación del protocolo FC Stop & Wait
frame
prop
t
ta =
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
17
Rendimiento para Stop & Wait (1/2)
proppropACKframe
propACKprocpropframeF
2tttt
tttttT
:queobtenersePuede
ControlnInformaciodatosTxparaTiempo
nInformaciodedatosTxparaTiempoU
canal.delnUtilizació:U
+++=
++++=
+=
• Con T: tiempo total para la Tx de los datos de todo el mensaje• Donde T=nTF con:
•TF es tiempo total para tx una trama y recibir su ACK•n es el numero de una trama componentes del mensaje
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
18
Rendimiento para Stop & Wait (2/2)
cion)(normalizat
tacon,
2a1
1U
)2t(t
t
)2t(tn
tnU
Asi,
tnT
:esnInformaciodedatosparautilizadotiempoelAhora,
)2tn(tT
:tenemostty0tquedoConsideran
frame
prop
propframe
frame
propframe
frame
framedatos
propframe
frameACKproc
=+
=
+=
+=
=
+=
<<≈
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
19
FC tipo Sliding Window
• En Stop-and-wait, en cualquier momento del tiempo, solo hay una trama enviada y que espera por su acuse (ACK).
• Esto no es un buen uso del medio de tranmisión.• Para mejorar la eficiencia, se debieran transmitir
múltiples tramas mientras se espera por acuse (ACK).
• Una solución es usar el protocolo FC tipo Sliding Window.
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
20
FC tipo Sliding Window
• Enlaces deben ser Full-Duplex
• Tx de varias tramas a la vez antes de Rx un ACK
• Estaciones Rx deben poseer un gran buffer (Espacio de memoria llamado Ventana – “Windows”)
• Tramas son rotuladas para Secuencia (Tx/Rx) utilizando campo de Secuencia de “k” bits
• Tamaño de Ventana N = 2k - 1
• ACK para las tramas recibidas “OK” y # de la próxima trama
• Ambos Tx y Rx mantienen listas de tramas recibidas “OK” y de la próxima a esperar
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ. 21
Operación del protocolo FC Sliding Window
• En el protocolo Sliding-Window, el transmisor puede transmitir varias tramas antes de requerir algún acuse (ACK). – Para dar seguimieto de cuales tramas han sido transmitidas y
cuales recibidas, un esquema de identificación debe introducirse.
• Identificación (Número de secuencia de trama) : módulo-n
• Tamaño de Ventana : n-1, donde n=2k
• Ventana inicial – Modulo-8 (k=3), Tamaño de Ventana: 7 (23-1)
• Tramas 0, 1, 2, 3 son enviadas.
• ACK con 3 es recibido.
Sender Window
Sender Window
Sender Window
Operación del protocolo FC Sliding Window
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ. 22
• Sender window
* Siete tramas transmitibles en la ventana del Sender
Operación del protocolo FC Sliding Window
2S 2009 I. Zamora
23UniVII: Control de errores y flujo -ARQ.
• Receiver window
* Siete ubicaciones portadoras de tramas en la ventana del Receiver
Operación del protocolo FC Sliding Window
2S 2009 I. Zamora
24UniVII: Control de errores y flujo -ARQ.
Operación del protocolo FC Sliding Window
2S 2009 I. Zamora
25UniVII: Control de errores y flujo -ARQ.
• Tamaño de la Ventana (Window)– Identificación (número de secuencia de trama) : módulo-n– Tamaño de Ventana : n-1
• Asuma que el número de secuencia de trama es módulo-8 y que el tamaño de ventana es también 8.– La trama 0 se envía y el ACK 1 se recibe.
– Si ahora se recibe un ACK1 otra vez, no sabrá ni estará seguro si se trata de un duplicado del ACK1 previo o un nuevo ACK1 confirmando las últimas ocho tramas recién enviadas.
Sender Window
Operación del protocolo FC Sliding Window
2S 2009 I. Zamora
26UniVII: Control de errores y flujo -ARQ.
• Asuma que el número de secuencia de trama es módulo-8 y que el tamaño de ventana es 7.– La trama 0 se envía y se recibe el ACK 1.
– Si ahora se recibe un ACK1 otra vez, es un duplicado del ACK1 previo .
– Para confirmar las siete tramas enviadas mas recientes, se espera ACK 0 desde el receiver.
Sender Window
Operación del protocolo FC Sliding Window
2S 2009 I. Zamora
27UniVII: Control de errores y flujo -ARQ.
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ. 28
Operación del protocolo FC Sliding Window
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
29
Operación del protocolo FC Sliding Window (2/2)
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
30
Rendimiento para FC Sliding Window con N>2a+1
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
31
Rendimiento para FC Sliding Window con N<2a+1
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
32
Cálculos de rendimiento para Sliding Window
• Eficiencia depende del tamaño de Ventana N y del valor “a”.
• Asumiendo tACK≅ 0, y tproc ≅ 0 entonces:
– Caso 1: N>2a+1• El ACK para la trama 1 alcanza A antes que A haya agotado su
ventana. Así A transmite continuamente y su utilización es del 100% (el canal esta siempre lleno.)
• U=1– Caso 2: N<2a+1
• A agosta su Ventana en t0+N y no puede enviar tramas. Adicionales. Así su utilización es N veces tomado de un periodo (2a+1).
• U = N/(1+2a)
2S 2009 I. Zamora
UniVII: Control de errores y flujo -ARQ.
33
Utilización del canal como función de N
2S 2009 I. Zamora
UniVII: Det. Cods. Cíclic. Prob. Error.
34