3. caching name serverÀÇ ±¸Ãà

¿ì¼± DNS ¼³Á¤Àº ´ÙÀ̾ó¾÷, ÄÉÀ̺í¸ðµ©, ADSL »ç¿ëÀڵ鿡°Ô ¸Å¿ì À¯¿ëÇÏ´Ù.

·¹µåÇòÀ̳ª ·¹µåÇò ±â¹Ý ¹èÆ÷º»Àº ÀÌ¹Ì bind³ª bind-utils¿Í caching nameserver°¡ ¼³Ä¡µÇ¾ú´Ù. µ¥ºñ¾È »ç¿ëÀÚ¶ó¸é bind¿Íbind-doc°¡ ¼³Ä¡µÇ¾úÀ» °ÍÀÌ´Ù. ¹°·Ð ¼³Ä¡½Ã ÀÌ·± ¹®¼­Ã³·³ ÀÚ¼¼ÇÏ°Ô ¼³Ä¡¿¡ ´ëÇØ ³ª¿ÀÁö ¾ÊÀ» °ÍÀ̰í, ¼³Ä¡µÈ ÆÄÀÏÀ» ¼³Á¤ÇÏ´Â ¹ýÀ» °°ÀÌ Àоî¾ß ÇÒ °ÍÀÌ´Ù.

caching nameserver´Â ´ÜÁö À̸§ÁúÀÇ¿¡ ´ëÇÑ ´ë´ä¸¸À» ã°í ±× ÇØ´äÀ» ±â¾ïÇØ¼­ ´ÙÀ½¿¡ ÇÊ¿äÇÒ¶§ »ç¿ë°¡´ÉÇÏ°Ô ÇÑ´Ù. À̰ÍÀº ±â´Ù¸®´Â ½Ã°£À» ´ÜÃà½Ãų ¼ö ÀÖ´Ù.

¿ì¼± /etc/named.conf (Debian: /etc/bind/named.conf)°¡ ÇÊ¿äÇϸç À̰ÍÀº named°¡ ±¸µ¿µÉ ¶§ ÇÊ¿äÇÑ °ÍÀÌ´Ù.Æ÷ÇÔµÈ ³»¿ëÀ» »ìÆìº¸ÀÚ

// Config file for caching only name server

options {
	directory "/var/named";

	// Uncommenting this might help if you have to go through a
	// firewall and things are not working out.  But you probably
	// need to talk to your firewall admin.

	// query-source port 53;
};

zone "." {
        type hint;
        file "root.hints";
};

zone "0.0.127.in-addr.arpa" {
        type master;
        file "pz/127.0.0";
};

¸®´ª½º ¹èÆ÷º»ÀÌ ¿©±â¿¡¼­ ¾ð±ÞµÇ´Â ¸ðµç Á¾·ùÀÇ ÆÄÀÏÀ̸§°ú ´Ù¸¥ À̸§À» ¾µÁöµµ ¸ð¸¦ ÀÏÀÌÁö¸¸ ¾ÈÀÇ ³»¿ëÀ» À§¿Í °°ÀÌ ¸ðµÎ °°´Ù.

'directory' : namedÇÁ·Î±×·¥ÀÌ ¼³Á¤ ÆÄÀÏÀ» ã´Â À§Ä¡¸¦ ÁöÁ¤ÇØ ÁØ´Ù. named¿¡ °ü·ÃµÈ ÆÄÀϵéÀº À§¿Í °°´Ù. ¿¹¸¦ µé¾î ÀÌÈÄ¿¡ pz¶õ µð·ºÅ丮 °¡ ³ª¿À¸é ±×°ÍÀº /var/named/pz¶ó´Â °ÍÀ» ÀǹÌÇÏ´Â °ÍÀÏ °ÍÀÌ´Ù. À§ÀÇ ¿¹½Ã¿Í °°Àº ¼³Á¤ÀÌ ÀϹÝÀûÀÎ ¼³Á¤ÀÌ´Ù.

