Академический Документы
Профессиональный Документы
Культура Документы
Enlace Enlace
Petición del
Evento:
nivel de red
Notificación Notificación
Evento: Evento:
del nivel del nivel
Puede ocurrir o bien una petición del nivel de
red o una notificación de llegada del nivel
físico.
Después de que se envíe una trama, el
algoritmo debe ignorar cualquier petición del
nivel de red hasta que la trama es reconocida.
Se necesita algo que prevenga el envío de
inmediato de la trama pues las peticiones del
nivel de red pueden ocurrir una después de
otra sin que suceda un evento de llegada
entre ellas.
Para esto se usa una variable «Puedo enviar»
que tenga valores verdadero o falso; cuando
se envía una trama la variable se pone a falso
osea no se puede enviar una nueva petición
de red hasta que esta variable este en
verdadero; cuando se recibe una señal ACK
esta variable se pone a verdadero.
El algoritmo es muy similar al del emisor con
la excepción de que después de la llegada de
la trama de datos, el receptor envía una
trama ACK para confirmar al emisor la
recepción y permitirle enviar la trama
siguiente.
Emisor Receptor
A B
Petición
Llegada
Llegada
Petición
Llegada
Llegada
Petición
Llegada
Tiempo Tiempo
Aunque el protocolo con parada y espera nos
da una idea de como añadir control de flujo a
su predecesor, los canales sin ruido no
existen. Se puede ignorara el error como se
hace a veces o puede ser necesario añadir
control de errores a nuestro protocolo. Se
muestran tres protocolos que usan control
error
Para detectar y corregir las tramas corruptas es necesario
añadir bits de redundancia a las tramas de datos.
Cuando la trama llega al receptor se comprueba y si esta
corrupta se descarta en silencio.
La detección de errores de este protocolo se manifiesta
por el silencio del receptor.
Las tramas perdidas son mas fáciles de manejar que las
corruptas. En nuestro protocolo anterior no había forma
de identificar una trama.
La trama recibida podría ser correcta, una duplicada o una
trama fuera de orden. La solución es numerar las tramas.
Cuando el receptor recibe una trama de datos fuera de
orden significa que hay tramas perdidas o duplicadas.
La corrección de errores en ARQ con parada y espera se
hace manteniendo una copia de la trama enviada y
retransmitiendo la trama cuando expira el temporizador
Pueden ocurrir 3 cosas:
La trama llego bien al receptor, el receptor emite una
confirmación. La confirmación llega al emisor
haciendo que el emisor envié la trama siguiente con
el numero x+1.
La trama llego bien al receptor, el receptor envía una
confirmación, pero la confirmación se corrompe o se
pierde. El emisor renvía la trama con numero x,
después de un time-out. Observe que aquí la trama
es un duplicado. El receptor puede darse cuenta de
este hecho por que espera la trama x+1 pero recibe
al trama x.
La trama tiene error o nunca llega al receptor; el
emisor renvía la trama con numero x después del
time-out.
Puesto que los números de secuencia debe ser
adecuados tanto para tramas de datos como para
tramas ACK, se usa la siguiente convención de
bits; los números de confirmación siempre
indican el numero de secuencias de la trama
siguiente esperada por el receptor. Por ejemplo si
la trama 0 ha llegado bien , el receptor envía una
trama ACK con numero de secuencia 1lo que
significa que espera después de trama 1. si la
trama 1 llega bien el receptor envía una trama
ACK con numero 0 indicando que espera trama
0.
Se envía la trama 0
y se recibe
confirmación. La
trama uno se pierde
y se renvía después
del temporizador.
La trama uno
renviada se
confirma y se para
el temporizador.
La trama 0 se envía
y es confirmada ero
se pierde la
confirmación. El
emisor no tiene
idea de si se ha
perdido la trama
con la
confirmación, por
ello después del
temporizador
renvía la trama 0
que es confirmada.
PETICIÓN DE RESPUESTA
AUTOMÁTICA CON VUELTA ATRÁS
N
Para aprovechar al máximo el
canal es necesario dejar que haya
mas de una trama pendiente para
mantener el canal ocupado
mientras el emisor espera por la
confirmación
En este protocolo se pueden
enviar varias tramas antes de
recibir confirmaciones
Se mantienen copias de estas
tramas hasta que lleguen las
confirmaciones
NÚMEROS DE SECUENCIA
-Las tramas se enumeran
secuencialmente
-Los números van de 0 a 2^m-1
donde m es el tamaño del campo de
número de secuencia en bits.
VENTANA DESLIZANTE
-Este es un concepto abstracto que
define el rango de números de
secuencia que usan el emisor y el
receptor.
-El emisor y el receptor necesitan
tratar solo con una parte de los
números de secuencia posibles
La ventana deslizante del emisor
se divide en 4 regiones
importantes:
-Tramas ya confirmadas
-Tramas pendientes
-Tramas que pueden ser enviadas
-Tramas que no pueden enviarse
Las variables importantes son:
Sf,Sn y Ssize
La ventana deslizante del
receptor define una caja imaginaria
de tamaño 1 con una única variable
Rn, la ventana desliza cuando llega
la trama correcta, este se produce
en una entrada cada vez.
TEMPORIZADORES
Se usa solo un temporizador, el
temporizador para la primera
trama pendiente siempre expira
primero
CONFIRMACION
-El receptor envia la confirmación
si la trama ha llegado bien y en
orden
-Si la trama está dañada el
receptor mantiene silencio y
descarta las tramas siguientes
hasta que recibe la que está
esperando, este silencio hace que
el temporizador de la trama
dañada expire, por lo que el emisor
vuelve a enviar las tramas a partir
de la que se dañó
Ejemplo 11.6
Se muestra un ejemplo de vuelta
atrás N, en el cual el canal hacia
adelante es fiable y no así el canal
inverso, no se pierden las tramas
de datos pero algunos ACK se
retrasan y uno se pierde, también
se muestra como las
confirmaciones acumuladas
pueden ayudar si las
confirmaciones se retrasan o se
pierden
ARQ con vuelta atrás N versus ARQ con parda y espera
Existen similitudes entre ARQ con vuelta atrás N y ARQ con parada y
espera. Se puede decir que el ARQ con parada y espera es realmente un
ARQ con vuelta atrás N en el que hay solo dos números de secuencia y el
tamaño de la ventana de envío es de 1. En otras palabras, m=1, 2m-1 = 1.
ARQ con vuelta atrás N, la suma es módulo -2m ; en ARQ con parada y
espera es 2, que es igual a 2m cuando m=1.
• Diseño
El diseño es similar en este caso al descrito para el de vuelta atrás N,
pero más complicado, como repetición se muestra en la figura 11.20.
• Tamaño de ventana
Ahora podemos ver podemos ver por qué el tamaño de ventana del emisor y el
receptor deben ser al menos la mitad de 2m . La figura 11.21 compara un
tamaño de ventana de 2 con un tamaño 3.
Si el tamaño de la ventana es de 2 y se pierden todas las confirmaciones, el
temporizador para la trama 0 expira y se renvía la trama 0. Sin embargo la
ventana del receptor está ahora esperando la trama 2, no la 0, por lo que la
trama duplicada se puede descartar correctamente.
Ejemplo 11.18
Se muestra cómo se comporta la repetición selectiva en este caso. La
figura 11.23 muestra esta situación.
PIGGYBACKING
Para protocolos unidireccionales; las tramas de datos fluyen en una
dirección aunque las tramas de control de información como las ACK y NAK
pueden viajar en la otra dirección. En a vida real , las tramas de datos
fluyen normalmente en ambas direcciones: el nodo A al nodo B y del nodo B
al nodo A. Esto significa que la información de control también necesita el
flujo en ambas direcciones. Se unas técnica denominada piggybacking para
mejorar a eficiencia de los protocolos bidireccionales. Cuando una trama
lleva datos de A a B, también puede llevar información de control sobre
sobre las tramas recibidas (o perdidas) desde A.
En la figura 11.24 se muestra el diseño del QRQ con vuelta atrás N usando
piggybacking. Cada nodo tiene ahora dos ventanas; una de envío y una de
recepción.