라이브러리
프로그래밍언어, 각종코드, 관련동향, 논문 등의 저장소
DNSv6 개요
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
IPv6와 DNS
 

현재 인터넷의 기반 프로토콜인 IP는 'version 4'이다. IPv4는 version 4의 IP 프로토콜을 의미한다.

IPv4는 초기 연구망에서, 1990년대 상업망으로 발전하였다. 이제는 중요한 기간 통신망으로 인식되기에 이르렀다.
그러나 IPv4는 많은 한계점을 드러내고 있다. IPv4에서 가능한 IP 주소공간이 조만간 고갈될 것으로 예상된다. 초기 인터넷과 달리 상업적 사이트의 증가로 보안문제가 대두되었다.

IPv6는 version 6의 새로운 IP 프로토콜이다. IPv6는 우선 IPv4에 비해 막대한 수의 IP 주소를 제공할 수 있는 주소공간을 제공한다. 이외에 IPv4 프로토콜의 한계와 문제점을 보완하고, 보안기능을 강화하여 상업적 인터넷 성격에 적합한 프로토콜로 개발되었다.

IPv6는 IPv4와 호환되지 않는다. 현재의 IPv4 인터넷과 IPv6 인터넷은 상호 병존하는 시기를 거쳐 최종에 순수한 IPv6 인터넷으로 전환될 것으로 예상된다.

DNS는 IPv4 인터넷에서 개발되었다. IPv6 인터넷이 새로운 IPv6용 DNS를 요구하는 것은 아니다.

IPv6 인터넷에서 TCP와 UDP 프로토콜은 그대로 사용된다. IP 프로토콜 스택(stack)이 IPv4와 IPv6로 2개의 스택(dual stack)이 존재하게 된다.

사용자 삽입 이미지


기존 DNS 프로토콜의 기본 구조에 변경되는 사항은 없다.
다만 아래와 같은 사항이 추가 확장 정의되었다.
1. IPv6 주소를 위한 AAAA RR ('Quad A' Resource Record)
2. IPv6 주소 역변환 도메인(Reverse Domain) 'ip6.arpa.'

따라서 DNS는 기존 IPv4 인터넷과 IPv6 인터넷 모두를 지원하는 형태로 ‘확장’되었다.

도메인 네임은 IPv4 인터넷과 IPv6 인터넷 모두에서 동일하다.
DNS는 현 IPv4 인터넷에서 사용되는 도메인 네임이 IPv6 인터넷에서도 동일한 서비스에 사용될 수 있게 한다.

 
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
DNSv6?
 

DNSv6는 IPv6를 지원하는 DNS이다.

"DNSv6 네임서버"는 기존 IPv4 인터넷의 DNS와 구별하여 IPv6를 지원하는 DNS 네임서버를 지칭하기 위한 용어이다.

DNSv6 네임서버는 아래의 조건을 충족하는 네임서버이다.

사용자 삽입 이미지
1. 네트워크 환경이 IPv6 지원
사용자 삽입 이미지
2. 네임서버 플랫폼과 OS가 IPv6를 지원
사용자 삽입 이미지
3. DNS SW가 IPv6 패킷의 DNS 질의를 처리
사용자 삽입 이미지
4. DNS SW가 AAAA RR 등 IPv6 확장기능 구현

AAAA RR ('Quad A' Resource Record)
IPv6 주소를 위한 리소스레코드로 AAAA RR이 정의되었다.
아래는 A RR과 AAAA RR의 포맷이다.

 
Domain NameTTLCLASSTYPERDLengthResource Data
www.nic.or.kr.1800INA4202.30.50.90
www.nic.or.kr.1800INAAAA162001:dc5:a::100
 

위와 같이 하나의 도메인 네임이 IPv4 주소와 IPv6 주소를 동시에 가질 수 있게 된다.
도메인 네임은 IPv4 인터넷과 IPv6 인터넷 상에서 언제나 동일하게 유지된다.

 
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
DNSv6와 어플리케이션
 

