20.06.2015 Views

Gu´ıa 4 del laboratorio de ARSS Curso 2008 – 2009

Gu´ıa 4 del laboratorio de ARSS Curso 2008 – 2009

Gu´ıa 4 del laboratorio de ARSS Curso 2008 – 2009

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Guía 4 <strong><strong>de</strong>l</strong> <strong>laboratorio</strong> <strong>de</strong> <strong>ARSS</strong><br />

<strong>Curso</strong> <strong>2008</strong> – <strong>2009</strong><br />

1. Introducción<br />

En esta sesión <strong>de</strong> <strong>laboratorio</strong> y la siguiente se va a estudiar un protocolo para el control <strong>de</strong> enlace<br />

lógico que utiliza la técnica <strong>de</strong> parada y espera para el control <strong>de</strong> flujo y errores. La técnica <strong>de</strong> parada<br />

y espera ha sido <strong>de</strong>scrita en la clase <strong>de</strong> teoría, con algún ejemplo. También está bien explicada en el<br />

texto <strong>de</strong> apoyo recomendado [2, cap. 7], y en otros como [3, cap. 3] o [1, cap. 5].<br />

El diagrama <strong>de</strong> flujo correspondiente a la implementación <strong><strong>de</strong>l</strong> protocolo <strong>de</strong> parada y espera con<br />

el que trabajaremos en el <strong>laboratorio</strong> se muestra en la figura 1. Antes <strong>de</strong> proce<strong>de</strong>r con la práctica<br />

asegúrate <strong>de</strong> que compren<strong>de</strong>s el protocolo, estudiando el diagrama así como las fuentes antes mencionadas.<br />

2. Estudio <strong><strong>de</strong>l</strong> protocolo <strong>de</strong> parada y espera en un medio sin<br />

errores<br />

Una vez que has comprendido el protocolo, es el momento <strong>de</strong> simularlo y verlo en funcionamiento,<br />

así como <strong>de</strong> evaluar sus prestaciones. Para ello, es necesario que edites el fichero <strong>de</strong> topología original<br />

labarss3.top y que cambies el valor <strong><strong>de</strong>l</strong> atributo correspondiente <strong>de</strong> forma que cnet simule el<br />

comportamiento <strong><strong>de</strong>l</strong> protocolo <strong>de</strong> parada y espera codificado en el fichero stopandwait.c.<br />

A continuación, <strong>de</strong>dica unos minutos para observar el comportamiento <strong><strong>de</strong>l</strong> protocolo. Para ello te<br />

recomendamos que dibujes en tu cua<strong>de</strong>rno el diagrama <strong>de</strong> intercambio <strong>de</strong> tramas correspondiente a<br />

una simulación. Después, comprueba que dicho intercambio <strong>de</strong> tramas se ajusta al diagrama <strong>de</strong> flujo<br />

<strong>de</strong> la figura 1.<br />

2.1. Eficiencia <strong>de</strong> transmisión en relación con el tamaño <strong>de</strong> mensaje<br />

La eficiencia <strong>de</strong> transmisión para una capa <strong>de</strong> comunicación se <strong>de</strong>fine como la cantidad <strong>de</strong> datos<br />

que dicha capa consigue hacer llegar a su <strong>de</strong>stino por cada unidad <strong>de</strong> datos transmitida por la capa<br />

física. Para obtener la eficiencia <strong>de</strong> transmisión <strong>de</strong> la capa <strong>de</strong> enlace pue<strong>de</strong>s dividir el número <strong>de</strong> bytes<br />

recibidos correctamente por la capa <strong>de</strong> aplicación <strong>de</strong> la máquina receptora <strong>de</strong> datos entre el número<br />

<strong>de</strong> bytes transmitidos por la capa física <strong>de</strong> la máquina emisora <strong>de</strong> datos. En cnet, el número <strong>de</strong> bytes<br />

recibidos correctamente por la capa <strong>de</strong> aplicación <strong>de</strong> la máquina receptora pue<strong>de</strong> obtenerse en la<br />

ventana <strong>de</strong> estadísticas <strong>de</strong> dicha máquina receptora, fila Received OK, columna Bytes. El número <strong>de</strong><br />

bytes transmitidos por la capa física <strong>de</strong> la máquina emisora <strong>de</strong> datos pue<strong>de</strong> obtenerse en la ventana<br />

