요약

  • ILNP는 노드 식별자와 네트워크 위치를 분리하면서 IPv6를 사용하고 라우터와 스위치는 그대로 둔다.
  • Saleem Bhatti의 TCP 시험은 네 인터페이스와 15cm 패치 케이블을 사용했다. 다음 도입 시험은 BSD·Linux 배포판에 포함되는지다.

라우터는 그대로였다. 호스트 소프트웨어는 달라져야 했다. RIPE 93에서 Saleem Bhatti가 보여준 ILNP의 거래 조건은 분명하다. 기존 IPv6 네트워크는 유지하면서, 엔드포인트의 네트워크 스택과 DNS에 새 동작을 더한다.

IETF 126 해커톤에서 회의실의 클라이언트는 Bhatti의 세인트앤드루스 연구실 서버로 TCP 흐름을 보냈다. 팀은 네 인터페이스를 차례로 켜 여러 프리픽스에 흐름을 분산했다. 시험을 간단하게 하려고 네 프리픽스는 하나의 /60에서 나왔다. Bhatti가 설명한 회의실 내부의 경로 차이는 라우터와 스위치 사이 15cm 패치 케이블에 불과했다. 이 시험은 하나의 실험대에서 Locator를 동적으로 바꾸는 동작을 보여준다. 서로 다른 네트워크 사업자의 경로 성능은 측정하지 않았다.

IP 주소는 노드를 식별하고 네트워크가 패킷을 보낼 위치도 알려준다. ILNP는 이 역할을 Node Identifier와 Locator로 나눈다. 전송 흐름은 식별자를 유지하고 Locator는 활성 인터페이스에 동적으로 연결할 수 있다. IPv6 구현에서 두 값은 각각 64비트다.

바뀌지 않은 것은 라우터와 스위치다. 바뀐 것은 호스트다. 연구팀은 FreeBSD 네트워크 스택과 전송 계층 일부를 수정하고 libc의 getaddrinfo도 손봤다. DNS는 RFC 6742에 정의된 ILNP 레코드를 처리해야 한다. 시스템 라이브러리가 기존 인터페이스를 유지해 일반 IPv6 앱은 재컴파일하지 않고 작동했다.

질의응답에서 Jim Reid는 배포 문제를 짚었다. 사용자가 각자 커널을 수정해야 한다면 임계 규모를 만들기 어렵고, BSD와 Linux 배포판에 포함되어야 한다는 지적이었다. Bhatti도 두 운영체제에서 쓰이고 더 많은 사람이 시험하기를 원한다고 답했다. 세인트앤드루스대 프로젝트 페이지에는 FreeBSD 14.3 바이너리와 Linux 커널 4.9 기반 프로토타입이 올라와 있다. 주요 배포판에 상류 통합됐다는 근거는 그 페이지에서 확인되지 않는다. 상류 패키지나 사업자 시험이 확인되면 도입 가능성 판단이 달라질 것이다.

RFC 6740은 IRTF 스트림의 Experimental 문서이며 IETF 표준 절차에서 공식 지위를 갖지 않는다. 실험대는 IPv6 네트워크를 유지한 채 엔드포인트가 Locator를 바꾸는 모습을 보여줬다. 이제 패키지 관리, DNS, 장애 분석 도구가 일상적인 설치와 운영을 감당해야 한다.

출처: RIPE 93 세션 기록; 발표 상세; RFC 6740; RFC 6741 엔지니어링 고려사항; RFC 6742; 세인트앤드루스대 ILNP 프로젝트.