IPv6 통신을 위해서 호스트의 통신방식에 변화가 필요하다.
어플리케이션에서는 IPv6 기반 통신방식을 구현해야 한다.

어플리케이션이 네트워크 통신을 위해 사용하는 소켓(socket) API(Application Program Interface)가 ‘확장’ 정의되었다. (RFC3493, 'Basic Socket Interface Extensions for IPv6')

이와 더불어 어플리케이션 프로그램이 도메인네임을 IP 주소로 변환하기 위해 호출하는 함수가 새롭게 정의되었다. (RFC3493)

"IPv6 어플리케이션"은 IPv6 확장 소켓(socket) API와 도메인네임 리졸루션 함수 getaddrinfo()를 사용하여 IPv4 및 IPv6 통신이 가능한 프로그램을 지칭한다. IPv6 통신전용 프로그램을 지칭하는 것은 아니다.

IPv6 어플리케이션 프로그램은 사용자가 입력한 도메인 네임에 대한 IPv4 주소와 IPv6 주소 모두를 파악한다. 이때 IP 주소 파악을 위한 표준 함수 getaddrinfo()를 호출한다. getaddrinfo() 함수는 DNS 질의를 통해 도메인 네임에 설정된 IP 주소를 파악한다. DNS 질의는 AAAA RR과 A RR에 대한 질의가 된다.

getaddrinof() 함수는 응답된 DNS 메시지를 분석하여 어플리케이션 프로그램으로 IPv4 주소와 IPv6 주소 목록을 리턴한다. IPv6 어플리케이션 프로그램은 IPv4 또는 IPv6 주소를 선택하여 소켓(socket) 함수를 호출, 접속을 개시한다.

사용자 삽입 이미지


DNS는 IPv4 및 IPv6 인터넷 환경에서 어플리케이션 프로그램에 대해 IP 주소 정보를 제공하는 역할을 하게 된다.

IPv6 도입과 DNSv6
IPv4 인터넷에서 일순간에 IPv6 인터넷으로 전환되는 것은 불가능하다.
장기간에 걸쳐 IPv4 인터넷과 IPv6 인터넷이 공존하게 될 것으로 예상된다.

웹 서비스, 전자메일 서비스, FTP 서비스 등은 모두 장기간 IPv4 인터넷과 IPv6 인터넷 모두에서 단절 없이 제공되어야 한다.
인터넷 어플리케이션은 IPv4 인터넷과 IPv6 인터넷 모두에 대해 지원 가능해야 한다. DNSv6는 IPv4와 IPv6의 공존 인터넷 환경에서 IPv4 인터넷 서비스와 IPv6 인터넷 서비스가 단절 없이 도메인네임을 통한 서비스가 가능할 수 있도록 지원하는 역할을 한다.
IPv4 인터넷 서비스 영역과 IPv6 인터넷 서비스 영역을 이어주는 기능을 제공한다.

따라서 IPv6 응용 서비스의 본격적인 도입이전에 먼저 DNSv6 체계의 안정적인 구성이 선행되어야 할 필요성이 있다.

KRDNSv6의 DNSv6 기술정보 제공
KRDNSv6 시범망 웹 사이트는 한국 DNSv6의 조기 안정적 구성 지원을 위해 DNSv6 관련 기술정보를 제공하는 것을 그 목적으로 한다.

향후 지속적으로 DNSv6 관련 표준화 기술정보, 구축/운영 및 관리 관련 정보를 총괄적으로 제공할 예정이다.

또한 IPv6 응용 서비스의 시범적 운영에서 발생할 수 있는 DNS 관련 문제점을 사전에 분석, 점검하여 IPv6 인터넷의 본격적 도입을 준비할 계획이다.

2004년 연말에는 축적된 정보를 편집하여 'DNSv6 운영 가이드'를 제작 배포할 예정이다.

  Comments,     Trackbacks