강좌
클라우드/리눅스에 관한 강좌입니다.
네트워크 분류

리눅스마스터1급 : DNS의 작동 구조

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: DNS의 작동 구조

 

 





DNS의 동작 구조는 다음 그림으로 나타낼 수 있다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687137509_146.png
 

 

 

 

먼저 사용자 PC에서 www.sulinux.net 도메인명을 입력하게 되면 컴퓨터는 컴퓨터가 인식할 수 있는 숫자로 된 주소(IP 주소)로 변환하기 위해 컴퓨터에 설정된 DNS에 접속한다.

 

 

 

( 대부분 DNS주소는 ISP에서 제공하는 캐싱 DNSIP주소이다.

 

 

 

예를 들면 KT DNS168.126.63.1, 168.126.63.2이다. )

 

 

 

 

ISP DNSwww.sulinux.net에 대한 IP주소를 질의한다.

 

 

 

ISP DNSwww.sulinux.net에 대한 캐시값이 있다면 www.sulinux.net에 대한 IP주소를 반환하고, 캐시된 내용이 없거나 TTL(Time To Live: 캐시가 유효한 시간)이 지났으면 의 과정을 거치게 된다.

 

 

 

 

제일 먼저 root 네임서버에 www.sulinux.net 의 아이피를 질의한다.

 

 

 

 

root 네임서버는 .net 네임서버를 참고하라고 일러 준다.

 

 

 

 

.net 네임서버에 www.sulinux.net 의 아이피를 질의한다.

 

 

 

 

ns.superuser.co.kr 네임서버를 참고하라고 일러 주게 된다.

 

 

 

이 결과는 도메인 등록기간관을 통해 sulinux.net도메인을 구입하였고 NS정보를 ns.superuser.co.kr으로 등록했기 때문에 ns.superuser.co.kr을 참조하라고 알려주는 것이다.

 

 

 

 

ns.superuser.co.kr 네임서버에서 www.sulinux.net 의 아이피를 질의를 한다.

 

 

 

 

ns.superuser.co.kr 네임서버는 질의한 DNS서버에 www.sulinux.net IP 정보를 주게 된다.

 

 

 

그러면 DNS는 사용자 PCwww.sulinux.net IP를 알려 주고 그 질의 결과를 캐시에 저장해 둔다.

 

 

 

 

 

위 과정을 dig 명령어로 확인 해 보자. 먼저 테스트 환경에 설정된 DNS서버의 주소를 확인 해 보자.

 

 

 

 

 

 

[root@SULinux-64Bit ~]# cat /etc/resolv.conf

; generated by /sbin/dhclient-script

nameserver 168.126.63.1

nameserver 168.126.63.2

 

 

 

 

 

 

설정된 DNS주소는 KT DNS(168.126.63.1)이다.

 

 

 

 

 

 

 

 

[root@SULinux-64Bit ~]# dig +trace www.sulinux.net

 

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.SUL2.5 <<>> +trace www.sulinux.net

;; global options: printcmd

. 319351 IN NS j.root-servers.net.

. 319351 IN NS k.root-servers.net.

. 319351 IN NS f.root-servers.net.

. 319351 IN NS b.root-servers.net.

. 319351 IN NS e.root-servers.net.

. 319351 IN NS g.root-servers.net.

. 319351 IN NS i.root-servers.net.

. 319351 IN NS a.root-servers.net.

. 319351 IN NS d.root-servers.net.

. 319351 IN NS h.root-servers.net.

. 319351 IN NS m.root-servers.net.

. 319351 IN NS c.root-servers.net.

. 319351 IN NS l.root-servers.net.

;; Received 512 bytes from 168.126.63.1#53(168.126.63.1) in 6 ms

 

net. 172800 IN NS i.gtld-servers.net.

net. 172800 IN NS l.gtld-servers.net.

net. 172800 IN NS f.gtld-servers.net.

net. 172800 IN NS a.gtld-servers.net.

net. 172800 IN NS h.gtld-servers.net.

net. 172800 IN NS d.gtld-servers.net.

net. 172800 IN NS k.gtld-servers.net.

net. 172800 IN NS g.gtld-servers.net.

net. 172800 IN NS j.gtld-servers.net.

net. 172800 IN NS m.gtld-servers.net.

net. 172800 IN NS e.gtld-servers.net.

net. 172800 IN NS b.gtld-servers.net.

net. 172800 IN NS c.gtld-servers.net.

;; Received 502 bytes from 192.58.128.30#53(j.root-servers.net) in 12 ms

 

sulinux.net. 172800 IN NS ns.superuser.co.kr.

sulinux.net. 172800 IN NS ns2.superuser.co.kr.

;; Received 83 bytes from 192.43.172.30#53(i.gtld-servers.net) in 183 ms

 

www.sulinux.net. 800 IN A 222.97.189.2

sulinux.net. 800 IN NS ns2.suidc.com.

sulinux.net. 800 IN NS ns.suidc.com.

;; Received 125 bytes from 222.97.189.1#53(ns.superuser.co.kr) in 3 ms

 

 

 

 

 

 

 

위 결과를 살펴보자.

 

KT DNS(168.126.63.1)www.sulinux.net을 조회하니 ROOT(“.”) DNS에서 조회 하라고 하며 “.” DNS에 대한 정보를 “a.root-servers.net."~"m.root-servers.net"까지 총 13개를 제공한다.

 

 

 

수신한 “.” DNS에 대한 정보중 가장 상단의 "j.root-servers.net."에 접속하여 www. sulinux.net을 조회하니 “net." DNS에서 조회하라고 하며 ”net." DNS에 대한 정보를 “a.gtld-servers.net."~"m.gtld-servers.net."까지 총 13개를 제공한다.

 

 

 

 

수신한 “net." DNS에 대한 정보중 가장 상단의 ”i.gtld-servers.net."에 접속하여 www. sulinux.net을 조회하니 “ns.superuser.co.kr", "ns2.superuser.co.kr"까지 총 2개를 제공한다.

 

 

 

 

수신한 DNS에 대한 정보중 가장 상단의 “ns.superuser.co.kr"에 접속하여 www.sulinux .net을 조회하니 www.sulinux.netA레코드 IP주소는 ”222.97.189.2"이라고 보여 주고 있다.

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,791 개
  • 현재 접속자 :  92 명