거누의 개발노트
DNS(Domain Name System)? 본문
도메인이라는것은 웹사이트 주소를 말한다.
www.geonoo.com 에서 geonoo.com 이 도메인에 해당한다.
www는 호스트 네임이라고 불리고 www 말고도 mail, shop 과같이 다른 것이 올 수도 있다.
우리가 웹 브라우저에서 네이버라는 웹사이트를 들어가고 싶은데 그러려면 네이버 서버의 IP주소를 알아야한다.
하지만 우리가 전화번호를 다 못 외우듯이 IP주소도 숫자로 되어있기 때문에 외우기는 어렵다.
그래서 아래와 같이 전화번호부 처럼 도메인과 IP주소로 관리를 하는것이다.
도메인 : www.naver.com
IP : 223.130.200.104
그리고 이러한 도메인과 IP들이 저장되어있는 곳을 DNS라고 한다.
예를 들어 내가 AWS에서 구매한 내 컴퓨터를 가비아, 후이즈같은 사이트에서 도메인을 구입해서 연결해주었다고 가정해보자.
내 컴퓨터 브라우저에서 www.geonoo.com 으로 접속하려고 하려고 하면 내 브라우저는 해당 서버의 IP를 모른다.
그러면 브라우저는 PC에 설정된 Local DNS 서버에게 해당 도메인과 IP를 가지고 있는지 물어본다.
Local DNS에 geonoo.com 이라는 주소가 이미 저장되어있을 수도 있고 없을 수도 있다.
주소가 이미 있다면 바로 IP주소를 찾았으니, 접속이 가능하다.
하지만 없다면 Local DNS가 Root DNS 서버에게 geonoo.com 이라는 IP를 어디서 찾을 수 있는지 물어본다.
(Root DNS서버는 전 세계 13개가 있다고 하고 한국에는 없지만 미러 서버가 이를 대신한다고 한다.)
그럼 Root DNS 서버는 먼저 .com 들이 모여있는 DNS 서버의 IP주소를 반환 한다.
그다음 Local DNS 서버는 .com이 모여있는 곳에가서 다시 geonoo.com 이라는 서버가 있는지 물어본다.
그럼 .com DNS서버는 geonoo.com 이 모여있는 DNS 서버 IP를 반환할 것이고 Local DNS 서버는 해당 IP에가서 최종적으로 www.geonoo.com 을 찾을 수 있을 것이다.
그럼 마지막으로 Local DNS 서버가 내 컴퓨터에게 www.geonoo.com의 IP주소를 반환해줄 것이고, 우리는 www.geonoo.com에 접근할 수 있는것이다.
'CS' 카테고리의 다른 글
XSS, CSRF (1) | 2022.06.09 |
---|---|
파일 시스템과 블록 & 파일을 휴지통에 넣을 때... (0) | 2022.06.09 |
객체지향(Object Oriented Programming) 정리 (0) | 2022.06.07 |
작문과 비슷한 프로그래밍 (0) | 2022.06.02 |
자료구조/알고리즘 Dynamic Programming (0) | 2022.06.02 |