Arquitectura de Redes, Sistemas y Servicios

Anuncio
Arquitectura de Redes, Sistemas y Servicios
Guia de estudio del tema 3
Miguel A. Gómez Hernández
24 de octubre de 2007
1.
Objetivos
Este tema describe las funciones del nivel de enlace, en el supuesto de que dos máquinas se
comunican mediante un canal dedicado. En este sentido se espera que comprendas los problemas
que aparecen, ası́ como las técnicas básicas para resolverlos. Los objetivos de este tema, por lo tanto,
son los siguientes:
Comprender la necesidad de sincronización o entramado, 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 que el receptor puede darse cuenta de que una trama recibida tiene errores.
Comprender las técnicas ARQ de control de errores, y tener una percepción intuitiva de sus
prestaciones.
Conocer el protocolo HDLC, sus caracterı́sticas fundamentales, y poder describir el funcionamiento de dicho protocolo en escenarios sencillos.
2.
Lecturas recomendadas
El capı́tulo 7 de [Sta00] cubre con completitud este tema, tal como se ha planteado en la asignatura. Por lo tanto es la lectura básica para el tema. Además, los apuntes sobre HDLC proporcionados
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, con mayor amplitud en
algunos aspectos (detección de errores, verificación de protocolos), y con menor en otros (HDLC).
En este caso, esta lectura se recomienda de forma secundaria. Los protocolos de nivel de enlace de
Internet se describen con relativo detalle en [Ste94].
3.
Problemas recomendados
En esta sección se recomiendan una serie de problemas, y de preguntas abiertas que pueden
ayudarte a repasar los conceptos aprendidos en este tema, y a explorar problemas para localizar las
dudas o aspectos más interesantes.
1
3.1.
Problemas
3.1.1.
Problema 1
Este problema permite reflexionar más sobre los distintos protocolos estudiados en clase, comprendiéndo mejor qué hacen ante determinados eventos.
Supón dos máquinas A y B unidas por un enlace punto a punto, siendo la máquina A
transmisora y la B receptora. Si se escribe el código del protocolo del nivel de enlace
lógico en un entorno orientado a eventos, este protocolo estará esperando la llegada
de un evento (que puede ser que llega algo de la capa fı́sica, que llega algo de la capa
superior, o que vence algún temporizador), y en el momento en el que llega un evento
lo procesa.
Asume primero que el medio está libre de errores, aunque sigue siendo necesario el
control de flujo. Si el protocolo de nivel de enlace lógico implementa la técnica de parada
y espera, tal como se ha descrito en clase, dibuja dos diagramas de flujo, correspondientes
a estos protocolos en cada una de las máquinas.
Si el medio introduce errores, además del control de flujo será necesaria la recuperación
ante errores. Si se utiliza un protocolo de nivel de enlace lógico que implementa la técnica
de parada y espera descrita en clase, dibuja sus diagramas de flujo, correspondientes a
las dos máquinas.
Considera que para aumentar el rendimiento se prefiere una técnica de ventana deslizante
con rechazo simple (vuelta atrás N ). Dibuja los diagramas de flujo, primero suponiendo
que no hay errores, y eliminando esta suposición después.
Finalmente, realiza el mismo ejercicio con un protocolo que implemente la técnica de
ventana deslizante con rechazo selectivo.
3.1.2.
Problema 2
El siguiente problema te permitirá pensar sobre el rendimiento del protocolo de parada y espera,
en un medio libre de errores. Además de decucir la fórmula, reflexiona sobre el impacto de cada
término en el rendimiento. La solución la puedes encontrar en [Sta00, pp. 210-215], pero intenta
resolverlo con anterioridad.
(a) Supón un enlace semiduplex entre dos estaciones por medio de un canal libre de
errores. Una de las estaciones es transmisora, y la otra receptora, y se utiliza un
protocolo de control de flujo de parada y espera. Supón que el tiempo que tarda
en transmitirse la trama es ttrama y que el tiempo que tarda en propagarse hasta
el otro extremo es tprop . Supón que el tiempo de transmisión de los asentimientos
es despreciable, y que el tiempo de procesamiento en las estaciones es nulo. Si el
emisor siempre tiene datos para transmitir, ¿cuál es el uso del canal (qué fracción
de tiempo se transmiten datos)?
(b) Si la tasa de transmisión binaria es de R bits por segundo, la trama tiene L bits, el
canal mide d metros, y la señal se propaga por el medio a V metros por segundo,
¿cuál es el uso del canal en función de R, L, d y V ?
(c) Si en (a) el protocolo utilizado es de ventana deslizante, con tamaño de ventana
W , ¿cuál es el uso del canal?
3.1.3.
Problema 3
El siguiente problema es un problema abierto e incide sobre el análisis de la eficiencia.
2
Dos máquinas A y B están conectadas por un enlace punto a punto, utlizando una
arquitectura de comunicaciones de tres capas:
La capa fı́sica ofrece una velocidad binaria R, utilizando una codificación Manchester
con voltajes de -5V y +5V, sobre un par trenzado apantallado, sobre el que la señal
se propaga a una velocidad V . El cable mide L metros.
La capa de enlace de datos utiliza un protocolo de ventana deslizante en el que,
aunque el medio fı́sico puede introducir errores, no se implementan temporizadores
ni rechazos. De esta forma el nivel de enlace de datos hace control de flujo pero no
control de errores. El tamaño de ventana es W , y las tramas tienen B = H + D
bits, de los que D son los datos transportados a la capa de aplicación, y H de
sobrecarga (cabecera y cola).
La capa de aplicación necesita poder transmitir datos a RA bits por segundo, y
genera mensajes suficientemente pequeños como para que cada mensaje quepa en
una trama del nivel inferior.
Supón que ttrama ≈ tprop y que el tamaño de ventana W es grande (W > 5). En estas
condiciones contesta a las siguientes preguntas.
(a) Supón que puedes variar la velocidad binaria de transmisión R. ¿Cuál será el valor
mı́nimo de R para que la capa de aplicación pueda disponer de unos determinados
RA bits por segundo? Proporciona este valor mı́nimo de R como una función de L,
V , W , H, D y RA .
(b) La capa de aplicación necesita RA = 64kbps, y genera mensajes de D = 150 bytes,
a los que el nivel de enlace añade H = 32 bytes de cabecera. En el nivel de enlace
se pueden tener hasta W = 15 tramas pendientes de confirmación. Finalemente,
el cable mide L = 30 km y la señal se propaga sobre él a V =200 m/µs. Calcula
numéricamente el valor mı́nimo de la velocidad binaria del medio fı́sico.
(c) Si la máquina A y la máquina B pueden transmitir a la vez, porque el enlace es
duplex, justifica si el servicio ofrecido por el nivel de enlace de datos podrı́a ser
utilizado para ofrecer comunicaciones de audio interactivo. ¿Y para ofrecer transferencia de ficheros?
3.1.4.
Problema 4
El siguiente problema, 7.1 en [Sta00], obliga a reflexionar sobre las relaciones entre los términos
de la expresión deducida en el problema anterior.
Considera un enlace punto a punto semiduplex en el que se utiliza un esquema de parada
y espera, enviándose una serie de mensajes, cada uno de los cuales se segmenta en una
serie de tramas. Si no se consideran errores, ni los bits suplementarios en las tramas:
(a) ¿Qué repercusiones tiene en el uso de la lı́nea un aumento del tamaño de los mensajes de forma que se necesite transmitir un menor número de ellos, si todos los
demás factores se mantienen constantes?
(b) ¿Qué repercusión tiene en el uso de la lı́nea aumentar el número de tramas manteniendo constante el tamaño del mensaje?
(c) ¿Qué repercusión tiene en el uso de la lı́nea aumentar el tamaño de las tramas?
3
3.1.5.
Problema 5
El siguiente es el problema 7.2 de [Sta00], 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?
3.1.6.
Problema 6
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 semiduplex con errores en el que se utiliza un esquema de parada y espera y en el que 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. ¿En qué casos, y debido a
un mal dimensionamiento del temporizador de retransmisiones, se pueden aceptar en el
receptor como válidas tramas duplicadas (tramas que el emisor ha tenido que retransmitir por vencimiento del temporizador)? ¿Por qué la numeración de los asentimientos
permite solucionar este problema potencial?
3.1.7.
Problema 7
El siguiente problema ilustra que el rendimiento puede mejorar al aumentar el tamaño de ventana, 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 [Sta00].
Si se utilizan tramas de 1000 bits en un canal vı́a satélite a 1Mbps, con 270ms de retardo,
¿cuál es el uso máximo del canal con
(a) un esquema de parada y espera?
(b) un esquema de control de flujo de ventana deslizante, con tamaño de ventana 7?
(c) un esquema de control de flujo de ventana deslizante, con tamaño de ventana 127?
(d) un esquema de control de flujo de ventana deslizante, con tamaño de ventana 255?
¿Con qué tamaño de ventana se consigue un uso del 100 %?
3.1.8.
Problema 8
El problema 7.4 de [Sta00] presenta un escenario en el que un nodo actúa de intermediario de
la comunicación entre otros dos. 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 dAB = 4000km y dBC = 1000km
respectivamente, y el retardo de propagación es τ = 4µs/km para ambas lı́neas. La
velocidad de transmisión entre A y B es RAB = 100kbps. Las tramas de datos tienen
longitud L = 1000bits, 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
4
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 dAB , dBC , τ , L, 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.
3.1.9.
Problema 9
El siguiente problema es un problema abierto. Trata de reforzar el concepto de tasa binaria
efectiva.
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.
3.1.10.
Problema 10
El siguiente problema, ampliación del 7.5 de [Sta00], 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.
(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 t 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, t, 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.
3.1.11.
Problema 11
El siguiente problema se trata de otro problema abierto. La solución puede encontrarse en [Sta00,
pp. 199] y también en [Tan03, pp. 226], 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).
5
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 temporizador vence, reenvı́a la trama en cuestión. Observa que esto difiere del ejemplo
incluido en las transparencias: en ese ejemplo, al vencer el temporizador, el transmisor hacı́a un sondeo. Esto último es lo que se hace en HDLC, pero no aquı́.
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 W ≤ 2n − 1.
(a) Encuentra un ejemplo en el que si W = 2n − 1 y se utiliza el ARQ con rechazo
selectivo descrito aquı́, el protocolo falla. Para hacerlo supón que se numeran las
tramas con n=3 bits, y que se utiliza un tamaño de ventana W =7.
(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).
3.1.12.
Problema 12
Las siguientes preguntas son de los problemas 7.14, 7.18 y 7.19 de [Sta00] y el problema 5.25 de
[LG00]. Permiten reflexionar sobre cómo optimizar los protocolos.
(a) En el estudio del ARQ (puede haber errores) con parada y espera no se ha hecho
mención a las tramas de rechazo REJ0 y REJ1. ¿Por qué no es necesario utilizar
dichas tramas en un ARQ de parada y espera?
(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 correctametne, 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 tramaI con N(S) igual al N(R) de la trama SREJ de salida.
Estas reglas indican qué ocurre (en términos de transmitir tramas REJ y SREJ)
si la situación tras una REJ o una SREJ no ha finalizado. Deduce estas reglas
justificando la respuesta.
3.1.13.
Problema 13
La siguiente propuesta de discusión aparece como problema 3.4 de [Tan03].
Uno de sus compañeros ha señalado que es un desperdicio terminar cada trama con un
byte de bandera e iniciar la siguiente con otro. Un sólo byte de bandera podrı́a hacer el
trabajo, por lo que un byte guardado es un byte ganado. ¿Usted está de acuerdo?
6
3.1.14.
Problema 14
La siguiente pregunta es el problema 5.19 de [LG00], y trata otro aspecto obviado en la explicació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 cinco tramas al destino, y no ocurren
errores.
Observa que esta pregunta está muy relacionada con la práctica del laboratorio.
3.1.15.
Problema 15
El problema 5.23 de [LG00] 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 recorrese).
Considera un enlace bidireccional que usa un esquema de ventana deslizante, con tamaño
de ventana 7. Las tramas miden 1, y tienen un temporizador que vale 3. La propagación es 0.5, y el tiempo de procesamiento despreciable. Asumiento que tanto A como B
comienzan con un número de secuencia 0, dibuja el cronograma asociado a los siguientes
escenarios:
(a) La estación A envı́a seis tramas seguidas, empezando en t = 0. Todas las tramas se
reciben correctamente.
(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.
(c) La estación A envı́a seis tramas seguidas, empezando en t = 0. La estación B
envı́a seis tramas seguidas, empezando en t = 0,25. Todas las tramas se reciben
correctamente.
3.1.16.
Problema 16
El problema 7.24 de [Sta00] simplemente pide describir la secuencia de eventos en un escenario
en el que se utiliza HDLC.
Supón que una estación primaria en HDLC en NRM envı́a seis tramas-I a una secundaria.
El N(S) de la primera trama 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.
3.1.17.
Problema 17
Los problemas 5.49 y 5.51 de [LG00] permiten reflexionar sobre el bit P/F.
(a) En HDLC, ¿Cómo sabe una estación si una trama recibida con el quinto bit a 1,
si es el bit P o el bit F?
(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?
7
A
)
q
6
q
8
q
)
4
2
3
(a)
1
q
3
q
5
)
6
7
8
q
4
5
B
2
)
ttemp
4
5
A
1
q
q
3
7
)
9
)
B
1
2
)
)
A
B
q
q
q
q
(b)
(c)
Figura 1: Figura del problema 18, con tres escenarios HDLC.
3.1.18.
Problema 18
Los problemas 5.53, 5.54 y 5.55 de [LG00] 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 si no hay errores, sabiendo que las
tramas intercambiadas son las siguientes:
1. AI00
4. xIxx
7. xIxx
2. BI00
5. xRRxx
8. xRRxx
3. xIxx
6. xIxx
9. xRRxx
(b) El escenario de la figura 1b, con HDLC ABM si no hay errores, 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. xIxx
4. xIxx
5. xRRx
(c) El escenario de la figura 1c, con HDLC ABM, sabiendo que las tramas intercambiadas son las siguientes:
1. AI00
5. xREJx
3.1.19.
2. BI00
6. xIxx
3. xIxx
7. xxxx
4. xIxx
8. xxxx
Problema 19
El siguiente problema se trata de otro problema abierto. Utiliza tus apuntes de HDLC para
resolverlo.
Dos estaciones, A y B, utilizan la clase de procedimiento HDLC denominada BA 2,8
para comunicarse en el nivel de enlace de datos. Se asume por simplicidad que las
tramas de información tardan dos unidades de tiempo en transmitirse, las de control y
8
no numeradas se transmiten en tan sólo una, y la propagación entre las dos estaciones
lleva cuatro unidades de tiempo, mientras que el valor asignado al temporizador es once
unidades de tiempo (es decir, ttrama−I = 2τ , ttrama−C = 1τ , ttrama−U = 1τ , tprop = 4τ y
ttemp = 11τ ). El tiempo de procesamiento en las estaciones se considera nulo.
Si vence un temporizador las estaciones realizan un sondeo. Por otra parte, las estaciones
confirman las tramas mediante piggybacking siempre que en el momento de la recepción
de una trama tengan alguna trama en la ventana de transmisión, y en otro caso lo hacen
mediante tramas de control (es decir, si cuando llega una trama a la estación X, esta
estación X tiene alguna trama para transmitir, pero que todavı́a no haya empezado a
transmitir, incluye un asentimiento en su cabecera). Por otra parte, el tamaño de la
ventana es el máximo que permite la clase de procedimiento (ten en cuenta que utiliza
rechazo simple).
Dibuja los cronogramas de intercambio de tramas entre ellas, que responden a la siguiente descripción verbal.
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 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). Además, cuida la numeración de las tramas,
que no se reinicia en cada apartado.
(a) La estación A solicita establecer la conexión, comenzando en t = 0τ , que la estación
B acepta.
(b) El usuario de enlace en la estación A pasa datos que permiten formar cuatro tramas,
en t = 12τ , que son transmitidas y llegan bien. El usuario de enlace de la estación
B pasa datos que permiten formar tres tramas, en t = 17τ , que son transmitidas y
llegan bien.
(c) La estación A tendrá de nuevo una trama que transmitir en el tiempo t = 35τ ,
pero aunque esta trama se transmite, no llega. Sin embargo, el protocolo consigue
arreglarlo.
(d) En el instante t = 70τ la estación A tendrá de nuevo cuatro tramas que transmitir.
Todas ellas son transmitidas pero la tercera de éstas no llega, aunque el protocolo
consigue arreglarlo.
(e) En el instante t = 100τ la estación B tiene datos como para formar siete tramas. Las
transmisiones de estas tramas tendrán éxito. Sin embargo, el usuario de enlace de
A (es decir, la capa superior) no está aceptando tramas de momento. En el instante
t = 120τ el usuario de enlace de A acepta por fin todas las tramas almacenadas,
pero la capa de enlace de A no hace nada. En el instante t = 122τ la capa de enlace
de B realiza un sondeo, que es contestado por la de A, tras lo que todo continúa
con éxito.
(f ) En el instante t = 140τ , la estación A inicia la desconexión, que es aceptada por
B.
3.1.20.
Problema 20
El siguiente problema se trata también de un problema abierto. Utiliza tus apuntes de HDLC
para resolverlo.
Dos estaciones, A y B, utilizan la clase de procedimiento HDLC denominada BA 3,8
para comunicarse en el nivel de enlace de datos. Se asume por simplicidad que las
tramas de información tardan dos unidades de tiempo en transmitirse, las de control y
9
no numeradas se transmiten en tan sólo una, y la propagación entre las dos estaciones
lleva cuatro unidades de tiempo, mientras que el valor asignado al temporizador es
veintidos unidades de tiempo (es decir, ttrama−I = 2τ , ttrama−C = 1τ , ttrama−U = 1τ ,
tprop = 4τ y ttemp = 22τ ). El tiempo de procesamiento en las estaciones se considera
nulo.
Si vence un temporizador las estaciones realizan un sondeo. Por otra parte, las estaciones
confirman las tramas mediante piggybacking siempre que en el momento de la recepción
de una trama tengan alguna trama en la ventana de transmisión, y en otro caso lo hacen
mediante tramas de control (es decir, si cuando llega una trama a la estación X, esta
estación X tiene alguna trama para transmitir, pero que todavı́a no haya empezado a
transmitir, incluye un asentimiento en su cabecera). Por otra parte, el tamaño de la
ventana es el máximo que permite la clase de procedimiento.
Dibuja los cronogramas de intercambio de tramas entre las estaciones, que responden a
la siguiente descripción verbal.
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 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). Además, cuida la numeración de las tramas,
que no se reinicia en cada apartado.
(a) La estación A solicita establecer la conexión, comenzando en t = 0τ , y la estación
B acepta.
(b) El usuario de enlace en la estación A pasa datos que permiten formar cinco tramas,
en t = 12τ , que son transmitidas y llegan bien. El usuario de enlace de la estación
B pasa datos que permiten formar dos tramas, en t = 19τ , que son transmitidas y
llegan bien.
(c) En el instante t = 35τ la estación A tendrá de nuevo cuatro tramas que transmitir.
Todas ellas son transmitidas pero la tercera de éstas no llega, aunque el protocolo
consigue arreglarlo.
(d) La estación B tendrá de nuevo una trama que transmitir en el tiempo t = 65τ ,
pero aunque se transmite, no llega. Sin embargo, el protocolo consigue arreglarlo.
(e) En el instante t = 105τ , la estación B inicia la desconexión, pero su petición llega
corrupta a A. El protocolo consigue arreglar esta situación, hasta que finalmente
se logra la desconexión.
3.1.21.
Problema 21
El siguiente problema se trata nuevamente de un problema abierto. Utiliza tus apuntes de HDLC
para resolverlo.
Dos estaciones, A y B, utilizan la clase de procedimiento HDLC denominada BA 2,8,10
para comunicarse en el nivel de enlace de datos. Se asume por simplicidad que todas las
tramas de información son iguales, y también que las de control y no numeradas tienen
igual tamaño. El tiempo de procesamiento en las estaciones se considera nulo.
El temporizador se arraca al acabar de transmitir una trama, y su valor es cuatro veces
el tiempo de propagación (ttemp = 4tprop ). Si vence un temporizador las estaciones
realizan un sondeo, pero no se pueden tener dos sondeos pendientes (no se realiza un
sondeo mientras no se ha recibido respuesta al anterior).
Por otra parte, las estaciones confirman las tramas mediante piggybacking siempre que
en el momento de la recepción de una trama tengan alguna trama en la ventana de
10
transmisión, y en otro caso lo hacen mediante tramas de control (es decir, si cuando llega
una trama a la estación X, esta estación X tiene alguna trama para transmitir, pero que
todavı́a no haya empezado a transmitir, incluye un asentimiento en su cabecera). Por
otra parte, el tamaño de la ventana es el máximo que permite la clase de procedimiento.
La figura 2 ilustra parte del intercambio de datos. Completa el cronograma, etiquetando
todas las tramas, y atendiendo también a las explicaciones dadas en cada apartado.
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 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).
(a) La estación A solicita establecer la conexión, comenzando en t = 0τ , que la estación
B acepta.
(b) El usuario de enlace en la estación A pasa datos que permiten formar cuatro tramas,
en t = 12τ , que son transmitidas y llegan bien. La confirmación emitida por B para
la segunda de esas tramas no llega.
(c) La estación B transmite dos tramas en t = 35τ , pero la confirmación emitida por A
para la segunda de esas tramas no llega.
(d) La estación B tiene una trama que transmitir en el instante t = 65τ , que se transmite
y llega bien. También en t = 65τ la estación A tendrá de nuevo cinco tramas que
transmitir. Todas ellas son transmitidas pero la cuarta de éstas no llega, aunque el
protocolo consigue arreglarlo.
(e) En el instante t = 100τ la estación B tiene datos como para formar dos tramas, de
las cuales la primera no llega y la segunda sı́. Además, en el momento t = 111τ se
produce una perturbación que hace que se pierda todo lo que hay en el enlace en
ese momento.
(f ) En el instante t = 140τ , la estación B inicia la desconexión, que es aceptada por A.
3.1.22.
Problema 22
El siguiente problema es otro problema abierto. Utiliza tus apuntes de HDLC para resolverlo.
Dos estaciones, A y B, utilizan la clase de procedimiento HDLC denominada BA 3,8
para comunicarse en el nivel de enlace de datos. Se asume por simplicidad que todas
las tramas de información son iguales, y también que las de control y no numeradas
tienen igual longitud. El valor del temporizador es seis veces el tiempo de propagación
(ttemp = 6tprop ). El tiempo de procesamiento en las estaciones se considera nulo.
Si vence un temporizador las estaciones realizan un sondeo. Por otra parte, las estaciones
confirman las tramas mediante piggybacking siempre que en el momento de la recepción
de una trama tengan alguna trama en la ventana de transmisión, y en otro caso lo hacen
mediante tramas de control (es decir, si cuando llega una trama a la estación X, esta
estación X tiene alguna trama para transmitir, pero que todavı́a no haya empezado a
transmitir, incluye un asentimiento en su cabecera). Por otra parte, el tamaño de la
ventana es el máximo que permite la clase de procedimiento.
La figura 3 ilustra parte del intercambio de datos. Completa el cronograma, etiquetando
todas las tramas, y atendiendo también a las explicaciones dadas en cada apartado.
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 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).
11
0 ..................... 0
50 ..................... 50
100 ..................... 100
5 ..................... 5
55 ..................... 55
105 ..................... 105
10 ..................... 10
60 ..................... 60
110 ..................... 110
15 ..................... 15
65 ..................... 65
115 ..................... 115
20 ..................... 20
70 ..................... 70
120 ..................... 120
25 .....................25
75 .....................75
125 .....................125
30 ..................... 30
80 ..................... 80
130 ..................... 130
35 ..................... 35
85 ..................... 85
135 ..................... 135
40 ..................... 40
90 ..................... 90
140 ..................... 140
45 ..................... 45
95 ..................... 95
145 ..................... 145
50 ..................... 50
100 ..................... 100
150 ..................... 150
Figura 2: Cronograma inicializado para el problema 21.
12
(a) La estación A solicita establecer la conexión, comenzando en t = 0τ , que la estación
B acepta.
(b) La estación A tiene ocho tramas que transmitir a partir de t = 10τ , mientras que
la estación B tiene seis también a partir de t = 10τ .
(c) El usuario de enlace en la estación A pasa datos que permiten formar dos tramas,
en t = 40τ , que son transmitidas, pero la segunda no llega bien. Sin embargo, el
protocolo consigue arreglarlo.
(d) En el instante t = 78τ la estación A tiene dos tramas que transmitir. También en
ese mismo instante la estación B tiene dos tramas que transmitir. Sin embago, en
t = 79τ se produce una perturbación en el medio, que corrompe todo lo que en ese
momento está en él.
(e) En el instante t = 110τ , la estación A tiene cinco tramas para transmitir, que
llegarán bien a su destino. Sin embargo, por problemas en B, esta estación tarda 2τ
en generar el asentimiento de cada una de estas tramas (es decir, recibe la trama,
espera 2τ , y luego comienza a transmitir el asentimiento).
(f ) En el instante t = 140τ , la estación A inicia la desconexión, que es aceptada por B.
3.1.23.
Problema 23
El siguiente problema tambén es un problema abierto. Utiliza tus apuntes de HDLC para resolverlo.
Dos estaciones, A y B, utilizan la clase de procedimiento HDLC denominada BA 2,8 para
comunicarse en el nivel de enlace de datos. Se asume por simplicidad que todas las tramas
de información tienen igual tamaño, y también que las de control y no numeradas tienen
igual tamaño (pero distinto de las tramas de información). El tiempo de procesamiento
en las estaciones se considera nulo.
El temporizador se arraca al acabar de transmitir una trama, y su valor es tres veces la
suma del tiempo de trama más el tiempo de propagación (ttemp = 3(ttrama−I + tprop )).
Si vence un temporizador las estaciones realizan un sondeo, pero no se pueden tener
dos sondeos pendientes (no se realiza un sondeo mientras no se ha recibido respuesta al
anterior).
Por otra parte, las estaciones confirman las tramas mediante piggybacking siempre que
en el momento de la recepción de una trama tengan alguna trama en la ventana de
transmisión, y en otro caso lo hacen mediante tramas de control (es decir, si cuando llega
una trama a la estación X, esta estación X tiene alguna trama para transmitir, pero
que todavı́a no haya empezado a transmitir, incluye un asentimiento en su cabecera).
Si ocurren simultáneamente el final de la recepción de una trama y el comienzo de la
transmisión de otra, se trata primero el evento de recepción. Por otra parte, el tamaño
de la ventana es el máximo que permite la clase de procedimiento.
La figura 4 ilustra parte del intercambio de datos. Cada apartado es independiente del anterior,
y por lo tanto la numeración no es consecutiva, pero todos los apartados comienzan y
terminan en una situación en la que no hay ninguna trama pendiente de confirmar. Completa el conograma, añadiendo tramas si lo consideras necesario, y etiquetando todas
las tramas
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 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).
13
0 ..................... 0
50 ..................... 50
100 ..................... 100
5 ..................... 5
55 ..................... 55
105 ..................... 105
10 ..................... 10
60 ..................... 60
110 ..................... 110
15 ..................... 15
65 ..................... 65
115 ..................... 115
20 ..................... 20
70 ..................... 70
120 ..................... 120
25 .....................25
75 .....................75
125 .....................125
30 ..................... 30
80 ..................... 80
130 ..................... 130
35 ..................... 35
85 ..................... 85
135 ..................... 135
40 ..................... 40
90 ..................... 90
140 ..................... 140
45 ..................... 45
95 ..................... 95
145 ..................... 145
50 ..................... 50
100 ..................... 100
150 ..................... 150
Figura 3: Cronograma inicializado para el problema 22.
14
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
I,1,4
I,3,0
RR
I,2,0
I,3,1
.....................
I,1,4
.....................
.....................
.....................
.....................
.....................
.....................
I,7,2
I,6,6 .....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
Figura 4: Cronograma para completar en el problema 23. La tercera columna puede usarse como
reserva, si te equivocas en alguno de los cinco apartados.
15
(a) Este apartado comienza en t = 0.
(b) Este apartado comienza en t = 15τ .
(c) Este apartado comienza en t = 34τ .
(d) Este apartado comienza en t = 52τ .
(e) Este apartado comienza en t = 80τ .
3.1.24.
Problema 24
El siguiente problema es otro problema abierto. Utiliza tus apuntes de HDLC para resolverlo.
Dos estaciones, A y B, utilizan la clase de procedimiento HDLC denominada BA 3,8 para
comunicarse en el nivel de enlace de datos. Se asume por simplicidad que todas las tramas
de información tienen igual tamaño, y también que las de control y no numeradas tienen
igual tamaño (pero distinto de las tramas de información). El tiempo de procesamiento
en las estaciones se considera nulo.
El temporizador se arraca al acabar de transmitir una trama, y su valor es 18 unidades
de tiempo (ttemp = 18τ ). Si vence un temporizador las estaciones realizan un sondeo,
pero no se pueden tener dos sondeos pendientes (no se realiza un sondeo mientras no se
ha recibido respuesta al anterior).
Por otra parte, las estaciones confirman las tramas mediante piggybacking siempre que
en el momento de la recepción de una trama tengan alguna trama en la ventana de
transmisión, y en otro caso lo hacen mediante tramas de control (es decir, si cuando llega
una trama a la estación X, esta estación X tiene alguna trama para transmitir, pero
que todavı́a no haya empezado a transmitir, incluye un asentimiento en su cabecera).
Si ocurren simultaneamente el final de la recepción de una trama y el comienzo de la
transmisión de otra, se trata primero el evento de recepción. Por otra parte, el tamaño
de la ventana es el máximo que permite la clase de procedimiento.
La figura 5 ilustra parte del intercambio de datos. Cada apartado es independiente del anterior,
y por lo tanto la numeración no es consecutiva, pero todos los apartados comienzan y
terminan en una situación en la que no hay ninguna trama pendiente de confirmar. Completa el conograma, añadiendo tramas si lo consideras necesario, y etiquetando todas
las tramas. Ningún apartado acaba con una desconexió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] 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).
(a) Este apartado comienza en t = 0. De los asentimientos que genera la estación B,
considera que los dos primeros se pierden.
(b) Este apartado comienza en t = 20τ .
(c) Este apartado comienza en t = 39τ .
(d) Este apartado comienza en t = 53τ .
(e) Este apartado comienza en t = 70τ .
3.2.
Cuestiones
A continuación se plantean una serie de cuestiones sobre las que deberı́as reflexionar:
16
.....................
.....................
.....................
.....................
I,2,4 .....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
I,4,2
.....................
RR1
.....................
I,5,5
I,3,7
.....................
.....................
.....................
RR
.....................
.....................
.....................
.....................
.....................
.....................
I,2,2 .....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
.....................
Figura 5: Cronograma para completar en el problema 24. La tercera columna puede usarse como
reserva, si te equivocas en alguno de los cinco apartados.
17
Intenta inventar escenarios en los que aplicar un algoritmo de control de flujo. Puedes combinar lo siguiente: el transmisor es más rápido/más lento que el receptor, el transmisor tiene
mucho/poco que transmitir, las tramas son muy largas/muy cortas, la transmisión se hace a
ráfagas/de forma homogénea. . . Reflexiona sobre el rendimiento de las distintas alternativas.
Introduce la posibilidad de que se produzcan errores, y reflexiona sobre el rendimiento de los
protocolos, cómo mejorarlo, y los problemas que encontrarı́an las mejoras.
Piensa problemas en los que hay una estación intermedia, como en el problema 8. Utiliza
distintas soluciones en cada enlace, y reflexiona sobre la conveniencia de cada una.
En los mismos escenarios, describe la secuencia de tramas intercambiadas cuando el protocolo
utilizado es HDLC. Reflexiona sobre el modo de transferencia más adecuado en cada uno de
los escenarios.
Referencias
[LG00] A. León-Garcı́a and I. Widjaja. Communication networks: fundamental concepts and key
architectures. McGraw-Hill Higher Education, 2000.
[Sta00] W. Stallings. Comunicaciones y redes de computadoras. Prentice Hall, Madrid, 6a edición,
2000. Versión original en inglés de 2000.
[Ste94] W.R. Stevens. TCP/IP illustrated, vol. 1: the protocols. Addison Wesley, Reading, MA,
1994.
[Tan03] A.S. Tanenbaum. Redes de computadoras. Prentice Hall Hispanoamericana, México, 4a
edición, 2003. Versión original en inglés de 2003.
18
Descargar