요약

  • RFC 1955의 ENCAPS 제안은 진입·출구 경계 라우터에게 자율 도메인 IP 헤더를 추가하고 제거하도록 요청했습니다. 이를 통해 일반 트랜짓 라우터는 래퍼를 라우팅하고, 원본 데이터그램과 그 주소는 변경되지 않은 채 유지됩니다.
  • “호스트 변경 없음”이 이전 비용이 없다는 뜻은 아니었습니다. DNS는 이름마다 AD 주소 레코드가 필요했고, 경계 라우터는 새로운 조회 및 캡슐화 동작이 필요했으며, AD 주소는 할당이 필요했고, 트랜짓 패킷마다 20바이트 외부 헤더가 추가되었습니다.
  • 이 메모는 Informational 문서로, 공간 출판이 IPng 수용을 의미하지 않는다고 명시하고, 내부 IPv4 주소가 전역적으로 고유하다고 가정했으며, 보안을 논의하지 않았습니다. 이는 배포 증명서가 아니라 하나의 설계 선택에 대한 기록입니다.

패킷은 낡은 주소를 유지했다

다른 라우팅 도메인으로 들어가는 경계에 있는 패킷을 생각해 봅시다. 출발지와 목적지는 이미 발신 호스트에게 의미를 갖습니다. RFC 1955는 경계에 두 값 중 어느 것도 지우도록 요청하지 않았습니다. 대신 진입 경계는 두 번째 주소 쌍을 조회해 다른 IP 헤더에 넣고, 래핑된 데이터그램을 도메인 간 시스템 전체로 전송합니다. 출구 경계는 새 헤더를 제거하고 원본 패킷을 다시 드러냅니다.

이 구분은 의도적인 것이었습니다. 제안의 이점 목록에는 “패킷 내 주소 변환 없음”이 포함되어 있었습니다. 호환성 거래는 모든 계층이 동일하게 유지된다는 것이 아니었습니다. 설치된 호스트와 대부분의 라우터는 같은 언어를 계속 사용하되, 더 작은 경계 장비 집합이 전환을 짊어진다는 것이었습니다.

그렇기 때문에 이 제안이 인터넷 아키텍처로 채택되지 않았음에도 주목할 가치가 있습니다. 이전 비용을 위치 문제로 만들어 보여주기 때문입니다. 비용은 사라지지 않았습니다. 호스트 집단에서 DNS 매핑, 경계 처리, 자율 도메인 식별자, 라우팅 추상화, 그리고 래핑된 모든 패킷의 추가 헤더로 옮겨갔습니다.

RFC 1955는 1996년 6월에 출판되었지만, 이 설계가 1992년 1월에 ROAD 그룹에 제안되었고 처음에는 이메일로 유통되었다고 명시합니다. 이 문서는 나중에 IPng 백서 절차에 대한 응답으로 제출되었습니다. 문서 자체의 경고가 결정적입니다. 출판이 IPng 영역이 그 어떤 아이디어도 수용했음을 의미하지 않는다는 것입니다. 이 RFC는 압박 속에서 이루어진 선택에 대한 기록 보관 창이지, 그 선택이 이겼다는 증명이 아닙니다.

두 개의 시계에 대한 중기 답변

1990년대 초의 라우팅 논쟁은 하나가 아닌 여러 시계 위에서 진행되었습니다. 클래스 B 번호는 비효율적으로 소모되고 있었습니다. 라우팅 테이블과 이를 관리하는 인적 노력은 계속 커지고 있었습니다. 32비트 주소 공간의 최종 고갈은 서로 다르고 더 긴 문제로 남아 있었습니다. 모든 것을 해결하되 너무 늦은 설계는 더 가까운 제약에게 네트워크를 내줄 수 있었습니다.

ROAD 기록은 즉시, 단기, 중기, 장기 작업을 분리하고 그 단계들이 병행으로 시작되어야 한다고 주장했습니다. 단기 조치는 호스트 변경을 요구할 수 없었습니다. 장기 작업은 새 인터넷 계층을 고려할 수 있었지만, 대규모 설치 기반 전체에 걸친 그 전환은 어려울 것이었습니다. RFC 1955는 이 시간감을 명시적으로 채택했습니다. ENCAPS를 더 장기적인 후보들이 설계되고 배포되는 동안 인터넷을 계속 작동시키기 위한 중기 조치로 불렀습니다.

