오늘은 DNS에 대해서 알아보겠습니다.
DNS가 웹의 기본 동작과도 연관이 있어서 웹 브라우저 사용시 예를 들어 설명해보겠습니다.
보통 사용자와 웹 브라우저가 클라이언트가 되어 서버에 서비스를 요청(request)하고, 서버는 해당 요청에 대해 응답(response)하여 서비스를 제공해주고 클라이언트가 결과를 출력하는 것이 웹의 기본동작원리입니다.
그리고 우리는 주소창에 원하는 브라우저 도메인 이름을 치면 직접 검색할수도있습니다. 바로 이렇게 말이죠. 제가 브라우저에 www.naver.com을 치게되면
이렇게 네이버 처음 화면이 뜨게 될 것 입니다. 이 과정에서 오늘의 발표주제인 DNS가 안에 스며들어있었습니다.
DNS란 도메인 네임 시스템의 약자로 아까 도메인 이름을 치고 리퀘스트를 보낸 것만으로 처리가 힘들기 때문에 여기서 DNS가 호스트의 IP주소로 변환하거나 그 반대의 변환을 수행합니다.
💡 인터넷상에서 서버를 식별하는 기준은 IP 주소이고, 내가 어떤 사이트를 들어갈지도 모르는데 그 여러 사이트들의 IP주소를 직접 외우고 다니기란 쉽지 않기 때문입니다.
DNS 서버는 아까 설명했듯이 사용자가 도메인 이름을 브라우저에 입력하면, 이름에 대한 요청을 IP 주소로 변환합니다. 쉽게 말하자면 우리가 인터넷을 편리하게 쓰게 해주는 것으로, 영문/한글 주소를 IP 네트워크에서 찾아갈 수 있는 IP로 변환해주는 것 입니다.
그럼 이제 이렇게 변환을 해주는 건 알겠는데 DNS가 어떻게 동작할까요?
사용자는 먼저 도메인 이름을 통해 웹사이트에 접속 요청을 보냅니다
DNS 서버에서 해당 도메인 이름에 연결된 IP 주소로 응답을 보냅니다.
이 과정은 DNS의 동작원리를 간단하게 나타낸 것 입니다. 좀 더 구체화해보겠습니다.
결론 !!
local DNS에선 Local 안에서 한번 확인했다가 없으면 root DNS에게 물어보고 roo DNS에서 com 네임서버의 ip 주소를 local로 보냅니다. Local 로 다시 왔을 땐 응답받은 com 네임서버로 naver.com을 보내게됩니다.