위치자/식별자 분리 프로토콜(LISP; Locator/Identifier Separation Protocol)은 “map-and-encapsulate” 프로토콜로, 현재 국제 인터넷 표준화 기구(IETF)의 LISP 워킹 그룹에서 개발되고 있다.[1] “분리”뒤에 숨어 있는 기본적인 개념은 인터넷 아키텍처가 한 개의 IP 주소 공간에 두 개의 기능 - Routing Locator(당신이 네트워크에 붙어 있는 장소)와 식별자(당신이 누구인지) - 을 결합하고 있다는 것이다. LISP는 네트워크 기반의 “map-and-encapsulation(RFC-1955)”를 따르는 IPv4 와 IPv6 의 분리를 지원한다. LISP 에서는 식별자와 위치 정보가 IP 주소가 될 수도 있고 GPS 좌표나 MAC 주소와 같은 임의의 요소일 수도 있다.[2]
역사적 기원
인터넷 아키텍처 위원회(IAB:Internet Architecture Board)가 주최한 2006년 10월의 “라우팅 및 어드레싱 워크샵”[3]에서는 확장 가능한 라우팅 및 어드레싱 방식이 새로운 관심사가 되었다. 현행 라우팅 체계의 확장성과 IPv4 주소 체계의 고갈이 임박했음이 그 주된 이유였다. 그 이후, IAB 의 워크샵에서 제기된 우려에 대해 몇 가지 제안들이 대두되었다. 이러한 제안들에는 공통된 개념이 있었는데, 이는 인터넷 장비의 숫자 체계 내에서 위치정보(Locator)와 식별자(Identifier)를 분리하자는 것이었으며, “Loc/ID Split”[4]이라고 불리게 되었다.
현재의 인터넷 프로토콜 아키텍처
현재 IP(Internet Protocol)에서 사용되는 이름 공간(namespace) 아키텍처는 아래와 같은 두 가지의 역할을 수행하기 위해 IP 주소를 사용한다.
로컬 네트워크 주소 체계 내에서 네트워크 인터페이스를 식별하기 위한 종단(end-point) 식별자(identifier)로서의 역할
패킷 전달(routing) 목적을 위한 위치정보(locator), 이는 더 큰 라우팅 체계 내에서 네트워크 인터페이스를 식별하기 위해 사용된다.
라우팅 위치자(RLOC:Routing Locator): RLOC는 반출라우터(백본 출구에 위치하는 라우터, ETR:egress tunnel router)의 IPv4 또는 IPv6 주소이다. 하나의 RLOC는 EID-to-RLOC 매핑 검색의 결과이다.
종단 식별자(EID:Endpoint ID): EID는 패킷의 첫 번째 LISP 헤더 내에 위치하는 소스 및 목적지 주소 필드에 기입되는 IPv4 또는 IPv6 주소이다.
반출라우터(ETR:Egress Tunnel Router): 목적지 주소가 “외부”의 라우팅 위치자(RLOC) IP 헤더를 가지는 패킷을 받아들이는 라우터이다. ETR 기능이 라우터 장비에만 한정되는 것은 아니며, 서버 호스트가 LISP 터널의 종단점 역할을 수행할 수도 있다.
인입라우터(ITR:Ingress Tunnel Router): ITR 은 한 쪽 네트워크로부터 IP 패킷을 받아서 LISP 로 감싼 IP 패킷을 다른 쪽의 네트워크로 전송한다.
프록시 반출라우터(PETR:Proxy ETR): PETR 은 LISP 와 비 LISP 사이트 간의 네트워킹에 사용된다. ETR 과 유사한 방식으로 작동하며, LISP 네트워크를 대표하여 비 LISP 네트워크 쪽으로 패킷을 보낸다.
프록시 인입라우터(PITR:Proxy ITR) - PITR 은 비 LISP 와 LISP 사이트 간의 네트워킹에 사용된다. PITR 은 ITR 과 유사한 방식으로 작동하며, 비 LISP 사이트를 대표해서 LISP 네트워크 쪽으로 패킷을 보낸다.[6]
xTR: 데이터 흐름의 방향이 문서 내에서 구별될 필요가 없을 때 ITR 이나 ETR 을 지칭하는 용어로 사용된다. xTR 은 터널 종단(Tunnel Endpoint)인 라우터를 지칭한다.[7]
LISP 매핑 시스템
LISP(Locator/Identifier Separation Protocol)에서는 네트워크 구성요소들(라우터 등)이 종단 식별자(EID)와 라우팅 위치정보(RLOC)를 매핑하여 검색하는 역할을 수행하여야 한다.[8][9] 그리고 이 과정은 인터넷(네트워크)내의 종단(서버 등)에는 투명하게 이루어져야 한다. 이러한 매핑은 매핑 시스템이라 불리는 분산 데이터베이스에 저장되며, 분산 데이터베이스는 검색 요청에 응답하여야 한다. LISP beta networkLISP 베타 네트워크는 LISP+ALT(LISP ALternative Topology)[10]라고 불리는 BGP 기반의 매핑 시스템을 사용한다. 만약 다른 어떤 설계가 추가적인 이점을 제공하는 것이 증명되면, 이 프로토콜 설계는 새로운 매핑 시스템에 쉽게 플러그-인 하도록 한다. 몇몇 제안이 이미 대두되고 있으며, 현재 비교 검토되고 있다.[11]