이 주장은 한 면에서는 절제되고 다른 면에서는 야심적이었습니다. ENCAPS는 대역폭이나 지연에 대한 새로운 보장을 약속하지 않았고, 초기 형태가 한계를 부과한다는 점도 인정했습니다. 그러나 이례적으로 넓은 호환성 면을 내세웠습니다. 호스트 변경 없음, 대부분 라우터 변경 없음, 새 인터넷 프로토콜 없음, 새 라우팅 프로토콜 없음, IPv4 주소 지속 사용, 더 작은 라우팅 테이블.

이 내세운 목록은 관찰된 결과가 아니라 설계 목표로 읽어야 합니다. 동결된 근거에는 구현 기록, 패킷 추적, 측정된 테이블 축소, 상호운용성 보고서가 전혀 나타나지 않습니다. 실제 동작하는 코드가 각 이점을 독립적으로 증명했어야 했습니다.

경계는 또 하나의 목적지를 만들었다

ENCAPS는 자율 도메인 주소를 기준으로 라우팅함으로써 자율 도메인 간 라우팅을 제안했습니다. 진입 경계가 일반 데이터그램을 받으면 출발지와 목적지를 검사하고 DNS에서 대응하는 AD 주소를 질의합니다. 그 주소들이 새 외부 IP 헤더의 출발지와 목적지가 됩니다.

원본 데이터그램은 이제 페이로드입니다. 경계 사이에서 네트워크는 래퍼를 기준으로 경로를 선택할 수 있습니다. 최종 경계에서 래퍼는 사라지고, 원본 목적지가 다시 포워딩을 결정합니다.

제안은 AD 주소를 위해 소수의 클래스 A와 클래스 B 네트워크 번호를 예약할 것을 제안했습니다. 네트워크 번호 부분이 그 값을 AD 식별자로 식별하고, 로컬 부분이 특정 AD를 선택합니다. 하나 이상의 예약된 네트워크가 AD들을 메모가 말하는 커먼웰스(commonwealths)로 조직할 수 있었습니다. 커먼웰스는 자신의 AD들에 대한 상세한 지식이 필요했지만, 다른 커먼웰스들은 더 요약된 형태로 나타날 수 있었습니다.

이것은 단순한 패킷 포맷팅이 아니었습니다. 경계 라우터는 트랜짓 도메인의 도메인 내 라우팅에 적절한 AD 주소를 주입합니다. 그러면 일반 라우터는 자신들이 특별하다는 것을 모른 채 외부 헤더를 포워딩할 수 있습니다. BGP, IS-IS 또는 OSPF가 경계들 사이의 경로를 계산할 수 있었습니다. 이 체계는 새 추상화를 중간 장비들에게 평범하게 보이게 함으로써 수정 대상 장비 수를 줄였습니다.

따라서 이 메커니즘은 두 가지 호환되는 믿음에 의존했습니다. DNS는 이름을 올바른 AD 주소에 매핑해야 했고, 라우팅은 그 AD 주소를 올바른 출구로 전달해야 했습니다. 사용 가능한 경로 없이 올바른 매핑만으로는 부족했습니다. 잘못된 매핑으로 향하는 AD 주소 경로도 부족했습니다. 래퍼는 두 시스템의 레코드를 결합했고, 출구 경계는 둘 모두와 일치해야 했습니다.

변환 없음은 여전히 상태를 유지하는 선택이었다

주소 변환과의 대조가 중요합니다. 변환기는 패킷 안의 주소를 교체하고 그 편집의 결과를 수리해야 합니다. 체크섬, 내장된 주소, 응용 프로토콜, 때로는 여러 출구에서 동기화된 테이블까지. 암호화는 페이로드 재작성을 불가능하게 만들 수 있습니다. RFC 1955는 내부 패킷을 보존함으로써 이런 특정 변형들을 피했습니다.

