요약

  • RFC 9221은 QUIC DATAGRAM 프레임을 담은 패킷을 ack-eliciting(확인 응답 유발)으로 만들며, 확인 응답을 통해 송신자는 해당 데이터그램이 전송되고 수신되었음을 애플리케이션에 알릴 수 있습니다.
  • 5.2절은 이 통지의 한계를 고정합니다. 이는 수신자 전송 계층이 프레임을 처리했다는 것을 보여 주지만, 수신자 애플리케이션이 데이터를 성공적으로 처리했다는 것은 보여 주지 않습니다.

ACK는 이름이 결론처럼 들리기 때문에 과대해석하기 쉽습니다. 송신자는 확인 응답 번호를 보고, 애플리케이션은 로컬 통지를 받으며, 운영상 서술은 “수신자의 전송 계층이 이 프레임을 처리했다”에서 “상대가 메시지를 수용했다”로 흘러가기 쉽습니다. RFC 9221은 이러한 흐름을 계층 오류로 규정합니다.

2022년 3월에 공개된 이 표준은 Tommy Pauly, E. Kinnear, David Schinazi를 명시된 저자로 두고, QUIC에 신뢰성 없는 애플리케이션 데이터를 위한 DATAGRAM 프레임을 추가합니다. 이 프레임들은 ack-eliciting입니다. 그런 프레임을 담은 패킷이 확인 응답되면, 송신 구현체는 해당 데이터그램이 전송되고 수신되었음을 자신의 애플리케이션에 알릴 수 있습니다. 이는 유용한 근거입니다. 송신자는 확인 응답된 패킷 안의 지정된 프레임에 대해 QUIC 수준의 확인 응답을 갖는 것입니다.

그러나 5.2절은 이 근거가 애플리케이션 수신 확인으로 자라는 것을 의도적으로 거부합니다. 확인 응답은 수신자 전송 계층이 프레임을 처리했다는 것을 나타낼 뿐, 수신자 애플리케이션이 데이터를 성공적으로 처리했다는 것을 보장하지 않습니다. 이 구분은 각주가 아니라, 패킷 프로토콜이 다른 곳에서 이루어지는 의미적 결정을 주장하지 못하게 하는 경계입니다.

주변 설계도 이를 강화합니다. DATAGRAM 데이터는 손실이 감지되어도 재전송되지 않습니다. 데이터그램을 멀티플렉싱하는 데 쓰이는 식별자와 페이로드의 의미는 QUIC의 전송 확인 응답 기계장치가 아니라 애플리케이션 프로토콜이 제공하고 정의합니다. 전달이나 처리에 대한 증명이 필요한 애플리케이션은 자신의 계층에서 확인을 수립해야 합니다. 그 확인은 그 아래 패킷 ACK와 다른 대상, 다른 작성자, 다른 시점, 다른 실패 지점을 갖습니다.

수신된max_datagram_frame_size전송 매개변수도 마찬가지로 좁습니다. 0이 아닌 값은 해당 연결에서 그 크기까지의 DATAGRAM 프레임을 받을 의사가 있음을 끝점이 표현하는 것입니다. 이는 방향성이 있고 연결 범위이며, 페이로드가 전송되었다는 증명도, 애플리케이션이 이를 사용했거나 이해했거나 그로부터 작업을 완료했다는 근거도 아닙니다. RFC 9000과 RFC 9002는 QUIC과 손실 복구의 맥락을 제공하지만, RFC 9221의 애플리케이션 처리에 관한 유보를 지우지는 않습니다.

이로써 여러 명제가 수신 확인 밖에 남습니다. 이것으로 특정 끝점이 확장을 활성화했다는 것, 특정 데이터그램이 인터페이스를 통과했다는 것, 페이로드가 해석되었다는 것, 상태가 변경되었다는 것, 응답이 사용자에게 도달했다는 것, 서비스가 성공했다는 것을 확립할 수 없습니다. 실제 배포, 제품, 경로, 비즈니스 이벤트를 식별할 수도 없습니다. RFC와 그 저자 정보는 공개 조정 기록이며, 어떤 특정 연결에 대한 런타임 증거가 아닙니다.

Lu Heng의 최소 초기 명세(Minimum Initial Specification) 규율이 여기서 유용합니다. 기계장치가 지원할 수 있는 가장 작은 결정론적 명제를 보존하고, 이후 선택은 지역적으로 남겨 둡니다. ACK는 수신 측 전송 처리를 설명할 수 있습니다. 애플리케이션 파서, 의미 검증기, 상태 저장소, 사용자 대면 워크플로는 각자의 결과를 별도로 설명해야 합니다. 전자를 애플리케이션 수신 확인이라 부르는 것은 근거 경계를 지우는 대가로 단어만 줄이는 일입니다.

운영상의 이득은 비관주의가 아니라 더 깔끔한 감사 경로입니다. QUIC 확인 응답을 전송 계층 사실로 기록하십시오. 시스템이 더 강한 주장을 요구한다면, 애플리케이션 수준 수신 확인, 상관 키, 관측 지점, 성공적 처리로 간주되는 조건을 명명하십시오. 두 기록은 일치할 수 있지만 어느 쪽도 다른 쪽을 사칭해서는 안 됩니다.

출처