요약

  • draft-ietf-cats-oam-fw-01은 활성 상태의 CATS 워킹 그룹 Internet-Draft입니다. 이는 RFC, 배포 기록 또는 운영자 정책이 아니라 IESG 상태가I-D Exists인 WG 문서입니다.
  • 이 초안은 링크, 경로, 인스턴스, 서비스 OAM을 구분합니다. 텔레메트리를 수집하고, 종단 간 조건을 평가하고, 관측된 포워딩이 CATS Path Selector 결정과 일치하는지 검증할 수 있습니다.
  • 관리자가 네트워크 및 컴퓨팅 메트릭에 부여하는 가중치를 포함하여 스티어링 정책을 정의합니다. 초안은 푸시/풀 불일치의 탐지를 요구하지만 단일한 해결 전략을 강제하지는 않습니다.
  • 텔레메트리-해결책 영수증은 고객 데이터나 공격에 활용될 수 있는 텔레메트리를 노출하지 않으면서 관측, 승인된 정책, 충돌 처리, 선택된 조치, 실행 및 결과 검토를 분리해 두어야 합니다.

관측 계층은 운영 지시가 아니다

CATS 워킹 그룹의 헌장은 익숙한 분산 서비스 문제에서 출발합니다. 여러 서비스 인스턴스가 서로 다른 사이트에 있을 수 있습니다. 클라이언트 경험은 대역폭과 지연 시간뿐 아니라 컴퓨팅 용량, 스토리지 및 처리 조건에도 좌우될 수 있습니다. 그래서 헌장은 네트워크와 컴퓨팅 메트릭을 분배하여 엣지 노드가 트래픽을 서비스 인스턴스로 조향할 수 있게 하는 프레임워크를 상정합니다. 이는 가정된 모델을 단일 도메인으로 한정하며, 그 조향 기능을 서비스 제공자의 네트워크 내부에서 작동하면서 서비스 운영과는 논리적으로 분리된 것으로 기술합니다.

바로 이 마지막 구분이 중요합니다. 네트워크 측 조향 구성 요소는 정당하고 좁은 역할을 가질 수 있습니다: 자신에게 제공된 신호를 해석하고 기존의 로컬 정책에 따라 트래픽을 지시하는 것입니다. 그렇다고 해서 그 구성 요소가 서비스의 소유자가 되거나, 서비스의 복구 계획을 변경할 권한을 가진 당사자가 되거나, 상업적 또는 고객 결과를 처리할 기관이 되는 것은 아닙니다. 프레임워크는 이러한 역할들 사이의 인터페이스를 더 명확하게 만들 수 있습니다. 별도의 권한 부여 없이 그 역할들을 합칠 수는 없습니다.

현재의 OAM 문서는 여전히 작업 문서입니다. Datatracker는 이를 활성 Internet-Draft로 표시하고, CATS WG 문서로 기록하고, IESG 상태를I-D Exists로 표기하며, 예상 상태를 Informational로, 만료를 2027년 1월로 명시합니다. 이는 의미 있는 프로세스 사실입니다. 워킹 그룹이 문서를 진행시켰다는 것을 보여줍니다. 그러나 어떤 통신사, 클라우드 제공자, 병원, 차량 운영자 또는 기업이 이를 배포했다는 것을 보여주지 않으며, 특정 고객 흐름에 적용된 정책을 확립하지도 않습니다.

이런 절제를 무시로 혼동해서는 안 됩니다. 초안은 설계상의 질문이 RFC가 되기 전에 그것을 명확히 할 수 있습니다. 그러나 IETF 작업 항목은 표준화 프로세스의 상태에 대한 증거일 뿐입니다. 보편적인 구현 명령이 아닙니다. 소스 자료 자체도 Internet-Draft는 갱신, 대체 또는 폐기될 수 있으며 진행 중인 작업으로 다루어야 한다고 밝힙니다. 그 상태를 현장 보고나 운영 승인으로 바꾸는 독자는 문서가 운영자에게 유지하도록 요구하는 바로 그 경계를 건너뛴 것입니다.

네 개의 계층은 더 나은 질문을 만들 뿐, 주권적 답을 만들지 않는다

이 초안의 기여는 구분에서 시작합니다. 링크 OAM은 물리적 링크 또는 단일 홉 인터페이스와 관련됩니다. 경로 OAM은 CATS 포워더들 사이의 경로와 관련됩니다. 인스턴스 OAM은 서비스 인스턴스의 컴퓨팅 자원과 운영 건전성과 관련됩니다. 서비스 OAM은 ingress CATS 라우터에서 목표 서비스 인스턴스까지 이르며, 활성 상태, 트랜잭션 성공률, 애플리케이션 계층 지연 시간 같은 종단 간 조건을 측정할 수 있습니다.

