요약

  • RFC 1513은 RMON을 토큰 링 네트워크로 확장하면서dropEvents를, 떨어뜨린 프레임의 정확한 개수가 아니라 프로브에서 감지된 자원 부족 에피소드의 횟수로 명시적으로 정의했다.
  • 이 규격은 또한, 전달 보장이 있는 보고를 받은 무차별(promiscuous) 프로브가 일부 소프트 오류 보고를 두 번 셀 수 있다고 경고했다. 따라서 보고자, 업스트림 인접 스테이션, 스테이션 순서, 샘플 간격은 카운터를 장식하는 요소가 아니라 근거의 일부였다.
  • 관리 값, 네트워크 손실에 대한 추론, 특정 스테이션을 규탄하는 결정, 승인된 제어 동작, 그로 인한 서비스 상태는 각각 별개의 수취 증표였다. 이후의 RMON 작업은 정확한 프레임 드롭 카운터를 별도로 명명했다.

카운터의 한 번 클릭

원격 모니터링은 매력적인 거래에서 시작된다. 공유 네트워크에 프로브를 놓고, 그것이 끊임없이 지켜보게 한 뒤, 모든 프레임을 중앙 콘솔로 옮기는 대신 압축된 숫자를 요구하는 것이다. 프로브는 관리 스테이션이 다른 곳에 있는 동안에도 트래픽, 오류, 스테이션 행동을 기억할 수 있는 증인이 된다.

1993년 9월,RFC 1513은 이 거래를 IEEE 802.5 토큰 링에 맞게 조정했다. 그 전신인RFC 1271은 RMON의 아홉 가지 기능 그룹을 기술했지만, 일부 통계 및 이력 객체는 이더넷을 전제하고 있었다. RFC 1513은 토큰 링 전용 뷰를 보완하고, 링 스테이션, 스테이션 순서, 스테이션 구성, 소스 라우팅 그룹을 추가했다.

흥미로운 역사적 사실은 한 카운터 설명 안에 숨어 있다.tokenRingMLStatsDropEvents는 프로브가 자원 부족으로 패킷을 떨어뜨렸을 때 증가했다. RFC는 즉시 그 의미를 좁혔다. 이것이 반드시 떨어뜨려진 패킷 수는 아니라는 것이었다. 그것은 그 조건이 감지된 횟수였다.

한 번의 이벤트 뒤에 사라진 프레임이 하나일 수도 있다. 폭발적으로 많을 수도 있다. 두 번의 이벤트는 서로 전혀 다른 볼륨과 겹칠 수 있다. 카운터가 완벽하게 구현되었더라도 “몇 개의 프레임이 유실되었는가?”라는 질문에는 답하지 못할 수 있다. 그것은 애초에 그 객체가 담도록 인코딩된 질문이 아니기 때문이다.

카운터는 거짓말을 하지 않았다. 그것에 붙은 무심한 명사가 거짓말을 했다.

관찰자에게도 고장 모드가 있었다

그 구별은 프로브를 그것이 관찰하는 계통 안으로 들여보냈다. 자원 고갈은 네트워크 상태일 뿐 아니라 증인 자신의 상태이기도 했다. 프로브가 더 이상 모든 수신 프레임을 장부에 반영할 수 없게 되면, 관리 데이터는 부분적 가시성의 기록이 된다.

RFC 1513은 MAC 계층 통계, 무차별 통계, 그리고 이들의 샘플링 이력 테이블에서 같은 의미론을 반복했다. 그 반복은 의미가 있다. 현재 총계와 하나의 과거 구간에 저장된 값이 이름 계열을 공유하면서도 서로 다른 시간 맥락을 요구할 수 있었다. 폴링에는 데이터 소스 인터페이스, 테이블, 제어 행 식별자, 소유자, 상태, 활성화 에포크, 샘플링 간격이 필요했다. 이것들이 없으면, 델타가 서로 다른 두 수집 체계를 합쳐버릴 수 있다.

카운터는 에포크가 잊히면 나이를 타듯 나쁘게 노화된다. 프로브 재시작, 행의 삭제와 재생성, 32비트 랩어라운드, 데이터 소스 변경은 더 작은 값을 회복처럼, 더 큰 값을 연속처럼 보이게 만들 수 있다. 숫자만으로는 관리 스테이션이 그 값이 같은 증인과 같은 실험에 속하는지 판단할 수 없다.

그래서 이후 RMON-2 작업이 시사적이다.RFC 4502는 별도의DroppedFrames객체를 기술하면서,dropEvents와 달리 그 값들은 수집에서 떨어져 나간 프레임의 정확한 개수라고 명시했다. 이후의 이름은 거짓 카운터를 교정한 것이 아니라, 서로 다른 측정을 새로 만든 것이다.

하나의 보고가 두 번 도착할 수 있었다

