Lecture 22 Control de Flujo DLL

34
Comunicaciones II Conferencia 22: Control de Flujo DLL UNIDAD VII: CODIFICACIÓN DE CANAL Instructor: Israel M. Zamora, MS Telecommunications Management Profesor 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

Transcript of Lecture 22 Control de Flujo DLL

Page 1: Lecture 22 Control de Flujo DLL

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

Page 2: Lecture 22 Control de Flujo DLL

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

Page 3: Lecture 22 Control de Flujo DLL

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

Page 4: Lecture 22 Control de Flujo DLL

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

Page 5: Lecture 22 Control de Flujo DLL

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.

Page 6: Lecture 22 Control de Flujo DLL

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.

Page 7: Lecture 22 Control de Flujo DLL

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.

Page 8: Lecture 22 Control de Flujo DLL

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.

Page 9: Lecture 22 Control de Flujo DLL

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

Page 10: Lecture 22 Control de Flujo DLL

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

Page 11: Lecture 22 Control de Flujo DLL

2S 2009 I. Zamora

UniVII: Control de errores y flujo -ARQ.

11

Diseño de FC Stop&Wait Protocol

Page 12: Lecture 22 Control de Flujo DLL

2S 2009 I. Zamora

UniVII: Control de errores y flujo -ARQ.

12

Algoritmo Stop&Wait FC Transmisor

Page 13: Lecture 22 Control de Flujo DLL

2S 2009 I. Zamora

UniVII: Control de errores y flujo -ARQ.

13

Algoritmo Stop&Wait FC Receptor

Page 14: Lecture 22 Control de Flujo DLL

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.

Page 15: Lecture 22 Control de Flujo DLL

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

Page 16: Lecture 22 Control de Flujo DLL

2S 2009 I. Zamora

UniVII: Control de errores y flujo -ARQ.

16

Operación del protocolo FC Stop & Wait

frame

prop

t

ta

Page 17: Lecture 22 Control de Flujo DLL

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

Page 18: Lecture 22 Control de Flujo DLL

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

Page 19: Lecture 22 Control de Flujo DLL

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.

Page 20: Lecture 22 Control de Flujo DLL

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

Page 21: Lecture 22 Control de Flujo DLL

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

Page 22: Lecture 22 Control de Flujo DLL

• 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

Page 23: Lecture 22 Control de Flujo DLL

• 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.

Page 24: Lecture 22 Control de Flujo DLL

• 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.

Page 25: Lecture 22 Control de Flujo DLL

Operación del protocolo FC Sliding Window

2S 2009 I. Zamora

25UniVII: Control de errores y flujo -ARQ.

Page 26: Lecture 22 Control de Flujo DLL

• 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.

Page 27: Lecture 22 Control de Flujo DLL

• 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.

Page 28: Lecture 22 Control de Flujo DLL

2S 2009 I. Zamora

UniVII: Control de errores y flujo -ARQ. 28

Operación del protocolo FC Sliding Window

Page 29: Lecture 22 Control de Flujo DLL

2S 2009 I. Zamora

UniVII: Control de errores y flujo -ARQ.

29

Operación del protocolo FC Sliding Window (2/2)

Page 30: Lecture 22 Control de Flujo DLL

2S 2009 I. Zamora

UniVII: Control de errores y flujo -ARQ.

30

Rendimiento para FC Sliding Window con N>2a+1

Page 31: Lecture 22 Control de Flujo DLL

2S 2009 I. Zamora

UniVII: Control de errores y flujo -ARQ.

31

Rendimiento para FC Sliding Window con N<2a+1

Page 32: Lecture 22 Control de Flujo DLL

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)

Page 33: Lecture 22 Control de Flujo DLL

2S 2009 I. Zamora

UniVII: Control de errores y flujo -ARQ.

33

Utilización del canal como función de N

Page 34: Lecture 22 Control de Flujo DLL

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

34