<strong>de</strong> estadísticas <strong><strong>de</strong>l</strong> enlace en el sentido máquina transmisora a máquina receptora, fila Transmitted,<br />

columna Bytes.<br />

Realiza las tareas propuestas a continuación:<br />

Deduce <strong>de</strong> forma teórica la expresión <strong>de</strong> la eficiencia <strong>de</strong> la capa <strong>de</strong> enlace para el protocolo <strong>de</strong><br />

parada y espera en función <strong><strong>de</strong>l</strong> tamaño <strong>de</strong> mensaje (M), tamaño <strong>de</strong> cabecera (H), velocidad<br />

binaria <strong><strong>de</strong>l</strong> enlace (R) y tiempo <strong>de</strong> propagación <strong><strong>de</strong>l</strong> enlace (t prop ).<br />

Obtén a partir <strong>de</strong> la fórmula teórica correspondiente el valor <strong>de</strong> la eficiencia para el protocolo<br />

<strong>de</strong> parada y espera consi<strong>de</strong>rando las siguientes condiciones: M = {500, 1000, 2000, 4000} bytes,<br />

H = 16 bytes, R = 5 kilobytes por segundo, t prop = 1000 milisegundos.<br />

1


Utiliza el simulador para medir experimentalmente el valor <strong>de</strong> la eficiencia ofrecida por la capa<br />

<strong>de</strong> enlace para el protocolo estudiados bajo las condiciones supuestas en el punto anterior fijando<br />

el tiempo medio <strong>de</strong> generación <strong>de</strong> mensajes (messagerate) a 1 milisegundo. Utiliza las opciones<br />

-m y -T para tus simulaciones si lo consi<strong>de</strong>ras necesario.<br />

Dibuja en una misma gráfica las dos curvas obtenidas (una teórica y una experimental) representando<br />

el tamaño <strong>de</strong> mensaje (en bytes) en el eje x y la eficiencia (en tantos por uno) en el<br />

eje y.<br />

Respon<strong>de</strong> a las siguientes preguntas:<br />

• ¿Coinci<strong>de</strong>n las curvas teórica y experimental? ¿Por qué?<br />

• ¿Cómo influye el tamaño <strong>de</strong> mensaje en las curvas? ¿Por qué?<br />

• ¿Tien<strong>de</strong>n las curvas asintóticamente a un valor? ¿A cuál?<br />

• ¿En qué se diferenciaría la curva que has obtenido con otra curva experimental generada<br />

con un valor <strong>de</strong> messagerate mucho mayor (ej. 2 segundos)? ¿Por qué?<br />

2.2. Tasa binaria efectiva en relación con el tiempo <strong>de</strong> propagación<br />

La tasa binaria efectiva ofrecida por una capa <strong>de</strong> comunicación se <strong>de</strong>fine como la cantidad máxima<br />

<strong>de</strong> datos por unidad <strong>de</strong> tiempo que pue<strong>de</strong> transmitir el usuario <strong>de</strong> dicha capa <strong>de</strong> comunicación. El<br />

valor <strong>de</strong> la tasa binaria con la que ha transmitido una máquina durante una simulación pue<strong>de</strong> obtenerse<br />

en la ventana <strong>de</strong> estadísticas <strong>de</strong> la máquina receptora, fila Received OK, columna KBytes/sec.<br />

Realiza las tareas propuestas a continuación:<br />

Deduce <strong>de</strong> forma teórica la expresión <strong>de</strong> la tasa binaria efectiva (R ef ) ofrecida por la capa <strong>de</strong><br />

enlace <strong><strong>de</strong>l</strong> protocolo estudiado en esta sesión en función <strong><strong>de</strong>l</strong> tamaño <strong>de</strong> mensaje (M), tamaño<br />

<strong>de</strong> cabecera (H), velocidad binaria <strong><strong>de</strong>l</strong> enlace (R), tiempo <strong>de</strong> propagación <strong><strong>de</strong>l</strong> enlace (t prop ) y<br />

tamaño <strong>de</strong> ventana (W).<br />

Obtén a partir <strong>de</strong> la fórmula teórica correspondiente el valor <strong>de</strong> la tasa binaria efectiva (R ef ) para<br />

el protocolo estudiado en esta sesión consi<strong>de</strong>rando las siguientes condiciones: M = 4080 bytes,<br />

