brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 13. 2017

2.DNS 구성요소

1.사용자(스마트폰/PC)

사용자는 게임을하기위해 CACHE DNS에 사이트 IP를 문의한다..

기본적으로 UDP 53포트를 이용해 CACHE DNS질의를 한다.

사용자PC나 모바일 기기에서 브라우저 캐싱과 자체 캐슁을 한다.


2.CACHE  DNS

사용자가 인터넷을하기 위해 사용하는 DNS이다.

사용자가 CACHE DNS에 질의하여 IP를 얻게된다.

응답받은 IP로 사용자는 게임서버나 사이트에 접속하게 된다.

회사내에 CACHE DNS가 있으면 해당 CACHE DNS로 지정하는게 좋다.

사내 CACHE DNS가 없다면 ISP DNS나 Google DNS로 지정해도 된다.

ISP CACHE DNS  KT DNS: 168.126.63.1 , Google DNS : 8.8.8.8 이다.

CACHE DNS는 ROOT정보를로컬 파일로 가지고 있어, 최초 질의시 해당 정보로 ROOT에질의한다.

하지만 두번째 사용자가  CACHE DNS에 동일한 사이트에 대한질의시 CACHE DNS에서ROOT로 질의하지 않고,바로 CACHE된 정보로 직접 응답한다.

LINUX  BIND는  ROOT정보를 로컬파일 Named.ca 파일에가지고 있다.

CACHE  DNS에서 네임서버로 질의시 질의 비율은 2대(NS1,NS2)일때50:50으로질의한다.

무조건 NS1으로 질의하는 것이 아니다.


3.ROOT DNS

최상위 네임서버로전세계 13개가 존재한다.

13개가 넘어가면 512바이트가 넘어 TCP로 재전송요청이 일어나므로 13개만 존재한다.

빠른 응답과 안정성을위해 국내에서 여러 ROOT 미러가 존재한다.

.COM,  .KR등의 네임서버 정보를 가지고 있다.


ROOT네임서버 확인

# dig  .  ns

;; ANSWER SECTION:

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

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

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

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

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

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

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

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

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

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

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

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

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


COM ROOT DNS

.COM도메인들의 네임서버 정보를 가지고 있다.

도메인 등록사이트에서COM도메인을 등록하면, COM ROOT에 정보가 동기화된다.

이 정보를 이용해CACHE DNS는 .COM 도메인들의 네임서버를 찾아가게된다.

COM도메인의 네임서버 확인


#dig  com  ns

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

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

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

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

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

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

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

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

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

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

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

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

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

.KR 도메인의 네임서버 확인


#dig  kr  ns

kr.                     21438   IN     NS      b.dns.kr.

kr.                     21438   IN     NS      f.dns.kr.

kr.                     21438   IN     NS      c.dns.kr.

kr.                     21438   IN     NS      d.dns.kr.

kr.                     21438   IN     NS      g.dns.kr.

kr.                     21438   IN     NS      e.dns.kr.


4.네임서버

해당 도메인의 서버IP와 서비스IP를 가지고 있는DNS이다.

WWW등의 IP정보를 가지고 있는 DNS이다.

네임서버는 호스트는일반적으로 NS1, NS2로 지정한다.

그리고 1대를 Master로, 나머지 1대를 Slave서버로 구성한다.

Master DNS는 WWW등의 호스트와 IP정보를 추가/변경/삭제가가능하다.

Slave는 이를 동기화해서 네임 서비스를 제공한다.

Master와 Slave는TCP53포트를 이용해 동기화한다.

.COM ROOT에  네임서버 정보 확인하기

.COM ROOT설정된 dns-book.com도메인의네임서버 확인법.


.com 네임서버중 1대에 질의하여 확인한다.

# dig  @c.gtld-servers.net.  dns-book.com

dns-book.com.           172800  IN     NS      ns.gabia.co.kr.

dns-book.com.           172800  IN     NS      ns1.gabia.co.kr.

dns-book.com.           172800  IN     NS      ns.gabia.net.


.COM ROOT설정된 serverchk.com도메인의네임서버 확인법.

# dig  @c.gtld-servers.net.  serverchk.com

serverchk.com.          172800  IN     NS      ns1.serverchk.com.

serverchk.com.          172800  IN     NS      ns2.serverchk.com.

;; ADDITIONAL SECTION:

ns1.serverchk.com.      172800  IN     A       210.116.123.25

ns2.serverchk.com.      172800  IN     A       211.35.65.68


네임서버에  등록된 호스트확인

A(Address) 레코더 확인

# dig www.serverchk.com

;; ANSWER SECTION:

www.serverchk.com.      59     IN      A       210.116.123.25

실제 네임서버에 세팅된 ns레코더 설정 확인


도메인 등록시 지정한 네임서버 정보와 실제 서버에 세팅된 네임서버 정보가 같아야한다.

# dig @ns1.serverchk.com  serverchk.comns

# dig @ns2.serverchk.com  serverchk.comns




네임서버 동작


CACHE DNS는  네임서버 1과 2로 각각 50%씩 질의한다.

NS1으로 무조건 질의하는 것이 아니다는뜻이다.

네임서버는 NS1이 Fail 되더라도 NS2를 통해 서비스가 되는 이중화 알고리즘을 가지고 있다.

Master와 Slave로 동작

Master는  A레코더등  추가 또는 변경이 가능한 DNS이다.

Slave는 Master의 정보를 동기화하여 서비스한다.

Master 와 Slave간 데이터 동기화는 TCP 53포트를 사용한다.




5. DNS와L4 (SLB) 차이

DNS

서버 2대중 1대 다운시 50% 서비스가 안된다.

서버 1대 다운시 사용자가 서비스에 영향을 받는다.

DNS에서는 장애난  웹서버 IP를 수동으로 지워야 서비스가 정상적으로동작한다.





L4

이중화된 서버 1대 다운시 서비스 영향이 없다.

DNS에서는 L4 VIP(Virtual IP)를 DNS로 지정한다.

웹서버 1대 다운시 L4(SLB)에서  서버로 가는 트래픽을 자동으로 다른서버로 가게해준다.

L4는 같은 IDC내에서 서버 이중화를  가능하게 해주는네트워크장비이다.


참고: SLB (Server Load Balance)는 서버 이중화 네트워크 설정이다.




6. GSLB(Global Server Load Balance)

L4처럼 이중화 서비스가 가능하다.

위치가 다른 IDC간에도 이중화가 가능하다.

단지, 고가의 GSLB장비가 필요하다.                



다음

https://brunch.co.kr/@topasvga/198



감사합니다.



매거진의 이전글 1.DNS 동작 이해
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari