DNS 작동방식

 

 

DNS는 도메인 이름 시스템(Domain Name System)의 약자로, 사람이 이해하기 쉬운 도메인 이름(예: yahoo.com)을 컴퓨터가 이해할 수 있는 IP 주소로 변환해주는 시스템입니다. 

 

우리가 웹 브라우저에 웹사이트 주소를 입력할 때, 컴퓨터는 그 주소를 숫자로 된 IP 주소로 변환해야만 해당 웹사이트의 서버와 통신할 수 있습니다.

 

이 과정에서 DNS가 핵심 역할을 합니다.

작동 순서는 다음과 같습니다:

1. 도메인 이름을 입력하면(예: yahoo.com), DNS 서버가 데이터베이스에서 해당 도메인 이름과 일치하는 IP 주소를 찾습니다.
2. 이제 사용자의 컴퓨터는 해당 IP 주소를 가진 서버와 통신이 가능해지며, 웹페이지를 찾을 수 있게 됩니다.

더 자세히 설명하자면:

1. yahoo.com에 대한 검색을 시작할 때, 만약 브라우저나 운영체제가 가지고 있는 캐시 메모리에서 IP 주소를 찾지 못한다면, resolver server로 쿼리를 보냅니다. resolver server는 기본적으로 인터넷 서비스 제공업체(ISP)나 인터넷 제공기기(공유기)입니다. resolver server가 쿼리를 받으면 자신의 캐시 메모리를 확인합니다.

2. 여기에서도 찾지 못한다면, 다음 단계인 root server로 넘어갑니다. root server는 DNS 계층에서 가장 높은 위치에 있으며, 전 세계에 전략적으로 배치된 13세트의 root server가 있습니다. root server는 도메인의 IP 주소를 알지 못하지만, resolver가 IP 주소를 찾는 데 도움을 줄 수 있습니다.

이를 위해 root server는 .com 도메인의 TLD 서버에 resolver를 연결시킵니다. TLD 서버는 최상위 도메인(예: .com, .net, .org 등)에 대한 주소 정보를 저장합니다. 이 특정 TLD 서버는 .com 도메인을 관리합니다.

TLD 서버가 yahoo.com의 IP 주소를 위한 쿼리를 받았을 때, 이제 TLD는 resolver를 마지막 단계인 권한 있는 네임서버에 연결해 줍니다. 네임 서버는 모든 도메인(IP 주소를 포함한)을 알고 있어야 하는 최종 권한입니다.

권한 있는 네임서버가 resolver에게 쿼리를 받았을 때, 해당 네임서버는 yahoo.com에 대한 IP 주소를 반환합니다. 그러면 resolver는 사용자의 컴퓨터에게 yahoo.com에 대한 IP 주소를 전달해 주며, 사용자의 컴퓨터는 이제 yahoo.com 페이지를 검색할 수 있게 됩니다.

중요한 점은 resolver가 한 번 IP 주소를 받으면 캐시 메모리에 저장해두어, 만약 yahoo.com에 대한 요청이 다시 온다면 위와 같은 단계들을 다시 거치지 않아도 된다는 것입니다. 

참고:


[1] velog - [DNS] 도메인 네임 시스템이란? (https://velog.io/@tngustkdehs/DNS-%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84-%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%B4%EB%9E%80)
[2] 하나몬 - DNS란? (도메인 네임 시스템 개념부터 작동 방식까지) (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/)
[3] velog - DNS는 어떤 순서와 원리로 작동할까? (https://velog.io/@cmsskkk/DNS%EB%8A%94-%EC%96%B4%EB%96%A4-%EC%88%9C%EC%84%9C%EC%99%80-%EC%9B%90%EB%A6%AC%EB%A1%9C-%EC%9E%91%EB%8F%99%ED%95%A0%EA%B9%8C)
[4] NordVPN - DNS란 무엇인가요? 어떻게 작동하나요? (https://nordvpn.com/ko/blog/dns-explained/) 

 

'네트워크' 카테고리의 다른 글

프록시 서버  (0) 2024.04.12
CDN 작동 방식  (0) 2024.04.12
쿠키 | 세션  (0) 2024.04.12
REST API  (0) 2024.04.12