본문 바로가기

Programming

DNS란?

※ DNS란 무엇인가?


● DNS란 인터넷 이용을 하는 데이 있어서 IP보다 외우기 쉬운 도메인 이름으로

    사용자가 보다 편하게 인터넷을 이용하기 위한 서버이다.


● 예를 들어 설명한다면 우리가 알고있는 네이버의 주소명은 www.naver.com 이다.

    허나 해당 주소는 http://211.234.241.148 을 입력하여 접속해도 똑같이 네이버에 접속이 된다.

    이와 같이 사용자들에게 편리함을 주기 위해 www.naver.com 이라는 도메인이 사회적으로

    많이 확산되어 있다.


※ DNS의 동작


① PC에서 네이버의 IP를 PC로 설정된 DNS 로 IP 요청


② 로컬 DNS에 해당되는 정보다 없다면 ROOT DNS SERVER에 IP 요청


③ ROOT DNS는 DNS에게 네이버의 상위 DNS인 COM에게 DNS 의 IP 요청


④ DNS는 ROOT DNS에게 전송 받은 COM DNS의 IP로 네이버의 IP를 재요청


⑤ COM DNS는 하위에 있는 DNS인 네이버 DNS의 IP를 DNS에 전달


⑥ DNS는 COM DNS에게 전달 받은 네이버 DNS의 IP로 네이버의 IP를 재요청


⑦ 네이버 DNS는 자신의 ZOOM 파일에 있는 웹 호스티 IP를 DNS에 전달


⑧ DNS는 전달받은 IP를 PC로 전달


⑨ 해당 웹 서버 접속 승인


※ DNS 패킷 분석



● 클라이언트가 DNS 서버에게 정형화된 chrissanders.org의 IP를 질의함

● 상세 내용을 본다면 TYPE A는 정형화된 주소, 클래스 IN은 DNS 도메인 이름에 지정된 클래스



● Domain 서버가 클라이언트에게 정형화된 요구 주소를 발신함.

● 상세히 보면 Type A는 정형화된 주소, 클래스 IN은 인터넷 클래스, Addr은 IP주소라는 내용을 확인할 수 있음

● 이 후 HTTP 프로토콜로 인터넷에 접속