본문 바로가기
IT이야기/CS 지식

DNS(Domain Name System)란?

by 행복찾아3만리 2023. 1. 21.
반응형

안녕하세요. 이번 글에서는 DNS(Domain Name System)에 대해 정리해 드리도록 하겠습니다.

1. 인터넷에 연결된 컴퓨터들을 host라고 합니다.

2. host와 host가 서로 통신을 하기 위해서는 주소가 필요합니다. 이때 필요한 주소가 IP 주소입니다. 모든 인터넷을 참여하는 컴퓨터는 IP를 가지고 있습니다.

3. IP 주소를 기억하기 어려워 Jon Postel과 Paul Mockapetris에 의해 DNS(Domain Name System)이 만들어집니다.

4. DNS의 핵심은 DNS Server입니다.

5. DNS Server에는 수많은 IP주소의 Domain Name이 저장되어 있어 Domain으로 검색을 하면 해당 IP를 가져올 수 있습니다.
ex) 우리 컴퓨터에서 www.naver.com을 검색하면 DNS Server에서 해당 IP를 가지고 와 해당 IP로 접속을 시도합니다.

6. 이제 실제 우리가 웹브라우저에서 URL을 검색하면 어떻게 작동하는지 알아보도록 하겠습니다.

7. 우리 컴퓨터에 웹브라우저에 www.naver.com을 입력하면 제일 처음 우리 컴퓨터의 hosts 파일을 검색합니다.(어떤 OS든 Hosts 파일이 있습니다.)

※ 윈도우 hosts 위치: %SystemRoot%\System32\drivers\etc\hosts

※ Unix, Linux, iOS, Android hosts 위치 : /etc/hosts

 

8. hosts 파일에 접속하고자 하는 도메인의 IP가 있으면 DNS Server에 접속하지 않고 해당 IP에 접속을 할 수 있습니다.

ex) hosts 파일에 10.123.124.12 www.naver.com라고 등록되어 있으면 www.naver.com을 검색하여  10.123.124.12로 접속을 하게 됩니다.

 ※ 해커가 hosts 파일을 몰래 변경해 버린다면 어떻게 될까요? 위에 예를 들었던 10.123.124.12 www.naver.com을 다른 IP주소로 변경해 버리면 해커가 원하는 위치로 접속이 되게 됩니다.

10. 그런데 hosts에는 대부분 IP가 적혀있지 않습니다. 그래서 두 번째로는 기존에 접속했던 기록이 저장된 캐시를 검색해서 IP를 가져옵니다.

 

11. 캐시에도 저장된 게 없으면 이제부터 DNS Server에 질문을 시작합니다.

※ 컴퓨터에 인터넷을 연결하는 순간 통신사(ISP, Internet Service Provider)에 의해 자동으로 DNS Server 위치를 알게 됩니다. (동적으로 IP 할당하는 DHCP(Dynamic Host Configuration Protocol) 기술을 따로 검색해 보기.)

※ 자동이 아닌 수동으로 DNS Server를 선택할 수도 있습니다.

 

12. DNS Server에 질문이 들어오면 DNS Server는 자기가 알고 있는 IP 주소에 대해 응답을 해주게 됩니다.

※ DNS Server는 한대가 아니라 여러 대가 계층적 구조로 협업하여 IP주소를 알려주게 됩니다.

 

13. DNS Server 구조

(Root.(콤마)는 생략 가능)

DNS Server 종류 기능
Root Top-Level Server들의 NS 정보 가지고 있습니다.
Top-Level Second-Level Server들의 NS 정보 가지고 있습니다.
Second-Level Sub Server들의 NS 정보를 가지고 있습니다.
Sub 접속하고자 하는 IP를 가지고 있습니다.

ex) 

- 모든 컴퓨터들은 Root Name Server의 IP를 알고 있습니다.

- Root Name Server가 com을 전담하는 Top-Level Server를 알려줍니다.

- Top-Level Server는 naver.com를 담당하는 Second-Level Server를 알려줍니다.

- Second-Level은 blog.naver.com을 담당하는 Sub Server를 알려줍니다.

 

14. CNAME

CNAME을 설명하기 전에 A Record라는 것을 설명드리도록 하겠습니다. A Record는 앞에서 설명한 단순 IP 맵핑입니다. DNS 서버에 도메인주소를 요청하면 IP를 리턴해주는 것이 A Record입니다. 

CNAME(Canonical Name) 같은 경우에는 도메인 주소를 다른 도메인 주소로 맵핑시켜 주는 것을 말합니다.

Record 도메인 주소  
A www.naver.com 192.111.1.0
CNAME www.naver.com dev.naver.com

- CNAME 장점 : IP주소가 자주 변경되는 환경에서 유연하게 대응할 수 있습니다.

- CNAME 단점 : A  Record 보다 실제 IP 주소를 얻을 때까지 여러 번 DNS 정보를 요청해야 하기에 성능 저하가 나타날 수 있습니다.

GLBS, CDN에 대해 검색해 보기

반응형

댓글