Está en la página 1de 16

Arquitectura de Redes, Sistemas y Servicios

Guı́a de estudio del tema 2, Curso 2023-2024

E. Gómez Sánchez
30 de agosto de 2023

1. Objetivos
Este tema describe las funciones del nivel de enlace siguiendo el punto de vista del modelo de
referencia OSI (es decir, esta capa debe ofrecer un servicio libre de errores, por lo que las funciones
de control de flujo y control de errores son necesarias). Se mantiene el supuesto de que dos máquinas
se comunican mediante un canal dedicado, que se eliminará en el tema siguiente. En este sentido se
espera que comprendas los problemas que aparecen en la comunicación salto a salto, ası́ como las
técnicas básicas para resolverlos.
Los objetivos de este tema, por lo tanto, son los siguientes:
Comprender la necesidad de delimitar las tramas, ası́ como conocer técnicas orientadas a bit
o a carácter para hacerlo.
Comprender la necesidad de control de flujo, cuando una de las máquinas no puede procesar
los datos a la misma velocidad a la que los recibe.
Comprender las técnicas de control de flujo básicas, y su rendimiento en ausencia de errores.
Comprender la necesidad de control de errores, cuando el medio de transmisión no es fiable.
Conocer las técnicas de control de errores básicas.
Comprender las técnicas ARQ y tener una percepción intuitiva de sus prestaciones.
Conocer el protocolo HDLC, sus caracterı́sticas fundamentales, y poder describir el funciona-
miento de dicho protocolo en escenarios sencillos.

2. Lecturas recomendadas
El capı́tulo 7 de [Sta14] cubre con completitud este tema, tal como se ha planteado en la asig-
natura. Por lo tanto es la lectura básica para el tema. Sin embargo, el apéndice 7A que presenta el
análisis de rendimiento de los protocolos ARQ ha desaparecido en [Sta14], por lo que se recomienda
consultar una edición anterior del libro como [Sta04] para comprender mejor estos modelos, y refle-
xionar sobre las suposiciones realizadas. Además, los apuntes sobre HDLC proporcionados [Ase98]
sirven de guı́a rápida para comprender el protocolo, ası́ como de referencia básica, suficiente para
esta asignatura. Por ello, se consideran también lectura básica para el tema.
El capı́tulo 3 de [Tan03] cubre también los objetivos de este tema, pero sólo se recomienda de
manera complementaria.
Por último, cabe apuntar que en este caso [Kur17] no es una buena referencia, ya que la visión de
Internet, especialmente la de las redes de acceso, hace que se dedique poco detalle a los problemas
de control de flujo y control de errores.

1
3. Problemas recomendados
En esta sección se recomiendan una serie de problemas que en general (pero no siempre) tienen
una respuesta cerrada (no hay más de una respuesta correcta). En este tema, además, se repro-
ducen una serie de problemas que no se resuelven explı́citamente, sino como parte del seminario de
métricas de rendimiento. Estos problemas están etiquetados con una marca al margen, pero puedes
hacerlos en casa para comprobar que has comprendido bien el seminario.

Problema 1
El siguiente problema, que apareció en el examen de julio de 2014, ilustra los dos mecanismos
fundamentales de delimitación de tramas.
En el nivel de enlace se quiere transmitir lo siguiente (las comillas y los espacios no
forman parte de lo que se transmite): “a DLE b a a”. Supón que la representación
binaria de los sı́mbolos utilizados es la siguiente: ‘a’=‘11100000’, ‘b’=‘01011111’, y
‘DLE’=‘01010101’.
(a) Si se utiliza inserción de bits con delimitador 01111110, ¿cuál es la ristra de bits
enviada?
(b) Si se utiliza inserción de caracteres con carácter de escape ‘DLE’ y delimitadores
‘STX’ y ‘ETX’, ¿cuál es la ristra de caracteres enviada?

Problema 2
La siguiente pregunta, tomada del examen de febrero de 2014, reflexiona sobre un tercer meca-
nismo para la delimitación de tramas.
¿Por qué no es conveniente realizar la delimitación de tramas mediante violaciones de
código llevadas a cabo en la capa fı́sica?

Problema 3
En el siguiente problema se introduce un nuevo parámetro para la medida del rendimiento de los Seminario
protocolos que será estudiado en profundidad en las prácticas de laboratorio: la tasa binaria efectiva.
La tasa binaria efectiva (Ref ) de una capa de comunicación se define como la cantidad máxima de
datos por unidad de tiempo que puede transmitir el usuario de dicha capa de comunicación.

Supón un enlace dúplex entre dos estaciones, una transmisora y otra receptora, por
medio de un canal libre de errores con capacidad R. La capa de enlace de datos de
ambas máquinas implementa un protocolo que permite hacer un uso del canal U. La
capa de enlace de datos de la estación transmisora siempre tiene datos para transmitir.
Dichos datos son mensajes de tamaño M bits proporcionados por la capa superior y a
los que la capa de enlace de datos añade una cabecera de H bits. ¿Cuál será la tasa
binaria efectiva ofrecida por dicha capa de enlace?

Problema 4
El siguiente problema te permitirá reflexionar sobre el impacto que tienen distintas variables Seminario
sobre el rendimiento de los protocolos de parada y espera y de ventana deslizante en un medio libre
de errores.

2
Supón un enlace dúplex entre dos estaciones, una transmisora y la otra receptora, por
medio de un canal libre de errores. Supón también que la tasa de transmisión binaria es
de R bits por segundo, que la trama tiene B bits, que el canal mide L metros, y que la
señal se propaga por el medio a V metros por segundo.

(a) En el caso de que el nivel de enlace de ambas máquinas utilicen un protocolo de


