Freigeben über


Eingehende Verkettung

Die Aufteilung von Anwendungsdaten in Data-Nachrichten und die Steuerung der eingehenden Verkettung liegen in der Verantwortung der Anwendung.

Die sekundäre maximale Größe der Sendeanforderungseinheit für die Sitzung ist ein Parameter in der BIND-Nachricht vom Host und im BICB (Bind Information Control Block) der Open(PLU) OK Confirm-Nachricht verfügbar. Die Anwendung muss sicherstellen, dass jede eingehende Data-Nachricht einer einzelnen Anforderungseinheit entspricht. Diese enthält nicht mehr Daten als die im BICB angegebene maximale Größe der Anforderungseinheit.

Die Anwendung muss die BCI- (Begin Chain Indicator) und ECI-Anwendungsflags (End Chain Indicator) im Header der Data-Nachrichten verwenden, um die Verkettung zu steuern. (Weitere Informationen finden Sie unter Anwendungsflags.) Die Kette ist die Wiederherstellungseinheit, und wenn in der Kette behebbare Fehler auftreten, sollte die Anwendung die Verantwortung für die Wiederherstellung übernehmen. (Weitere Informationen finden Sie unter Wiederherstellung.)

Eine eingehende Kette kann auf folgende Weise beendet werden:

  • Die vollständige Kette wird ohne Fehler gesendet. Alle Data-Nachrichten in der Kette wurden an den Host übergeben. Wenn die Sitzung das Senden von Ketten mit eindeutigen Antworten durch den sekundären Knoten zulässt und die Anwendung das Feld ACKRQD in der letzten Data-Nachricht der Kette festlegt, empfängt die Anwendung eine Status-Acknowledge(Ack)-Nachricht vom lokalen Knoten, wenn der Host eine Antwort bereitstellt.

  • Der lokale Knoten erkennt einen kritischen Fehler im Format einer Data-Nachricht von der Anwendung oder im Zustand der Sitzung. Der lokale Knoten lehnt die Data-Nachricht mit einer Status-Acknowledge(Nack-2)-Nachricht ab, die einen Fehlercode enthält, und schließt die PLU-Verbindung. Beachten Sie, dass der lokale Knoten eine eingehende CANCEL-Anforderung generiert, bevor die PLU-Verbindung geschlossen wird. Der lokale Knoten sendet eine TERM-SELF-Anforderung an den Host, um eine UNBIND-Anforderung auszulösen.

  • Der Host sendet eine negative Antwort auf eine Anforderung in der Kette. Der lokale Knoten sendet eine Status-Acknowledge(Nack-1)-Nachricht mit den Erkennungscodes und der Sequenznummer aus der negativen Antwort an die Anwendung. Wenn der Host eine Anforderung ablehnt, die nicht das ECI-Anwendungsflag enthält, und die Anwendung in der PLU-CICB nicht die Option zum Abbruch angibt, generiert der lokale Knoten außerdem eine eingehende CANCEL-Anforderung. Wenn die Anwendung den Abbruch der Anwendung angibt, muss sie eine EC- oder Status-Control(CANCEL) -Nachricht senden, um die Kette zu beenden. Alle nachfolgenden eingehenden Ketten werden mit einer nicht kritischen Status-Acknowledge(Nack-2) -Nachricht, Erkennungscode 0x2002 oder 0x2004 (Verkettung oder Richtung) abgelehnt. Wenn die Anwendung die Status-Acknowledge(Nack-1) -Nachricht empfängt, sollte sie das Senden von Daten nach dieser Kette für Halbduplex-Flip-Flop-Sitzungen beenden, da die Richtung an den Host übergeben wurde. (Weitere Informationen finden Sie unter Richtung.)

  • Die Anwendung bricht die Kette während des Sendevorgangs ab, indem sie eine Status-Control(CANCEL) -Nachricht an den lokalen Knoten sendet. Der lokale Knoten sendet eine CANCEL-Anforderung an den Host und eine Status-Control(CANCEL) -Bestätigung an die Anwendung, wenn eine positive Antwort vom Host empfangen wird. Antworten vom Host auf Anforderungen, die vor der CANCEL-Nachricht gesendet werden, generieren entsprechende Status-Acknowledge-Nachrichten an die Anwendung, wenn für die ursprünglichen Data-Nachricht das Feld ACKRQD festgelegt war.

  • Die Anwendung schließt die PLU-Verbindung beim Senden der Kette. Der lokale Knoten sendet eine Close(PLU) Response-Nachricht an die Anwendung. Antworten vom Host auf Anforderungen, die vor der Close(PLU) -Nachricht gesendet werden, generieren keine Status-Acknowledge-Nachrichten an die Anwendung. Beachten Sie, dass der lokale Knoten außerdem eine eingehende CANCEL-Anforderung und eine TERM-SELF-Anforderung zum Auslösen einer UNBIND-Anforderung generiert.

    Wenn der lokale Knoten einen nicht kritischen Fehler im Format einer Data-Nachricht von der Anwendung oder im Zustand der Sitzung erkennt, wird die PLU-Verbindung nicht geschlossen. Stattdessen wird die fehlerhafte Data-Nachricht mit einer Status-Acknowledge(Nack-2) -Nachricht abgelehnt, die einen entsprechenden Fehlercode enthält. Es werden keine Daten an den Host gesendet.

    Wenn eine eingehende Kette mit einem Fehler beendet wird und die Sitzung Halbduplexprotokolle verwendet, muss die Anwendung einen Empfangszustand annehmen. (Weitere Informationen finden Sie unter Wiederherstellung.)

    Die folgenden sechs Abbildungen veranschaulichen Protokolle der ausgehenden Verkettung zwischen dem lokalen Knoten und der Anwendung und die Beziehung dieser Protokolle zu den zugrunde liegenden SNA-Protokollen.

    In der ersten Abbildung wird eine vollständige eingehende Kette ohne Fehler gesendet und vom Host akzeptiert. Beachten Sie, dass die Anwendung nach dem Empfang von Status-Acknowledge(Ack) die Richtung an den Host abgibt.

    Abbildung, die zeigt, dass eine eingehende Kette ohne Fehler gesendet und vom Host akzeptiert wird.
    Eingehende Kette wird ohne Fehler gesendet und vom Host akzeptiert

    In der folgenden Abbildung erkennt der lokale Knoten einen kritischen Fehler im Format der zweiten Data-Nachricht in der Kette (ACKRQD ohne ECI-Anwendungsflag), sendet eine Status-Acknowledge(Nack-2) -Nachricht mit dem entsprechenden Fehlercode an die Anwendung und schließt die PLU-Verbindung. Beachten Sie, dass der lokale Knoten nur dann die CANCEL-Anforderung generiert, wenn das FM-Profil (Function Management, Funktionsverwaltung) der Sitzung CANCEL unterstützt.

    Abbildung, die zeigt, wie ein lokaler Knoten Fehler erkennt, eine Statusmeldung sendet und die PLU-Verbindung schließt.
    Lokaler Knoten erkennt Fehler, sendet eine Statusmeldung und schließt die PLU-Verbindung

    In der folgenden Abbildung wird eine vollständige eingehende Kette ohne Fehler gesendet, aber vom Host abgelehnt. Nach der negativen Antwort muss die Anwendung in den Empfangszustand (ausstehende Wiederherstellung nach Fehler) wechseln. (Weitere Informationen finden Sie unter Wiederherstellung.)

    Abbildung, die zeigt, wie eine eingehende Kette ohne Fehler gesendet, aber vom Host abgelehnt wird.
    Eingehende Kette wird ohne Fehler gesendet, aber vom Host abgelehnt

    In der folgenden Abbildung bricht die Anwendung die Kette durch Senden einer Status-Control(CANCEL) -Nachricht ab. Beachten Sie, dass die Anwendung weiterhin eine Richtung aufweist und eine neue Kette starten kann.

    Abbildung, die zeigt, wie eine Anwendung die Kette mit einem Status-Control(CANCEL) abbricht.
    Anwendung bricht die Kette mit einer Status-Control(CANCEL)-Nachricht ab

    In der folgenden Abbildung schließt die Anwendung die PLU-Sitzung beim Senden der Kette. Der lokale Knoten generiert die CANCEL-Anforderung nur, wenn das FM-Profil der Sitzung CANCEL unterstützt.

    Abbildung, die zeigt, wie eine Anwendung die PLU-Verbindung schließt, während die Kette gesendet wird.
    Anwendung schließt die PLU-Verbindung beim Senden der Kette

    In der folgenden Abbildung erkennt der lokale Knoten einen nicht kritischen Fehler im Format der zweiten Data-Nachricht in der Kette und sendet eine Status-Acknowledge(Nack-2) -Nachricht mit dem entsprechenden Fehlercode an die Anwendung.

    Abbildung, die zeigt, wie ein lokaler Knoten einen nicht kritischen Fehler erkennt und eine Status-Acknowledge(Nack-2) sendet.
    Lokaler Knoten erkennt einen nicht kritischen Fehler und sendet eine Status-Acknowledge(Nack-2)-Nachricht

Weitere Informationen

Öffnen der PLU-Verbindung
PLU-Sitzung
Ausgehende Verkettung
Segmentübermittlung
Brackets
Richtung
Geschwindigkeit und Segmentierung
Bestätigung und Ablehnung von Daten]
Herunterfahren und Stilllegen
Wiederherstellung
Von der Anwendung initiierte Beendigung
LUSTATs]
Daten des Monitors für Antwortzeiten