Confirmación y rechazo de datos de entrada
Para cada cadena de datos de SNA enviada o recibida para la que hay respuestas pendientes, como una excepción de solicitud (RQE) o una respuesta definitiva requerida (RQD), el nodo local mantiene una entrada de tabla de correlación. Si las entradas de tabla se agotan, el nodo local finalizará la sesión con la mayoría de las entradas de tabla. Se envían a la aplicación un mensaje Status-Error (código 0x46) y una solicitudClose(PLU) Request, y se envía un mensaje TERM-SELF al host. Es posible evitar la escasez de entradas de tabla (entrantes) mediante el envío de datos de dirección de cambio (CD) (para dúplex medio), datos ACKRQD o cualquier mensaje Status-Control(CHASE) o Status-Control(LUSTAT) con ACKRQD. Las escasez de salidas se puede evitar mediante el envío de mensajes de confirmación de cortesía, tal como se describe en Apertura de la conexión de PLU.
El nodo local envía cadenas de datos al host con su modo de respuesta de cadena especificado de la manera siguiente:
Definido
Si la aplicación envía un mensaje Data al nodo local con el campo ACKRQD establecido y los parámetros BIND especifican que el secundario utiliza el modo de respuesta definido o definido/excepción.
Excepción
Si la aplicación envía un mensaje Data al nodo local sin el campo ACKRQD establecido y los parámetros BIND especifican que el secundario utiliza el modo de respuesta de excepción o definido/excepción.
Sin respuesta
Si la aplicación envía un mensaje Data al nodo local sin el campo ACKRQD establecido y los parámetros BIND especifican que el secundario utiliza el modo sin respuesta.
Si la configuración de ACKRQD en un mensaje Data de la aplicación no refleja el modo de respuesta de cadena especificado en los parámetros BIND, el nodo local devuelve un mensaje Status-Acknowledge(Nack-2) que indica un código de error no crítico. Por ejemplo, si la aplicación especifica ACKRQD pero los parámetros BIND no permiten que el nodo local envíe cadenas de respuesta definitivas.
En el caso 1, la aplicación recibe una confirmación de todas las cadenas de datos de administración de funciones (FMD) que envía al nodo local:
Las respuestas positivas del host se devuelven a la aplicación como mensajes Status-Acknowledge(Ack).
Las respuestas negativas del host se devuelven como mensajes Status-Acknowledge(Nack-1) que llevan códigos de sentido de SNA.
Los errores detectados por el nodo local al intentar enviar el mensaje se devuelven como mensajes Status-Acknowledge(Nack-2) que llevan el código de error equivalente.
En el caso 2, la aplicación solo recibe una confirmación de una cadena FMD que envía al nodo local para:
Respuestas negativas del host, que se devuelven como mensajes Status-Acknowledge(Nack-1) que llevan los códigos de sentido de SNA.
Errores detectados por el nodo local al intentar enviar el mensaje, que se devuelven como mensajes Status-Acknowledge(Nack-2) que llevan el código de error equivalente.
En el caso 3, la aplicación solo recibe una confirmación de una cadena FMD que envía al nodo local cuando el nodo detecta un error en el mensaje y envía a la aplicación un mensaje Status-Acknowledge(Nack-2) . El único desacuerdo que puede hacer el host es enviar un mensaje LUSTAT 0x400A posterior (sin respuesta no admitido) con el número de secuencia de la solicitud en el campo de calificador de sentido. Esto se presenta a la aplicación como un mensaje Status-Control(LUSTAT) de la manera habitual.
Cada vez que una aplicación recibe un mensaje Status-Acknowledge(Ack) o Status-Acknowledge(Nack-1) , confirma implícitamente la recepción por parte del asociado de la sesión parcial en el host de todas las cadenas enviadas previamente.
En el caso 2, la aplicación no suele recibir tales respuestas del host a las cadenas que ha enviado y, en el caso 3, la aplicación nunca recibe tales respuestas. Por lo tanto, para que el host confirme la recepción de todas las cadenas enviadas previamente, la aplicación debe emitir una solicitud Status-Control(CHASE) con ACKRQD establecido. Esto hace que el nodo local genere una solicitud CHASE de SNA al host. La recepción de la respuesta a esta solicitud CHASE confirma que el host ha recibido esta solicitud CHASE y todas las cadenas anteriores enviadas por la aplicación. El nodo local emite una confirmación Status-Control(CHASE) para notificárselo a la aplicación.
Las tres imágenes siguientes ilustran los protocolos de confirmación y rechazo de datos de entrada entre el nodo local y la aplicación, y cómo se relacionan esos protocolos con los protocolos de SNA subyacentes.
En la primera ilustración, una aplicación establece el campo ACKRQD en una cadena de datos de entrada para que el host confirme la recepción de la cadena y todas las cadenas enviadas previamente.
La aplicación establece el campo ACKRQD.En la ilustración siguiente, status-acknowledge(Nack-1) rechaza la última cadena, pero confirma la recepción por parte del host de todas las cadenas de datos enviadas previamente.
Status-Acknowledge(Nack-1) rechaza la última cadena, pero confirma la recepción.En la ilustración siguiente, la aplicación usa Status-Control(CHASE) para obtener el host para confirmar la recepción de la solicitud CHASE correspondiente y todas las cadenas enviadas previamente.
Uso de Status-Control(CHASE) para que el host confirme la recepción de la solicitud CHASE correspondiente.
Consulte también
Apertura de la conexión de PLU
Sesión de PLU
Encadenamiento de salida
Encadenamiento de entrada
Entrega de segmentos
Brackets
Dirección
Velocidad y fragmentación
Confirmación y rechazo de datos]
Apagado y modo inactivo
Recuperación
Terminación iniciada por la aplicación
LUSTATs]
Datos del Monitor de tiempo de respuesta