[Concept] DNS(Domain Name System) 이란?[Concept] DNS(Domain Name System) 이란?

Posted at 2019. 6. 20. 16:46 | Posted in Computer Concepts
반응형




참고 : https://support.google.com/a/answer/48090?hl=ko

참고 : https://aws.amazon.com/ko/route53/what-is-dns/





■ DNS(Domain Name System)의 기본사항




-. DNS는 도메인 이름 시스템을 의미하며, 기본적으로 웹에서 도멘인을 정리하고 확인하는 전화번호부와 같은 역할을 한다.

-. 스마트폰이나 노트북부터 대규모 소매 웹 사이트 콘텐츠를 서비스 하는 서버에 이르기까지 인터넷상의 모든 컴퓨터는

   숫자를 사용하여 서로를 찾고 통시하는데 이러한 숫자를 IP주소라고 한다.

-. 웹 브라우저를 열고 웹 사이트로 이동할 때는 긴 숫자를 기억해 입력할 필요없이 wickedmiso.com 같은 도메인 이름을 입력해 원하는 웹 사이트로 갈 수 있다.

-. "Acme Pizza"와 같은 이름이 전화번호부를 통해 전화번호로 변환되는 것처럼, "www.google.com"과 같은 웹 주소는 웹 주소는

  DNS를 통해 "74.125.19.147"과 같이 사이트(이 경우 Google 홈페이지)를 호스팅하는 컴퓨터의 실제 IP주소로 변환된다.





■ DNS SERVER의 역할









① 사용자가 웹 브라우저를 열어 주소 표시줄에 www.domain.com 을 입려가호 Enter키를 누른다.


② www.domain.com에 대한 요청은 일반적으로 케이블 인터넷 공급업체, DSL 광대역 공급업체 또는 기업 네트워크 같은 인터넷 서비스 제공업체()


③ ISP의 DNS 해석기는 www.domain.com에 대한 요청을 DNS 루트 이름 서버에 전달한다.


④ ISP의 DNS 해석기는 www.domain.com에 대한 요청을 이번에는 .com 도메인의 TLD 이름 서버 중 하나에 다시 전달한다.

 

⑤ ISP의 DNS 해석기는 DNS 네임 서버 하나를 선택해  www.domain.com에 대한 요청을 해당 이름 서버에 전달한다.


⑥ DNS 네임 서버는 domain.com 호스팅 영역에서 www.domain.com 레코드를 찾아 웹 서버의 IP 주소(예 : 120.0.0.1)에 연관된 값을 받고

   이 IP 주소를 DNS 해석기로 변환한다.


⑦ ISP의 DNS 해석기는 마침내 사용자에게 필요한 IP주소를 확보하게 된다. 해석기는 이 값을 웹 브라워로 반환한다.

   또한, DNS 해석기는 다음에 누군가가 example.com을 탐색할 때 좀 더 빠르게 응답할 수 있도록 사용자가 지정하는 일정 기간동안

   domain.com의 IP주소를 캐싱(저장)한다.(자세한 내용은 TTL(Time to Live)을 참조)


⑧ 웹 브라우저는 DNS 해석기로 부터 얻은 IP 주소로 www.domain.com에 대한 요청을 전송한다.

    여기서 콘텐츠가 있는 곳으로, 예를 들어 웹 사이트 엔드포인트로 구성된 웹 서버이다.


⑨ 120.0.0.1에 있는 웹 서버 또는 그 밖의 리소스 www.domain.com의 웹 페이지를 웹 브라우저로 반환하고, 웹 브라워는 이 페이지를 표시한다.










■ DNS의 종류





# MX 레코드(Mail Exchanger Record)


-. 메일 교환(MX) 레코드는 도메인 이메일을 도메인의 사용자 계정을 호스팅하는 서버로 전송한다.




# TXT 레코드(Text Record)


-. TXT 레코드는 도메인 외부 소스에 다양한 목적으로 사용될 수 있는 텍스트 정보를 제공하는 DNS 레코드이다.

-. 레코드 값은 사람이나 컴퓨터가 읽을 수 있는 텍스트가 될 수 있다.




