도메인과 DNS 란 ?

도메인

ip는 사람이 이해하고 기억하기 어렵기 때문에 이를 위해서 각 ip에 이름을 부여할 수 있게 했는데, 이것을 도메인이라고 합니다.

우리는 도메인을 통해 한눈에 파악하기 힘든 IP 주소를 분명하게 나타낼 수 있습니다.

 

도메인이란 ? 도메인의 구조

 

도메인은 Root(루트) 라 불리는 도메인 이하에 역트리 구조로 구성되어 있습니다.

루트 다음으로 다음과 같이 2가지 도메인으로 나뉩니다.

 

1. 국가 최상위 도메인(ccTLD)  - 2단계 도메인 SLD(Second Level Domain) ccTLD 다음단계

2. 일반 최상위 도메인(gTLD)

 

국가 최상위 도메인(ccTLD)

인터넷 상으로 국가를 나타내는 도메인으로 'kr(대한민국)', jp(일본), cn(중국), us(미국) 등 영문으로 구성된 영문 국가도메인이 있습니다.

.kr .jp .cn .in .us .ca .uk .de
한국 일본 중국 인도 미국 캐나다 영국 독일

 

2단계 도메인 SLD(Second Level Domain)

 

일반 최상위 도메인(gTLD)

'.com(회사)', '.net(네트워크 관련기관)', 'org(비영리기관)', '.biz(사업)' 등 등록인의 특성에 따라 사용할 수 있는 도메인 입니다.

.com .net .org .gov .edu .biz .info .mil
영리목적의 기업과 기관 네트워크 관리 기관 비영리단체 미국 연방정부 기관 4년제 대학 교육 기관 사업기관 또는 회사 정보서비스 기관 미국 연방군사 기관

 

 

  • www.naver.com  이라면 ?

여기서 최상위 도메인(TLD)은 .com => .com 이므로 일반 최상위 도메인(gTLD)

2단계 도메인(SLD)은 .naver

3단계 도메인은 www

www.naver.com은 3차 도메인이라고 할 수 있다.

 

  • www.hstory0208.co.kr  이라면 ?

최상위 도메인(TLD)는 .kr => .kr 이므로 국가 최상위 도메인(ccTLD)

2단계 도메인(SLD)은 .co

3단계 도메인은 .hstory0208

4단계 도메인은 www

www.hstory0208.co.kr  4차 도메인이라고 할 수 있다.

 

 

 


DNS ( Domain Name System )

"도메인에 대응하는 IP를 전달하여 사용자가 접속하도록 돕는 시스템"

이해하기 쉽도록 다음 그림을 토대로 설명하겠습니다.

  1. PC에서 네이버로 접속하고 싶어 브라우저에 www.naver.com을 검색했습니다.
  2. www.naver.com은 DNS 서버로 도메인 주소가 전달 됩니다.
  3. DNS 서버에서 "www.naver.com = 223.130.200.107"이라는 항목을 찾아내고 브라우저에게 네이버의 IP주소로 가도록 지시합니다.
  4. 브라우저는 DNS 서버로 부터 받은 네이버의 IP주소를 가지고 naver의 Web서버로 접속합니다.

이처럼, DNS 서버IP 주소를 특정 도메인 주소와 같다는 기록을 저장해두고,

인터넷 사용자들이 도메인 주소를 검색했을 때 도메인 주소와 같은 IP 주소로 연결되도록 도와줍니다.

 

 

DNS의 구성 요소 네임 서버 ( 네임 서버 = DNS 서버 )

문자열로 표현된 도메인 이름을 실제 컴퓨터가 통신할 때 사용하는 IP 주소로 변환시키기 위해서는 도메인 네임 스페이스의 트리 구조에 대한 정보가 필요한데

이러한 정보를 가지고 있는 서버를 네임 서버라고 합니다.

네임서버는 데이터베이스 역할(저장, 관리), 찾아주는 역할, 요청 처리 응답 구현 역할을 해줍니다.

전 세계에 13개의 Root DNS 서버가 구축되어 있습니다.

(패킷의 실질적인 크기 제한으로 인해 루트 DNS 서버 수를 13개 서버 주소로 제한하도록 결정되었다고 합니다.)

 

