DNS features and Function relatives
-
Upload
lilah-buckner -
Category
Documents
-
view
32 -
download
0
description
Transcript of DNS features and Function relatives
2
DNS 개념 및 특징
DNS 는 인터넷 호스트와 도메인 관련 정보를 담고 있는거대한 분산 데이타베이스 시스템임
하나의 인터넷 정보를 다른 형태의 정보로 변환 IP 주소 , 도메인이름 , 메일서비스 등의 많은 형태의 자료형이 존재하며
IPv6 같은 새로운 자료형의 추가기능 IP 주소가 기억하기 어렵기 때문에 도메인 이름과 IP 주소 사이의 변환이
가장 일반적
DNS 의 특징 분산관리 : 개별기관들이 위임받은 영역안에서 자신의 호스트들을
독립적으로 관리 전세계에서 접속 : 인터넷에 연결된 모든 호스트가 데이타베이스
정보의 획득이 가능 확장성 : 데이타베이스의 크기가 제한이 없음
3
DNS 의 계층구조
4
IPv6 DNS 의 필요성
국가적 차원에서 IPv4 주소자원의 고갈에 대비한 IPv6
체제의 전환이 이루어지고 있음 . 공공기관 IPv6 전면 보급 계획
NCA 의 업무용 네트워크에 IPv6 주소도입 등
IPv6 주소의 복잡성으로 IPv6 주소에 대한 DNS 는 IPv4
의 DNS 보다 더욱 중요해질 것임
IPv6 주소정보가 DNS 에 반영되지 않으면 , 상호운영성 확보가 어려움
5
IPv6 국내외 추진 동향 (I)
IPv6 로의 전이가 늦어지고 , IPv6 가 현재까지는 핵심 기술구현에 집중되었기에 DNS 적용 또한 늦어지고 있음
일본에서 가장 선도적으로 추진되고 있으며 , 프랑스 (AFNIC) 등 에서도 관련 활동 추진중임
DNS 는 IPv6 응용분야 이므로 국가적 추진보다는 DNS 관련 조직 및 관련업체 등에서 자체 시험과 구성이 진행중임
※ 주요 TLD 서버 중 IPv6 DNS 서비스를 제공하고 있는 서버IPv6 주소 Name Server 제공
2001:200:1:0:0:0:4 E.DNS.JP Japan
2001:660:3006:1:0:0:1:1 NS3.NIC.FR France
2001:610:240:0:53:0:0:193 NS.RIPE.NET Ripe NCC
6
IPv6 국내외 추진 동향 (II)
국제 기구 추진 현황 IETF dnsext WG
DNS 확장에 관한 기술을 다루고 있음 “A DNS RR Type for Lists of Address Prefixes”(RFC 3123) 및
“ Representing IPv6 Address in DNS”(RFC3363) 에 IPv6 고려사항 등을 포함
IETF dnsop WG DNS 운영에 관한 WG 으로 IPv4 에서 IPv6 로 전환시 발생 가능한
DNS 문제점 등을 논의
주요 업체 동향 HP 의 Tru64, MS 의 Windows2003 서버 , Sun 의 Solaris 등에서
AAAA 를 지원하는 DNS 제공
7
IPv6 국내외 추진 동향 (III)
Root Name Server※ Root 네임서버 중 IPv6 DNS 서비스를 제공하고 있는 서버
IPv6 주소 Server Operator 지원시기
2001:500::1035 F Internet Software Consortium 2003.8 이전
2001:500:1::803f:235 H U.S. Army Research Lab 2003.8 이전
2001:478:65::53 B Information Sciences Institute 2003.8.24
2001:dc3::35 M WIDE Project 2003.9.2
8
IPv6 DNS Protocol Stack
9
DNS in IPv4 VS DNS in IPv6
10
Lookups in DNS Tree
11
DNS Extensions for IPv6
AAAA Record Type(RFC 1886) Forword LookUp (Name => IPv6 Address)
IPv4 의 ‘ A’ Record 와 동일한 개념 Ex) example.co.kr IN AAAA 2001:2b8:3b:1::1
PTR Reverse LookUp(IPv6 Address => Name)
Reverse tree 에서 IPv4 의 in-addr.arpa Nibble(4bits) boundary Ip6.int 에서 ipv6.arpa(RFC 3152) 로 전이되는 상태임
12
IPv6 AAAA Resource Record
13
Name and Address Conversion Functions
Domain name IPv4 address
IPv4 address domain name
gethostbyname/gethostbyaddr are not reentrant !!
static struct hostent host; /* result stored here */struct hostent *gethostbyname(const char *hostname){ /* call DNS functions for A or AAAA query */ /* fill in host structure */ return(&host);}
14
Service Name Conversion Functions
Service name port ( See /etc/services )
Port service name
15
Example: name/daytimetcpcli1.c
Network-related information
16
New Name/Address Conversion Function (1)
hostname: hostname or address string service: service name or decimal port
number string result: addrinfo data structure is
dynamically allocated Re-entrant, thread-safe, and protocol
independent functions (support IPv4, IPv6)
17
UNP Library Functions
#include “unp.h”
struct addrinfo *host_serv(const char *hostname, const char *service, int family, int socktype);
Returns: pointer to addrinfo structure if OK, NULL on error
int tcp_connect(const char *hostname, const char *service);int tcp_listen(const char *hostname, const char *service, socklen_t
*lenptr);Both returns: connected socket descriptor if OK, no return on error
int udp_client(const char *hostname, const char *service, void **saptr, socklen_t *lenp);
Returns: unconnected socket descriptor if OK, no return on errorsaptr: address of a pointer to a socket address structure that stores destination IP addr/port # for future calls to sendto
int udp_connect(const char *hostname, const char *service);Returns: connected socket descriptor if OK, no return on error
int udp_server(const char *hostname, const char *service, socklen_t *lenptr);
Rerurns: unconnected socket descriptor if OK, no return on error