VPN 출구 주소 대장은 실제로 무엇을 기록해야 하는가?
출구 대장은 각 항목이 그 의미, 발행자, 만료를 밝힐 때에만 유용하다. 분류는 가입자 식별이 아니다.
출구 대장은 목록처럼 들리지만 목록은 어려운 부분이 아니다. 어려운 부분은 각 항목이 무엇을 주장하는지, 누가 그것을 발행할 수 있는지, 그 주장이 더 이상 참이 아닐 때 무슨 일이 일어나는지를 정하는 것이다. 이 제안들에서는 세 가지 서로 다른 주소 역할이 뒤섞이고, 그것을 섞는 대장은 어떤 질문에도 신뢰성 있게 답할 수 없다. 항목 하나를 발행에서 철회까지 따라가 보면 설계 요구 사항이 저절로 드러난다.
목록이 아니라 기록에서 시작하라
첫 번째 질문은 주소를 몇 개 넣을 것인가가 아니라 한 행이 무엇을 의미하는가이다. 클라이언트가 어디에 연결하는지, 목적지가 어떤 출처를 볼 수 있는지, 아니면 누가 대장에서 할당을 보유하는지를 설명하는가? 이는 세 가지 주장이며 세 명의 소유자와 세 가지 고장 모드를 가진다. 어느 것을 기록하는지 밝히지 않는 대장은 검증할 수도, 고칠 수도, 만료시킬 수도 없다. 의미를 올바로 잡는 것이 설계 작업이고, 목록은 결과일 뿐이다.
어떤 스키마든 쓰기 전에 행 정의를 쓰라. 정의에 ‘그리고’라는 단어가 필요하다면 그것은 아마 하나인 척하는 두 개의 기록이다.
비슷하게 보이는 세 가지 주소 역할
한 배포가 세 가지를 동시에 사용할 수 있고 흔히 그렇게 하므로 역할을 혼동하기 쉽다. 서비스는 한 주소에서 연결을 종료하고 다른 주소에서 트래픽을 전달할 수 있다, 반면 대장은 전혀 다른 세 번째 사실을 기록한다.
| Address role | Who may publish | What it does not prove | Withdrawal trigger |
|---|---|---|---|
| Forwarded exit | The operator that forwards the traffic, or a feed it authorizes | That a subscriber is behind the address, or that all its traffic is tunnelled | The address stops forwarding for that operator, or the prefix is reassigned |
| Registered allocation | The registry, or the holder of the allocation | That the resource is used as a VPN exit, or which application uses it | The allocation is returned, transferred, or the holder changes |
| Tunnel entry | The operator that terminates the tunnel | That traffic exits from the same address, or that the client is a subscriber | The endpoint is decommissioned or its address changes |
호스팅 블록에는 VPN 출구와 무관한 워크로드가 나란히 있을 수 있으므로 대장의 일치는 특정 주소가 특정 순간에 무엇을 하는지에 대해 아무것도 말하지 않는다. 역할을 명시하지 않은 항목은 특별한 무엇의 증거가 아니다. 역할을 명시하는 것이 기록을 반증 가능하게 만든다. 주소 체계도 밝혀야 한다, IPv4만 조용히 다루는 대장은 반대로 가정하는 누구든 오도할 것이기 때문이다.
항목 하나를 발행에서 철회까지 따라가라
가상의 출구 하나를 골라 따라가 보라. 운영자는 선언된 발효 시각에 프리픽스와 그 역할을 발행하고, 소비자는 그것을 가져오며, 나중에 그 주소는 출구 역할을 그친다. 각 단계에는 규칙이 필요하다: 누가 발행할 수 있는지, 프리픽스가 실제로 무엇을 포괄하는지, 항목이 언제 발효되는지, 그리고 어떻게 철회되는지. 철회 경로가 없는 피드는 아무도 현재의 주장과 구별할 수 없는 낡은 주장을 쌓는다.
발행 권한과 레이블의 정확성을 분리하라. 조직을 자원에 연결하는 대장 기록은 할당을 증명할 뿐 현재 사용을 증명하지 않으며, 이는 서로 다른 증거를 가진 서로 다른 주장이다. 소비자는 둘 중 어느 것을 신뢰하는지 알아야 한다.
정정도 정의하라. 고객에게 재할당된 주소나 잘못된 레이블에 걸린 무관한 서비스는 티켓 대기열에서의 논쟁이 아니라 수정으로 이어지는 문서화된 경로가 필요하다. 철회 방아쇠는 발행 규칙과 같은 문서에 속한다.
발행된 피드가 지원할 수 있는 것과 없는 것
발행된 프리픽스 속성은 확립된 패턴이며, 기존 예시는 행동이 아니라 지리나 소유권을 설명한다. VPN 피드에는 자체 의미론, 자체 증거 규칙, 자체 검토 절차가 필요하며, 국가 목록의 이름을 바꾸는 것으로는 그중 어느 것도 얻을 수 없다. ARIN 대장 안내서는 할당 기록이 무엇을 주장하고 무엇을 주장하지 않는지 보여 주며, 새 피드는 자기 주장에 대해 같은 명료함을 얻어야 한다. 그것은 명세 작업이지 재레이블 작업이 아니다.
그런 피드가 지원할 수 있는 것은 네트워크 출처에 대한 분류 결정이다. 지원할 수 없는 것은 공유 주소 뒤의 사람을 식별하는 것, 그 주소에서 나오는 모든 트래픽이 터널을 지난다고 증명하는 것, 또는 특정 요청이 남용인지 결정하는 것이다. 이들은 세 가지 별개의 질문이며 세 가지 별개의 증거 요건을 가진다.
법적 질문은 명세 밖에 두라
기술 명세는 제안된 등록 요건이 합법적인지, 비례적인지, 현명한지 결정할 수 없다. 그 평가에는 실제 입법 문안, 영향을 받는 권리, 관할권, 그리고 데이터 형식이 제공할 수 없는 법적 분석이 필요하다. 형식은 잘 설계되었으면서도 나쁜 정책을 지원할 수 있다.
명세가 할 수 있는 것은 논쟁을 구체적으로 만드는 것이다. 먼저 제안된 데이터, 그 한계와 고장 모드를 정의하여 정책 논쟁이 참가자마다 다르게 상상하는 정의되지 않은 목록이 아니라 실제 메커니즘에 관한 것이 되게 하라. 그것이 기술 문서가 법적 질문에 기여할 수 있는 최대치다.