다음을 통해 공유


인바운드 데이터 확인 및 거부

요청 예외(RQE) 또는 정적 응답 필요(RQD)와 같이 응답이 처리 되지 않는 데이터의 모든 SNA 체인에 대해 로컬 노드는 상관 관계 테이블 항목을 유지 관리합니다. 테이블 항목이 고갈되면 로컬 노드가 대부분의 테이블 항목을 사용하여 세션을 종료합니다. Status-Error 메시지 (코드 0x46) 및 닫기(PLU) 요청이 애플리케이션에 전송되고 TERM-SELF 메시지가 호스트로 전송됩니다. 테이블 항목 부족(인바운드)은 변경 방향(CD)(반이중) 데이터 또는 데이터 ACKRQD 또는 Status-Control(CHASE) 또는 ACKRQD를 통한 Status-Control(LUSTAT) 을 전송하여 방지할 수 있습니다. PLU 연결 열기에 설명된 대로 출처 확인 메시지를 보내면 아웃바운드 부족을 방지할 수 있습니다.

로컬 노드는 다음과 같이 지정된 체인 응답 모드를 사용하여 호스트에 데이터 체인을 보냅니다.

  1. 한정

    애플리케이션이 ACKRQD 필드 집합과 지정된 BIND 매개 변수로 로컬 노드에 데이터 메시지를 보낼 경우 보조에서 한정 또는 한정/예외 응답 모드를 사용합니다.

  2. 예외

    애플리케이션이 ACKRQD 필드 집합과 지정된 BIND 매개 변수 없이 로컬 노드에 데이터 메시지를 보낼 경우 보조에서 예외 또는 한정/예외 응답 모드를 사용합니다.

  3. 응답 없음

    애플리케이션이 ACKRQD 필드 집합과 지정된 BIND 매개 변수 없이 로컬 노드에 데이터 메시지를 보낼 경우 보조에서 응답 없음 모드를 사용합니다.

    애플리케이션의 데이터 메시지에 있는 ACKRQD 설정이 BIND 매개 변수에 지정된 체인 응답 모드를 반영하지 않는 경우 로컬 노드는 중요하지 않은 오류 코드를 나타내는 Status-Acknowledge(Nack-2)를 반환합니다. 애플리케이션이 ACKRQD를 지정하지만 BIND 매개 변수가 로컬 노드에서 특정 응답 체인을 보내도록 허용하지 않는 경우를 예로 들 수 있습니다.

    1의 경우 애플리케이션은 로컬 노드로 보내는 모든 FMD(함수 관리 데이터) 체인에 대해 승인 메시지를 받습니다.

  • 호스트의 긍정적인 응답은 Status-Acknowledge(Ack) 메시지로 애플리케이션에 반환됩니다.

  • 호스트의 부정적인 응답은 SNA 감지 코드를 전달하는 Status-Acknowledge(Nack-1) 메시지로 반환됩니다.

  • 메시지를 보내려고 할 때 로컬 노드에서 감지된 오류는 동일한 오류 코드를 전달하는 Status-Acknowledge(Nack-2) 메시지로 반환됩니다.

    2의 경우 애플리케이션은 다음을 위해 로컬 노드로 보내는 FMD 체인의 승인만 받습니다.

  • 호스트의 부정적인 응답, 이는 SNA 감지 코드를 전달하는 Status-Acknowledge(Nack-1) 메시지로 반환됩니다.

  • 메시지를 보내려고 할 때 로컬 노드에서 감지된 오류, 이는 동일한 오류 코드를 전달하는 Status-Acknowledge(Nack-2) 메시지로 반환됩니다.

    3의 경우, 애플리케이션은 노드가 메시지에서 오류를 감지하고 애플리케이션에 Status-Acknowledge(Nack-2) 를 보내는 경우에 로컬 노드로 전송되는 FMD 체인의 승인만 받습니다. 호스트에 가능한 유일한 반대는 의미 한정자 필드에 요청의 시퀀스 번호로 후속 LUSTAT 0x400A(응답이 지원되지 않음)를 보내는 것입니다. 이는 애플리케이션에 평소와 같이 LUSTAT(Status-Control) 로 표시됩니다.

    애플리케이션이 Status-Acknowledge(Ack) 또는 Status-Acknowledge(Nack-1) 를 수신할 때마다 이전에 보낸 모든 체인의 호스트에서 파트너 반 세션의 수신을 암시적으로 확인합니다.

    2의 경우 애플리케이션은 일반적으로 호스트에서 전송한 체인에 대해 이러한 응답을 수신하지 않으며, 3의 경우 애플리케이션은 이러한 응답을 수신하지 않습니다. 따라서 호스트가 이전에 보낸 모든 체인의 수신을 확인하려면 애플리케이션에서 ACKRQD 집합으로 Status-Control(CHASE) 요청을 실행해야 합니다. 이렇게 하면 로컬 노드에서 호스트에 대한 SNA CHASE 요청을 생성합니다. 이 CHASE에 대한 응답을 수신하면 호스트가 이 CHASE 요청 및 애플리케이션에서 이전에 보낸 모든 체인을 수신했는지 확인합니다. 로컬 노드에서는 Status-Control(CHASE) 확인을 실행하여 애플리케이션에 이를 알립니다.

    다음 세 그림은 로컬 노드와 애플리케이션 간의 아웃바운드 데이터 확인 및 거부 프로토콜과 이러한 프로토콜이 기본 SNA 프로토콜과 어떻게 관련되는지를 보여줍니다.

    첫 번째 그림에서 애플리케이션은 인바운드 데이터 체인의 ACKRQD 필드를 설정하여 호스트에서 체인 수신 및 이전에 전송된 모든 체인을 확인할 수 있도록 합니다.

    애플리케이션이 ACKRQD 필드를 설정하는 방법을 보여 주는 이미지입니다.
    애플리케이션의 ACKRQD 필드 설정

    다음 그림에서는 Status-Acknowledge(Nack-1) 가 마지막 체인을 거부하지만 이전에 보낸 모든 데이터 체인 호스트의 수신은 확인합니다.

    Status-Acknowledge(Nack-1)가 마지막 체인을 거부하지만 수신을 확인하는 방법을 보여 주는 이미지입니다.
    마지막 체인은 거부하고 수신은 확인하는 Status-Acknowledge(Nack-1)

    다음 그림에서 애플리케이션은 Status-Control(CHASE) 를 사용하여 호스트에서 해당 CHASE 요청 및 이전에 전송된 모든 체인의 수신을 확인할 수 있도록 합니다.

    STATUS-Control(CHASE)을 사용하여 호스트를 가져와 해당 CHASE 요청의 수신을 확인하는 방법을 보여 주는 이미지입니다.
    호스트에서 CHASE 요청 수신을 확인할 수 있도록 Status-Control(CHASE) 사용

참고 항목

PLU 연결 열기
PLU 세션
아웃바운드 체이닝
인바운드 체이닝
세그먼트 배달
Brackets
방향
속도 및 청크
데이터 확인 및 거부]
종료 및 정지
복구
애플리케이션에서 시작한 종료
LUSTAT]
응답 시간 모니터 데이터