H = 16 bytes, R = 5 kilobytes por segundo, t prop = {500, 1000, 1500, 2000, 2500} milisegundos.<br />

Utiliza el simulador para medir experimentalmente el valor <strong>de</strong> la tasa binaria efectiva (R ef ) ofrecida<br />

por la capa <strong>de</strong> enlace para el protocolo estudiado bajo las condiciones supuestas en el punto<br />

anterior fijando el tiempo medio <strong>de</strong> generación <strong>de</strong> mensajes (messagerate) a 1 milisegundo.<br />

Utiliza las opciones -m y -T para tus simulaciones si lo consi<strong>de</strong>ras necesario.<br />

Dibuja en una misma gráfica las dos curvas obtenidas (una curva teórica y una experimental)<br />

representando el tiempo <strong>de</strong> propagación (en milisegundos) en el eje x y la tasa binaria efectiva<br />

(en kilobytes por segundo) en el eje y.<br />

Respon<strong>de</strong> a las siguientes preguntas:<br />

• ¿Coinci<strong>de</strong>n las curvas teórica y experimental? ¿Por qué?<br />

• ¿Cómo influye el tiempo <strong>de</strong> propagación en las curvas? ¿Por qué?<br />

• ¿Tien<strong>de</strong>n las curvas asintóticamente a un valor? ¿A cuál?<br />

• ¿En qué se diferenciaría la curva que has obtenido con otra curva experimental generada<br />

con un valor <strong>de</strong> messagerate mucho mayor (ej. 2 segundos)? ¿Por qué?<br />

Referencias<br />

[1] A. León-García and I. Widjaja. Communication networks: fundamental concepts and key architectures.<br />

McGraw-Hill Higher Education, New York, NJ, USA, 2 a edition, 2004.<br />

[2] W. Stallings. Comunicaciones y re<strong>de</strong>s <strong>de</strong> computadoras. Prentice Hall, Madrid, España, 7 a edition,<br />

2004. Versión original en inglés <strong>de</strong> 2004.<br />

[3] A.S. Tanenbaum. Computer networks. Prentice Hall, Upper Saddle River, NJ, USA, 4 a edition,<br />

2003.<br />

2


Espera evento<br />

CA dispone <strong>de</strong> datos<br />

Tipo <strong>de</strong><br />

evento<br />

CF dispone <strong>de</strong> datos<br />

Vence temporizador<br />

Leer mensaje <strong>de</strong> CA<br />

Leer mensaje <strong>de</strong><br />

búfer <strong>de</strong> tx<br />

Leer trama <strong>de</strong> CF<br />

Copiar mensaje en<br />

búfer tx<br />

Calcular<br />

CRC<br />

Deshabilitar CA<br />

¿CRC<br />

correcto?<br />

No<br />

Descartar trama<br />

Sí<br />

Encapsular mensaje<br />

en trama con nº <strong>de</strong><br />

sec<br />

Datos<br />

¿Tipo<br />

trama?<br />

ACK<br />

No<br />

Activar<br />

temporizador<br />

¿nº <strong>de</strong> sec<br />

esperado?<br />

¿nº <strong>de</strong> sec<br />

esperado?<br />

Sí<br />

No<br />

Sí<br />

Calcular<br />

CRC<br />

Copiar mensaje en<br />

búfer rx<br />

Descartar trama<br />

Cancelar<br />

temporizador<br />

Enviar trama<br />

Pasar mensaje a CA<br />

Preparar trama con<br />

ACK y nº <strong>de</strong> última<br />

trama aceptada<br />

Liberar<br />

búfer <strong>de</strong> tx<br />

Vaciar búfer <strong>de</strong> rx<br />

Habilitar CA<br />

Preparar trama con<br />

ACK y nº <strong>de</strong> trama<br />

recibido<br />

Figura 1: Diagrama <strong>de</strong> flujo para el protocolo <strong>de</strong> enlace <strong>de</strong> datos que implementa la técnica <strong>de</strong> parada<br />

y espera, asumiendo que el medio no está libre <strong>de</strong> errores. En el diagrama se utilizan abreviaturas para<br />

<strong>de</strong>notar los siguientes términos: capa <strong>de</strong> aplicación (CA), capa física (CF), transmisión (tx), recepción<br />

(rx) y número <strong>de</strong> secuencia (n o <strong>de</strong> sec).<br />

3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!