/var/named/root.hints¶ó´Â ÆÄÀÏÀÌ ¾È¿¡ ÁöÁ¤µÇ ÀÖ´Ù. /var/named/root.hints´Â ¾Æ·¡ÀÇ ³»¿ëÀ» Æ÷ÇÔÇØ¾ß ÇÑ´Ù. (¸¸¾à ÀÌ ¹®¼­¿¡¼­ ÀÌ ³»¿ëµéÀ» Àß¶ó¼­ Ã·ºÎÇÏ°Ô µÈ´Ù¸é, ÆÄÀÏ ¾Õ¿¡ ÀÖ´Â °ø¹éµéÀ» Á¦°ÅÇϱ⸦ ¹Ù¶õ´Ù. ¸ðµç ¶óÀÎÀÇ ½ÃÀÛÀº °ø¹éÀÌ ¾ø°Ô ±¸¼ºÀÌ µÇ¾î ÀÖ´Ù. ¸î¸î ¹®¼­ ÇÁ·Î±×·¥µéÀº ÀÎÀ§ÀûÀ¸·Î ÀÌ·¯ÇÑ °ø¹éµéÀ» ¸¸µé±âµµ Çϴµ¥ ¸ðµç Ãʱ⠰ø¹éµéÀº Á¦°ÅµÇ¾ß ÇÑ´Ù.

;
; There might be opening comments here if you already have this file.
; If not don't worry.
;
.                       6D IN NS        M.ROOT-SERVERS.NET.
.                       6D IN NS        I.ROOT-SERVERS.NET.
.                       6D IN NS        E.ROOT-SERVERS.NET.
.                       6D IN NS        D.ROOT-SERVERS.NET.
.                       6D IN NS        A.ROOT-SERVERS.NET.
.                       6D IN NS        H.ROOT-SERVERS.NET.
.                       6D IN NS        C.ROOT-SERVERS.NET.
.                       6D IN NS        G.ROOT-SERVERS.NET.
.                       6D IN NS        F.ROOT-SERVERS.NET.
.                       6D IN NS        B.ROOT-SERVERS.NET.
.                       6D IN NS        J.ROOT-SERVERS.NET.
.                       6D IN NS        K.ROOT-SERVERS.NET.
.                       6D IN NS        L.ROOT-SERVERS.NET.
;
M.ROOT-SERVERS.NET.     6D IN A         202.12.27.33
I.ROOT-SERVERS.NET.     6D IN A         192.36.148.17
E.ROOT-SERVERS.NET.     6D IN A         192.203.230.10
D.ROOT-SERVERS.NET.     6D IN A         128.8.10.90
A.ROOT-SERVERS.NET.     6D IN A         198.41.0.4
H.ROOT-SERVERS.NET.     6D IN A         128.63.2.53
C.ROOT-SERVERS.NET.     6D IN A         192.33.4.12
G.ROOT-SERVERS.NET.     6D IN A         192.112.36.4
F.ROOT-SERVERS.NET.     6D IN A         192.5.5.241
B.ROOT-SERVERS.NET.     6D IN A         128.9.0.107
J.ROOT-SERVERS.NET.     6D IN A         198.41.0.10
K.ROOT-SERVERS.NET.     6D IN A         193.0.14.129
L.ROOT-SERVERS.NET.     6D IN A         198.32.64.12

ÀÌ ÆÄÀÏÀº ¼¼»ó¿¡ Á¸ÀçÇÏ´Â root name server¿¡ ´ëÇÏ¿© ±â¼úÇØ ³õ´Â´Ù. ÀÌ ¼­¹öµéÀº ½Ã°£¸¶´Ù ¹Ù²î°í Ç×»ó ÇöÀç »óÅ·ΠÀ¯ÁöµÇ¾ß ÇÑ´Ù. À¯Áö¼½¼Ç(maintain section)¿¡¼­ ¾î¶² ¹æ½ÄÀ¸·Î ¾÷µ¥ÀÌÆ®°¡ ÀÌ·ç¾î Áö´ÂÁö È®ÀÎÇϱæ....

named.confÀÇ ¸¶Áö¸· ºÎºÐÀÎ zone ºÎºÐ¿¡ ´ëÇØ¼­´Â ¸¶Áö¸· Àå¿¡ ±â¼úÇØ ³õ±â·Î ÇÑ´Ù. Áö±ÝÀº ´ÜÁö pz µð·ºÅ丮 ¾È¿¡ ÀÖ´Â 127.0.0À̶ó´Â ÆÄÀÏ ±¸¼º¿¡ ´ëÇØ º¸±â·Î ÇÑ´Ù. (´©Â÷ À̾߱â ÇÏÁö¸¸ Àß¶ó ³ÖÀ» ½Ã Ãʱ⠰ø¹éÀº Á¦¿ÜÇ϶ó....)

$TTL 3D
@               IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
				1       ; Serial
				8H	; Refresh
				2H      ; Retry
				4W	; Expire
				1D)	; Minimum TTL
			NS      ns.linux.bogus.