control de flujo de parada y espera, ¿cuál es el uso del canal en función de R, B,
L y V?
(b) Repite el apartado anterior para el caso de que el nivel de enlace de ambas máquinas
utilicen un protocolo de control de flujo de ventana deslizante.

Problema 5
El siguiente problema, adaptado del 7.1 en [Sta04], obliga a reflexionar sobre las relaciones entre
los términos de la expresión deducida en el problema anterior.
Considera una arquitectura de tres capas (fı́sica, enlace y aplicación) como la que se
simula en el laboratorio. En principio, la capa de aplicación genera mensajes de tamaño
M que el nivel de enlace introduce en tramas de tamaño B = H + M . En el nivel de
enlace se usa un un esquema de parada y espera, y no se producen errores.
(a) ¿Qué repercusiones tiene en el uso de la lı́nea un aumento del tamaño de los men-
sajes (por ejemplo a 2M ), si no hay fragmentación ni agrupamiento?
(b) ¿Qué repercusión tiene en el uso de la lı́nea una reducción del tamaño de los
mensajes (por ejemplo a M 2 , si no hay fragmentación ni agrupamiento?
(c) ¿Qué repercusión tiene en el uso de la lı́nea aumentar el tamaño de los mensajes
(por ejemplo a 2M ), pero haciendo fragmentación, de manera que cada trama
transporte una carga útil de tamaño M .

Problema 6
El siguiente es el problema 7.2 de [Sta04], o también el 3.17 de [Tan03].
Un canal tiene una velocidad de transmisión de 4kbps, y un retardo de propagación de
20ms. ¿Para qué rango de tamaños de trama se conseguirá un uso del canal de al menos
el 50 % con un esquema de parada y espera?

Problema 7
El siguiente problema trata de ilustrar la importancia de numerar los asentimientos en los
esquemas de parada y espera.

Considera un enlace punto a punto dúplex con errores en el que se utiliza un esquema
de parada y espera en el cual los asentimientos no están numerados. De esa manera, la
recepción de un asentimiento indica, simplemente, que la última trama transmitida ha
sido recibida correctamente en el otro extremo del enlace.
(a) ¿En qué casos, y debido a un mal dimensionamiento del temporizador de retrans-
misiones, puede fallar el protocolo (o bien se entregan a la capa superior datos
duplicados, o bien se pierden datos)?
(b) ¿Por qué la numeración de los asentimientos permite solucionar este problema
potencial?

3
Problema 8
El siguiente problema ilustra que el rendimiento puede mejorar al aumentar el tamaño de ven-
tana, si se utiliza un protocolo de control de flujo de ventana deslizante. Además, ilustra los largos
retardos que impone un enlace vı́a satélite. El problema es el 7.3 en [Sta04].
Si se utilizan tramas de 1000 bits en un canal vı́a satélite a 1 Mbps, con 270 ms de
retardo de propagación, calcula el uso máximo del canal para:
(a) Un esquema de control de flujo basado en parada y espera.
(b) Un esquema de control de flujo basado en ventana deslizante con tamaño de ventana
7.
(c) ¿Con qué tamaño de ventana se consigue un uso del 100 %?

Problema 9
El problema 7.4 de [Sta04] presenta un escenario en el que un nodo actúa de intermediario
de la comunicación entre otros dos. Podrı́amos imaginar que es un dispositivo de conmutación,
pero vamos a obviar todos los detalles, incluyendo los retardos debidos a las capas superiores. Al
participar tres nodos en la comunicación, el control de flujo es más complicado.
Intenta resolver el problema mediante un desarrollo simbólico, y reflexiona sobre las relaciones
entre los términos. Después da valores numéricos.
Para que el nodo A se comunique con el nodo C, A envı́a los datos a un nodo B, que
a su vez los reenvı́a al nodo C. Los nodos distan LAB = 4000km y LBC = 1000km
respectivamente, y el retardo de propagación es τ = 5µs/km para ambas lı́neas. La
velocidad de transmisión entre A y B es RAB = 100Kbps. Las tramas de datos tienen
longitud B = 1000bit, y las de asentimiento una longitud despreciable. Entre A y B se
usa un protocolo de ventana deslizante de tamaño W = 3, y entre B y C se usa un
protocolo de parada y espera. No hay errores.
En estas condiciones, si B no transmite suficientemente rápido, le llegarán demasiadas
tramas, que tendrá que almacenar en una memoria temporal. Sin embargo, esta memoria
se terminará eventualmente, y B tendrá que descartar las tramas. ¿Cuál es la velocidad
de transmisión mı́nima, RBC , para que la memoria del nodo B no se sature?
Para resolver el problema:
(a) Dibuja un cronograma que describe el caso en el que la memoria temporal de B no
se satura.
(b) Calcula, en función de LAB , LBC , τ , B, W y RAB , el valor de RBC para que
la memoria temporal de B no se sature. Reflexiona sobre si las relaciones entre
términos parecen razonables.
(c) Da valores numéricos a la expresión calculada anteriormente.

Problema 10
El siguiente problema apareció en el examen de ARSS de septiembre de 2004 (parte con apuntes).
Dos estaciones A y B unidas por un cable utilizan en el nivel de enlace de datos un
protocolo de ventana deslizante, con uso de temporizadores y rechazo simple. En el
problema supón que A es sólo transmisora y B es sólo receptora. Si la probabilidad de
error en el sentido de A a B es nula, y en el sentido de B a A es 1 (PeA→B = 0 y PeB→A = 1),
calcula la tasa binaria efectiva ofrecida por la capa de enlace de datos de A a su usuario
de servicio.

4
Problema 11
El siguiente problema, ampliación del 7.5 de [Sta04], apunta un aspecto del protocolo de ventana
deslizante obviado hasta ahora: la relación entre el número de secuencia máximo y el tamaño de
ventana. Asume en este problema que se está utilizando ventana deslizante con rechazo simple.
(a) Si se numeran las tramas con n bits, el número de secuencia más alto posible es
2n − 1. El tamaño de ventana es W . ¿Cuál es la relación que deben guardar el
número máximo de secuencia, y el tamaño de ventana?
(b) Un canal tiene una velocidad de transmisión de R bps, y un retardo de propagación
de τ segundos por kilómetro. La distancia entre el nodo emisor y el receptor es de
L km, y los nodos intercambian tramas de longitud fija igual a B bits. Encuentra
la expresión que dé el tamaño del campo de numeración de secuencia mı́nimo en
función de R, τ , L y B, considerando utilización máxima. Supón que las tramas de
asentimiento tienen un tamaño despreciable, y que el procesamiento en los nodos
es instantáneo.

Problema 12
El siguiente problema apareció en el examen de ARSS de junio 2002 (parte con apuntes). La
solución puede encontrarse en [Sta04, pp. 228], pero reflexiona sobre él antes de leer la solución.
Supón la siguiente descripción de una técnica ARQ de control de errores con rechazo
selectivo:
Cuando el receptor detecta una trama fuera de secuencia puede enviar un rechazo
selectivo indicando la trama faltante (ej. SREJ i si i es la trama que falta). Después
de esto, debe esperar a recibir dicha trama para cerrar esta situación. Mientras esto
no ocurra, no podrá mandar ningún otro rechazo, ni asentimientos con un número
de secuencia mayor que i (es decir, como mucho podrá enviar RR i).
El transmisor va mandando tantas tramas como tiene en su ventana. Si recibe un
rechazo selectivo SREJ i, debe reenviar la trama i, pero no las sucesivas que ya
hubiese enviado.
Tras cada trama enviada, el transmisor arranca un temporizador. Si este tempori-
zador vence, reenvı́a la trama en cuestión.
Recuerda que para ARQ con rechazo simple el tamaño de la ventana estaba limitado
por el número de bits que se utilizan para numerar las tramas, de la forma que se ha
deducido en el problema anterior.

(a) Encuentra un ejemplo en el que, con el lı́mite válido en el problema anterior (para
ARQ con rechazo simple), si se utiliza el ARQ con rechazo selectivo aquı́ descrito,
el protocolo falla. Para hacerlo supón que se numeran las tramas con n=3 bits
(aunque luego generalices).
(b) Encuentra la condición que debe cumplir W para que esta técnica no falle (es decir,
se pide la expresión W ≤ f (n) que permite garantizar que la técnica no falla).

Problema 13
Las siguientes preguntas son de los problemas 7.6, 7.10 y 7.11 de [Sta04] y el problema 5.25 de
[LG04]. Permiten reflexionar sobre cómo optimizar los protocolos.
(a) En el estudio del ARQ (puede haber errores) con parada y espera no se ha conside-
rado la posibilidad de usar tramas de rechazo. ¿Por qué no supone ninguna ventaja
usar rechazos en parada y espera?

5
(b) En ARQ con ventana deslizante, ¿qué puede ir mal si no se usan los temporizadores?
(c) En ARQ con rechazo selectivo no se pueden usar confirmaciones desordenadas.
Es decir, si la estación X rechaza la trama i, todas las tramas de información
o RR siguientes enviadas por X deben tener N (R) = i hasta que la trama i se
reciba correctamente, incluso en el caso de que otras tramas con N (S) > i se
reciban entre tanto sin errores. Un posible refinamiento es el siguiente: una trama
de información o RR con N (R) = j se interpretará como que la trama j − 1 y todas
las precedentes se han aceptado, excepto aquellas que explı́citamente se hayan
rechazado mediante una trama SREJ. Discute los posibles problemas con los que se
enfrenta este procedimiento.
(d) El estándar ISO para los procedimientos de control de enlace de datos (ISO 4335)
incluye las siguientes definiciones:
1. La situación tras una REJ se considera finalizada cuando se reciba una trama
I con N (S) igual al N (R) de la trama REJ de salida.
2. La situación tras una SREJ se considera finalizada cuando se reciba una trama
I con N (S) igual al N (R) de la trama SREJ de salida.
A continuación, el estándar indica que no está permitido enviar una nueva trama
REJ mientras la situación tras una REJ anterior no esté finalizada. Lo mismo se da
para las SREJ. Justifica la necesidad de esta restricción.

Problema 14
La siguiente pregunta es el problema 5.19 de [LG04], y trata otro aspecto obviado en la expli-
cación: el ajuste de los temporizadores.
Supón que en un enlace con un esquema de control de errores ARQ de parada y espera
el valor del temporizador es menor que el tiempo necesario para recibir el asentimiento.
Dibuja el cronograma cuando el origen envı́a dos tramas al destino, y no ocurren errores.
Observa que esta pregunta está muy relacionada con la práctica del laboratorio.

Problema 15
El problema 5.23 de [LG04] simplemente pide describir la secuencia de eventos en un escenario.
Todas las cantidades son adimensionales (es decir, puedes suponer que la longitud de las tramas se
expresa en segundos que tardan en transmitirse, y el retardo del enlace se expresa en segundos que
tarda en recorrerse). Puedes utilizar para resolverlo una plantilla de cronograma.

Considera un enlace bidireccional que usa un esquema de ventana deslizante, con ta-
maño de ventana 7. Las tramas miden 4, y tienen un temporizador que vale 12 y que
se arranca al terminar de transmitir la trama. Cuando vence el temporizador se
realiza reenvı́o automático. La propagación es 2, y el tiempo de procesamiento despre-
ciable. Asumiendo que tanto A como B comienzan con un número de secuencia 0, dibuja
el cronograma asociado a los siguientes escenarios. Para practicar, utiliza la notación
HDLC (las tramas de información con número de trama N (S) = j e información de
piggybacking sobre la siguiente trama esperada N (R) = k se expresan como Ijk, y los
asentimientos o rechazos indicando que la siguiente trama esperada es N (S) = i se
expresan como RRi, REJi o SREJi.

(a) La estación A envı́a seis tramas seguidas, empezando en t = 0. Todas las tramas se
reciben correctamente.

6
(b) La estación A envı́a seis tramas seguidas, empezando en t = 0. Todas las tramas
se reciben correctamente, excepto la 3 que se pierde. Asume que se utiliza rechazo
simple.
(c) Repite el apartado (b) asumiendo rechazo selectivo.
(d) Repite el apartado (b) asumiendo que no se utiliza ningún tipo de rechazo. Para
este apartado puedes hacer dos variantes: en una, el vencimiento de un tempo-
rizador implica reenvı́o automático; en la otra (estilo HDLC) implica realizar un
sondeo.
(e) La estación A envı́a tres tramas seguidas, empezando en t = 0. La estación B
envı́a tres tramas seguidas, empezando en t = 1. Todas las tramas se reciben
correctamente.

Problema 16
El siguiente problema apareció en el examen de ARSS de junio de 2006 (parte sin apuntes).

Considera un protocolo para implementar el nivel de enlace de datos que va a utilizar


una técnica de ventana deslizante. La comunicación es full duplex aunque sólo hay tráfico
de datos en uno de los sentidos. Las reglas del protocolo son las siguientes:
La estación A transmite tramas hasta agotar la ventana de transmisión.
Cuando A recibe un asentimiento, éste es inclusivo, por lo que se asiente la trama
indicada y todas las anteriores. Entonces A puede avanzar su ventana de transmisión
y seguir enviando tramas.
Cuando B recibe una trama i de la capa fı́sica, la pasa a la capa superior. Sin
embargo, la capa de enlace de B no asiente cada una de las tramas, sino solamente
una de cada N tramas, siendo N un número entero, y existiendo otro número
entero M tal que N × M = W . En tales casos se envı́a un ACK i, mientras que el
resto no se envı́a nada. La primera trama que se asiente es la N -ésima trama.
Observa que el tercero de los puntos difiere del protocolo de ventana deslizante utilizado
en clase. Se espera enviar un menor número de tramas de control ACK.
Por otra parte, se asume que el medio de transmisión no introduce errores, por lo que no
son necesarios ni temporizadores asociados a la retransmisión, ni el uso de rechazos de
ningún tipo. Además se asume que las tramas son de tamaño fijo, por lo que se conoce
un ttrama . También se conoce el tiempo de propagación tprop y el tamaño de la ventana
W , ası́ como el número N .
Suponiendo que A tiene continuamente datos para enviar, resuelve los siguientes apar-
tados.

(a) Obtén la expresión correspondiente al uso del enlace que hace la capa de enlace de
datos de la estación A.
(b) Si se pueden producir errores tanto en las tramas de datos como en los asentimien-
tos, será necesario el uso de temporizadores. Obtén la expresión correspondiente al
valor mı́nimo que deben tener los temporizadores utilizados por A para que no se
produzcan envı́os innecesarios.

Problema 17
El siguiente problema apareció en el examen de ARSS de junio de 2007 (parte con apuntes).

7
Considera un protocolo para implementar el nivel de enlace de datos que va a utilizar
una variante de la técnica de ventana deslizante estudiada en clase. La comunicación
es full duplex aunque sólo hay tráfico de datos en uno de los sentidos. Las reglas del
protocolo son las siguientes:

1. La estación A transmite M tramas consecutivas.


2. Cuando B recibe cualquiera de las M tramas de la capa fı́sica, la pasa a la capa
superior. Sin embargo, la capa de enlace de B no asiente cada una de las tramas,
sino sólo la primera de las M tramas. Este asentimiento es inclusivo, por lo que se
asiente la trama indicada y todas las anteriores.
3. Cuando A recibe el asentimiento a la primera de las M tramas enviadas, dicho
asentimiento permite a la estación liberar los buffers de las tramas confirmadas y
enviar 2M tramas más. Estas 2M tramas son enviadas inmediatamente si cuando
llega el asentimiento la estación ha terminado de enviar la secuencia de M tramas
anterior. En caso contrario, las 2M tramas son enviadas en cuanto la estación
termina de enviar la secuencia de M tramas anterior.
4. Cuando B recibe cualquiera de las 2M tramas de la capa fı́sica, la pasa a la capa
superior. Sin embargo, la capa de enlace de B no asiente cada una de las tramas,
sino sólo la primera de las 2M tramas. Este asentimiento es inclusivo, por lo que
se asiente la trama indicada y todas las anteriores.
5. Cuando A recibe el asentimiento a la primera de las 2M tramas enviadas, dicho
asentimiento permite a la estación liberar los buffers de las tramas confirmadas y
enviar M tramas más. Estas M tramas son enviadas inmediatamente si cuando
llega el asentimiento la estación ha terminado de enviar la secuencia de 2M tra-
mas anterior. En caso contrario, las M tramas son enviadas en cuanto la estación
termina de enviar la secuencia de 2M tramas anterior.
6. Vuelta al punto 2

Observa que este protocolo permite a la estación enviar primero una secuencia de M
tramas, después otra de 2M tramas, después otra de M tramas, después otra de 2M
tramas... y ası́ sucesivamente. En el caso concreto de que se utilizaran 3 bits para numerar
tramas y M = 2, la estación A comenzarı́a enviando las tramas 0 y 1. Al llegar la
confirmación a la trama 0, podrı́a enviar las tramas 2, 3, 4 y 5. Al llegar la confirmación
a la trama 2, podrı́a enviar las tramas 6 y 7. Al llegar la confirmación a la trama 6,
podrı́a enviar las tramas 0, 1, 2 y 3... y ası́ sucesivamente.
Por otra parte, se asume que el medio de transmisión no introduce errores, por lo que
no son necesarios ni temporizadores asociados a la retransmisión, ni el uso de rechazos
de ningún tipo. Además se asume que las tramas son de tamaño fijo, por lo que se co-
noce un ttrama . También se conoce el tiempo de propagación tprop , ası́ como el número M .

Suponiendo que A tiene continuamente datos para enviar, resuelve el siguiente apartado.
(a) Obtén la expresión correspondiente al uso del enlace que hace la capa de enlace de
datos de la estación A.

Problema 18
El problema 7.16 de [Sta04] se resuelve simplemente dibujando la secuencia de eventos en un
escenario en el que se utiliza HDLC.

8
Supón que una estación primaria en HDLC en NRM envı́a seis tramas de información
a una secundaria. El N (S) de la estación primaria es tres (011 en binario) antes de
enviar las seis tramas. Si el bit P=1 en la sexta trama, ¿cuál será el N (R) de vuelta de
la secundaria tras la última trama? Supón que no hay errores.

Problema 19
Los problemas 5.67 y 5.69 de [LG04] permiten reflexionar sobre el bit P/F.
(a) En HDLC, ¿Cómo sabe una estación si una trama recibida con el quinto bit del
campo de control a 1, si le están haciendo o terminando un sondeo?
(b) Supón que una trama con el bit P=1 ha sido enviada. Explica por qué no deberı́a
enviarse otra trama con el bit P=1. ¿Qué deberı́a hacerse si la trama se pierde?

Problema 20
Los problemas 5.71, 5.72 y 5.73 de [LG04] piden describir el intercambio de tramas en HDLC
en determinados escenarios.
Para los siguientes escenarios, completa el etiquetado de las tramas intercambiadas,
y escribe la secuencia de variables de estado en las dos estaciones, según los eventos
ocurren.
(a) El escenario de la figura 1a, con HDLC ABM, sabiendo que las tramas intercam-
biadas son las siguientes:
1. AI00 2. BI00 3. xIxx
4. xIxx 5. xRRx 6. xIxx
7. xIxx 8. xRRx 9. xRRx
(b) El escenario de la figura 1b, con HDLC ABM, asumiendo que la primera trama
que espera A es la 2, y sabiendo que las tramas intercambiadas son las siguientes:
1. AI23 2. xRRxP 3. xRRxx 4. xIxx 5. xRRx
(c) El escenario de la figura 1c, con HDLC ABM, sabiendo que las tramas intercam-
biadas son las siguientes:
1. AI00 2. BI00 3. xIxx 4. xIxx
5. xREJx 6. xIxx 7. xIxx 8. xIxx

Problema 21
El siguiente problema apareció en el examen de ARSS de junio de 2005 (parte sin apuntes).
Utiliza tus apuntes de HDLC para resolverlo.

Dos estaciones, A y B, utilizan HDLC para comunicarse en el nivel de enlace de datos.


El procedimiento HDLC corresponde a una configuración balanceada (ambas estaciones
son combinadas), y permite utilizar tramas I (información), RR (receptor preparado),
REJ (rechazo simple), y otras que no son necesarias en este problema. Se asume por
simplicidad que todas las tramas I tienen igual tamaño, y se sabe que ttrama−I = 3τ .
También se sabe que ttrama−RR = ttrama−REJ = 1τ . El tiempo de propagación entre las
estaciones es tprop = 2τ . El tiempo de procesamiento en las estaciones se considera nulo.
El tamaño de ventana se ha fijado a W = 3.
El temporizador se arraca al acabar de transmitir una trama, y su valor es ttemp = 15τ .
Si vence un temporizador las estaciones realizan un sondeo, pero no se pueden tener

9
A B A B A B

1 1) 1
2 2

q ttemp ✮
q
3 3
q 4
2
✮ q
5
4
✮ 3 ✮
q
5 6
q
4 7 q
7 6 ✮
8 q
✮ q
5 q
9 8 q
✮ q

(a) (b) (c)

Figura 1: Figura del problema 20, con tres escenarios HDLC.

dos sondeos pendientes (no se realiza un sondeo mientras no se ha recibido respuesta al


anterior).
Se sigue la siguiente estrategia de asentimiento, cuando se recibe una trama con número
de secuencia correcto:
Si se dispone de alguna trama de información para el flujo de sentido inverso que
todavı́a no se haya transmitido, se confirma la trama recibida mediante piggybac-
king. En caso de que se produzca simultáneamente la llegada de una trama de la
otra estación y de datos de la capa superior, también se utiliza piggybacking.
En otro caso, se confirma la trama recibida con una trama RR.
Cada apartado es independiente del anterior, y por lo tanto la numeración no es con-
secutiva, pero todos los apartados comienzan y terminan en una situación en la que
no hay ninguna trama pendiente de confirmar. Dibuja el conograma, añadiendo y eti-
quetando las tramas que consideres necesarias, utilizando sólo los tres tipos de tramas
mencionados.
Nota: Utiliza la notación estándar para representar las tramas (en particular, las tramas
de información se representan I,N(S),N(R),[P/F] y las tramas de control se represen-
tan, por ejemplo, RR N(R),[P/F], donde aparece P si el bit P está puesto a 1, F si es el
bit F el que es 1, o nada si el bit P/F es 0).

(a) En t = 0τ la capa de enlace de A recibe datos para formar seis tramas. La primera
de ellas es la I,0,0. El asentimiento a la tercera de las tramas se pierde.
(b) En t = 0τ la capa de enlace de A recibe datos para formar dos tramas. La primera
de ellas es la I,3,2. La segunda se pierde. En t = 1τ la capa de enlace de B recibe
datos para formar una trama.
(c) En t = 0τ la capa de enlace de A recibe datos para formar cuatro tramas. La
primera de ellas es la I,1,3. La segunda se pierde. También en t = 15τ la capa de
enlace de B recibe datos para formar dos tramas, que llegan bien.

10
Problema 22
El siguiente problema es una variación del que apareció en el examen de ARSS de junio de 2006
(parte con apuntes), adaptado para utilizar la misma variante de HDLC simulada en el laboratorio.
Utiliza tus apuntes de HDLC para resolverlo.

La estación primaria A utiliza el procedimiento HDLC denominado UN para comunicar-


se en el nivel de enlace de datos con la estación secundaria B a través de un enlace
semiduplex. En esta comunicación se asume que:

Las tramas de información tardan dos unidades de tiempo en transmitirse, mientras


que las tramas de control y no numeradas se transmiten en una (ttrama−I = 2τ ,
ttrama−C = 1τ , ttrama−U = 1τ ). También se necesitan dos unidades de tiempo para
que la señal pueda propagarse de una estación a otra (tprop = 2τ ). El tiempo de
procesamiento en las estaciones, en cambio, se considera nulo.
La ventana de transmisión empleada tiene tamaño tres (W = 3).
Las estaciones confirman las tramas mediante piggybacking siempre que en el mo-
mento en el que deben enviar la confirmación tienen datos para transmitir. En caso
contrario lo hacen mediante tramas de control.
La estación primaria sondea a la secundaria siempre que:
• Necesita una respuesta para una trama no numerada, en cuyo caso sondea en
la trama no numerada.
• Ha transmitido tramas hasta agotar su ventana de transmisión, en cuyo caso
sondea con la última trama de información.
• Ha transmitido algunas tramas sin agotar su ventana, pero no tiene más para
enviar, en cuyo caso sondea con la última trama de información.
• Recibe la respuesta a un sondeo anterior y no tiene tramas para enviar, en
cuyo caso sondea con una trama de control.
Al acabar de transmitir una trama en la que se sondea a la estación secundaria
se arranca un temporizador con valor doce unidades de tiempo (ttemp−p = 12τ ).
Este temporizador se desactiva si llega una respuesta de la secundaria. Si vence
el temporizador después de haber enviado una trama no numerada con sondeo,
se reenviará la misma trama. En caso de que venza después de haber enviado
una trama de información o de control con sondeo, se recuperará el “testigo” y se
enviarán todas las tramas no confirmadas en el buffer de transmisión (se hubiesen
enviado ya antes o no), haciendo un sondeo en la última. Si no hubiese nada en el
buffer de transmisión, se enviará una nueva trama de control con sondeo.

Utiliza un cronograma para representar el intercambio de tramas que se describe a conti-


nuación. Nota: Utiliza la notación estándar para representar las tramas (en particular,
las tramas de información se representan I,N(S),N(R),[P/F], mientras que las tra-
mas no numeradas y las tramas de control se representan, por ejemplo, UI,[P/F] y RR
N(R),[P/F] respectivamente, donde aparece P si el bit P está puesto a 1, F si es el bit
F el que es 1, o nada si el bit P/F es 0).

(a) La estación A solicita establecer la conexión, comenzando en t = 0τ , que la estación


B acepta. Ninguna trama se pierde.
(b) El usuario de enlace en la estación A pasa datos que permiten formar cuatro tramas,
en t = 10τ . En el mismo instante de tiempo, el usuario de enlace en la estación B
pasa datos que permiten formar una trama. Ninguna trama se pierde.

11
(c) El usuario de enlace en la estación A pasa datos que permiten formar dos tramas, en
t = 30τ . Se pierde la primera trama de datos, pero el protocolo consigue arreglarlo.
(d) En t = 50τ , el usuario de enlace en la estación B pasa datos que permiten formar dos
tramas. Se pierde la segunda trama de datos, pero el protocolo consigue arreglarlo.
(e) La estación primaria solicita cerrar la conexión en t = 80τ . Se pierde la respuesta
de la secundaria, pero el protocolo consigue arreglarlo.

Problema 23
El siguiente problema apareció en el examen de ARSS de junio de 2007 (parte sin apuntes).

Dos estaciones combinadas A y B utilizan el procedimiento HDLC denominada BA 3,8,10


para comunicarse en el nivel de enlace de datos con la estación B a través de un enlace
full duplex. En dicho procedimiento es posible utilizar las órdenes y respuestas que se
muestran en la tabla 1. Observa con detenimiento dicha tabla. Además, en esta comu-
nicación se asume que:

Las tramas de información tardan dos unidades de tiempo en transmitirse, mientras


que las tramas de supervisión y no numeradas se transmiten en una (ttrama−I = 2τ ,
ttrama−C = 1τ , ttrama−U = 1τ ). También se necesitan dos unidades de tiempo para
que la señal pueda propagarse de una estación a otra (tprop = 2τ ). El tiempo de
procesamiento en las estaciones, en cambio, se considera nulo.
La ventana de transmisión empleada tiene tamaño cuatro (W = 4).
El bit P/F no se activa nunca en las tramas de información.
Al acabar de transmitir una trama con el bit P a 1 se arranca un temporizador
de sondeo (poll timer ) con valor cinco unidades de tiempo (ttemp−p = 5τ ). Este
temporizador se desactiva si llega la respuesta esperada por parte de la otra esta-
ción. Si vence el temporizador después de haber enviado una trama no numerada
con sondeo, se reenviará la misma trama. En caso de que venza después de haber
enviado una trama de control con sondeo, se enviará una nueva trama de control
con sondeo.
Al acabar de transmitir una trama de información se arranca un temporizador de
tramas de datos (data frame timer ) con valor nueve unidades de tiempo (ttemp−d =
9τ ). Este temporizador se desactiva si llega una confirmación de la trama enviada
o un rechazo a dicha trama o cualquiera de las enviadas previamente. Si vence el
temporizador se enviará una trama de control con sondeo.
Al acabar de recibir una trama de información se arranca un temporizador de in-
corporación de información (piggybacking timer ) con valor tres unidades de tiempo
(ttemp−pb = 3τ ) si dicho temporizador no ha sido arrancado anteriormente. Este
temporizador se desactiva si el nivel de enlace de datos de la estación recibe una
unidad de datos de la capa superior o si recibe una trama de control que obliga
a reenviar tramas anteriores. Si vence el temporizador se enviará una trama de
control sin sondeo.

Utiliza un cronograma para representar el intercambio de tramas que se describe a conti-


nuación. Nota: Utiliza la notación estándar para representar las tramas (en particular,
las tramas de información se representan I,N(S),N(R),[P/F], mientras que las tra-
mas no numeradas y las tramas de control se representan, por ejemplo, UI,[P/F] y RR
N(R),[P/F] respectivamente, donde aparece P si el bit P está puesto a 1, F si es el bit
F el que es 1, o nada si el bit P/F es 0).

12
órdenes Respuestas
I
RR RR
RNR RNR
SREJ SREJ
SABME UA
DISC DM
FRMR

Tabla 1: Órdenes y respuestas permitidas en el procedimiento BA 3,8,10.

(a) En el instante t = 0τ la estación A solicita establecer la conexión, y la estación B


acepta. La primera trama enviada por A se pierde.
(b) En el instante t = 15τ la capa de enlace de la estación B recibe 5 unidades de datos
de la capa de superior para transmitir. Ninguna trama se pierde.
(c) En el instante t = 50τ la capa de enlace de la estación A recibe 3 unidades de datos
de la capa de superior para transmitir. En el instante t = 56τ la capa de enlace de
la estación B recibe 1 unidad de datos de la capa de superior para transmitir. La
última trama I enviada por A se pierde.
(d) En el instante t = 100τ la capa de enlace de la estación B recibe 2 unidades de
datos de la capa superior para transmitir. En el instante t = 105τ la capa de enlace
de la estación A recibe 1 unidad de datos de la capa superior para transmitir. La
primera trama I enviada por B se pierde.

Problema 24
El siguiente problema apareció en el examen de ARSS de enero de 2022. En lugar de estudiar
el comportamiento de HDLC conociendo lo que ocurre tanto en el transmisor como en el receptor,
ası́ como en el medio, nos describe una visión mucho más cercana a la implementación, en la que
una entidad aplica las reglas del protocolo sin saber lo que ocurre en el medio y en la otra entidad.

Dos estaciones, A y B, utilizan HDLC para comunicarse en el nivel de enlace de datos.


Se asume por simplicidad que todas las tramas I tienen igual tamaño, y se conoce el
ttrama−I . También se conocen tiempos de transmisión de las tramas de supervisión y
no numeradas, ttrama−S y ttrama−U . El tiempo de procesamiento en las estaciones se
considera nulo. El tamaño de ventana, W , es fijo y conocido.
Se usan varios temporizadores, de la siguiente manera:
El temporizador de sondeo (poll timer ), ttemp−p, es arrancado si se envı́a cualquier
trama con el bit P a 1, al acabar la transmisión de la trama. Si vence dicho
temporizador se repite el sondeo.
El temporizador de tramas de datos (data frame timer ), ttemp−d, es arrancado si se
envı́a cualquier trama de datos, al terminar la transmisión de la trama. Si vence
dicho temporizador las estaciones realizan un sondeo, pero no se puede realizar un
nuevo sondeo mientras no venza el temporizador de sondeo.
El temporizador de incorporación de información (piggybacking timer ), ttemp−pb
es arrancado cuando se recibe una trama con número de secuencia correcto, y no
está ya arrancando por la llegada de una trama anterior (es decir, sólo hay un
temporizador de piggybacking). A partir de ahı́:

13
• Si antes de que venza ttemp−pb se reciben datos de la capa superior para formar
una trama en dicho sentido, entonces se confirma la trama recibida mediante
piggybacking y se cancela dicho temporizador. También se hace esto si ocurren a
la vez la llegada de datos de la capa superior y el vencimiento del temporizador.
• Si vence el temporizador de piggybacking, se confirma la trama recibida con
una trama RR.
• Si vence un temporizador de sondeo o de datos mientras un temporizador de
piggybacking está arrancado, se cancela el temporizador de piggybacking.
• Si se da la situación en la que se debe emitir un rechazo, se cancela el tempo-
rizador de piggybacking.
Este protocolo se comporta exactamente igual al que has simulado en el laboratorio,
aunque los valores de los parámetros de tiempo puedan ser diferentes. Dichos valores se
dan a continuación.

Parámetro Valor
Parámetro Valor
ttemp−p 10τ
ttrama−I 3τ
ttemp−d 20τ
ttrama−S 1τ
ttemp−pb 6τ
ttrama−U 1τ
W 4

El procedimientos HDLC BA2,8 permite el uso de las siguientes tramas:

Órdenes Respuestas
I RR
RR RNR
RNR REJ
REJ UA
SABM DM
DISC FRMR

Por otro lado, en la implementación de la entidad como transmisor hace falta mantener
los lı́mites de la ventana (lo ya confirmado, lo enviado pero todavı́a no confirmado, y lo
que es posible enviar sin exceder la ventana del receptor) y temporizadores de dos tipos:
temp d es un vector de temporizadores asociados a cada número de trama. Cuando
un temporizador no está arrancado, su valor es x. Cuando un temporizador está
arrancado, su valor es el tiempo que le queda para vencer.
temp p es el temporizador de sondeo. Vale x cuando no está arrancado, y si está
arrancado vale el tiempo que queda para que venza.
Por su parte, en la implementación del receptor hay que mantener una ventana (lo
ya confirmado, lo recibido pero todavı́a no confirmado, y lo que serı́a posible recibir
sin verse desbordado), además de un temporizador de piggybacking y una variable de
seguimiento de los rechazos, como sigue:
temp pb es el temporizador de piggybacking, y vale x cuando no está arrancado, y
si está arrancado vale el tiempo que queda para que venza.
rej sent es una variable que vale x cuando no se tiene en este momento ninguna
trama rechazada, y el número de trama que se haya rechazado en caso contrario.
Por ejemplo, si se ha emitido REJ5, esta variable valdrá rej sent=5 hasta que se
reciba la trama 5, y después de ello valdrá rej sent=x.

14
Cada uno de los siguientes apartados apunta el estado de la entidad HDLC en un
instante de tiempo de partida (t = 0τ en cada apartado) y describe los eventos de capa
de aplicación o de capa fı́sica que ocurren en un intervalo (atención, sólo ocurren los
eventos que se describen). Mientras no se diga lo contrario, todas las tramas recibidas
de la capa fı́sica tienen el CRC correcto. El apartado termina en un instante dado.
Cada apartado es independiente.
Para contestar al apartado, debes indicar:
Las tramas que esta entidad envı́a entre el instante de partida y el instante de
fin, en el orden en el que han sido enviadas. Utiliza la notación estándar pa-
ra representar las tramas (en particular, las tramas de información se represen-
tan I,N(S),N(R),[P/F] y las tramas de control se representan, por ejemplo, RR
N(R),[P/F], donde aparece P si el bit P está puesto a 1, F si es el bit F el que es
1, o nada si el bit P/F es 0). No es necesario especificar el campo de dirección de
las tramas.
El estado de la entidad HDLC en el instante de final.
En la plantilla de respuestas puedes encontrar los siguientes apartados, en el que el
primero es un ejemplo resuelto:
(Ej) En t = 0τ la entidad HDLC se encuentra en la situación de partida. En t = 1τ
se reciben de la capa de aplicación datos para formar dos tramas. En t = 11τ se
recibe de la capa fı́sica la trama I01. ¿Qué tramas se envı́an en el intervalo 0 − 15τ
y cuál es el estado de la entidad HDLC en t = 15τ ?
(a) En t = 0τ la entidad HDLC se encuentra en la situación de partida. En t = 7τ se
recibe de la capa fı́sica la trama I03. ¿Qué tramas se envı́an en el intervalo 0 − 10τ
y cuál es el estado de la entidad HDLC en t = 10τ ?
(b) En t = 0τ la entidad HDLC se encuentra en la situación de partida. En t = 1τ se
reciben de la capa de aplicación datos para formar dos tramas. En t = 14τ se recibe
de la capa fı́sica la trama I43. En t = 15τ se reciben de la capa de aplicación datos
para formar una trama. En t = 20τ se recibe de la capa fı́sica la trama I53. ¿Qué
tramas se envı́an en el intervalo 0 − 30τ y cuál es el estado de la entidad HDLC en
t = 30τ ?
(c) En t = 0τ la entidad HDLC se encuentra en la situación de partida. En t = 3τ se
recibe de la capa fı́sica la trama RR1P. En t = 8τ se reciben de la capa de aplicación
datos para formar una trama. En t = 12τ se recibe de la capa fı́sica la trama I21.
¿Qué tramas se envı́an en el intervalo 0 − 20τ y cuál es el estado de la entidad
HDLC en t = 20τ ?
(d) En t = 0τ la entidad HDLC se encuentra en la situación de partida. En t = 1τ
se recibe de la capa fı́sica la trama REJ3. En t = 11τ se recibe de la capa fı́sica la
trama I64. ¿Qué tramas se envı́an en el intervalo 0 − 15τ y cuál es el estado de la
entidad HDLC en t = 15τ ?

Referencias
[Ase98] J.I. Asensio. Introducción a HDLC. Apuntes de FTM1, ETSIT, UVA, 1998.
[Kur17] J.F. Kurose and K.W. Ross. Computer networking: a top-down approach. Pearson, Harlow,
Reino Unido, 7a edición, 2017.
[LG04] A. León-Garcı́a and I. Widjaja. Communication networks: fundamental concepts and key
architectures. McGraw-Hill Higher Education, New York, NJ, USA, 2a edición, 2004.

15
[Sta04] W. Stallings. Comunicaciones y redes de computadoras. Prentice Hall, Madrid, España,
7a edición, 2004. Versión original en inglés de 2004.
[Sta14] W. Stallings. Data and Computer Communications. Pearson, Harlow, Reino Unido, 10a
edición, 2014.
[Tan03] A.S. Tanenbaum. Computer networks. Prentice Hall, Upper Saddle River, NJ, USA, 4a
edición, 2003.

16

También podría gustarte