관찰자 문제는 용량에서 멈추지 않았다. RFC 1513은 토큰 링 소프트 오류 보고 패킷이 전달 보장을 두고 보내질 수 있다고 경고했다. 따라서 무차별 모드로 지켜보는 장치는 일부 오류를 두 번 셀 수 있다.

이 경고는 안락한 가정을 깬다. 패킷 수신이 이벤트의 유일성을 보장하지 않는다는 것이다. 두 개의 관측된 보고가 하나의 근원적 오류를 서술할 수 있다. 전달 보장은 보고가 도착할 확률을 높인다. 동시에, 두 개의 고장으로 오인해서는 안 되는 중복을 만들기도 한다.

운영자에게는 최소한 보고 스테이션, 보고 유형, 관련 시퀀스 또는 타이밍 근거, 캡처 지점, 중복 제거 규칙이 필요했다. 그렇게 해도 원본 기록은 중복이 가능했음을 증명할 뿐이다. 특정 구현이 중복 제거에 실패했거나 어떤 카운터 값이 부풀려졌음을 증명하지는 않는다.

같은 규율은 거꾸로도 적용된다. 중복이 없다고 해서 이벤트가 없었다는 뜻은 아니다. 카운터가 0이라고 해서 트래픽 가시성이 완전하다는 뜻은 아니다. 측정은 프레임에서 프로브, 분류, 상태 갱신, 폴링, 해석에 이르는 사슬이다. 사슬의 모든 고리는 최종 숫자가 무엇을 의미하는지 좁힐 수 있다.

보고자, 인접자, 원인

토큰 링의 오류 회계는 토폴로지를 해석의 일부로 만들었다. RFC 1513은 호스트 그룹에게 오류 범주별로 서로 다른 항목을 증가시키도록 지시했다. 주소 복사 오류는 보고 스테이션의 가장 가까운 업스트림 인접 스테이션에 기록되었다. 회선 오류와 버스트 오류는 보고 스테이션과 그 업스트림 인접 스테이션 양쪽에 기록되었다. 내부 오류와 중단 오류는 보고자에게만 기록되었다.

이 규칙들은 유용한 운영적 투영을 만들었다. 그러나 물리적 유죄를 확립하지는 않았다. 카운터에 이름이 나타난 스테이션은 오류를 보고했을 수도, 보고자의 이웃이었을 수도, 회계 규약에 의해 선택되었을 수도 있다. 그 투영은 누군가 안전하게 “무엇이 고장 났는가?”에 답하기 전에 “이 근거를 어디에 보관해야 하는가?”에 답해 주는 것이었다.

링 스테이션 순서 그룹은 스테이션 순서를 관리에 노출시켰다. 그 순서는 관련 인접 스테이션을 찾고 토폴로지 변화를 알아채는 데 도움이 될 수 있었다. 그러나 순서 테이블도 또 하나의 스냅숏이었다. 오류가 발생한 시점에 토폴로지가 변하지 않았음을, 모든 스테이션이 보였음을, 프레임이 목적지에 도달했음을 증명하지 않는다.

이 구별은 대시보드에서 쉽게 잃어버린다. 빨간 숫자 옆에 하나의 스테이션 이름을 보여주는 레이블은 분류 관계를 인과적 판결로 바꿔놓을 수 있다. RFC 1513의 세부 사항은 그 붕괴를 거부한다. 보고자, 인접자, 카운터 버킷, 근본 원인은 동의어가 아니었다.

정상 프레임은 다른 모집단에 속했다

문서는 “정상 프레임”이 무엇을 뜻하는지도 정의하고, 어떤 카운터가 오류 트래픽을 제외하는지 명시했다. 일부 옥텟 및 패킷 총계는 유효한 프레임을 셌다. 오류 카운터는 오류 보고 패킷에서 나왔다.dropEvents는 프로브가 트래픽을 장부에 반영하지 못한 상태를 서술했다. 정의를 확인하지 않으면 이 모집단들을 결합할 수 없다.

서로 호환되지 않는 모집단으로 만든 비율은 산술적으로는 정확하되 운영적으로는 무의미할 수 있다. 분자가 감지된 부족 에피소드 수를, 분모가 정상 프레임 수를 나타낸다면, 그 결과는 손실률이 아니다. 오류 보고가 중복될 수 있다면, 그 개수를 조용히 사건 수로 바꿀 수 없다. 프로브가 분류 전에 프레임을 떨어뜨렸다면, 이후의 범주별 총계로는 그것이 처리하지 못한 것을 재구성할 수 없다.

교훈은 “텔레메트리는 불확실하다”보다 정밀하다. 텔레메트리는 한정된 객체에 대해서는 정확할 수 있다. 불확실성은 분석가가 그 객체 대신 더 넓은 운영적 주장을 끼워 넣을 때 들어온다.

