DNS (Domain Name System)

문지원(JiwonMoon)·2022년 6월 27일
0

네트워크(Network)

목록 보기
5/10
post-thumbnail

🤔 목적

컴퓨터공학의 기초가 되는 cs지식을 되새기면서 이 후 있을 기술면접을 대비 하고자한다.

도메인(Domain),도메인 네임(Domain Name)이란?

DNS를 들어가기 앞서 도메인(Domain)과 도메인 네임(Domain Name)이란 무엇일까?

도메인(domain)이란 단어는 영토, 분야, 영역, 범위를 뜻하는 단어(예를 들어 소유지, 토지 소유권(법률) 등)였으나 인터넷 주소의 의미로 도메인 네임과 함께 확장되었다. (도메인 = 도메인네임)

도메인 네임이란 넓은 의미로는 네트워크 상에서 컴퓨터를 식별하는 호스트명을 가리키며, 좁은 의미에서는 도메인 레지스트리에게서 등록된 이름을 의미한다.

즉, 우리가 네트워크상에서 원하는 호스트를 가리키는 이름정도로 생각하면 된다.

도메인 네임(Domain Name)의 구조

우측에서 좌측으로 읽으며, Root - TLD - SLD - SUB(도메인 이름) 순이다.
www는 도메인 네임에 포함되지 않는 ‘호스트명’ 이다.
SLD는 생략될 수 있기 때문에, 그 유무에 따라 2단계와 3단계 도메인 구조로 나뉜다.

  1. Root
    가장 최상위에 위치해있다. 실제로 주소엔 . 이 있으나, 생략된 형태로 사용해도 무방하다.

  2. TLD (Top-Level Domain, 최상위 도메인)
    도메인 레벨 중에 가장 높은 단계에 있는 도메인으로, 도메인의 목적, 종류, 국가를 나타낸다.
    .com , .org , .net 등이 일반적이며, .kr .us 등 특정 국가를 나타내기도 한다.

TLD를 더욱 세분화하여 구분하기도 한다. (아래 TLD 구조를 참고)

  • gTLD: 일반 최상위 도메인 .com , .net 등
  • ccTLD: 국가 코드 최상위 도메인 .kr , .us 등
  • New gTLD: 기존 gTLD 이외에 새롭게 추가된 도메인 형태 .news , .info 등 → 기존 gTLD의 수량적 한계로 새로운 gTLD 탄생
  1. SLD (Second-Level Domain, 차상위 도메인)

‘www.google.co.kr’ 처럼 SLD가 존재하는 경우도 있고, ‘www.naver.com’ 처럼 SLD가 존재하지 않고 TLD에서 바로 도메인 이름으로 건너뛰는 경우도 있음

co : 영리 목적의 단체, 기업체
go : 정부 기관
도메인의 성격을 나타낸다.

추가로, com은 commercial을 의미하므로 굳이 co.com 같은 형태로 쓸 필요가 없으며, go.com 같은 경우 의미상 모순을 이루게 됨.

  1. SUB (도메인 이름)
    임의로 지정할 수 있는 사이트의 이름.
    → google, naver, daum 등이 도메인 이름 부분

  2. www (호스트 명)
    world wide web의 약자로, 도메인 네임에 포함되지 않는 ‘호스트명’이다.
    SLD은 쓸 수도, 생략할 수도 있기 때문에 도메인 구조를 단계로 나눴을 때,
    ‘www.google.co.kr’ 처럼 3단계 구조일수도 있고
    ‘www.naver.com’ 처럼 2단계 구조가 될 수도 있다.

DNS (Domain Name System)란 무엇일까?

사전적 정의는 도메인 네임 시스템(Domain Name System)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발된 기능이다

예를 들면 우리가 자주 접하는 naver.com, google.com 모두 DNS를 가진 DN(Domain Name)이라고 할 수 있다.

DNS의 작동원리

위 그림은 DNS가 어떻게 작동되는지 보여준다.

  1. 웹 브라우저에 www.naver.com을 입력하면 먼저 Local DNS에게 "www.naver.com"이라는 hostname"에 대한 IP 주소를 질의하여 Local DNS에 없으면 다른 DNS name 서버 정보를 받음(Root DNS 정보 전달 받음)

Root DNS (루트 네임서버) 란? 인터넷의 도메인 네임 시스템의 루트 존이다. 루트 존의 레코드의 요청에 직접 응답하고 적절한 최상위 도메인에 대해 권한이 있는 네임 서버 목록을 반환함으로써 다른 요청에 응답한다. 전세계에 961개의 루트 DNS가 운영되고 있다.

  1. Root DNS 서버에 "www.naver.com" 질의

  2. Root DNS 서버로 부터 "com 도메인"을 관리하는 TLD (Top-Level Domain) 이름 서버 정보 전달 받음

TLD는 .com을 관리하는 서버를 칭한다.

4.TLD에 "www.naver.com" 질의

5.TLD에서 "name.com" 관리하는 DNS 정보 전달

6."naver.com" 도메인을 관리하는 DNS 서버에 "www.naver.com" 호스트네임에 대한 IP 주소 질의

7.Local DNS 서버에게 "응! www.naver.com에 대한 IP 주소는 222.122.195.6 응답

8.Local DNS는 www.naver.com에 대한 IP 주소를 캐싱을 하고 IP 주소 정보 전달

TLD의 구조


최상위 ICANN 아래에 REGISTRY, NIC이 있고 REGISTRY 아래에 우리가 흔이 보는 gTLD 그리고 new gTLD가 있고 NIC아래에는 공공사이트에서 쓰는 ccTLD 도메인 주소가 있다.

References (참고 자료)

0개의 댓글