Lecture 22 Control de Flujo DLL

Post on 30-Oct-2014

55 views 1 download

Tags:

Transcript of 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

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