1			PTR	localhost.

´ÙÀ½À¸·Î/etc/resolv.confºÎºÐÀ» È®ÀÎ Çϵµ·Ï ÇÏÀÚ.

search subdomain.your-domain.edu your-domain.edu
nameserver 127.0.0.1

'search'ºÎºÐÀº ¿¬°áÇϰíÀÚ Çϴ ȣ½ºÆ® À̸§Àº ¾î´À µµ¸ÞÀο¡¼­ ã¾ÆÁ®¾ß Çϴ°¡¸¦ °áÁ¤ÇØ ÁØ´Ù.`nameserver'ºÎºÐÀº nameserverÀÇ ÁּҺκÐÀ» ³ªÅ¸³»´Âµ¥ À§¿Í °°Àº °æ¿ì´Â named°¡ ±¸µ¿µÇ´Â ¼­¹ö ÀÚ½ÅÀ» ÀǹÌÇÑ´Ù.(127.0.0.1 ÀÌ Á¤»óÀÌ´Ù. ´Ù¸¥ ÄÄÇ»Å͵éÀÌ ¸¶Âù°¡Áö·Î ÀÌ ÁÖ¼Ò¸¦ °¡Áö°í ÀÖ´Ù°í ÇØµµ ¹®Á¦µÉ °Í ¾ø´Ù.) ¿øÇÑ´Ù¸é `nameserver'ºÎºÐ¿¡ ¿©·¯ nameserverµéÀ» ¾µ ¼öµµ ÀÖ´Ù. (Note1:named µ¥¸óÀÌ ÀÌ ÆÄÀÏÀ» Àд °ÍÀº ¾Æ´Ï´Ù. named°¡ ÀÛµ¿ÇÏ´Â °ÍÀ» ÀÌ¿ëÇÏ´Â resolverµéÀÌ Àд´Ù, Note2: ÀÌ ÆÄÀÏ(resolv.conf)¿¡¼­ domainÀ̶õ ¿ë¾î°¡ »ç¿ëµÈ´Ù. ±×·¯³ª "search"¿Í "domain"ÀÌ °°ÀÌ »ç¿ëµÇÁø ¾Ê´Â´Ù. µÑÁß Çϳª¸¸ÀÌ ÀÛµ¿ÇÒ °ÍÀÌ´Ù.)

ÀÌ·¯ÇÑ ÆÄÀÏÀÇ ÀÛµ¿À» È®ÀÎÇϱâ À§Çؼ­: ¸¸¾à client°¡ foo¶ó´Â °ÍÀ» ã´Â´Ù¸é, foo.subdomain.your-domain.eduÀ» ¿ì¼± È®ÀÎÇϰí, ±×¸®°í ³ª¼­ foo.your-domain.edu, ¸¶Áö¸·À¸·Î foo. ¸¦ ã°Ô µÈ´Ù. searchºÎºÐ¿¡¼­ ³Ê¹«¸¹Àº µµ¸ÞÀÎÀ» ³Ö±â ¾Ê´Â°Ô ÁÁ´Ù. °á±¹ ±âÀçµÈ ¸ðµç ºÎºÐÀ» ã´Âµ¥ ½Ã°£ÀÌ ¼Ò¿äµÇ±â ¶§¹®ÀÌ´Ù.

