리눅스마스터1급 : DNS의 작동 구조
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,187 조회
- 0 추천
- 목록
본문
리눅스마스터1급 : DNS의 작동 구조
DNS의 동작 구조는 다음 그림으로 나타낼 수 있다.
먼저 사용자 PC에서 www.sulinux.net 도메인명을 입력하게 되면 컴퓨터는 컴퓨터가 인식할 수 있는 숫자로 된 주소(IP 주소)로 변환하기 위해 컴퓨터에 설정된 DNS에 접속한다.
( 대부분 DNS주소는 ISP에서 제공하는 캐싱 DNS의 IP주소이다.
예를 들면 KT DNS는 168.126.63.1, 168.126.63.2이다. )
①ISP DNS에 www.sulinux.net에 대한 IP주소를 질의한다.
ISP DNS는 www.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는 사용자 PC에 www.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.net의 A레코드 IP주소는 ”222.97.189.2"이라고 보여 주고 있다.
관련자료
-
이전
-
다음