그러나 보존이 경계를 상태 없이 만들지는 않았습니다. 진입은 여전히 이름-AD 결과가 필요했습니다. 네트워크는 여전히 할당된 AD 식별자와 경로가 필요했습니다. 출구는 자신이 래퍼를 제거할 올바른 장소임을 여전히 인식해야 했습니다. 운영 근거는 여전히 DNS 답변, 구성된 헤더, 전달된 래퍼, 성공한 캡슐화 해제, 전달된 응용 메시지를 구별해야 했습니다.

이 설계는 또한 기초적 가정을 유지했습니다. 원본 IPv4 주소는 오랫동안 전역적으로 고유할 수 있다는 것입니다. RFC 1955는 AD 주소와 내부 IP 주소의 조합이 전역 고유성을 제공하는 가능한 미래를 언급했습니다. 그러나 그 버전에서 호스트 변경을 피하려면 경계에서의 NAT가 필요한데, 이는 초기 제안이 내세워 배제한 바로 그 변형입니다. 대안으로 호스트 스스로 AD 매핑을 학습하고 래퍼를 구성할 수 있지만, 그러면 호스트 변경 없음이라는 거래는 끝납니다.

이것은 유용한 형태의 아키텍처적 정직함입니다. 모든 확장은 원래 경계들 중 하나를 넘습니다. 전역 고유성이 유지되거나, 경계가 변환하거나, 호스트가 변경됩니다. 설계는 거래를 미룰 수 있습니다. 거래를 사라지게 할 수는 없습니다.

20바이트는 눈에 보이는 가격일 뿐이었다

RFC 1955는 추가 대역폭 비용을 명시했습니다. 트랜짓 네트워크를 가로지르는 트래픽에 또 하나의 20바이트 IP 헤더가 붙는다는 것입니다. 진입·출구 경계에서의 추가 처리도 명시했습니다. 이 비용들은 패킷 안과 두 대의 장비 위에 있기 때문에 그리기 쉽습니다.

더 어려운 비용은 제어 평면의 의무였습니다. DNS는 모든 이름에 새 AD 주소 항목이 필요했습니다. 경계 라우터는 조회, 헤더 구성 및 제거, 도메인 간 AD 라우팅 절차가 필요했습니다. 운영자는 AD 주소와 그 커먼웰스에 대한 일관된 할당 계획이 필요했습니다. 실패는 내부 경로와 외부 경로에 걸쳐 원인 귀속이 필요했습니다.

이 메모는 캐시 수명, 네거티브 조회 동작, 새 DNS 데이터의 인증, 한쪽 경계만 변경되었을 때의 실패 동작, MTU 탐색, 상세한 단편화 규칙, ICMP 원인 귀속, 전환 출구를 명시하지 않았습니다. 보안도 논의하지 않았습니다. 이러한 누락이 설계가 나빴다는 증证明은 아닙니다. 제안과 운영 시스템이 서로 다른 근거 객체인 이유를 보여줍니다.

이후의 IP-within-IP 명세들은 래퍼 메커니즘의 많은 부분을 더 완전하게 정의합니다. 최초의 IPv6 명세는 최종 IPng 결과를 기록합니다. 어느 사실도 ENCAPS에서 그 시스템들로 이어지는 직선을 그릴 수 있게 하지 않습니다. 신중한 비교는 구조적입니다. 모든 전환 메커니즘은 누가 상태를 추가하고, 누가 제거하고, 실패가 어떻게 관찰되고, 변경되지 않은 계층이 무엇을 계속 보장하고, 호환성 계층이 언제 은퇴할 수 있는지를 결정해야 합니다.

CIDR은 다른 방식으로 시간을 샀다

ENCAPS는 CIDR과도 분리되어야 합니다. CIDR은 주소 할당을 바꾸고 집합체를 마스크와 함께 전달할 수 있게 함으로써 라우팅 성장을 공격했습니다. 그 비용은 할당 정책, 라우팅 프로토콜 역량, 공급자 접속, 더 나은 집합화를 위한 재번호 부여 압박에 나타났습니다. CIDR은 도메인 간 패킷마다 AD 래퍼를 추가하지 않았습니다.

