1. Domain

앞의 포스팅에서 말한 대로 세상의 모든 네트워크 통신에는 고유의 주소, 즉 IP 주소가 필요하다.

이때 통신을 주고받는 주체가 되는 네트워크에 연결되어 있는 모든 장치들을 host라고 한다.

 

IP는 사람이 이해하고 기억하기 어렵기 때문에 이를 위해서 각 ip에 부여한 이름이 도메인이다.

예를 들어 210.89.164.90의 도메인은 naver.com이다.

2. DNS

네트워크 통신은 IP 주소를 사용하는데 어떻게 도메인을 가지고 통신을 할 수 있는 것일까?

바로 DNS(Domain Name Server 또는 Domain Name Service 모두를 의미) 덕분이다.

DNS는 숫자로 이루어진 IP 주소와 일정한 형식을 가진 도메인을 서로 매핑시키고 정보를 가지고 있다.

 

예를 들어 네이버에 접속하기 위해 주소창에 도메인(naver.com)을 입력하면,

컴퓨터는 해당 도메인이 연결된 네임서버(DNS)로 가서 서버 IP를 요청한다.

요청받은 네임 서버는 해당 도메인과 연결되어 있는 서버 IP(210.89.164.90)를 찾은 후, 컴퓨터에게 알려준다.

 

이처럼 도메인에 연결된 서버의 주소를 찾아주는 역할이 네임서버(DNS)이다.

 

모든 도메인에는 주인이 있으며, 주인만이 도메인을 제어할 수 있는 권한을 가진다.

도메인 소유자는 터미널에서 whois 명령어를 이용해 확인할 수 있다.

 

브라우저가 도메인에 해당하는 IP를 찾는 순서

위에서 DNS를 설명하며 간단하게 도메인에 해당하는 IP를 찾기 위해 DNS로 간다고 설명하였지만

엄밀히 말하면 바로 DNS로 가지 않고 다음과 같은 순서를 따른다.

 

먼저 local cache 안에 검색한 해당 도메인의 IP가 있는지 확인한다.

이미 해당 도메인을 방문한 적이 있다면 컴퓨터가 해당 도메인의 IP를 기억하고 있으므로 그것을 사용한다.

 

만약 캐시에 없다면 컴퓨터 내부에 파일 형태로 존재하는 hosts 파일을 검색해서 찾는다.

맥 같은 경우는 /etc/hosts에 존재한다.

따라서 해당 hosts 파일에 특정 도메인과 IP를 매핑시켜놓으면 해당 도메인은 지정한 IP로 이동한다.

자세한 방법은 아래 링크에 설명되어있다.

http://www.devkuma.com/books/pages/1191 

 

만약 위의 경우에서 도메인에 대한 IP를 찾지 못하면 최종적으로 DNS를 검색한다.

3. Dynamic DNS

유동 IP에 DNS 주소를 할당하면 IP가 변경되기 전까지는 정상적으로 작동하지만,

IP가 바뀌고 기존 IP를 다른 사용자가 할당받는다면 비정상적으로 작동하게 된다.

이것을 해결하기 위해 나온 기술이 DDNS(Dynamic DNS)이며, IP주소가 변경되게 되면 DNS에 IP를 바뀐 IP로 갱신해준다.

4. Domain vs URL

보통 두 개를 많이 혼용해서 사용하지만

도메인은 서비스가 운영되고 있는 컴퓨터 또는 서버를 식별하기 위한 단위이고,

URL은 서버가 가지고 있는 다양한 콘텐츠들을 식별하기 위한 식별자로 도메인 + 경로로 이루어져 있다.

예를 들어, https://comic.naver.com/webtoon/weekdayList.nhn?week=sat가 있을 때

도메인은 naver.com이고, url은 https://comic.naver.com/webtoon/weekdayList.nhn?week=sat이다.

 

참고: https://opentutorials.org/course/228/1450

 

도메인이란? - 생활코딩

IP란? 인터넷에 연결되어 있는 장치(컴퓨터, 스마트폰, 타블릿, 서버 등등)들은 각각의 장치를 식별할 수 있는 주소를 가지고 있는데 이를 ip라고 한다.  예) 115.68.24.88, 192.168.0.1 도메인(domain)이란? ip는 사람이 이해하고 기억하기 어렵기 때문에 이를 위해서 각 ip에 이름을 부여할 수 있게 했는데, 이것을 도메인이라고 한다. opentutorials.org -> 115.68.24.88 naver.com -> 220.9

opentutorials.org

'Network > basic network' 카테고리의 다른 글

Port란 무엇인가  (0) 2020.01.01
SSH란 무엇인가  (0) 2019.12.30
IP란 무엇인가  (0) 2019.12.28

+ Recent posts