요약

  • LISP는 엔드포인트 식별자(Endpoint Identifier)와 라우팅 로케이터(Routing Locator)에 서로 다른 역할을 부여하지만, 패킷은 승인된 매핑을 ETR이 등록하고, ITR이 이를 조회·캐싱하고, 허용 가능한 RLOC가 선택되며, 언더레이가 그 RLOC에 도달하고, 목적지 사이트가 최종 전달을 완료해야만 이동합니다.
  • 이 역사에서 David M Meyer가 차지하는 유용한 위치는 위치(location)를 무의미하게 만들었다는 점이 아닙니다. 원래 LISP 데이터 플레인 사양과 현재 사양의 공동 저자로서, 아키텍처적 분리가 시간으로 한정된 수탁(custody) 체계가 되는 과정을 드러내는 데 기여하며, 그 기록·신뢰·운영 상태를 서로 혼동해서는 안 된다는 점을 보여줍니다.

다시 물어보는 것이 유용한 이유

평범한 IP 주소는 두 가지 질문에 동시에 답하는 것처럼 보입니다. 이것이 어떤 엔드포인트인가, 그리고 네트워크는 패킷을 어디로 보내야 하는가? 이 압축은 답이 서로 다른 속도로 변해야 할 때까지 편리합니다. 사이트는 상위 연결, 접속 지점, 선호 경로가 바뀌는 동안에도 엔드포인트를 명명하는 내구성 있는 방법을 원할 수 있습니다. 그러나 글로벌 라우팅 체계는 에지 변화가 점점 더 구체적인 경로로 표현될 때 대가를 치릅니다.

2006년 IAB 라우팅·어드레싱 워크숍은 이 긴장을 이례적으로 직접적으로 표현했습니다. 그 보고서인 RFC 4984는 하나의 숫자에 식별자와 로케이터 의미를 함께 담는 것이 확장성 문제에 기여했다고 밝혔습니다. 참가자들은 분리가 필요해 보인다고 생각했지만, 분리에 이름을 붙인다고 아키텍처가 주어지는 것은 아니라고 주장하지 않았습니다. 이 보고서는 IAB의 결정이나 배포 결과가 아니라 워크숍 견해의 기록이었습니다.

LISP는 그 구체적 답 중 하나가 되었습니다. RFC 9299는 IPv4나 IPv6 주소와 똑같이 보이지만 서로 다른 일을 수행하는 두 개의 네임스페이스를 기술합니다. 엔드포인트 식별자(EID)는 노드를 명명하면서 도메인 간 토폴로지적 위치는 담지 않습니다. 라우팅 로케이터(RLOC)는 언더레이의 네트워크 접속 지점을 명명합니다. 매핑 시스템은 전자를 후자의 하나 이상에 연결하고, 터널 라우터는 선택된 RLOC 쪽으로 내부 패킷을 캡슐화합니다.

이렇게 해서 “신원과 위치를 분리한다”는 기억에 남는 슬로건이 만들어지지만, 그 슬로건은 그 아래의 운영 체계를 감춥니다. EID는 스스로 언더레이를 건너 라우팅될 수 없습니다. 자신이 현재 어디에 사는지를 유지되는 기관·장비 집합에 물어야 합니다.

안정된 숫자, 여섯 개의 변하는 단언

LISP 데이터 플레인의 현재 Proposed Standard인 RFC 9300은 첫 번째 단언에 대해 신중합니다. 공용 인터넷에서 쓰이는 EID는 다른 공용 IP 주소처럼 고유해야 하며, 사이트에 연관된 EID 프리픽스에서 나옵니다. 고유성은 필요 조건입니다. 소유권 증서도, 인간 인증 결과도, 이식성 보장도, 어떤 매핑이 공개되었다는 증거도 아닙니다.

전달에는 더 긴 고리가 필요합니다:

단언운영상 수탁 주체와 근거
EID가 현재 위치 집합을 갖고 있다승인된 ETR 구성과 수락된 Map-Register가 하나 이상의 RLOC를 명명합니다.
매핑을 찾을 수 있다매핑 시스템과 Map-Resolver가 해당 EID-to-RLOC 기록을 반환합니다.
이 송신자가 사용 가능한 상태를 갖고 있다ITR이 최장 프리픽스 조회 후 만료되지 않고 검증된 Map-Cache 항목을 보유합니다.
하나의 로케이터가 허용된다Priority가 열등한 선택을 제외하고, Weight가 동등 선호 RLOC 간 트래픽을 분배합니다.
로케이터에 도달 가능하다언더레이가 선택된 RLOC로 작동하는 경로를 갖습니다.
엔드포인트가 패킷을 받는다ETR이 캡슐을 벗겨 목적지 사이트 내부로 패킷을 전달합니다.

이 논리곱(and)이 핵심입니다. 유효한 EID는 등록이 없는 상태와 공존할 수 있습니다. 수락된 등록은 원격 캐시의 낡은 상태와 공존할 수 있습니다. 새 매핑은 언더레이가 도달할 수 없는 RLOC를 담을 수 있습니다. 패킷이 ETR에 도착한 뒤 마지막 내부 구간에서 실패할 수도 있습니다. “식별자가 맞다”는 사실은 이후 단계의 어떤 단언도 증명하지 못합니다.

RFC 9300은 송신자의 불확실성을 드러내 보입니다. ITR은 로컬 온디맨드 Map-Cache에서 최장 프리픽스 조회를 수행합니다. 히트하면 Locator-Set을 얻습니다. 미스이면 RFC 9301이 기술하는 컨트롤 플레인에 질의합니다. 조회가 진행되는 동안 배포 환경은 패킷을 폐기하거나 버퍼링할 수 있으며, 표준은 그 가용성 선택을 의도적으로 운영자에게 맡깁니다. 응답이 도착하면 ITR은 이후 트래픽을 위해 매핑을 저장합니다.

저장된 답은 임대된 것이지 영원한 것이 아닙니다. Map-Cache 항목은 연관된 TTL(Time to Live)에 따라 만료되며 더 새로운 정보로 갱신될 수 있습니다. Map-Reply는 TTL을 0으로 설정해 즉시 삭제를 요구할 수 있고, 특수한 all-ones 값은 수신자가 보관 기간을 정하도록 허용합니다. 캐시는 도달성 상태도 보관합니다. 그러므로 체계는 “한때 존재했던 답”과 “이 ITR에서 여전히 현재인 답”을 구분합니다.

위치에는 좌표뿐 아니라 정책도 있다

매핑은 여러 RLOC를 나열할 수 있으며 Priority와 Weight도 함께 담습니다. 가장 낮은 Priority가 이기고, 255는 그 로케이터가 트래픽을 전달해서는 안 된다는 뜻입니다. 여러 RLOC가 최상 Priority를 공유하면 Weight가 부하를 분배합니다. 엔드포인트 식별자는 겉보기에 안정된 채로, 운영 정책이 그 아래의 경로를 바꿉니다.

이 구분이 위치가 사라지지 않은 이유를 설명해 줍니다. 위치는 누군가 공개하도록 승인받고, 누군가 조회하고, 수많은 수신 라우터가 캐시하고, 언더레이가 준수해야 하는 기록으로 외부화되었을 뿐입니다. 이 기록은 멀티호밍과 트래픽 엔지니어링을 표현할 수 있지만, 동시에 만료·수렴·보안·롤백 문제를 떠안습니다.

RFC 9301은 컨트롤 플레인 역할을 제공합니다. ETR은 주기적으로 EID 프리픽스와 RLOC를 담은 Map-Register를 Map-Server에 보냅니다. Map-Resolver는 ITR의 Map-Request를 받아 해당 매핑을 찾습니다. 등록은 단순한 패킷 형식이 아닙니다. ETR과 Map-Server는 인증을 위한 사전 공유 비밀을 갖고, 서버는 그 ETR이 어떤 프리픽스를 등록할 수 있는지 알아야 합니다. 프리픽스 검사가 없으면 사소한 하이재킹이 가능해진다고 RFC는 경고합니다.

평상시의 주기는 또 하나의 경계를 드러냅니다. 등록은 주기적으로 갱신되며 유효한 갱신이 끊기면 제거될 수 있습니다. 부정 응답은 등록된 로케이터가 없다는 뜻일 수도, 정책 거부일 수도, 인증 실패일 수도 있고, ITR에게 네이티브 전달, 재시도, 무동작, 폐기를 지시할 수 있습니다. “매핑 실패”라는 단일 대시보드 라벨은 프로토콜이 의도적으로 보존한 정보를 버립니다.

ETR이 매핑을 바꿀 때 Solicit-Map-Request는 이를 캐싱한 원격 ITR들이 새 상태를 요청하도록 유도할 수 있습니다. 이 메커니즘은 선택적이고 속도 제한이 있습니다. 관련 캐시 항목이 없는 ITR은 프롬프트를 받았다는 이유만으로 갱신을 가져오지 않아야 합니다. 변화는 활성 상태를 갖는 소비자에게 전파됩니다. 모든 가능한 캐시를 한 번에 무효화하는 마법이 아닙니다.

RFC 9302는 이 문제를 폐쇄되고 신뢰된 환경에서 더 구체적으로 만듭니다. 선택적인 12비트 Map-Version은 RLOC가 추가·삭제되거나, Priority나 Weight가 바뀌거나, 로컬 도달성이 변할 때 변할 수 있습니다. 번호 공간이 순환하므로 운영자는 아주 오래된 값이 새 값처럼 보이지 않게 해야 하며, 이를 위해 적어도 이전 TTL만큼 기다리거나 활성 트래픽이 최신 상태를 쓸 때까지 기다리는 방법이 있습니다. 공용 인터넷에서 RFC 9300은 Map-Versioning, gleaning, Locator-Status-Bits, Echo-Nonce를 매핑 갱신이나 로케이터 도달성의 지름길로 쓰는 것을 금지합니다. 공용 배포는 컨트롤 플레인에 의존해야 합니다. 영리한 데이터 플레인 힌트가 곧 안전한 증거는 아닙니다.

신뢰도 지도의 일부다

네임스페이스를 분리하면 매핑의 가치도 커집니다. 위조된 EID-to-RLOC 응답은 트래픽을 우회시키거나, 요청된 EID를 사칭하거나, 더 큰 프리픽스를 과대 주장할 수 있습니다. RFC 9301의 보안 분석은 강한 가정에서 출발합니다. 매핑 시스템은 신뢰되고, ETR은 그 시스템과 사전 구성된 신뢰 관계를 가지며, 시스템은 어느 ETR이 어느 EID를 광고할 수 있는지 안다. 그 키와 권한이 어떻게 확립되는지는 그 사양의 범위 밖입니다.

현행 문서가 다루는 공용 인터넷 사용 사례에서는 LISP-SEC가 요구됩니다. RFC 9303은 출처 인증, 무결성, 안티 리플레이 메커니즘으로 조회 데이터를 보호하고 수신자가 EID 프리픽스 주장의 승인 여부를 검증하게 합니다. 그러나 그 자체 위협 모델도 경계를 유지합니다. 매핑 시스템이 요청을 의도된 ETR에게 전달하고, Map-Server가 등록 시 권한을 검증할 수 있다고 가정합니다. 보안 역시 수탁 고리 안으로 들어갑니다. EID의 내재적 속성이 되지는 않습니다.

프라이버시 결과는 반대 방향으로 흐릅니다. RFC 9301은 변하는 RLOC에 결부된 장수 EID가 매핑이 보이면 토폴로지적 이력을 드러낼 수 있다고 적습니다. 안정된 식별자는 재번호화를 줄이면서 이동을 연관 짓기 쉽게 만들 수 있습니다. 아키텍처적 연속성과 관찰 프라이버시는 같은 이득이 아닙니다.

발명가 신화 없는 David M Meyer

Dave Meyer는 RFC 9300에서 Dino Farinacci, Vince Fuller, Darrel Lewis, 편집자 Albert Cabellos와 함께 이름을 올립니다. 그는 원래 RFC 6830의 공동 저자이기도 합니다. 이 연속성 때문에 그는 LISP를 읽어내는 유용한 인물이 됩니다. 한 사람이 아이디어를 소유했기 때문이 아니라, 그 사양이 아키텍처 분리라는 제안에서 캐시 만료, 공용 인터넷 제약, 컨트롤 플레인 보안에 대한 명시적 규칙으로 성숙했기 때문입니다.

ONUG의 과거 회원 페이지는 Meyer가 Cisco, Brocade, IAB, NANOG, University of Oregon의 RouteViews 프로젝트에서 수행한 작업을 기록하고 있습니다. 이것들은 연대가 표시된 이력적 표지이며 현재 고용 주장이 아닙니다. 동시에 그의 기술 기록에서 되풀이되는 관심사—컨트롤 플레인 추상과 운영자가 실제 검사할 수 있는 증거 사이의 경계—를 설명해 줍니다.

Meyer에 대해 이미 발행된 기사는 공용 라우팅 가시성, RPSL, RouteViews, OpenDaylight에 초점을 맞춥니다. LISP는 다른 메커니즘을 드러냅니다. 공용 가시성은 누가 공유 컨트롤 상태를 검사할 수 있는지를 묻습니다. LISP는 누가 신원-위치 관계를 기록할 권한을 갖는지, 읽는 이가 그것을 얼마나 오래 신뢰할 수 있는지, 조회가 성공한 뒤 무엇이 여전히 증명되어야 하는지를 묻습니다.

Meyer가 그 결과에 대한 단독 공로를 받아서는 안 됩니다. RFC에는 여러 저자가 있고, IETF가 공동 문서를 승인하고, 구현자가 무엇을 돌릴지 정하고, 매핑 시스템 운영자가 신뢰를 유지하며, 사이트 운영자가 로케이터를 구성하고, 언더레이 네트워크가 패킷을 나릅니다. 그 아키텍처의 지적 전환은 분리입니다. 그 운영적 진실은 분산된 수탁입니다.

슬로건을 뚫는 체크리스트

2014년의 실험적(Experimental) 배포 가이드인 RFC 7215에는 유익한 마이그레이션 체크리스트가 있습니다. 운영자에게 플랫폼 지원, 현재 구성, MTU 처리, 프리픽스 할당, RLOC 도달성, 등록, 인증 키, EID 프리픽스, 프록시 캐시 내용, BGP 정책, 외부 가시성, 실제 트래픽을 확인하도록 요구합니다. 그 문서의 일부 전환 메커니즘은 LISP 발전의 특정 시기에 속합니다. 증거론적 교훈은 남습니다.

표준 문서는 사이트가 의도한 로케이터를 등록했다는 사실을 확립하지 못합니다. 성공한 Map-Register는 원격 캐시가 갱신되었다는 사실을 확립하지 못합니다. Map-Reply는 선택된 RLOC에 도달 가능하다는 사실을 확립하지 못합니다. 익숙한 목적지로의 ping은 예상되는 LISP 경로가 끊긴 상태에서 네이티브 또는 프록시 폴백을 통해 성공할 수도 있습니다.

따라서 가장 강한 구현 보고는 역량 배지가 아니라 날짜가 붙은 고리입니다. 올바른 서버가 등록을 수락함; 조회가 인증됨; 캐시 항목이 만료되지 않음; 선택된 Priority와 Weight가 기록됨; RLOC가 언더레이를 통해 도달 가능함; 캡슐 해제가 관측됨; 내부 목적지에 도달함; 폴백이 분류됨. EID는 그 증거를 모을 수 있는 안정된 손잡이일 뿐입니다. 증거의 대체물이 아닙니다.

출처