Solucionario_Tema10
-
Upload
alfonso-de-miguel-esponera -
Category
Documents
-
view
218 -
download
1
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