웹 브라우저를 통해 특정 사이트에 접속 할때,
IP주소
를 대신하여 사용하는 주소가 있다.
만약 예를들어 IP주소
가 지번 또는 도로명주소
라면,
Domain(도메인) name
은 해당 주소에 위치한 상호(아파트나 상가 이름)
으로 볼 수 있다.
더 쉽게 예를 들면 ->
택시를 타고 갈때 기사님께 서울 노원구 00로 000 이라는 도로명 주소
로 가달라고 요청하면 문제없이 갈 수있긴하다.
하지만 도로명 주소 특성상 주소자체가 상당히 길고, 주소지만 보면 어떤 곳이고 어떤 건물인지 파악하는건 어렵다.
이러한 도로명 주소를 대신하여 서울 노원구 000아파트로 가주세요!
라고만 요청해도 문제없이 목적지에 갈 수 있다.
이와 같이 Domain(도메인) name
을 이용하면 한눈에 파악하기 힘든 IP주소
를 보다 분명하고 쉽게 나타낼 수 있다.
터미널
에 도메인 이름을 통해 IP주소를 확인
하는 명령어 nslookup
으로 naver.com 의 IP주소를 확인할 수 있다.
www.naver.com
에서 www
는 host name
이라고 불린다. naver.com 만 도메인이름이다.
->
nslookup naver.com
223.130.200.107
은 IP주소
이고,
naver.com
은 Domain(도메인) name
이다.
네트워크 상에 존재하는 모든 PC는 IP주소가 있다.
그러나 모든 IP주소가 도메인 이름을 가지는 것은 아니다.
로컬PC를 나타내는 127.0.0.1 은 localhost로 사용할 수 있지만,
-> (터미널에 nslookup localhost 로 도메인을 이용하여 IP주소 확인하는 명령어 치면 IP주소 나옴!)
그 외의 모든 도메인 이름은 일정 기간 동안 대여하여 사용한다.
그렇다면 이렇게 대여한 도메인 이름과 IP주소는 어떻게 매칭할까??
브라우저의 검색창에 도메인이름을 입력하여 해당 사이트로 이동하기 위해서는, 해당 도메인 이름과 매칭된 IP 주소를 확인하는 작업이 반드시 필요하다.
네트워크에는 이것을 위한 서버가 별도로 있다.
DNS는 Domain Name System 의 줄임말로 ,
호스트의 도메인 이름을 IP주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템이다.
만약 브라우저 검색창에 naver.com을 입력한다면, 이 요청은 DNS에서 IP주소를 찾는다.
그리고 이 IP주소에 해당하는 웹 서버로 요청을 전달하여 클라이언트와 서버가 통신할 수 있도록 한다.
-> 우리가 어떤 웹사이트에 접속하려고한다
내 컴퓨터에 있는 브라우저가 그 사이트를 제공하는 서버에 요청을 해가지고 데이터들을 받아와야하는 것이다.
근데 그럴려면 그 서버의 IP주소를 알아야 한다.
누구한테 연락하려면 전화번호를 알아야하는 것 처럼!
근데 우리가 사이트마다 이런거를 다 외울 수가 없으니까
도메인 (주소) : naver.com
IP주소 (전화번호부): 223.130.195.200
전화번호부같은걸 만들어가지고 외우기 쉬운
도메인(주소)들로 접속을 하는것이다.
여기서 이 전화번호부는 어디에있을까??
그런 정보들이 저장되는 곳이 바로
DNS
이다.