CS

DNS와 그 작동원리

Geisha 2024. 9. 27. 04:01

DNS (Domain Name System)

DNS가 도메인 이름 시스템인줄 처음 알았습니다.
이전에 말했듯 인터넷의 모든기기는 IP주소를 통해 서로를 찾고 통신하는데요.

naver.com 치면 될거를 굳이 125.209.222.141 이렇게 치고 들어가면 이거 못외우니까 쉬운 도메인 이름을 기기가 이해할 수 있는 IP주소로 바꾸어주는게 DNS라고 합니다.

naver.com 치면 DNS조회를 통해서 도메인 이름의 IP를 찾는거죠 마치 주소록에서 내친구 김00 전화번호가 뭐더라랑 같은거죠.

사용자가 요청을 하면 Resolver가 로컬 DNS 캐시를 확인해 요청된 도메인 주소가 최근에 이미 다녀와서 저장되어 있는지 확인하고 없다면 ISP의 Root DNS 서버로 전송되어서 물어봅니다.

 

나의 명령을 받은 리졸버 : 야 너 "www.naver.com" IP주소 있냐 
RNS : ㄱㄷ ".com" 관리하는 DNS서버 IP 알려줌 글로가셈

Root DNS 서버로 부터 com 도메인을 관리하는 TLD(Top-Level-Domain)서버주소를 받아서 걔한테 가요 또 물어봅니다.

나의 명령을 받은 리졸버  : 야 너 "www.naver.com" IP주소 있냐 
TLD : ㄱㄷ "naver.com" 관리하는 DNS서버 IP 알려줌 글로가셈

TLD 서버로 부터 naver.com 도메인을 관리하는 서버주소를 받아서 걔한테 요청이 또 가요. 또 물어봅니다.

나의 명령을 받은 리졸버  : 야 너 "www.naver.com" IP주소 있냐 
naver : ㄱㄷ "www.naver.com" IP주소 알려줌 글로가셈  <<= 내가 원했던 것

 

나의 명령을 받은 리졸버 : 야 알아옴 IP 일로가면됨
나 : ㄳ

이렇게 제가 네이버에 접속할 수 있었던 겁니다.

상당히 복잡했었네요. 리졸버가 고생을 많이 했네요.

 

리졸버는 한번 요청했던 주소는 일정 시간동안 캐시에 남겨둬서 다음에 또 주소를 같은것 요청하면 바로 보낼수 있도록 메모해놓는다고 합니다.

DNS 도메인 이름 시스템이 어떻게 작동하는지 잘 알게된 날이었어요.