Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ZONA NORTE
ZONA CENTRO
ZONA SUR
TRANSFERENCIA DE DATOS
UNSAAC, CUSCO, PER MADRID, ESPAA
A continuacin se muestra el proceso de envo de datos de forma segura, ya que en el envo de datos no interesa ni el origen ni el destino, ni la distancia entre emisor y receptor, lo que se respeta es la siguiente manera de enviar archivos.
Figura: Transferencia confiable de datos: Modelo del servicio e implementacin del servicio.
Comenzando:
lado emiso r
lado recepto r
sta d o : cu a n d o se e
Estado 1
evento acciones
Estado 2
emisor
receptor
receptor
rdt_rcv(rcvpqt) && corrupt(rcvpqt) udt_send(NAK)
emisor
rdt_rcv(rcvpqt) && notcorrupt(rcvpq t) extract(rcvpqt,da ta) deliver_data(dat a)
defecto fatal:
Receptor: tiene que chequear si el paquete recibido es duplicado el estado indica si 0 1 es el # de secuencia esperado del paquete Nota: el receptor puede no saber si su ltimo ACK/NAK se recibi OK en el emisor
udt_send ( sndpk t)
Fi u ra : rd t2 . 2 : e m i r. g so
Fi u ra : rd t2 . 2 : re ce p to r. g
Nueva suposicin: El canal subyacente puede tambin perder paquetes (datos ACK's) La suma de comprobacin checksum, el # de secuencia, ACK's, las retransmisiones sern de ayuda, pero no suficientes
retransmisin ser por duplicado, pero uso de #'s de secuencia maneja esto el receptor tiene que especificar # de secuencia del paquete siendo/a ser ACKeado
Fi u ra : rd t3 . 0 : e m i r. g so
rdt3.0: en accin:
Figura : operacin sin ninguna prdida . Figura : operacin con paquete perdido .
rdt3.0: en accin:
Protocolos "pipelined"
Pipelining: El emisor permite mltiples, "en-vuelo", paquetes todava-por- serackeados/reconocidos el rango de nmeros de secuencia tiene/debe ser incrementado "buffering" en el emisor y/o en el receptor
Protocolos "pipelined"
Pipelining: 2 formas genricas de protocolos "pipelined":
Protocolos "pipelined"
Pipelining:
Protocolos "pipelined"
Pipelining: utilizacin incrementada:
Protocolos "pipelined"
Pipelining: utilizacin incrementada:
Go-Back-N
Emisor: # de secuencia de k-bit en el encabezado del paquete "ventana" de hasta N, consecutivos paquetes sin acuse-derecibo permitidos ACK(n): acuse de recibo de todos los paquetes hasta, incluir el de # de secuencia n "ACK acumulativo puede recibir ACK's duplicados (ver receptor) timer para cada paquete "en-vuelo timeout(n): retransmite paquete n y todos los paquetes con # secuencia mas altos en la ventana
Go-Back-N
FSM extendido del emisor:
Go-Back-N
FSM extendido del emisor:
Go-Back-N
FSM extendido del receptor: ACK-solo: siempre enva ACK para paquete correctamente recibido con el mas alto # de secuencia en-orden puede generar ACK's duplicados necesita solamente recordar expectedSeqNum / nroSecEsperado Paquete fuera-de-orden: descarta (no bufferea) ==> ningn buffering del receptor re-ACKea paquete con el ms alto # de secuencia en-orden
Go-Back-N
FSM extendido del receptor:
Go-Back-N
G B N e n a cci n :
Go-Back-N
G B N e n a cci n :
Repeticin Selectiva
El receptor individualmente acusa recibo de todos los paquetes correctamente recibidos Coloca en el buffer los paquetes, como sea necesitado, para eventual entrega enorden a la capa superior El emisor solamente reenva paquetes para los cuales ACK no fue recibido Timer de emisor para cada paquete sin-ACK Ventana del emisor N consecutivos #'s de secuencia Otra vez limita #'s de secuencia de paquetes enviados, no-ACKeados
Repeticin Selectiva
Figura : Repeticin Selectiva ( SR ): vistas del emisor y receptor del espacio de # 's de secuencia
Repeticin Selectiva
Emisor SR: eventos y acciones: (1/2) Data recibida desde arriba:
Cuando data es recibida desde arriba, el emisor SR chequea el siguiente # de secuencia disponible para el paquete. Si el # de secuencia est dentro de la ventana del emisor, la data es empaquetada y enviada; de otra manera ella es "buffered" retornada a la capa superior para transmisin posterior, como en GBN
Timeout:
Timers son de nuevo usados para proteger contra paquetes perdidos. Sin embargo, cada paquete ahora debe tener su propio timer lgico, puesto que solo un simple paquete ser transmitido en timeout. Un simple timer en hardware puede ser usado para imitar la operacin de mltiples timers lgicos
Repeticin Selectiva
Emisor SR: eventos y acciones: (2/2) ACK recibido:
Si un ACK es recibido, el emisor SR marca ese paquete como habiendo sido recibido, con la condicin que est dentro de la ventana. Si el # de secuencia del paquete es = a base_E, la ventana es movida hacia adelante al paquete sin-acuse-de-recibo con el ms pequeo # de secuencia. Si la ventana se mueve y hay paquetes no transmitidos con nmeros de secuencia que ahora caen dentro de la ventana, estos paquetes son transmitidos.
Repeticin Selectiva
Receptor SR: eventos y acciones: (1/2) Paquete con # de secuencia dentro de [base_R, base_R + N - 1] es correctamente recibido:
En este caso, el paquete recibido cae dentro de la ventana del receptor y un ACK selectivo es retornado al emisor. Si el paquete no fue previamente recibido, es "buffered". Si este paquete tiene un # de secuencia igual a la base de la ventana del receptor (base_R en la Figura), entonces este paquete, y cualquier previamente "buffered" y consecutivamente numerados (comenzando con base_R) paquetes son entregados a la capa superior. La ventana de recepcin es entonces movida hacia delante por el nmero de paquetes entregados a la capa superior. Como un ejemplo, considerar la Figura, cuando un paquete con un nmero de secuencia de base_R = 2 es recibido, este y los paquetes 3, 4, y 5 pueden ser entregados a la capa superior.
Repeticin Selectiva
Operacin SR:
Repeticin Selectiva
Dilema: ejemplo: #'s de secuencia: 0, 1, 2, 3 tamao de la ventana: 3 el receptor no ve la diferencia en los 2 escenarios! incorrectamente pasa data duplicada como nueva en (a) P: Qu relacin entre el tamao del # de secuencia y tamao de la ventana?
Repeticin Selectiva
Dilema:
Figura: Receptor SR: dilema con ventanas demasiado grandes: un nuevo paquete una retransmisin?.