¿Qué es ATP (Protocolo de transacciones de AppleTalk)?

ATP significa Protocolo de transacciones AppleTalk. Es parte de una serie de protocolos de red llamados ‘AppleTalk’ desarrollados por Apple Inc. Es un protocolo de capa de transporte que le permite transferir pequeñas cantidades de datos a través de una red. Proporciona un medio de comunicación fiable y libre de errores en una configuración cliente-servidor. Realiza la mayoría de las funciones de la capa de transporte como segmentación, secuenciación de paquetes, etc.

ATP funciona sobre una arquitectura que es similar a una arquitectura cliente-servidor . Hay un solicitante que realiza una solicitud a otro punto final que se denomina respondedor. El respondedor realiza lo necesario y regresa con una respuesta.

Transacciones en ATP:

El siguiente diagrama describe cómo se produce una transacción:

Transactions in ATP

Transacciones en ATP

  1. El solicitante invoca la interfaz ATP. Luego, la interfaz usa el controlador ATP para establecer una conexión dedicada con el controlador ATP del respondedor.
  2. El controlador del lado del respondedor invoca la aplicación del respondedor que procesa la solicitud entrante y devuelve una respuesta para enviarla al solicitante.
  3. Para enviar la respuesta, el respondedor invoca su interfaz ATP que utiliza la conexión preestablecida para enviar la respuesta al solicitante.

Como se mencionó anteriormente, ATP se puede usar para enviar pequeñas cantidades de datos. Existe una restricción en la cantidad de datos que pueden transmitir tanto el solicitante como el respondedor. Para el solicitante, los datos que se pueden transmitir son 578 bytes y para el respondedor, el límite es de 4624 bytes.

Tipos de Transacciones ATP:

Hay dos tipos de transacciones ATP:

  1. Transacciones al menos una vez : en una transacción ALO, se garantiza que el respondedor recibirá todas las requests que se le envíen al menos una vez. No ofrece ninguna garantía de que la misma solicitud no se vuelva a enviar al respondedor.
  2. Transacciones eXactly-Once : en una transacción XO, se garantiza que el respondedor recibirá todas las requests que se le envíen exactamente una vez. Garantiza que una solicitud que ha sido recibida una vez por el respondedor no se volverá a enviar.

La naturaleza de la transacción a utilizar está determinada por el tipo de procesamiento requerido por la solicitud. Si es probable que múltiples ejecuciones de la misma solicitud causen algún tipo de inconsistencia en los resultados obtenidos, entonces se utilizan transacciones XO. Si no es probable que varias ejecuciones de la solicitud causen problemas, se utilizan transacciones ALO.

Formato de paquete ATP:

Un paquete ATP consta de un encabezado ATP seguido de los datos. El tamaño del encabezado ATP es de 8 bytes. El paquete completo se almacena dentro de un datagrama DDP ( Datagram Delivery Protocol ) y se transporta como una trama de capa de enlace de datos.

La siguiente es la estructura de un paquete ATP:

Structure of an ATP Packet

Estructura de un paquete ATP

La parte de datos sigue al encabezado ATP, que puede tener hasta 578 bytes o hasta 4624 bytes, dependiendo de si el paquete lo envía el solicitante o el respondedor. 

A continuación se muestra una descripción detallada de los campos del encabezado ATP:

Byte de información de control:

Se utiliza para almacenar información relacionada con el control sobre una solicitud/respuesta, como el tipo de transacción, si este paquete es el último paquete recibido o no, etc. El byte de información de control almacena la siguiente información: 

número de bit Descripción
0 Especifica si se utiliza o no la suma de comprobación DDP.
1 Especifica si se ha asignado el ID de transacción para esta solicitud o no
2 Especifica si esta solicitud usa un bloque de parámetros extendido o no
3 Especifica si el paquete actual debe retransmitirse inmediatamente o no.
4 Especifica si este es el último paquete de la respuesta (fin del mensaje) o no.
5 Especifica si la solicitud actual es una transacción exactamente una vez o una transacción al menos una vez (AO).

Mapa de bits/Número de secuencia:

El mapa de bits/número de secuencia tiene un tamaño de 8 bits. ATP es bien conocido por la confiabilidad que ofrece durante la transmisión de datos. Garantiza que el solicitante recibirá todos los paquetes que se le envíen en respuesta a su solicitud. Para hacerlo, necesita rastrear qué paquetes ha recibido el solicitante y cuáles aún no se han recibido. El enfoque utilizado por ATP para el mismo es asignar números de secuencia a todos los paquetes que se envían en respuesta y marcar el último paquete de respuesta como «fin de mensaje» (indicado por el bit 4 del byte de información de control en ATP). encabezamiento). El solicitante ensambla todos los paquetes al recibirlos, verifica el número de secuencia y el byte de información de control del encabezado ATP y determina si ha recibido todos los paquetes o no. Que no, 

ID de transacción:

El ID de transacción se utiliza para asociar cada solicitud con su respuesta correspondiente. Tiene un tamaño de 16 bits. El solicitante puede realizar múltiples requests en un momento dado. El ID de transacción ayuda a ATP a realizar un seguimiento de todas las requests realizadas y a garantizar que la respuesta entregada para cada solicitud sea correcta. Es transportado por el 3er y 4to byte del encabezado ATP.

Datos del usuario:

ATP no utiliza los últimos 4 bytes del encabezado ATP. Están reservados para uso de las aplicaciones solicitante y respondedora. El controlador ATP admite funciones predefinidas que le permiten establecer los valores de estos encabezados como desee.

La siguiente tabla resume los campos que forman parte del encabezado ATP:

número de byte Campo almacenado Tamaño (bits) Descripción
1 Información de control 8 Se utiliza para almacenar información relacionada con el control sobre una solicitud/respuesta, como el tipo de transacción, si este paquete es el último paquete recibido o no, etc.
2 Mapa de bits de transacción/Número de secuencia ATP 8 Se utiliza para encontrar el número de secuencia del paquete actual si el paquete se envió en respuesta a una solicitud (llamado número de secuencia ATP). En caso de que el paquete actual sea una solicitud, representa la cantidad de búferes admitidos por la aplicación (llamado mapa de bits de transacción).
3-4 ID de transacción dieciséis Almacena el ID de transacción de cada solicitud. El respondedor lo utiliza para realizar un seguimiento de todas las requests.
5-8 Datos del usuario 32 Lleva información específica de la aplicación, como suma de verificación, etc.

Publicación traducida automáticamente

Artículo escrito por shruti456rawal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *