본문 바로가기
IT지식

DNS란 무엇일까? -Softeasy

by cocogugu 2023. 6. 4.
반응형

DNS(Domain Name System)는 인터넷 전화번호부입니다. 사람은 nytimes.com 또는 espn.com과 같은 도메인 이름을 통해 온라인으로 접속하는데 웹 브라우저는 인터넷 프로토콜(IP) 주소를 통해 상호작용합니다. DNS는 브라우저가 인터넷 자원을 로드할 수 있도록 도메인 이름을 IP 주소(예: 192.168.1.1)로 변환합니다.

인터넷에 연결된 각 기기에는 다른 컴퓨터가 기기를 찾는 데 사용하는 고유한 IP 주소(예: 192.168.1.1)가 있습니다. DNS 서버를 사용하면 사람이 192.168.1.1(IPv4의 경우)과 같은 IP 주소 또는 2400:cb00:2048:1::c629:d7a2(IPv6의 경우)처럼 영문과 숫자로 된 복잡한 IP 주소를 기억할 필요가 없습니다.

DNS는 어떻게 작동하나요?

DNS 확인 프로세스에는 호스트 이름(예: www.example.com)을 컴퓨터 친화적인 IP 주소(예: 192.168.1.1)로 변환하는 과정이 포함됩니다. IP 주소는 인터넷의 각 기기에 할당되며, 적절한 인터넷 기기를 찾기 위해서는 IP 주소가 필요합니다. 사용자가 어떤 웹페이지를 로드하려고 할 때에는 사용자가 웹브라우저에 입력한 내용(예: example.com)을 example.com 웹페이지를 찾는 데 필요한 컴퓨터 친화적 주소로 변환해야 합니다. 

 

웹 페이지로드와 관련된 4 개의 DNS 서버가 있습니다.

  • DNS 리커서 - 리커서는 도서관의 어딘가에서 특정한 책을 찾아달라고 요청받는 사서로 생각할 수 있습니다. DNS 리커서는 웹 브라우저 등의 애플리케이션을 통해 클라이언트 컴퓨터로부터 쿼리를 받도록 고안된 서버입니다. 일반적으로, 리커서는 클라이언트의 DNS 쿼리를 충족시키기 위해 추가 요청을 수행합니다.
  •  
  • 루트 이름 서버 - 루트 서버는 사람이 읽을 수 있는 호스트 이름을 IP 주소로 변환(확인)하는 첫 번째 단계입니다. 도서관에서 책장 위치를 가리키는 색인으로 생각할 수 있으며, 일반적으로 다른 더욱 특정한 위치에 대한 참조로 사용됩니다.
  •  
  • TLD 이름 서버 - TLD(최상위 도메인) 서버는 도서관의 특정 책장으로 생각할 수 있습니다. 이 이름 서버는 특정 IP 주소 검색의 다음 단계이며 호스트 이름의 마지막 부분을 호스팅합니다(example.com에서 TLD 서버는 “com”입니다).
  •  
  • 권한 있는 이름 서버 - 최종 이름 서버로서, 책장에 있는 사전처럼 특정 이름을 해당 정의로 변환합니다. 권한있는 이름 서버는 이름 서버 쿼리의 종착점입니다. 권한있는 이름 서버가 요청한 레코드에 대한 액세스 권한이 있다면, 요청한 호스트 이름의 IP 주소를 초기 요청을 한 DNS 리커서(사서)에게 돌려 보냅니다.

권한 있는 DNS 서버와 재귀 DNS 확인자의 차이점은 무엇입니까?

두 개념은 모두 DNS 인프라에 통합된 서버(서버 그룹)를 나타내지만, 각각 다른 역할을 수행하며 DNS 쿼리 파이프라인 내부의 다른 위치에 있습니다. 차이점에 대해 생각하는 한 가지 방법은, 재귀 확인자는 DNS 쿼리의 시작 부분에 있고 권한 있는 이름 서버는 끝부분에 있다는 것입니다.

재귀 DNS 확인자

재귀 확인자는 클라이언트의 재귀 요청에 응답하고 DNS 레코드를 추적하는 데 시간을 투자하는 컴퓨터입니다. 요청한 레코드에 대해, 권한있는 DNS 이름 서버에 도달할 때까지 일련의 요청을 하는 방식으로 이를 수행합니다(또는 레코드가 없으면 시간 초과되거나 오류를 반환). 다행히 재귀 DNS 확인자가 클라이언트에 응답하는 데 필요한 레코드를 추적하기 위해 항상 다수의 요청을 해야 하는 것은 아닙니다. 캐싱은 DNS 조회 초기에, 요청한 자원 레코드를 제공하여 필요한 요청을 단락시키는 데 도움이 되는 데이터 지속성 프로세스입니다.

 

권한 있는 DNS 서버

간단히 말해서, 권한 있는 DNS 서버는 실제로 DNS 리소스 레코드를 보유하고 담당하는 서버입니다. 이 서버는 쿼리한 자원 레코드로 응답하는 DNS 조회 체인의 맨 아래에 있는 서버로, 궁극적으로 웹 브라우저가 웹사이트 또는 다른 웹 자원에 액세스하는 데 필요한 IP 주소에 도달하도록 요청할 수 있게 합니다. 권한 있는 이름 서버는 특정 DNS 레코드의 최종 원천이므로 다른 원천을 쿼리할 필요없이 자체 데이터의 쿼리를 충족시킬 수 있습니다.

 

DNS 조회의 8단계:

  1. 1. 사용자가 웹 브라우저에 'ex.com'을 입력하면, 쿼리가 인터넷으로 이동하고 DNS 재귀 확인자가 이를 수신합니다. 
  2.  
  3. 2. 이어서 확인자가 DNS 루트 이름 서버(.)를 쿼리합니다.
  4.  
  5. 3. 다음으로, 루트 서버가, 도메인에 대한 정보를 저장하는 최상위 도메인(TLD) DNS 서버(예: .com 또는 .net)의 주소로 확인자에 응답합니다. ex.com을 검색할 경우의 요청은 .com TLD를 가리킵니다.
  6.  
  7. 4.  이제, 확인자가 .com TLD에 요청합니다.
  8.  
  9. 5. 이어서, TLD 서버가 도메인 이름 서버(ex.com)의 IP 주소로 응답합니다.
  10.  
  11. 6. 마지막으로, 재귀 확인자가 도메인의 이름 서버로 쿼리를 보냅니다.
  12.  
  13. 7. 이제, ex.com의 IP 주소가 이름 서버에서 확인자에게 반환됩니다.
  14.  
  15. 8. 이어서, DNS 확인자가, 처음 요청한 도메인의 IP 주소로 웹 브라우저에 응답합니다.
  16.  
  17. DNS 조회의 8단계를 거쳐 ex.com의 IP 주소가 반환되면, 이제 브라우저가 웹 페이지를 요청할 수 있습니다.
  1. 9.  브라우저가 IP 주소로 HTTP요청을 보냅니다.
  2.  
  3. 10.  해당 IP의 서버가 브라우저에서 렌더링할 웹 페이지를 반환합니다(10단계).
반응형

'IT지식' 카테고리의 다른 글

[Ionic]하이브 프레임워크 Ionic 이란?  (0) 2023.10.10
[git]merge/commit/checkout 사용법  (0) 2023.08.24
[Git]revert 한 branch 다시 merge 하는 법  (0) 2023.08.23
IFrame 이란? -softeasy-  (0) 2023.05.17
WebSocket(웹소켓)이란?  (0) 2023.05.15

댓글