1 / 17

DNS features and Function relatives

DNS features and Function relatives. 2005. 6. 백 일 우 steigensonne@hufs.ac.kr. DNS 개념 및 특징 . DNS 는 인터넷 호스트와 도메인 관련 정보를 담고 있는거대한 분산 데이타베이스 시스템임 하나의 인터넷 정보를 다른 형태의 정보로 변환 IP 주소 , 도메인이름 , 메일서비스 등의 많은 형태의 자료형이 존재하며 IPv6 같은 새로운 자료형의 추가기능 IP 주소가 기억하기 어렵기 때문에 도메인 이름과 IP 주소 사이의 변환이 가장 일반적

Download Presentation

DNS features and Function relatives

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DNS features and Function relatives 2005. 6. 백 일 우 steigensonne@hufs.ac.kr

  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 서비스를 제공하고 있는 서버

  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 서비스를 제공하고 있는 서버

  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. 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)

  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 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

More Related