Solucionario_Tema10

download Solucionario_Tema10

of 15

Transcript of Solucionario_Tema10

  • 7/21/2019 Solucionario_Tema10

    1/15

    Departamento de Sistemas de Comunicacin y Control

    Redes y Comunicaciones

    Solucionario

    Tema 10 (Tema 11 del libro de texto): Control

    de enlace de datos

  • 7/21/2019 Solucionario_Tema10

    2/15

  • 7/21/2019 Solucionario_Tema10

    3/15

    Tema 10: Control de enlace de datos

    10.3

    Resumen

    El control del enlace est relacionado con el diseo y los procedimientos

    para la comunicacin entre dos nodos adyacentes: comunicacin nodo a

    nodo.

    El tramado en el nivel del enlace separa con mensaje desde un origen a un

    destino, de otros mensajes que van desde otros orgenes a otros destinosaadiendo la direccin del emisor y la direccin del destinatario.

    Las tramas pueden ser de tamao fijo o variable. En el tramado de tamao

    fijo, no hay necesidad de definir las fronteras de las tramas; en el tramado de

    tamao variable, es necesario tener un delimitador (flag) para definir la

    frontera entre dos tramas.

    En el tramado de tamao variable se usan dos categoras de protocolos:orientados a byte (u orientados a carcter) y orientados a bit. En un protocolo

    orientado a byte, la seccin de datos de la trama es una secuencia de bytes;

    en un protocolo orientado a bit, la seccin de datos de la trama es una

    secuencia de bits.

    En los protocolos orientados a byte (u orientados a carcter), se usa

    transparencia de byte: un byte especial aadido a la seccin de datos de la

    trama cuando existe un carcter con el mismo patrn que el flag.

    En los protocolos orientados a bit se usa transparencia de bit: se aade un 0

    extra a la seccin de datos de la trama cuando hay una secuencia de bits

    con el mismo patrn que el flag.

    El control de flujo se refiere al conjunto de procedimientos usados para

    restringir la cantidad de datos que el emisor puede enviar antes de esperar

    una confirmacin. El control de errores se refiere a los mtodos de deteccin

    y correccin de errores.

  • 7/21/2019 Solucionario_Tema10

    4/15

    Redes y Comunicaciones

    10.4

    Para canales sin ruido hemos tratado dos protocolos: el protocolo Simplesty

    el protocolo con parada y espera. El primer protocolo no tiene flujo de control

    ni control de errores; el segundo no tiene control de errores. En el protocolo

    Simplest, el emisor enva sus tramas una detrs de otra sin tener en cuenta

    al receptor. En el protocolo con parada y espera, el emisor enva una trama,

    hasta que recibe confirmacin del receptor y luego enva la trama siguiente.

    Para canales ruidosos hemos visto tres protocolos:ARQ con parada y

    espera, vuelta atrs NyARQ con repeticin selectiva. El protocolo ARQ con

    parada y espera aade un mecanismo de control de error sencillo al

    protocolo con parada y espera. En el protocolo ARQ con vuelta atrs N se

    pueden enviar varias tramas antes de recibir confirmacin, mejorando la

    eficiencia de la transmisin. En el protocolo ARQ con repeticin selectiva se

    evitan transmisiones innecesarias enviando slo aquellas tramas que estn

    corruptas.

    Tanto el protocolo vuelta atrs N como los de repeticin selectiva usan una

    ventana deslizante. En ARQ con vuelta atrs N, si mes el nmero de bits del

    nmero de secuencia, entonces el tamao de la ventana de envo debe ser

    menor que 2m; el tamao de la ventana de recepcin es siempre I. En ARQ

    con repeticin selectiva, el tamao de la ventana del emisor y del receptor

    debe ser como mucho la mitad de 2m.

    Se usa una tcnica denominada piggybackingpara mejorar la eficiencia de

    los protocolos bidireccionales. Una trama que transporta datos de A a B

    tambin puede transportar informacin de control sobre las tramas de A.

    El control del enlace de datos de alto nivel (HDLC) es un protocolo orientado

    a bit para comunicacin sobre enlaces punto a punto y multipunto. Sin

    embargo, el protocolo mas frecuente para acceso punto a punto es el

    protocolo punto a punto (PPP), que es un protocolo orientado a byte.

  • 7/21/2019 Solucionario_Tema10

    5/15

    Tema 10: Control de enlace de datos

    10.5

    Problemas resueltos

    Problema 1

    Describa brevemente los servicios proporcionados por el nivel del enlace.

    Solucin:

    Las dos principales funciones del nivel de enlace son control de enlace de datos y

    control de acceso al medio. El control de enlace de datos est relacionado con el

    diseo y los procedimientos para proporcionar comunicacin entre dos nodos

    adyacentes; comunicacin nodo a nodo. El control de acceso al medio est

    relacionado con los procedimientos para compartir el enlace.

    Problema 3

    Compare y contraste los protocolos orientados a byte (a carcter) y orientados a bit.

    Qu categora ha sido popular en el pasado (explique la razn)? Qu clase es

    popular ahora (explique la razn)?

    Solucin:

    En los protocolos orientados a carcterlos datos a transportar son caracteres de

    ocho bits que pertenecen a un sistema de codificacin como el ASCII. Estos

    protocolos fueron muy populares cuando slo se intercambiaba texto por los

    enlaces de datos. En los protocolos orientados a bitla seccin de datos de una

    trama es una secuencia de bits a ser interpretados por el nivel superior. Estos

    protocolos son muy populares hoy en da porque se necesita enviar texto, grficos,

    audio y vdeo lo cual se puede representar mejor por un patrn de bits que por una

    secuencia de caracteres.

  • 7/21/2019 Solucionario_Tema10

    6/15

    Redes y Comunicaciones

    10.6

    Problema 5

    Compare y contraste el control de flujo y el control error.

    Solucin:

    El control de flujo se refiere al conjunto de procedimientos usados para restringir la

    cantidad de datos que el emisario puede enviar antes de recibir una confirmacin.

    El control error se refiere al conjunto de procedimientos usados para detectar y

    corregir errores.

    Problema 7

    Cules son los tres protocolos tratados en este captulo para canales con ruido?

    Solucin:

    Se tratan tres protocolos que usan control de error:

    1. Peticin de respuesta automtica con parada y espera (stop-and-wait ARQ).

    2. Peticin de respuesta automtica con vuelta atrs N(Go-Back-N ARQ).

    3. Peticin de respuesta automtica con repeticin selectiva (Selective-Repeat

    ARQ).

    Problema 9

    Compare y contraste el protocolo ARQ con vuelta atrs Ny el ARQ con repeticin

    selectiva.

    Solucin:

    En el protocolo ARQ con vuelta atrs Nse pueden enviar varias tramas antes de

    recibir confirmaciones. Si una trama se pierde o se daa todas las tramas enviadas

    pendientes (no confirmadas) antes de esta trama son reenviadas. En el ARQ con

  • 7/21/2019 Solucionario_Tema10

    7/15

    Tema 10: Control de enlace de datos

    10.7

    repeticin selectiva se evita la innecesaria retransmisin enviado nicamente las

    tramas perdidas o corrompidas. Ambos protocolos usan ventana deslizante. En elprotocolo ARQ con vuelta atrs Nsi mes el tamao del campo de nmero de

    secuencia en bits, el tamao de la ventana de envo debe ser como mximo 2m 1

    y el tamao de la ventana del receptor es siempre 1. En ARQ con repeticin

    selectiva el tamao de la ventana del emisor y del receptor debe ser comoal menos

    la mitad de 2m.

    Problema 11

    Defina el piggybacking y su utilidad.

    Solucin:

    La tcnica del piggybacking se usa para mejorar la eficiencia de los protocolos

    bidireccionales. Cuando una trama lleva datos de A a B, tambin puede llevar

    informacin de control sobre las tramas recibidas (o perdidas) desde B; cuando una

    trama lleva datos de B a A, tambin puede llevar informacin de control sobre las

    tramas recibidas (o perdidas) desde A.

    Problema 13

    Rellene con bytes los datos de la Figura 10.1 (Figura 11.42. del libro).

    Figura 10.1.Ejercicio 10.13

    Solucin:

    Damos una solucin muy simple. Cada vez que se encuentran un carcter de ESC

    o Flag, se inserta un carcter extra de ESC en la parte de datos de la trama. Ver

    Figura 10.2.

  • 7/21/2019 Solucionario_Tema10

    8/15

    Redes y Comunicaciones

    10.8

    Figura 10.2.Solucin ejercicio 10.13

    Problema 15

    Disee dos algoritmos sencillos para rellenar con byte. El primero aade bytes en el

    emisor; el segundo elimina bytes en el receptor.

    Solucin:

    Escribiremos dos algoritmos muy sencillos. Se asume que la trama est formada

    por 1 byte flag de comienzo, datos de longitud variable (posiblemente un byte de

    stuffed-transparencia a nivel de byte) y 1 byte flag de finalizacin. Se ignoran la

    cabecera y la cola. Se asume que no hay error durante la transmisin.

    Solucin para el emisor:

    InsertFrame (one-byte flag); // Insert beginning flag

    while (more characters in data buffer){

    ExtractBuffer (character);

    if (character is flag or ESC) InsertFrame (ESC); // Byte stuff

    InsertFrame (character);

    }

    InsertFrame (one-byte flag); // Insert ending flag

    Solucin para el receptor:

    ExtractFrame (character); // Extract beginning flag

    Discard (character); // Discard beginning flag

    while (more characters in the frame){

    ExtractFrame (character);

    if (character = = flag) exit(); // Ending flag is extracted

    if (character = = ESC)

    {

    Discard (character); // Un-stuff

    ExtractFrame (character); // Extract flag or ESC as data

    }

    InsertBuffer (character);

    }

    Discard (character); // Discard ending flag

    Problema 17

  • 7/21/2019 Solucionario_Tema10

    9/15

    Tema 10: Control de enlace de datos

    10.9

    Un emisor enva una serie de paquetes al mismo destino usando nmeros de

    secuencia de cinco bits. Si el nmero de secuencia comienza con 0, cul es eltamao de secuencia despus de enviar 100 paquetes?

    Solucin:

    Si el campo de secuencia es de m= 5 bits de longitud, los nmeros de secuencia

    comienzan en 0, van hasta 2m1 = 31 y luego se repiten. El nmero de secuencia

    en el paqueteN-esimo es ((N 1) mod 32). Esto significa que el paquete 101-esimo

    tiene el nmero de secuencia (100 mod 32) o 4.

    Problema 19

    Disee un algoritmo bidireccional para el protocolo Simplestusando piggybacking.

    Observe que ambas partes deben usar el mismo algoritmo.

    Solucin:

    Notar que se ha asumido que ambos eventos solicitud enviary Notificacin

    llegada(requestToSendy ArrivalNotification) tienen la misma prioridad.

    while (true) // Repeat forever

    {

    WaitForEvent (); // Sleep until an event occurs

    if (Event (RequestToSend)) // There is a packet to send

    {

    GetData ();

    MakeFrame ();

    SendFrame (); // Send the frame

    }

    if (Event (ArrivalNotification)) // Data frame arrived{

    ReceiveFrame ();ExtractData ();

    DeliverData (); // Deliver data to network layer}

    } // End Repeat forever

    Problema 21

    Disee un algoritmo bidireccional para el protocolo ARQ con parada y espera

    usando piggybacking. Observe que ambas partes deben usar el mismo algoritmo.

  • 7/21/2019 Solucionario_Tema10

    10/15

    Redes y Comunicaciones

    10.10

    Solucin:

    A continuacin mostramos la implementacin. Se asume que ambos lados siempretienen datos que enviar.

    Sn= 0; // Frame 0 should be sent first

    Rn= 0; // Frame 0 expected to arrive first

    canSend = true; // Allow the first request to go

    while (true) // Repeat forever

    {

    WaitForEvent (); // Sleep until an event occurs

    if (Event (RequestToSend) AND canSend) // Packet to send

    {

    GetData ();

    MakeFrame (Sn, Rn); // The seqNo of frame is Sn

    StoreFrame (Sn, Rn); //Keep copy for possible resending

    SendFrame (Sn, Rn);StartTimer ();

    Sn= (Sn+ 1) mod 2;

    canSend = false;

    }

    if (Event (ArrivalNotification)) // Data frame arrives

    {

    ReceiveFrame ();

    if (corrupted (frame)) sleep();

    if (seqNo = = Rn) // Valid data frame

    {

    ExtractData ();

    DeliverData (); // Deliver data

    Rn= (Rn+ 1) mod 2;

    }

    if (ackNo = = Sn) // Valid ACK

    {

    StopTimer ();PurgeFrame (Sn1 , Rn1); //Copy is not needed

    canSend = true;

    }

    }

    if (Event(TimeOut)) // The timer expired

    {

    StartTimer ();

    ResendFrame (Sn-1 , Rn-1); // Resend a copy

    }

    } // End Repeat forever

    Problema 23

    Disee un algoritmo bidireccional para el protocolo ARQ con repeticin selectiva

    usando piggybacking. Observe que ambas partes deben usar el mismo algoritmo.

    Solucin:

    A continuacin mostramos la implementacin. Se asume que ambos lados siempre

    tienen datos que enviar.

  • 7/21/2019 Solucionario_Tema10

    11/15

    Tema 10: Control de enlace de datos

    10.11

    Sw= 2m

    1;

    Sf= 0;

    Sn= 0;

    Rn= 0;

    NakSent = false;

    AckNeeded = false;

    Repeat (for all slots);

    Marked (slot) = false;while (true) // Repeat forever

    {

    WaitForEvent ();

    if (Event (RequestToSend)) // There is a packet to send

    {

    if (SnSf >= Sw) Sleep (); // If window is full

    GetData ();

    MakeFrame (Sn, Rn);

    StoreFrame (Sn, Rn);

    SendFrame (Sn, Rn);

    Sn= Sn+ 1;

    StartTimer (Sn);

    }

    if (Event (ArrivalNotification))

    {Receive (frame); // Receive Data or NAK

    if (FrameType is NAK)

    {

    if (corrupted (frame)) Sleep();

    if (nakNo between Sfand Sn)

    {

    resend (nakNo);

    StartTimer (nakNo);

    }

    }

    if (FrameType is Data)

    {

    if (corrupted (Frame)) AND (NOT NakSent)

    {

    SendNAK (Rn);

    NakSent = true;

    Sleep();

    }

    if (ackNo between Sfand Sn){

    while (Sf< ackNo)

    {

    Purge (Sf);

    StopTimer (Sf);

    Sf= Sf+ 1;}

    }

    if ((seqNo Rn) AND (NOT NakSent))

    {

    SendNAK (Rn);

    NakSent = true;

    }

    if ((seqNo in window) AND (NOT Marked (seqNo))

    {

    StoreFrame (seqNo);

    Marked (seqNo) = true;

    while (Marked (Rn))

    {

    DeliverData (Rn);

    Purge (Rn);

    Rn= Rn+ 1;

    AckNeeded = true;

    }

    }

    } // End if (FrameType is Data)

    } // End if (arrival event)

    if (Event (TimeOut (t))) // The timer expires

    {

    StartTimer (t);

    SendFrame (t);

    }

    } // End Repeat forever

  • 7/21/2019 Solucionario_Tema10

    12/15

    Redes y Comunicaciones

    10.12

    Problema 25

    La Figura 10.3 (Figura 11.45 del libro) muestra un diagrama de estado que simula

    el comportamiento de ARQ con parada y espera en el lado del receptor.

    Figura 10.3. Ejercicio 25.

    Los estados tienen un valor de Rn(0 o 1). Las flechas muestran las transiciones.

    Explique los eventos que causan las dos transiciones etiquetadas A y B.

    Solucin:

    El estado Rn= 0 significa que el receptor est esperando la trama 0. El estado Rn=1

    significa que el receptor est esperando la trama 1. Se puede decir,

    Evento A: lado del receptor: Trama 0 recibida.Evento B: lado del receptor: Trama 1 recibida.

    Problema 27

    El temporizador de un sistema que usa el protocolo ARQ con parada y espera tiene

    un timeout de 6 ms. Dibuje un diagrama de flujo similar al de la Figura 11.11 del

    libro para cuatro tramas si el retraso de ida y vuelta es 4 ms. Asuma que ninguna

    trama de datos o de control se pierde o se daa.

    Solucin:

    El la figura 10.4 se muestra la situacin. Como no hay tramas daadas o prdidas y

    el tiempo de ida y vuelta (round trip) es menor que el tiempo lmite (time-out), cada

    trama es enviada slo una vez.

  • 7/21/2019 Solucionario_Tema10

    13/15

    Tema 10: Control de enlace de datos

    10.13

    Figura 10.4. Solucin Ejercicio 10.27.

    Problema 29

    Repita el Ejercicio 27 si se pierde la primera trama (trama 0).

    Solucin:

    En la figura 10.5 se muestra la situacin. En este caso, slo la primera trama es

    reenviada; el reconocimiento de otras tramas llega a tiempo.

    Figura 10.5. Solucin Ejercicio 10.29.

  • 7/21/2019 Solucionario_Tema10

    14/15

    Redes y Comunicaciones

    10.14

    Problema 31

    Un sistema usa el protocolo ARQ con parada y espera. Si cada paquete transporta

    1000 bits de datos, cunto costar enviar un milln de bits de datos si la distancia

    entre el emisor y el receptor es de 5000 km, la velocidad de propagacin es de 2

    108m/s y la velocidad de transmisin es 1 Mbps? Ignore los retardos de espera y

    procesamiento, los retardos de transmisin de los paquetes ACK, as como, la

    sobrecarga debida a la cabecera y la cola. Se asume que no se pierde o se daa

    ninguna trama de datos o de control.

    Repita el ejercicio usando el protocolo ARQ con vuelta atrs N con tamao de

    ventana de 7. Ignore la sobrecarga debida a la cabecera y la cola.

    Solucin:

    Se necesita enviar = 106/103= 1000 tramas. Se ignora la sobrecarga debido a la

    cabecera y la cola:

    Tiempo de transmisin de tramas de datos = 1000 bits / 1000000 bps = 1 ms

    Tiempo de propagacin = 5000 km / 200000 km/s = 25 ms

    Tiempo de transmisin ACK = 0 (es usualmente despreciable)

    Tiempo de propagacin ACK = 5000 km / 200000 km/s = 25 ms

    Retardo para 1 trama = 1 + 25 + 25 = 51 ms.

    Retardo total = 1000 51 = 51 s

    En el peor caso, se enva la ventana llena de tamao 7 y, entonces, se espera para

    el reconocimiento de toda la ventana. Se necesita enviar 1000/7 = 143 ventanas.

    Se ignora la sobrecarga debido a la cabecera y la cola.

    Tiempo de transmisin para 1 ventana = 7000 bits / 1000000 bps = 7 ms

    Tiempo de propagacin = 5000 km / 200000 km/s = 25 ms

  • 7/21/2019 Solucionario_Tema10

    15/15

    Tema 10: Control de enlace de datos

    10.15

    Tiempo de transmisin ACK = 0 (es usualmente despreciable)

    Tiempo de propagacin ACK = 5000 km / 200000 km/s = 25 ms

    Retardo para 1 ventana = 7 + 25 + 25 = 57 ms.

    Retardo total = 143 57 ms = 8.151 s