en canal no ideal

En este protocolo símplex de parada y espera en canal no ideal, ya no trabaja en un entorno ideal, y el tiempo de proceso no es despreciable, por tanto, se dan estos cuatro supuestos:

  • Transmisión unidireccional de datos, es decir, solo hay un transmisor y un receptor.

  • Transmisor y receptor siempre dispuestos, es decir, que no hace falta el establecimiento de la conexión y, por tanto, tampoco su finalización.

  • Canal de comunicación no ideal, esto es, es un canal ruidoso y se pierden paquetes.

  • Tiempo de proceso NO despreciable, es decir, los mensajes o los paquetes cuando se envían y reciben consumen tiempo.

En un canal no ideal que se producen cortes o eliminación de paquetes, estos además se pueden perder. Veamos primero qué sucede cuando los paquetes se pueden corromper y a continuación que sucede cuando los paquete se pueden perder

Canal ruidoso

Figura 69: Funcionamiento del protocolo de parada y espera en canal con ruido: error en paquete

Un protocolo cuando trabaja en un canal no ideal con ruido los paquetes se pueden corromper. Así, tal como se ve en la figura 69, un paquete que es enviado desde el transmisor hasta el receptor puede llegar corrompido. El receptor detecta este hecho a través de algún sistema de detección de errores. Para ello, en el paquete debe transportar información redundante.

Una vez que el receptor detecta que el paquete se recibe con errores, entonces deba hacérselo indicar al transmisor con el fin de que este vuelva a retransmitir el paquete. Existen dos esquemas de funcionamiento:

  • el receptor envía a través un paquete de control de confirmación negativa (NAK), que indica al transmisor que no recibió correctamente el paquete que le acaba de enviar.

  • Figura 70: Funcionamiento del protocolo de parada y espera en canal con ruido y con error en ACK: fallo del protocolo

    no enviar ningún paquete de confirmación (negativa), entonces el transmisor detectaría que su paquete no llegó porque no recibió ningún paquete confirmándolo. Ante la falta de confirmación el transmisor lo volvería a transmitir.

A continuación se expondrá el primer caso.

Figura 71: Funcionamiento del protocolo de parada y espera en canal con ruido y con error en ACK

El protocolo se puede enfrentar con el problema de que el ACK o el NAK se reciba con error. Cuando esto sucede el transmisor se pone el caso peor y vuelve a retransmitir el paquete anterior. En la figura 70 vemos el caso de cuando el receptor envió un ACK (confirmación positiva), es decir, el receptor recibió correctamente un paquete y lo confirmó con un ACK, y este paquete de control se corrompe.

Figura 72: Seudocódigo del protocolo de parada y espera en canal con ruido

A partir de ahí, el transmisor vuelve a enviar el paquete anterior (I1). Entonces el receptor recibiría el mismo paquete que ya había recibo justo antes. Como el receptor lo recibió de forma correcta, volvería a entregar el paquete que ya había entregado, sin tener forma de discernir de si trata de un paquete nuevo o viejo.

Para evitar este fallo, en el paquete se debe aportar información del número de secuencia. Para un protocolo de parada y esperada con dos números de secuencia sería suficiente, es decir, habría que añadir un campo dentro del paquete del tamaño de 1 bit.

Figura 73: Estructura de los paquetes en el protocolo de parada y espera

El protocolo entonces funcionaría tal como se representa en la figura 71. Como se puede observar, el número de secuencia pasa de 0 a 1 y de 1 a 0 cada vez que se envía un paquete nuevo. De esta forma se identifica unívocamente cada paquete, y el receptor solo entrega aquellos paquetes que no se han entregado antes.

En este protocolo se ejecuta en cada parte, transmisor y receptor, un algoritmo. Este algoritmo se puede especificar a a través de un seudocódigo como el de la figura 72.

Un aspecto importante de este protocolo es que el tamaño del mensaje y del paquete ya no es el mismo, ya que hay que introducir un campo de redundancia para la detección de errores y un campo de número de secuencia. Además, sería necesario un paquete de control que puede ser un ACK o NAK (figura 73).

Con pérdida de paquetes

Figura 74: Funcionamiento del protocolo de parada y espera en canal que pierde paquetes

Además de corromperse los paquetes debido al ruido del canal, los paquetes pueden perderse. En estos casos, hay que implantar algún mecanismo donde se tenga en cuenta que tanto los paquetes de información como los paquetes de control pueden no llegar a su destino.

Este mecanismo consiste en incluir un temporizador que se ponga en marcha una vez que el transmisor ha enviado un paquete.

Tal como se representa en la figura 74 cuando se termina de enviar un paquete de información empieza a funcionar un temporizador, si este paquete de pierde, es decir, no llega al receptor, no se envía un paquete de confirmación. Cuando el temporizador llega al límite sin recibir un ACK, vuelve a enviar el paquete perdido.

Este mismo protocolo funcionaría cuando se pierde el paquete de confirmación, aunque en este caso se volvería a enviar un paquete de información que ya había sido recibido correctamente, el cual no se entregaría si este paquete fuese acompañado con un número de secuencia.

Figura 75: Seudocódigo del protocolo de parada y espera en canal que pierde paquetes

En este protocolo se ejecuta en cada parte, transmisor y receptor, un algoritmo. Este algoritmo se puede especificar a a través de un seudocódigo como el de la figura 75.

Funcionamiento correcto del protocolo símplex de parada y espera

El protocolo que hasta aquí se ha expuesto tiene un fallo. El fallo ocurre cuando después de acabar el temporizador se recibe el ACK del paquete con número de secuencia 0. Si el paquete de información que se envía con número de secuencia 1 se pierde entonces si vuelve el temporizador a llegar al límite antes de tiempo se habrá confirmado el paquete perdido. Ante este fallo, tal como se representa en la figura 76, se perderían m2 y m3.

Figura 76: Funcionamiento del protocolo de parada y espera en canal ni ideal: fallo del protocolo

Para evitar este fallo, los ACK debería estar estar acompañados con un número de reconocimiento asociado al paquete que está confirmando.

Figura 77: Estructura de los paquetes del protocolo de parada y espera

Por tanto, el protocolo de parada y espera debe tener en los paquetes como mínimo los campos de la figura 77.

*

results matching ""

    No results matching ""