보는 것과 하는 것은 하나의 문서를, 권한은 나누어 가졌다

RFC 1513은 관찰에 그치지 않았다. 그 링 스테이션 구성 그룹은 능동적 작업을 허용했다. 모니터링 중인 스테이션을 제거하거나 구성 정보를 다운로드할 수 있었다. 이것은 측정 표면 곁에 제어 표면을 놓았다.

문서는 이미 중요한 한계를 명시한 바 있었다. MIB 객체의 접근 수준은 읽기 또는 쓰기가 프로토콜상으로 의미가 있는지를 서술할 뿐, 행정적 승인 정책과는 무관하다는 것이었다. 따라서read-write정의가 어떤 운영자, 프로세스 또는 조직에게 스테이션을 변경할 권한을 부여하는 것은 아니었다. 그것은 가능한 프로토콜 작업 하나를 정의했을 뿐이다.

이 간극은 자동 응답이 유혹적으로 다가올 때 가장 중요하다.dropEvents의 상승은 프로브 자신이 자원 부족임을 보여줄 수 있다. 스테이션 카운터는 인접 귀속 규칙을 반영할 수 있다. 중복된 보고는 어떤 오류 범주를 부풀릴 수 있다. 그 어떤 사실 하나만으로는 스테이션을 링에서 퇴출시킬 근거가 되지 않는다.

능동적 작업에는 자기 자신의 사슬이 필요하다. 인증된 요청자, 승인 결정, 대상 식별자, 사전 조치 토폴로지, 명령, 응답, 구성 상태, 관측된 네트워크 결과. 조사를 촉발한 그 객체는 조치가 정당했고 성공했음의 수취 증표가 될 수 없다.

소스 라우팅도 또 하나의 부분적 뷰였다

토큰 링은 선택적 소스 라우팅 정보를 실을 수 있었다. RFC 1513의 소스 라우팅 통계 그룹은 그 정보로부터 사용률 데이터를 도출하면서, 올 루트, 싱글 루트, 로컬, 홉 수 패턴을 분리했다.

선택적 가시성은 보편적 토폴로지가 아니다. 라우팅 정보 필드가 없는 패킷은 그것이 있는 패킷과 같은 근거를 제공하지 않는다. 하나의 링에서 관측된 프레임이 종단 간 경로를 증명하지는 않는다. 홉 버킷은 인코딩된 라우팅 정보를 요약할 뿐, 성공적인 전달이나 현재 정책 권한을 증명하지 않는다.

여기서도 MIB는 유용한 얇은 계층을 지켰다. 그것은 프로브가 분류할 수 있는 것을 노출하면서, 모든 운영 질문을 풀어준다며 가장하지 않았다. 이후RFC 3577은 RFC 1513을 더 넓은 RMON 가족 안에 놓았다. RMON-1, RMON-2, 스위치드 네트워크, 대용량 확장과 나란히 미디어별 모니터링을 두는 것이다. 그 가족은 모든 질문을 하나의 낡은 카운터에 강제로 밀어 넣는 대신, 새로운 관측에 이름을 붙이며 성장했다.

이 기록이 증명하는 것

RFC Editor 기록은 출판, 저작, 표준 계보, 현재의 Historic 지위를 증명한다.IETF Datatracker는 문서 이력을 보존한다.1271,1757,2021,2819,3577,4502의 RFC들이 그 주변의 RMON 계보를 확립한다.

그러나 이것들은 특정 배치, 패킷 손실, 장애, 벤더 결함, 성공적인 개입, 현재 구현 행동을 증명하지 않는다. Historic 지위는 사건 보고서가 아니다. RFC 4502가 독립적인 상호운용성 증거의 부족을 이유로 일부 토큰 링 RMON-2 증강을 폐기한 것 역시, RFC 1513이 운영상 고장을 일으켰다는 증거가 아니다.

Lu Heng의Running-Code Primacy는 옳은 시험을 제공한다. 공유 규격은 관측된 실행과 결과를 통해서만 운영적으로 의미를 갖는다.Minimum Initial Specification은 공통 계층이 최소한의 안정적 의미를 정의하되, 로컬의 용량과 동작 선택을 가시적으로 남겨두어야 하는 이유를 설명한다.On Reality Layers는 하나의 기호가 그것이 다만 대표하는 현실로부터 권위를 물려받는 것을 경계하라고 경고한다.

따라서 RFC 1513의 짧은 단서는 문서 사무적 성격이 아니라 구조적 성격을 지녔다. 숫자 42는 프로브가 42회의 부족 에피소드를 알아챘다는 것을 진실하게 말할 수 있었다. 그러나 42개의 사라진 프레임, 42회의 네트워크 고장, 스테이션 하나를 응징할 42가지 이유에 대해 증언할 수는 없었다. 신뢰는 카운터의 의미론이 그 값과 함께 이동할 때 시작된다.

출처