요약
- RFC 1992는 라우팅 데이터베이스가 불완전하고 불일치할 것을 전제했다. 공급자는 배포를 제한할 수 있고, 수신자는 선택적으로 보관할 수 있으며, 내부 지도는 요청자에 따라 달라질 수 있고 캐시는 낡을 수 있다.
- Nimrod는 특수 경로 계산을 사용자 또는 그 대리인 쪽으로 옮기고, 한 장치가 선택한 경로는 서로 충돌하는 홉별 지도가 만들어내는 루프를 피할 수 있다고 주장했다. 지도의 정확성, 서비스의 실제 제공, 아키텍처의 배포를 증명하지 않은 채였다.
링크 스테이트 라우팅에 대한 통상적인 그림은 합의에서 출발한다. 각 참여자는 호환 가능한 다음 홉을 계산할 수 있을 만큼 동일한 토폴로지를 학습한다. RFC 1992는 그보다 덜 편안한 지점에서 출발했다. Nimrod가 다루려던 초대규모 인터네트워크에서는 일부 장치가 모든 것을 저장할 수 없고, 일부 공급자는 모든 것을 공개하지 않을 것이며, 일부 획득한 정보는 사용되기 전에 낡을 것이다. 완전하고 동일한 데이터베이스는 단순히 이용 불가능한 정도가 아니었다. 그것을 요구하는 순간 아키텍처의 존재 이유 자체가 사라진다.
이 전제는 "지도"가 무엇을 의미해야 하는지를 바꾸었다. Nimrod 지도는 이용 가능한 연결성, 서비스, 제약을 기술하는 노드와 방향성 인접 관계의 그래프였다. 동일한 물리적 영역은 서로 다른 수준의 상세도로 표현될 수 있었다. 어떤 요청자는 클러스터를 단일 노드로 보고, 다른 요청자는 내부 지도를 받을 수 있었으며, 대표자는 보안상의 이유를 포함해 서로 다른 요청자에게 서로 다른 내부 지도를 돌려줄 수 있었다. 따라서 RFC 1992는 라우터가 일관된 지도를 보유할 필요가 없다고 직접 말한다.
무엇을 알지 않을지 결정함으로써 규모를 다루다
Nimrod는 라우팅 상태를 줄이기 위한 여러 수단을 제시했고, 그중 하나도 공짜가 아니었다. 클러스터링은 경로 계산에 보이는 개체 수를 줄였다. 클러스터링을 반복하면 그 정점이 모든 것을 담는 계층 구조가 만들어지지만, 알고리즘은 계층마다 일치할 필요가 없었다. 클러스터는 구성 요소가 작동 중일 때 내부 연결성을 필요로 했지만, 물리적 네트워크·라우터·호스트 경계와 일치할 필요는 없었다.
추상화는 이어서 각 보이는 개체의 기술을 줄였다. RFC의 예시는 이 트레이드오프를 드러낸다. 추상화는 클러스터의 작은 일부만 제공하는 서비스를 생략하거나, 서비스를 평균값으로 보고할 수 있었다. 두 선택 모두 정보를 절약한다. 동시에 둘 다, 특이한 흐름에 결정적으로 중요한 바로 그 구분을 지워버릴 수 있다. 압축된 지도가 거칠다는 이유만으로 거짓 지도는 아니지만, 그 지도에 담기지 않은 상세에 의존하는 경로 선택은 지원할 수 없다.
배포는 별개의 통제 수단을 공급했다. 각 클러스터는 자신의 정보 중 어느 부분을 누구에게 광고할지 스스로 결정했다. 수신자는 무엇을 보관할지 결정했다. 공급자는 형제들에게 상세를 공개하고, 한 지역에 대한 요청에만 답하고, 사용자에게 맞춤 정보를 제공하거나, 내부 지도를 비공개로 유지할 수 있었다. 수신자는 보편 접근을 제공하는 클러스터의 정보만 보관할 수도 있었다. 따라서 공급자의 공개와 수신자의 보관은 두 가지 서로 다른 결정이었으며, 둘 다 전역 상태의 총량을 줄였지만 같은 결정이 아니었다.
이 구분은 경제적으로도 운영적으로도 중요하다. 정보 은닉은 공급자의 비공개 구조나 서비스 정책을 보호할 수 있다. 선택적 보관은 더 작은 장치를 메모리와 처리 예산 안에 유지할 수 있다. 결과적으로 생긴 데이터 부재만으로는 어느 이유가 적용되는지 알 수 없다. 빠진 엣지는 정책일 수도, 추상화일 수도, 용량 한계일 수도, 획득 지연일 수도, 단순한 오류일 수도 있다. Nimrod는 그 원인들을 동등하게 만들지 않았다. 불완전한 지식을 감당 가능하게 만들었을 뿐이다.
복잡성의 고객이 그 비용을 지불했다
이 아키텍처는 경로 생성을 트래픽의 발신지와 착신지에 국지화했다. 사용자가 직접 경로를 선택할 수도 있었지만, RFC 1992는 사용자를 대신해 작동하는 장치가 그 일을 수리할 것으로 기대했다. 알고리즘은 전역 조율을 필요로 하지 않았고 위치마다 달라질 수 있었다. 이는 실험에 점진적 경로를 열어주었다. 새로운 계산 방식은 그것을 원하는 당사자에게만 서비스할 수 있었고, 모든 라우터가 먼저 업그레이드될 필요가 없었다.
이는 동시에 비용 배분 규칙이기도 했다. 다중 제약 조건 하에서 경로를 생성하는 것은 보통 NP-완전 문제로 기술되었다. 특수 경로, 즉 보장된 처리량, 한정된 지연, 특정 공급자 제한이나 다른 서비스 조합을 요구하는 개체만이 획득과 계산 비용을 지불하면 되었다. 나머지는 덜 까다로운 기계 장치를 사용할 수 있었다.
그러나 비용을 수요 쪽으로 전가한다고 해서 비용을 지불할 능력이 평등해지지는 않는다. 더 풍부한 지도, 더 나은 알고리즘, 더 강한 공급자 관계를 가진 사용자는 다른 사용자가 계산할 수 없는 선택지를 계산할 수 있었다. 공급자가 은닉한 정보는 사용자가 아무리 계산을 더해도 이용 불가능한 상태로 남았다. 이 아키텍처는 국지적 최적화를 허용했지만, 정보와 서비스의 시장이 공정하다는 것을 증명하지는 않았다.
하나의 계산, 하나의 경로, 좁혀진 안전성 주장
RFC 1992의 루프 논증은 경로 선택을 홉별 즉흥 연주로부터 분리함에서 나온다. 한 라우터가 자신이 보유한 정보로 경로를 계산한다면, 포워딩 결정은 그 계산의 결과를 실어 나를 수 있다. 중간 라우터들은 서로 불일치하는 데이터베이스에서 각자 새로운 다음 홉을 고르지 않는다. 불일치는 여전히 존재하지만, 그 확립된 경로를 따라 스스로를 포워딩 루프로 조립하지는 않는다.
포워딩 모드들은 이 결과를 서로 다르게 표현했다. 플로우 모드에서 패킷은 중간 라우터에 미리 설정된 상태를 위한 경로 식별자를 실었다. 설정 단계는 자원 요구 사항도 함께 전달했고, 확인 또는 실패를 돌려줄 수 있었다. CSC와 CSS 모드는 그 경로를 선택한 정책적 근거가 아니라 순서화된 연결성 명세를 실었다. 데이터그램 모드에서 Nimrod는 IPv4 스타일의 소스 라우트 없이 엄격하게 루프가 아닌 경로를 얻기 위해 미리 설정된 플로우 모드 상태를 사용했다.
따라서 Nimrod를 "소스 라우팅"으로 축약하거나, 모든 패킷이 완전한 물리적 경로를 실었다고 말하는 것은 부정확하다. 이 RFC는 상태를 패킷과 라우터 사이에 배분하는 여러 방식을 기술한다. 그것들을 잇는 것은 경로에 대한 사전 선택이지, 단일한 보편적 와이어 포맷이 아니다.
안전성 주장 또한 좁게 유지되어야 한다. 한 장치가 계산한 경로는 독립적인 라우터들이 서로 호환되지 않는 다음 홉 신념을 결합할 때 생길 수 있는 특정 루프를 피한다. 그것은 계산에 쓰인 지도가 신선하다는 것, 경로가 여전히 존재한다는 것, 설정 상태가 남아 있다는 것, 공급자가 광고한 서비스를 이행한다는 것, 패킷이 착신지에 도달했다는 것을 증명하지 않는다. 루프 자유는 최적성도, 도달 가능성도, 애플리케이션 성공도 아니다.
인증된 지도조차 틀릴 수 있다
RFC 1992의 신뢰 섹션은 이례적으로 솔직하다. 노드는 자신의 내부 지도를 숨기고, 외부에 제시한 특성을 만족하는 한 내부에서는 관리자가 정한 대로 운영할 수 있다. 그런데 이 논문의 예시는 물리적 네트워크가 강제할 수 없는 프라이버시를 암시하는 광고된 지도를 보여준다. 그리고 신뢰할 수 있는 노드가 인증한 정보조차 정직한 실수를 포함할 수 있다고 지적한다.
이 구분은 인증이 다른 모든 증거 문제를 삼켜버리는 일을 막는다. 서명이나 신뢰된 채널은 출처를 식별하고 전송 중 메시지를 보호할 수 있다. 그러나 그것은 추상화가 희귀한 서비스를 보존했다는 것, 캐시가 만료되지 않았다는 것, 물리적 네트워크가 광고된 분리를 강제한다는 것, 공급자가 요청된 품질을 제공할 수 있다는 것을 확립하지 않는다. 출처, 진실성, 신선도, 해석, 실행은 계속 분리된 채로 남는다.
캐싱은 같은 경계를 시간의 축에서 보여준다. Nimrod는 지연과 반복 조회를 줄이기 위해 획득한 경로의 재사용을 장려했지만, 낡은 캐시 항목이 저품질 경로를 낳을 수 있다고 경고했다. 캐시할지, 얼마나 오래 캐시할지 결정하려면 유효 수명 추정이 필요했다. 이 문서는 그 수단을 제공했을 뿐, 보편적인 신선도 판단 기준을 제공하지는 않았다.
아키텍처는 채택이 아니었다
RFC 1992는 Informational 문서다. 기술된 프로토콜과 분산 데이터베이스는 다른 곳에서 규정된다고 명시하고, 보안 섹션은 보안 문제가 다루어지지 않는다고 말한다. 그보다 앞서 RFC 1752는 IESG가 Nimrod를 IPng 후보로 삼기에는 지나치게 연구 프로젝트에 가깝다고 판단했음을 기록했다. RFC 1753은 그 설계들이 아직 실무에 배포되어 시험되고 검증되지 않았다는 이유로 광범위한 채택을 가정하지 않았다. 1997년의 RFC 2102도 유니캐스트 경로 생성을 라우팅 에이전트에 맡겨진 선택으로 기술했고, 멀티캐스트 생성과 포워딩은 미정으로 남겼다.
이 문서들이 아키텍처를 하찮게 만드는 것은 아니다. 그것들은 그 역사적 지위를 정확하게 밝힌다. Nimrod는 확장에 대해 강렬한 답을 내놓은 연구 프로그램이었다. 전역 지식을 포워딩 안전성의 대가로 삼지 말라는 답이었다. Lu Heng의 국지화된 미래 결정에 대한 서술은 선택권의 분배를 밝히는 데 도움을 주며, 그의 러닝 코드 우선 원칙은 발행을 운영과 혼동해서는 안 된다는 점을 지킨다. 그의 상징적 계층과 실행 가능 계층의 구분은 마지막 규율을 공급한다. 지도는 주장을 광고하고, 경로 설정은 상태를 바꾸며, 관찰된 패킷과 서비스 결과는 그 다음 계층에 속한다.
따라서 RFC 1992의 지속적 기여는 승리의 만세가 아니라 하나의 경계다. 네트워크는 서로 다른 그림을 감내할 수 있었다. 하나의 경로가 모든 홉에게 그 그림을 다시 그리라고 요구하지 않았기 때문이다. 아키텍처가 전역 상태에서 절약한 것은 선택적 정보, 발신측 계산, 명시적 경로 기계 장치에 지출되었다. 그것은 루프의 한 가지 원인을 제거했다. 그러나 불완전한 지도가 경로가 다시 돌아오지 않는다는 이유만으로 참이 된다고 약속한 적은 결코 없었다.
출처
- RFC 1992: The Nimrod Routing Architecture
- RFC 1752: The Recommendation for the IP Next Generation Protocol
- RFC 1753: IPng Technical Requirements of the Nimrod Routing and Addressing Architecture
- RFC 2102: Multicast Support for Nimrod
- RFC 2103: Mobility Support for Nimrod
- Lu Heng, Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
- Lu Heng, Running-Code Primacy
- Lu Heng, On Reality Layers
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