# CNAME 레코드(Canonical Name Record)


-. CNAME 레코드 즉 정규 이름 레코드는 다른 페이지에 정규 도메인 이름앞에 별칭 이름을 지어 연결한다.

-. 예를들어 www.wickedmiso.com을 wickedmiso.com 혹은 blog.wickedmiso.com 으로 연결할 수 있다.




# A 레코드(Address Mapping Records)


-. A 레코드는 주소 레코드 혹은 호스트 레코드라고 한다.

-. 도메인 서비스를 호스팅하는 컴퓨터의 실제 IP주소에 도메인을 연결한다.




# NS 레코드(Name Server Records)


-. 네임 서버 레코드는 도메인에 대해 어떤 서버가 DNS 정보를 전달할지 결정한다.

-. 일반적으로 도메인에 기본 및 보조 네임서버 레코드가 있다.




# TTL(Time To Live)


-. TTL은 다음 레코드 변경사항이 적용될 때까지 걸리는 시간(초)을 결정하는 DNS 레코드 값이다.

-. MX레코드, CNAME 레코드 등 도메인의 각 DNS 레코드에는 TTL 값이 포함된다.

-. 레코드의 현재 TTL은 변경사항이 적용될 때까지 걸리는 시간을 결정한다.

  예를 들어 TTL값이 86,400초인데 레코드는 변경사항은 적용될 때까지 24시간이 소요된다.



※ 레코드 설정을 단축하는 방법

  · 레코드의 TTL을 변경하면 향후 변경사항이 적용되는 시간에 영향을 준다.

  · 인터넷사의 서버가 레코드의 업데이트 사항을 매시간 확인하도록 TTL값을 3600으로 설정하는 것이 좋다.

  · 단축된 TTL은 이전 기간이 만료된 후에만 효력을 발생한다.

  · 이렇게 하면 향후 레코드를 업데이트할  경우 변경사항이 적용될 때까지 한시간이 소요된다.

  · 변경사항을 신속하게 되돌릴 필요에 대비하는 등 다음 변경사항이 더욱 빠르게 적용되도록

    TTL을 300초(5분)와 같이 더 짧게 설정할 수도 있다.

  · MX레코드가 올바르게 구성되면 TTL값을 86400으로 설정하는 것이 좋다. 이렇게 하면 인터넷상의

   서버에서 24시간 마다 확인하여 MX 레코드를 업데이트 하게 된다.





# URL(Uniform Resource Locator)


-. URL은 인터넷 리소스의 웹 주소로, 특정 웹 사이트를 방문하기 위해 브라우저에 입력하는 주소이다.








■ DNS 구성 예시



-. DNS 설정시 실제 도메인 이름이 아닌 @기호를 사용하여 도메인 이름을 표시한다.



※ Google Cloud 서비스와 함께 사용된ㄴ 도메인의 샘플 DNS 설정

이름 / 호스트 / 별칭 

레코드 유형

우선순위

예) 값 / 응답 / 목적지

공백 또는 @

A

NA

 216.239.32.21

공백 또는 @

A

NA

 216.239.32.21

공백 또는 @

A

NA

 216.239.32.21

공백 또는 @

A

NA

 216.239.32.21

공백 또는 @

MX

1

 ASPMX.L.GOOGLE.COM.

공백 또는 @

MX

5

 ALT1.ASPMX.L.GOOGLE.COM.

공백 또는 @

MX

5

 ATL2.ASPMX.L.GOOGLE.COM.

공백 또는 @

MX

10

 ASPMX2.GOOGLEMAIL.COM.

공백 또는 @

MX

10

 ASPMX3.GOOGLEEMAIL.COM.

공백 또는 @

CNAME

NA

 ghs.googlehostedcom.

공백 또는 @

TXT

NA

 google-site

 verification=6tTalLzrBXBO4Gy9700TAbpg2QTKzGYEuZ_Ls69jle8

공백 또는 @

TXT

NA

 v=spf1 include:_spf.google.com ~all

www

CNAME

NA

 ghs.googlehosted.com.









반응형
//