이 계층들이 가치 있는 이유는 도달 가능한 IP 인터페이스가 이용 가능한 서비스의 증거가 되지는 않기 때문입니다. 초안은 익숙한 장애 양상을 지목합니다: 노드는 그 애플리케이션이 충돌하거나, 데드락에 빠지거나, 자원을 소진한 상태에서도 도달 가능하게 유지될 수 있습니다. 또 다른 한계도 지목합니다: 동일한 클라이언트 가시 열화가 네트워크 혼잡 때문일 수도 있고 서비스 인스턴스의 자원 고갈 때문일 수도 있습니다. 결합된 OAM 관점은 모든 증상을 네트워크 장애로 불러버리려는 유혹을 줄일 수 있습니다.

그러나 더 많은 계층이 판단을 제거하지는 않습니다. 인스턴스 CPU 수치는 애플리케이션 트랜잭션과 동일한 객체가 아닙니다. 종단 간 지연 시간 측정은 SLA에 대한 계약적 해석이 아닙니다. 경로 추적은 장애를 지역화하는 데 도움을 줄 수 있지만, 사업 중단의 원인, 손실의 배분, 변경을 승인해야 하는 사람을 확립하지는 않습니다. 초안은 자체의 특정 인스턴스 및 서비스 OAM 프로토콜 구현이 범위 밖이라고 명시합니다. 이는 숨겨야 할 누락이 아닙니다. 아키텍처, 프로토콜 선택, 운영 절차가 서로 별개의 것임을 공개적으로 상기시키는 것입니다.

헌장도 병행하는 한계를 제공합니다. 헌장은 메트릭, 그 분배, 그것을 사용하는 컨트롤/데이터 플레인 구성 블록을 연구하는 것을 목표로 합니다. 서비스 운영자의 내부 거버넌스를 CATS WG 안에 두지는 않습니다. 초안은 OAM 구성 요소가 무엇을 관측해야 하는지 말할 수 있습니다. 어떤 고객 집단이 페일오버를 정당화하는지, 어떤 유지보수 창이 허용되는지, 어떤 데이터가 폐기될 수 있는지, 어떤 로컬 안전 제약이 더 낮은 지연 시간 값보다 우선하는지는 결정할 수 없습니다.

검증은 이전 선택과의 정합성을 증명한다

초안에서 가장 과대해석되기 쉬운 표현은 "정책 검증(policy verification)"입니다. 서비스 OAM은 ingress CATS 라우터에서 선택된 서비스 인스턴스까지의 실제 포워딩 경로가 CATS Path Selector, 즉 C-PS가 만든 스티어링 결정과 정합하는지 확인하는 것으로 기술됩니다. 이는 강력하고 유용한 명제입니다: 실행이 이전 스티어링 결정과 일치하는지를 묻습니다.

그러나 이는 증거 엔진 안에 숨어 있는 결정 엔진이 아닙니다. 질문은 "무엇을 해야 하는가?"가 아닙니다. "포워딩 상태가 지명된 정책 메커니즘이 선택한 것과 대응했는가?"입니다. 정합 결과는 이전 정책이 네트워크 대 컴퓨팅 가중치를 올바르게 가졌음을 증명하지 않습니다. 불정합 결과는 새 가중치를 선택하거나, 다음 복구를 지시하거나, 인스턴스를 드레인할지, 배포를 변경할지, 팀을 호출할지, 릴리스를 일시 중지할지, 안전 이유로 열화된 서비스를 계속 가동할지를 운영자에게 알려주지 않습니다.

초안은 정책 소유자를 명확히 합니다: 관리 요구사항은 시스템이 네트워크 및 컴퓨팅 메트릭에 대한 가중치 인자를 포함하여 CATS 고유의 정책을 관리자가 정의할 수 있어야 한다고 명시합니다. 그 정책은 C-PS가 "최선의" 서비스 인스턴스를 계산할 때 원시 텔레메트리를 해석하는 방식을 알려줍니다. 텔레메트리 파이프라인은 그 계산에 증거를 공급할 수 있습니다. C-PS는 정책을 적용할 수 있습니다. 그러나 정책의 내용과 이후의 모든 변경에 대한 책임은 관리자 또는 다른 책임 있는 로컬 당국에 남아 있습니다.

바로 이 지점에서 Lu Heng이 구분한 증거와 지시의 구별이 가장 실용적입니다. 풍부한 측정은 무대응을 정당하기 더 어렵게 만들 수 있습니다. 그러나 센서를 주체(Principal)로 만들지는 않습니다. 메트릭 수집기가 해결책을 선택한 행위자로 취급되면, 이후의 검토는 실제 문제가 오래된 데이터였는지, 정책 버전이었는지, 승인된 오버라이드였는지, 구현 불일치였는지, 안전 제약이었는지, 권고를 따르지 않은 인간의 결정이었는지 알 수 없게 됩니다. 책임은 추적 가능한 행위가 아니라 대시보드의 속성이 되어버립니다.

충돌의 탐지는 충돌 해결 규칙이 아니다

초안은 인스턴스 OAM에 대해 푸시와 풀 양쪽 모드를 의도적으로 허용합니다. 하나는 컴퓨팅 노드가 집계 데이터를 주기적으로 보고하는 것이고, 다른 하나는 수신 주체가 필요에 따라 데이터를 가져오는 것입니다. 두 모드에서 얻은 값이 불일치할 때 시스템은 불일치를 탐지할 수 있어야 합니다. 문서는 그런 다음 최적의 접근이 배포 시나리오에 따라 달라지기 때문에 단일한 충돌 해결 전략을 강제하지 않는다고 말합니다.

그 문장은 암묵적 자동화로 덮어야 할 결함이 아니라 거버넌스 경계입니다. 배포만이 답할 수 있는 질문을 보존합니다: 이 메트릭에 대해 어느 원천이 권위적인가? 특정 트래픽 계층에 어느 정도의 데이터 노후가 허용 가능한가? 이상치가 부하의 증거인가, 시계 문제인가, 무결성 문제인가, 데이터 경로 장애인가? 시스템이 마지막으로 알려진 값으로 폴백할 수 있는가? 유지보수 창 동안 스티어링 변경을 억제할 수 있는가? 자동 반응이 다른 위험을 증가시킬 때 누가 기본값을 오버라이드할 수 있는가?

운영 요구사항도 이를 뒷받침합니다. 타임스탬프와 메트릭 유형별로 선택적으로 구성되는 최대 허용 노후 임계값을 상정하고, 정밀도와 컨트롤 플레인 부담의 균형을 위해 주기적 보고와 임계값 기반 보고를 요구합니다. 그 어떤 설정도 중립적 사실이 아닙니다. 각각은 과도한 변경, 지연된 대응, 낭비된 용량, 불필요한 트래픽 이동 또는 간과된 장애라는 비용을 가진 결정 규칙으로 측정값을 바꿉니다. 적절한 설정은 공개 웹 서비스, 시간 민감 산업 시스템, 내부 배치 워크로드 사이에서 달라질 수 있습니다.

책임 있는 답은 Internet-Draft가 모든 로컬 행동을 지시하도록 요구하는 것이 아닙니다. 배포가 프레임워크를 사용해 행동할 때 그 로컬 결정을 가시화하는 것입니다. 운영자는 보수적 유지, 짧은 자동 드레인, 온콜 당국으로의 에스컬레이션, 검증된 페일오버, 또는 트래픽을 이동하지 않기로 한 명시적 결정을 선택할 수 있습니다. 초안은 그런 선택에 필요한 정보를 지원합니다. 그 중 어느 하나를 보편적으로 옳게 만들지는 않습니다.

결여된 공개 객체는 텔레메트리-해결책 영수증이다

중대한 스티어링 변경 또는 중대한 무대응에 대해 배포는 민감한 원시 데이터를 공개하지 않으면서 압축된 영수증을 보존할 수 있어야 합니다. 첫 번째 필드는 증거 경계입니다: 수집 원천, 측정 시각, 주체, 노후 규칙. 두 번째는 무결성입니다: 관련 채널, 신원, 검증 확인이 통과했는지. 세 번째는 정책입니다: 정책 버전, 그 승인된 소유자, 관련 임계값 또는 가중치 클래스, 승인된 예외.

네 번째는 충돌 처리(disposition)입니다. 푸시와 풀이 다르다면 기록은 그 차이를 명시하고, 사용할 입력을 선택한 규칙이나 책임 역할을 이름 지어야 합니다. 용량 수치, 고객 식별자 또는 악용 가능한 토폴로지를 공개할 필요는 없습니다. 유계 상태와 이유만으로도 측정된 불일치와 침묵 속의 오버라이드를 구별할 수 있습니다.

다섯 번째는 행동 경계입니다: 누가 대응을 선택했는지, 어느 대응이 선택되었는지, 이후 실행 증거가 무엇을 보였는지. 여섯 번째는 정정입니다: 롤백 조건, 만료 또는 검토 날짜. 일곱 번째는 결과입니다: 서비스 효과가 개선되었는지에 대한 별도의 관측으로, 트래픽을 이동했다는 사실이 성공을 증명한다는 주장이 아닙니다. 이것은 Daniel Kade의 권고이며, IETF 요구사항이 아니고, CATS 배포가 현재 그런 기록을 보존하고 있다는 주장도 아닙니다.

영수증은 운영 관계의 양쪽을 보호합니다. 정책 소유자가 실제로 사람이나 로컬 규칙이 결정을 내렸을 때 "텔레메트리가 결정했다"고 말하는 것을 막습니다. 응답자가 자신이 통제하지 않는 오래된 입력이나 정책이 실제로 만든 결정의 책임을 지는 것을 막습니다. 그리고 이후 감사자가 포워딩 불일치와 정책 결함, 승인된 예외, 복구된 운영 사건, 미해결 결과를 구별할 수 있는 방법을 제공합니다.

출처

  1. draft-ietf-cats-oam-fw-01
  2. CATS 워킹 그룹 헌장
  3. RFC 7282 — IETF에서의 합의와 허밍에 관하여
  4. Lu Heng, The Multi-Stakeholder Mirage