두 설계 모두 같은 긴급성에 대한 응답이었고, 둘 다 자신을 더 장기적인 아키텍처로 가는 다리로 묘사했습니다. 다리의 위치가 달랐습니다. CIDR은 보이는 주소 계층이 라우팅 집합화를 수행하게 만들었습니다. ENCAPS는 기존 패킷 밖에 두 번째 주소 계층을 제안했습니다. 하나는 기존 주소에 대한 경로의 요약 방식을 바꿨고, 다른 하나는 낡은 목적지가 새로운 도메인 간 목적지 안에 탑승할 수 있게 하려 했습니다.

이 비교가 가치 있는 이유는 바로 그 메커니즘들이 상호 교환 가능하지 않기 때문입니다. “집합화”는 단일한 공학 행위가 아닙니다. 주소 보유자, 공급자, 라우팅 테이블, 매핑 시스템, 패킷 헤더, 경계 장비가 그 비용을 치를 수 있습니다. 비용을 부담하는 주체와 되돌릴 수 있는 경계가 이름 지어지기 전까지는 이 단어가 드러내는 바가 거의 없습니다.

시스템이 되지 못한 제안의 의미

Lu Heng의 실동 코드 우선 원칙은 문서가 배포를 사칭하는 것을 막습니다. RFC 1955는 특정 전환이 기술되었다는 것을 증명합니다. DNS 레코드는 하나의 매핑이 구성되었다는 것을 증명합니다. 경계 구성은 준비 상태를 증명합니다. 외부 헤더가 담긴 패킷 캡처는 한 관찰 지점에서의 발신을 증명합니다. 어느 하나도 올바른 도착, 캡슐화 해제, 내부 포워딩, 응용 수신을 증명하지 않습니다.

최소 초기 명세의 관점은 얼마나 많은 공유 장비가 실제로 필요했는지를 묻습니다. ENCAPS는 호스트와 대부분의 라우터를 변경 집합 밖에 두려 했습니다. 그것은 지역화된 미래 결정, 즉 실험을 참여하는 경계들에 집중하는 형태였습니다. 그러나 공유된 DNS 매핑과 AD 주소 계획은 여전히 새로운 조정 계층으로 두꺼워질 수 있었습니다. 지역 배포가 지역으로만 남는 조건은 비참여 경로, 폴백, 철회가 계속 실행 가능할 때입니다.

현실 계층의 관점은 이어서 객체들을 분리합니다. 문서에 적힌 AD 번호는 제안된 기호입니다. DNS 항목은 구성된 믿음입니다. 외부 헤더는 패킷 수준의 행위입니다. 경계의 캡슐화 해제는 지역 실행입니다. 전달된 서비스는 그 다음 결과입니다. 어느 앞선 계층을 다음 계층의 증명으로 다루면 전환 도식이 거짓 영수증으로 변합니다.

RFC 1955는 인터넷의 장기 답변이 되지 못했습니다. 그러나 그렇기에 전환 아키텍처를 이해하는 데 더 유용합니다. 호환성 계층이 싸다고 말하기 전에 필요한 규율을 보여줍니다. 변경되지 않는 시스템들을 세어 보고, 그다음 어딘가 다른 곳으로 옮겨진 상태를 세어 보라는 것입니다.

출처와 경계

문서의 신원과 상태는RFC Editor의 RFC 1955 정보 기록에 있으며, 메커니즘과 그 면책은RFC 1955에 있습니다. 라우팅 위기와 단계적 대응은RFC 1380으로 한정되고, 이후 제출 맥락은IPng 백서 공모에 의해 한정됩니다. 별도의 단기 집합화 전략은CIDR에 관한 RFC 1519입니다. 당대의 주소 변환 비교는RFC 1631에서 나옵니다. 이후의 결과는 서술 계통을 주장하지 않고, 최초의IPv6 명세와IP within IP로 한정됩니다. 분석적 틀은Running-Code Primacy,Minimum Initial Specification,Reality Layers에서 나옵니다.

이 출처들은 서면 제안과 한정된 비교를 확립합니다. IPng 수용, 표준화, 구현, 배포, 채택, 성능, 상호운용성, 보안, 이름이 밝혀진 운영자, 패킷 추적, 현재의 제품, 이후 프로토콜로 이어지는 인과 계통을 확립하지 않습니다.