[Web] DNS(도메인 네임 시스템)란 무엇인가? + 사용하는 이유
- Web/Web Programming
- 2023. 12. 16.
도메인 네임 시스템(Domain Name System)이란?
DNS는 도메인 네임 시스템 - Domain Name System의 약자로 도메인(www.naver.com)을 IP 주소(192.168.0.1)로 변환하는 시스템입니다. 인터넷에서 통신할 때, 클라이언트는 IP 주소를 사용하여 서버와 통신하게 되는데 사용자는 IP 주소를 일일이 기억하기 어려우므로, DNS 서버에 해당 도메인에 IP 주소를 매핑하여 도메인 입력만으로도 IP주소를 찾을 수 있도록 하는 것입니다.
도메인 네임 시스템(Domain Name System)을 사용해야 하는 이유
기억하기 어려운 IP 주소를 기억하기 쉬운 도메인으로 관리할 수 있다.
네이버 : 223.130.200.104
구글 : 142.250.199.78
DNS 서버를 사용하는 가장 큰 이유는 IP주소를 일일이 기억하기가 어렵기 때문입니다. cmd 명령 프롬프트를 켠 뒤 "nslookup 도메인명" 명령어를 입력해 봅시다. 그럼 위와 같이 입력한 도메인의 IP 주소(223.130.200.104)가 나오는데요. 이 IP를 주소창에 입력해도 네이버 사이트가 뜨는 것을 볼 수 있습니다. 원래는 이렇게 IP주소를 통해 네이버 사이트를 띄워야 합니다. 하지만 이 IP주소를 일일이 기억하기가 쉽지 않죠. 그래서 도메인이라는 시스템을 도입해서 IP주소와 매핑을 해주는 것입니다. 그러면 우리는 주소창에 naver.com이라는 도메인만 입력해도 네이버에 접속할 수 있게 됩니다.
IP 주소가 바뀌더라도 바뀐 IP를 다시 알아야 할 이유가 없어진다.
IP 주소는 고정값이 아닙니다. 네트워크 환경에 따라 얼마든지 달라질 수 있습니다. 네이버의 경우에도 장비교체등으로 인해 언제든지 IP주소가 바뀔 수 있습니다. 만약 실제로 IP 주소가 바뀌면 기존 IP로는 네이버에 접근을 못하게 되겠죠. 그래서 IP주소가 바뀔때마다 사용자에게 매번 공지를 해줘야 할 것입니다. 사용자 입장에서는 공지를 못 볼 수도 있고 새로운 IP주소를 외워야 하는 등 상당히 번거롭습니다. 하지만 이 DNS 서버가 있기 문에 naver.com 도메인에 매핑된 IP 주소만 바꾸면 간단히 해결할 수 있는 문제가 됩니다.
DNS 서버의 동작 순서
사용자가 네이버에 접속한다고 가정하고 DNS서버가 어떻게 동작하는지 확인해보겠습니다.
도메인 주소 입력
사용자가 웹 브라우저에 접속하기 위해 도메인 이름을 입력합니다. 네이버에 접속해야 하니 네이버 도메인 www.naver.com을 주소창에 입력해야 합니다.
로컬 DNS 검색
운영체제에는 로컬 DNS 캐시라는 게 있고 이 캐시에는 최근에 방문한 도메인 IP 주소가 저장되어 있습니다. 먼저 로컬 캐시에서 네이버 도메인을 찾아봅니다. 만약 로컬 DNS 캐시에 네이버 도메인이 있다면 매핑되는 IP 주소를 주고 끝냅니다.
로컬 호스트 파일 검색
만약에 로컬 DNS 캐시에 네이버 도메인이 존재하지 않는다면 운영체제는 로컬 호스트 파일을 확인합니다. 호스트 파일은 사용자의 컴퓨터에 저장된 IP 주소와 도메인 이름의 매핑 정보를 담고 있습니다.
루트 DNS 서버 조회
로컬 DNS 캐시와 호스트 파일에서도 IP 주소를 찾을 수 없으면, 이제 인터넷 망에 존재하는 DNS 서버에 요청을 보내야 합니다. 사용자의 컴퓨터 인터넷에 연결돼 있는 DNS 서버에 네이버(www.naver.com)의 IP주소 요청 쿼리를 보냅니다. 그러면 .com 정보를 등록하고 있는 톱 레벨 도메인(TLD)에 문의하라고 TLD의 IP주소를 알려줍니다.
톱 레벨 도메인(TLD) DNS 서버 조회
루트 DNS 서버는 톱 레벨 도메인(TLD) DNS 서버의 IP 주소를 제공하여 접속할 수 있게 해 줍니다. 톱 레벨 도메인은 도메인 이름의 가장 오른쪽에 위치하는 부분을 뜻합니다. 예를 들어 ".com", ".net", ".kr" 등이 해당됩니다. 이 톱 레벨 도메인(TLD) DNS서버에서 네이버 도메인이 등록되어 있는 DNS 서버의 IP 주소를 획득합니다.
DNS 서버에서 IP 주소를 받음
네이버가 등록되어 있는 DNS서버에 접속합니다. 이 DNS 서버는 최종적으로 네이버 도메인에 대한 IP주소를 사용자의 컴퓨터로 반환해 줍니다. 이 IP주소로 네이버 사이트에 접속합니다.
로컬 DNS 캐시 업데이트
최종적으로 반환받은 네이버의 IP 주소는 로컬 DNS 캐시에 저장되어, 이후에 동일한 도메인에 대한 쿼리가 있을 경우 더 빠르게 응답할 수 있도록 해줍니다.
'Web > Web Programming' 카테고리의 다른 글
[Web] HTTP 요청 메서드(Method) 정리 (GET, POST, PUT, PATCH, DELETE) (0) | 2023.12.24 |
---|---|
[Web] URI, URL, URN의 정의와 차이점에 대하여 (3) | 2023.12.19 |
[Web] 네트워크 포트(PORT)번호란 무엇인가? (0) | 2023.12.14 |
[Web] 구글 Chrome SameSite 이슈에 대하여 (크롬 80) (0) | 2022.07.06 |