170 likes | 346 Views
DNS features and Function relatives. 2005. 6. 백 일 우 steigensonne@hufs.ac.kr. DNS 개념 및 특징 . DNS 는 인터넷 호스트와 도메인 관련 정보를 담고 있는거대한 분산 데이타베이스 시스템임 하나의 인터넷 정보를 다른 형태의 정보로 변환 IP 주소 , 도메인이름 , 메일서비스 등의 많은 형태의 자료형이 존재하며 IPv6 같은 새로운 자료형의 추가기능 IP 주소가 기억하기 어렵기 때문에 도메인 이름과 IP 주소 사이의 변환이 가장 일반적
E N D
DNS features and Function relatives 2005. 6. 백 일 우 steigensonne@hufs.ac.kr
DNS 개념 및 특징 • DNS는 인터넷 호스트와 도메인 관련 정보를 담고 있는거대한 분산 데이타베이스 시스템임 • 하나의 인터넷 정보를 다른 형태의 정보로 변환 • IP주소, 도메인이름, 메일서비스 등의 많은 형태의 자료형이 존재하며 IPv6 같은 새로운 자료형의 추가기능 • IP주소가 기억하기 어렵기 때문에 도메인 이름과 IP주소 사이의 변환이 가장 일반적 • DNS의 특징 • 분산관리 : 개별기관들이 위임받은 영역안에서 자신의 호스트들을 독립적으로 관리 • 전세계에서 접속 : 인터넷에 연결된 모든 호스트가 데이타베이스 정보의 획득이 가능 • 확장성 : 데이타베이스의 크기가 제한이 없음
IPv6 DNS의 필요성 • 국가적 차원에서 IPv4 주소자원의 고갈에 대비한 IPv6 체제의 전환이 이루어지고 있음. • 공공기관 IPv6 전면 보급 계획 • NCA의 업무용 네트워크에 IPv6 주소도입 등 • IPv6주소의 복잡성으로 IPv6주소에 대한 DNS는 IPv4의 DNS 보다 더욱 중요해질 것임 • IPv6 주소정보가 DNS에 반영되지 않으면, 상호운영성 확보가 어려움
IPv6 국내외 추진 동향 (I) • IPv6로의 전이가 늦어지고, IPv6가 현재까지는 핵심 기술구현에 집중되었기에 DNS 적용 또한 늦어지고 있음 • 일본에서 가장 선도적으로 추진되고 있으며, 프랑스(AFNIC)등 에서도 관련 활동 추진중임 • DNS는 IPv6 응용분야 이므로 국가적 추진보다는 DNS 관련 조직 및 관련업체 등에서 자체 시험과 구성이 진행중임 ※ 주요 TLD 서버 중 IPv6 DNS 서비스를 제공하고 있는 서버
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 제공
IPv6 국내외 추진 동향 (III) • Root Name Server ※ Root 네임서버 중 IPv6 DNS 서비스를 제공하고 있는 서버
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)로 전이되는 상태임
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); }
Service Name Conversion Functions • Service name port ( See /etc/services ) • Port service name
Example: name/daytimetcpcli1.c Network-related information
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) New Name/Address Conversion Function (1)
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 error saptr: 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