Protocolo ABP

En este protocolo, el emisor transmite un primer paquete numerado con 0 después de almacenar una copia de este paquete, y arranca también un temporizador. Entonces espera hasta recibir una confirmación numerada con 0, ACK0 de este paquete.

Al llegar ACK0, el emisor descarta la copia del primer paquete y se prepara para transmitir el próximo paquete, el cual estará numerado con 1.

Si la confirmación ACK0 no llega, finalizará el temporizador del emisor, lo que provocará que éste envíe una copia del paquete numerada con 0.

El receptor, cuando recibe un paquete correcto numerado con 0, envía la confirmación (ACK0) al emisor, una posibilidad en este protocolo es la de añadir confirmaciones negativas, este tipo de confirmaciones (NACK) se utilizan cuando el receptor examina el paquete y ve que es corrupto, entonces envía una confirmación negativa, para de esta forma no tener que esperar a que expire el timeout del emisor.

Los paquetes son numerados 0,1,0,1,.... Un paquete se transmite por segunda vez si no llega su confirmación antes del timeout. El número de los paquetes y de las confirmaciones son representados en las animaciones junto a la línea que representa su propagación.

Las ventajas de este protocolo son su simplicidad y su pequeña necesidad de memoria, como contrapartida, ABP no es eficiente, ya que no usa el enlace de comunicación de manera más óptima.

Animación de ABP en ausencia de errores

Animación de ABP con errores

Nivel de Enlace/Protocolo ARQ