DNS란 무엇인가?
●DNS란 무엇인가?
- IP 주소는 변환될 수 있으며, 기억하기 어렵기 때문에 대부분의 웹 서비스는 도메인 주소를 사용하며, DNS(Domain Name System) 는 도메인 주소에 대응되는 원격 호스트 IP 주소를 관리하고 질의할 수 있는 시스템 혹은 이를 이용하기 위한 프로토콜을 의미하며 DNS 시스템 내에서 도메인 주소를 관리하는 서버들을 네임 서버라고 부르며, 계층적인 형태로 존재
●DNS 질의 과정
- DNS를 이용해 IP 주소를 찾는 과정에는 로컬 네임 서버, 루트 네임 서버, TLD 네임 서버, 권한 네임 서버가 있음
1.로컬 네임 서버(Local Name Server) : 통신사 DNS, 구글 DNS 처럼 클라이언트와 가장 가까이 존재하는 네임 서버
2.루트 네임 서버(Root Name Server) : 루트 도메인을 관리하는 서버이며, TLD 네임 서버의 주소를 알고 있음
3.TLD 네임 서버(Top-level Domain Server) : .com, .kr, .net을 관리하는 네임 서버
4.권한 네임 서버(Authoriative Name Server) : 네트워크를 운영하는 기관에서 보유하고 있는 도메인을 관리하는 네임 서버이며, ex) .maeil-mail.kr을 관리하고, api.maeil-mail.kr, mail.maeil-mail.kr 의 정보를 관리하는 네임 서버
●api.maeil-mail.kr의 IP 주소를 찾는 과정
- 가장 먼저 클라이언트는 로컬 네임 서버에 api.maeil-mail.kr의 IP 주소를 질의하며 만약, 로컬 네임 서버에서 값을 찾지 못했다면 로컬 네임 서버는 루트 네임 서버에게 IP 주소를 물어보며 요청을 받은 루트 네임 서버는 .kr TLD 네임 서버 주소를 응답하며 이를 받은 로컬 네임 서버는 .kr TLD 네임 서버에 다시 요청을 보내고, maeil-mail.kr 권한 네임 서버의 주소를 응답 받으며 최종적으로 로컬 네임 서버는 권한 네임 서버에서 api.maeil-mail.kr IP 주소를 받아서 클라이언트에게 응답