Root 네임 서버
  1. DNS 레코드를 요청하는 첫 단계입니다.
  2. 비영리 단체인 ICANN(Internet Corporation for Assigned Names and Numbers)이 관리합니다.
  3. ICANN은 직접 관리하는 절대 존엄 서버입니다.
  4. TLD DNS 서버 IP 주소를 저장하고 안내하는 역할을 합니다.

 

TLD(최상위 도메인) 네임 서버
  1. 도메인 등록 기관이 관리하는 서버입니다.
  2. Authoritative DNS 서버의 주소를 저장하고 안내하는 역할을 합니다.
  3. 도메인 판매 업체(가비아 등)의 DNS 설정이 변경되면 도메인 등록 기관으로 전달되기 때문에 어떤 도메인이 어떤 판매업체에서 구매했는지 알수 있는 것입니다.
  4. TLD 네임서버는 .com, .co.kr 과 같은 점 뒤에오는 도메인 확장자를 사용하는 모든 도메인 정보를 유지합니다.

 

Authoritative 네임 서버 OR Second-Level Domain(SLD) 네임 서버
  1. 실제 도메인의 IP주소가 기록(저장, 변경)되는 서버입니다. 그래서 권한의 의미인 Authoritative가 붙었습니다.
  2. 도메인/호스팅 업체의 '네임서버'를 말합니다.
  3. 개인 DNS 구축해도 이 경우에 해당합니다.

 

권한 없는 네임 서버 (Resolver 서버, Recursive(재귀) 서버, Recursor 서버)
  1. DNS 서버는 도메인 네임 스페이스를 위한 권한 있는 DNS 서버와 권한이 없는 DNS 서버로 구분된다.
  2. 위 네임 서버들은 권한 있는 DNS 서버입니다.
  3. 인터넷 사용자가 가장 먼저 접근하는 DNS 서버로 특정 도메인에 대한 IP정보를 캐시 형태로 저장해놓습니다.
  4. 대표적으로 KT/LG/SK 와 같은 ISP(통신사) DNS 서버가 있습니다.
  5. 네임 스페이스를 위한 권한 있는 DNS 서버는 IP 주소와 도메인 이름을 매핑합니다.
  6. 네임 스페이스를 위한 권한 없는 DNS 서버는 질의를 통해 IP 주소를 알아내거나 캐시합니다.

 

 

도메인이 작동하는 과정

  1. 웹 브라우저에 도메인을 입력하면 먼저 Recursive(재귀) DNS(ex. 통신사) 서버에서 해당 도메인에 대한 IP주소 캐시데이터가 있는지 확인 후 Root 네임 서버로 요청합니다.
    ( 캐싱된 IP주소가 있다면 바로 IP주소를 반환해줍니다.)
  2. Root DNS 서버에서 도메인을 받아 TLD(최상위 도메인)을 판단하여 Recursive(재귀) DNS(ex. 통신사) 서버로 보냅니다. ( .com 같은 최상위 도메인을 구별하여 알려줍니다. )
  3. Recursive(재귀) DNS(ex. 통신사) 서버 TLD(최상위 도메인) 네임 서버에게 요청을 보내며
    실제 IP 주소를 가지고 있는 Authoritative 네임 서버 정보를 Recursive(재귀) DNS(ex. 통신사) 서버에게 반환해줍니다.
  4. Recursive(재귀) 네임 서버 Authoritative 네임 서버에 실제 IP주소를 요청하며
    Authoritative 네임 서버 Recursive(재귀) 네임 서버로 도메인 IP 정보를 전송합니다.
  5. Recursive(재귀) 네임 서버(ex. 통신사)는 최종적으로 요청한 웹 브라우저에 IP 주소를 제공합니다.
  6. 웹 브라우저는 응답받은 IP주소를 http 요청합니다.

 


참고자료
https://hanamon.kr/dns%EB%9E%80-%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B0%9C%EB%85%90%EB%B6%80%ED%84%B0-%EC%9E%91%EB%8F%99-%EB%B0%A9%EC%8B%9D%EA%B9%8C%EC%A7%80/
https://velog.io/@kkj53051000/%EB%8F%84%EB%A9%94%EC%9D%B8Domain%EA%B3%BC-DNS-%EC%A0%95%EB%A6%AC