ÀÌ ¿¹¿¡¼­ subdomain.your-domain.edu¿¡ ¼ÓÇØÀÖ´Ù°í º¼¶§, ¿©·¯ºÐµéÀÇ ÄÄÇ»ÅÍ´Â your-machine.subdomain.your-domain.edu¶ó°í ºÒ¸®°Ô µÉ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ search ¶óÀο¡ ¿©·¯ºÐµéÀÇ TLD(Top Level Domain, ¿¹¸¦µé¾îedu)À» Æ÷ÇÔÇÏ¸é ¾ÈµÈ´Ù. ¸¸¾à ´Ù¸¥ µµ¸ÞÀÎÀ» ¿¬°áÇÏ·Á¸é ¿¹½Ã¿Í °°ÀÌ Ãß°¡¿¬°áÇÏ¸é µÈ´Ù.

search subdomain.your-domain.edu your-domain.edu other-domain.com

Á¤È®È÷ À̾߱â ÇÑ´Ù¸é ÀÌ·± ¿¹¸¦ ¹ÙÅÁÀ¸·Î ½ÇÁ¦ µµ¸ÞÀθíÀ» ½á¾ßÇÑ´Ù. µµ¸ÞÀÎ ¸í ¸¶Áö¸·¿¡ Á¡ÀÌ ¾ø´Ù´Â °ÍÀ» À¯ÀÇÇÏÀÚ. Áß¿äÇÏ´Ù. ´Ù½Ã »ó±âÇϱæ....

3.1. namedÀÇ ½ÃÀÛ

ÀÌÁ¦ named¸¦ ½ÃÀÛÇÒ ½Ã°£ÀÌ´Ù. ¸¸¾à¿¡ ÀüÈ­Á¢¼Ó½ÄÀ̸é Á¢¼ÓºÎÅÍ ÇØ¶ó. 'ndc start'¶ó°í ÄÚµùÇÏ°í ½ÇÇàÇØ º¸±æ... ¿É¼ÇÀº ¾øÀÌ ½ÇÇàÇÑ´Ù. µ¥¸óÀÌ »ý¼ºµÇÁö ¾ÊÀ¸¸é '/usr/sbin/ndc start'¶ó°í ÄÚµùÇØ¼­ ½ÇÇàÇØ º¸½Ã±â¸¦. ±×·¡µµ ¾ÈµÇ¸é Q&A¸¦ ÂüÁ¶Ç϶ó. named°¡ ±¸µ¿µÇ´Â µ¿¾È¿¡ syslog ÆÄÀÏÀ» º¸¸é ÀÌ·¯ÇÑ ½ÄÀÇ °á°ú¸¦ º¸°Ô µÉ °ÍÀÌ´Ù.(º¸Åë ÀÌ logÆÄÀÏÀº /var/adm/messages¾È¿¡ Àְųª/var/log ¾È¿¡ À§Ä¡ÇÏ°Ô µÈ´Ù. ÀÌ °á°ú¸¦ º¸·Á¸é 'tail -f /var/log/messages' ¸¦ ÀÔ·ÂÇÏ¸é µÈ´Ù.

(\Àº ¿¬°áµÇ´Â ´ÙÀ½ÁÙÀ» À̾߱âÇÑ´Ù.)

Dec 15 23:53:29 localhost named[3768]: starting.  named 8.2.2-P7 \
		Fri Nov 10 04:50:23 EST 2000 ^Iprospector@porky.\
		devel.redhat.com:/usr/src/bs/BUILD/bind-8.2.2_P7/\
		src/bin/named
Dec 15 23:53:29 localhost named[3768]: hint zone "" (IN) loaded\
		(serial 0)
Dec 15 23:53:29 localhost named[3768]: Zone "0.0.127.in-addr.arpa"\
		(file pz/127.0.0): No default TTL set using SOA\
		minimum instead
Dec 15 23:53:29 localhost named[3768]: master zone\
		"0.0.127.in-addr.arpa" (IN) loaded (serial 1)
Dec 15 23:53:29 localhost named[3768]: listening on [127.0.0.1].53 (lo)
Dec 15 23:53:29 localhost named[3768]: listening on [10.0.0.129].53\
		(wvlan0)
Dec 15 23:53:29 localhost named[3768]: Forwarding source address is\
		[0.0.0.0].1034
Dec 15 23:53:29 localhost named[3769]: Ready to answer queries.

¸¸¾à ¿©±â¿¡ ¿¡·¯ ¸Þ½ÃÁö°¡ ³ª¿Â´Ù¸é ¹º°¡ ½Ç¼ö°¡ ÀÖ´Â °ÍÀÌ´Ù. named °¡ À§ ¿¹¿¡¼­Ã³·³ ³ª¿À´Â ÆÄÀϵéÀ» ÁöÁ¤ÇØ Áֱ⠶§¹®¿¡ ¿¡·¯½Ã ´Ù½Ã ¿øÁ¡À¸·Î µ¹¾Æ°¡¼­ ¿©±â¿¡ ³ª¿À´Â ÆÄÀÏÀ» üũÇϵµ·Ï ÇÏÀÚ.

´ÙÀ½Àº ¼Â¾÷µÈ ºÎºÐÀ» Ã¼Å©ÇØ º¸µµ·Ï ÇÑ´Ù. ÀüÅëÀûÀ¸·Î nslookup ÆÄÀÏÀ» »ç¿ëÇßÁö¸¸ ¿äÁòÀº dig dig¸¦ »ç¿ëÇÑ´Ù.

$ dig -x 127.0.0.1       

; <<>> DiG 8.2 <<>> -x 
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUERY SECTION:
;;      1.0.0.127.in-addr.arpa, type = ANY, class = IN

;; ANSWER SECTION:
1.0.0.127.in-addr.arpa.  1D IN PTR  localhost.

;; AUTHORITY SECTION:
0.0.127.in-addr.arpa.   1D IN NS        ns.penguin.bv.

;; Total query time: 30 msec
;; FROM: lookfar to SERVER: default -- 127.0.0.1
;; WHEN: Sat Dec 16 00:16:12 2000
;; MSG SIZE  sent: 40  rcvd: 110

ÀÌ·¯ÇÑ ½ÄÀ¸·Î ³ª¿Â´Ù¸é Á¦´ë·Î µ¿ÀÛÇÏ´Â °ÍÀÌ´Ù. ±×·¸Áö ¾ÊÀ¸¸é µ¹¾Æ°¡¼­ ´Ù½Ã óÀ½ºÎÅÍ Ã¼Å©ÇØ º¸µµ·Ï. named.conf¸¦ ¼öÁ¤ÇÒ¶§ ¸¶´Ù ndc restart¸¦ ¼öÇàÇØ¾ß ÇÑ´Ù.

ÀÌÁ¦ ÁúÀǸ¦ ´øÁ®º¸ÀÚ. ´ç½Å°ú °¡±îÀÌ ÀÖ´Â ÄÄÇ»Å͸¦ Á¶»çÇØ ºÁ¶ó. ³ª´Â ¿À½½·Î´ëÇÐÀÇ pat.uio.no°¡ Á¦ÀÏ °¡±õ´Ù.

$�ig pat.uio.no

; <<>> DiG 8.2 <<>> pat.uio.no 
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
;; QUERY SECTION:
;;      pat.uio.no, type = A, class = IN

;; ANSWER SECTION:
pat.uio.no.             1D IN A         129.240.130.16

;; AUTHORITY SECTION:
uio.no.                 1D IN NS        nissen.uio.no.
uio.no.                 1D IN NS        ifi.uio.no.
uio.no.                 1D IN NS        nn.uninett.no.

;; ADDITIONAL SECTION:
nissen.uio.no.          1D IN A         129.240.2.3
ifi.uio.no.             1H IN A         129.240.64.2
nn.uninett.no.          1D IN A         158.38.0.181

;; Total query time: 112 msec
;; FROM: lookfar to SERVER: default -- 127.0.0.1
;; WHEN: Sat Dec 16 00:23:07 2000
;; MSG SIZE  sent: 28  rcvd: 162

¿©±â¿¡¼­ dig´Â named¿¡°Ô pat.uio.no¶ó°í ¸íĪµÈ ±â°è¸¦ ãÀ¸¶ó°í ¿äûÇÏ°Ô µÇ°í ±×·¯¸é root.hintsÆÄÀÏ¿¡ ¸í½ÃµÈ name serverµé Áß¿¡ Çϳª¿¡ Á¢¼ÓÇÏ°Ô µÇ¸ç, ±×°÷À¸·Î ºÎÅÍ µµ´ÞÇÏ´Â ¹æ¹ýÀ» Áú¹®ÇÑ´Ù. °á°ú¸¦ ¾ò±â Àü¿¡ ¾à°£ÀÇ ½Ã°£ÀÌ °É¸± ¼öµµ Àִµ¥ À̰ÍÀº /etc/resolv.conf ¿¡ ÁöÁ¤µÈ ¸ðµç µµ¸ÞÀÎÀ» ãÀ» °æ¿ì°¡ Àֱ⠶§¹®ÀÌ´Ù. flag: ºÎºÐÀÇ aaºÎºÐÀ» ÁÖ¸ñÇϱæ. À̰ÍÀº ÁúÀÇ¿¡ ´ëÇÑ °á°ú°¡ ÀÎÁõµÇ¾ú´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ´Ù½Ã ¸»Çϸé ÀÎÁõµÈ ¼­¹ö·Î ºÎÅÍ °»½ÅÀÌ µÇ¾ú´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ´ÙÀ½¿¡ ÀÌ ÀÎÁõºÎºÐ¿¡ ´ëÇØ ´Ù½Ã ¼³¸íÇÒ °ÍÀÌ´Ù.

¸¸¾à ´Ù½Ã ¶È°°Àº ÁúÀǸ¦ º¸³½´Ù¸é ´Ù¸§°ú °°Àº °á°ú¸¦ ¾ò°Ô µÉ °ÍÀÌ´Ù.

$ dig pat.uio.no

; <<>> DiG 8.2 <<>> pat.uio.no 
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
;; QUERY SECTION:
;;      pat.uio.no, type = A, class = IN

;; ANSWER SECTION:
pat.uio.no.             23h59m58s IN A  129.240.130.16

;; AUTHORITY SECTION:
UIO.NO.                 23h59m58s IN NS  nissen.UIO.NO.
UIO.NO.                 23h59m58s IN NS  ifi.UIO.NO.
UIO.NO.                 23h59m58s IN NS  nn.uninett.NO.

;; ADDITIONAL SECTION:
nissen.UIO.NO.          23h59m58s IN A  129.240.2.3
ifi.UIO.NO.             1d23h59m58s IN A  129.240.64.2
nn.uninett.NO.          1d23h59m58s IN A  158.38.0.181

;; Total query time: 4 msec
;; FROM: lookfar to SERVER: default -- 127.0.0.1
;; WHEN: Sat Dec 16 00:23:09 2000
;; MSG SIZE  sent: 28  rcvd: 162

ÁúÀÇ¿¡ ´ëÇÑ °á°ú ºÎºÐ¿¡¼­ "flag"ºÎºÐÀÇ "aa"°¡ ¾ø´Ù´Â »ç½ÇÀ» ÁÖ¸ñÇϱæ. À̰ÍÀº cache°¡ Á¤º¸¸¦ °¡Áö°í ÀÖÀ»¶§ ´õÀÌ»ó named°¡ ÁúÀǸ¦ Çϱâ À§ÇØ ³×Æ®¿öÅ© ¹ÛÀ¸·Î ³ª°¡Áö ¾Ê´Â´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀúÀåµÈ Á¤º¸°¡ ¿À·¡ µÇ¾úÀ» ¼öµµ ÀÖ´Ù. ¸Å¿ì Èñ¹ÚÇϰÚÁö¸¸ °¡²û ÀÌ·¯ÇÑ Á¤º¸¸¦ ÅëÇØ¼­ "aa"°¡ ¾ø´ÂÁö¸¦ È®ÀÎÇØ¾ß ÇÒ °ÍÀÌ´Ù. ÀÌÁ¦ ÀÚ½ÅÀÇ cache¼­¹ö°¡ ÀÛµ¿ÇÑ´Ù´Â °ÍÀ» ¾Ë°Ô µÇ¾ú´Ù.

3.2. Resolvers

Ç¥ÁØ C API°¡ ±¸ÇöµÇ´Â ¸ðµç Á¾·ùÀÇ OSµéÀº gethostbyname °ú gethostbyaddr¸¦ È£ÃâÇÑ´Ù. ÀÌ·¯ÇÑ ÇÔ¼ö(¾Æ¸¶µµ API±¸Çö ÇÔ¼öÁ¾·ùÀεí ÇÕ´Ï´Ù.) ´Â ´Ù¸¥ ¿©·¯ ¼Ò½º·Î ºÎÅÍ Á¤º¸µéÀ» °¡Á®¿À°Ô µÈ´Ù. °¡Á®¿Â ÀÌ·± Á¤º¸µéÀº ¸®´ª½º³ª ´Ù¸¥ À¯´Ð½º¿¡¼­´Â /etc/nsswitch.conf ºÎºÐ¿¡ ¼³Á¤µÇ¾î ÀÖ´Â µ¥·Î ¹Þ°ÔµÈ´Ù. À̰ÍÀº ¿©·¯ ´Ù¸¥ ÆÄÀÏÀ̳ª DB¿¡¼­ ¼­·Î ´Ù¸¥ Á¾·ùÀÇ µ¥ÀÌÅ͸¦ ¾ò´Â °ÍÀÌ´Ù. ¸ÇÀ§¿¡ ÀÚ¼¼ÇÑ ÁÖ¼®ÀÌ ÀÖÀ¸¸ç ¹Ýµå½Ã Àб⸦ ¹Ù¶õ´Ù. 'hosts:'·Î ½ÃÀÛÇÏ´Â ¶óÀÎÀ» ã¾Æ º¸ÀÚ. °Å±â¿¡ ÀÌ·¸°Ô ¾²¿© ÀÖÀ» °ÍÀÌ´Ù.

hosts:      files dns

(º¹»çÇÒ °æ¿ì »ý±â´Â °ø¹éÀ» ÀØÁö ¸»±â¸¦... ÀÌÁ¦ ´õ À̾߱â ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.)

¸¸¾à 'hosts:'¶ó´Â ¶óÀÎÀÌ º¸ÀÌÁö ¾Ê´Â´Ù¸é À§¿Í°°ÀÌ ±âÀç ÇØ ³õ±â¸¦... À̰ÍÀº ÇÁ·Î±×·¥µéÀÌ ¿ì¼± /etc/hosts¸¦ ã¾Æ¾ß ÇÑ´Ù´Â °ÍÀ» À̾߱â ÇÏ¸ç ±×¸®°í resolv.conf¿¡ ÁöÁ¤µÈ DNS¸¦ üũÇÑ´Ù´Â À̾߱â ÀÌ´Ù.

3.3. ÃàÇÏ

caching name server ¼³Á¤¹ýÀ» ¾Ë°Ô µÇ¾ú´Ù. ÀÚÃàÇÏ´Â Àǹ̿¡¼­ ¸ÆÁÖ³ª ¿ìÀ¯, ¾Æ´Ï¸é ´Ù¸¥ °É·Î ÃàÇÏÇϽñæ...