brunch

You can make anything
by writing

C.S.Lewis

by swimjiy Jun 05. 2020

[해치지 않는 웹] 4. DNS

우리가 www.brunch.co.kr로 브런치에 오는 이유

어디로 가야 하죠 아저씨


김연우가 부른 "이별택시"의 가사 중 일부입니다. 개인적으로 이별 후 심리적 목적지와 물리적 목적지 모두를 잃어버린 화자의 심리가 잘 담긴 노래라고 생각합니다.

뜬금없이 노래 가사를 가져온 이유는 만약 DNS가 없는 세상에서 우리의 심정이 딱 저 노랫말과 같을 것이라 생각했기 때문입니다. 브런치에 가고 싶은데 브런치 주소가 뭔지 몰라 헤매는 상황... 슬프지 않나요.

이처럼 미아가 될 뻔한 우리들을 대신해 갈 곳을 알려주는 고마운 친구, DNS에 대해 알아보도록 하겠습니다.






길을 찾아봅시다.


가령 우리가 길을 찾을 때, 건물명이나 가게명이 아니라 주소로만 찾을 수 있다고 생각해봅시다. 집이나 자주 가는 장소인 경우는 평소에 외우고 다니겠죠. 하지만 예술의 전당이나 남산 한옥마을처럼 가끔 가는 장소까지 우리가 모두 기억할 수 있을까요?


일단 저는 기억을 못 합니다.


때문에 우리는 보통 이동할 때 카카오맵과 같은 지도 어플을 이용합니다. 관광 명소, 프랜차이즈, 심지어는 동네 카페까지 이름만 치면 자동으로 주소를 찾아와서 경로를 보여주는 고마운 앱이죠.

이때 웹 주소로 보면 예술의 전당, 남산 한옥마을처럼 우리가 입력하는 장소명은 도메인, 실제 그 장소명이 위치한 주소가 IP입니다. 둘 다 어디서 조금씩 들어본 용어죠?






고유한 주소, IP


한 주소에 2개의 건물이 있을 수 없습니다. 심지어 아파트만 하더라도 동, 호가 다르니까요. 이처럼 컴퓨터, 스마트폰 등 인터넷 장치 각각을 식별할 수 있는 고유한 주소를 IP (Internet Protocol)라고 합니다. 

IP주소는 보통 이런 식으로 생겼습니다.

93.184.216.34
255. 255. 255. 1

점을 기준으로 네 마디로 나뉘어있고, 각 마디 안에는 0~255의 숫자가 들어갈 수 있습니다. 따라서 경우의 수로 따지면 최대 4,294,967,296개의 고유한 주소를 부여할 수 있습니다.


IP 주소는 다양한 곳에서 활용되고 있습니다. 최근 이슈가 되었던 n번방처럼 범죄자 추적에 사용되기도 하고, 코로나19로 인해 온라인으로 시험을 치는 경우에는 동일한 IP를 사용하고 있는지 확인하여 부정행위를 막기도 합니다.


참고로 위에서 언급한 IP 형태는 IPv4이고, IPv4의 주소 고갈 문제를 해결하기 위해 생긴 IPv6가 있는데 그 차이에 대해서는 다음 IP 포스팅에서 자세히 설명하도록 하겠습니다.






외우기 쉬운 주소, 도메인


도메인은 쉽게 말해 외우기 힘든 IP 대신 사람이 기억하기 쉽게 만든 인터넷 주소를 말합니다. 도메인은 

보통 brunch.co.kr 전체를 묶어 도메인이라고 하지만, 자세히 살펴보면 각 구성요소마다 별도의 이름이 있습니다.


도메인의 구성 요소

점을 기준으로 가장 오른쪽에 있는 도메인이 최상위이며 왼쪽으로 갈수록 하위 도메인입니다. 그리고 최상위 도메인은 크게 kr, us, uk 등 각국을 대표하는 국가 도메인과, 기타 com, net과 같은 일반 도메인으로 나뉩니다.


만약 브런치 도메인을 살펴본다면 다음과 같습니다.

- brunch - 등록명 또는 3단계 도메인
- co - 2단계 도메인
- kr -최상위 도메인 또는 1단계 도메인 & 국가 도메인


다음처럼 도메인 구성 요소가 2개인 경우는 아래처럼 구분할 수 있죠.

- daum - 등록명
- net - 최상위 도메인 & 일반 도메인


참고로 https://brunch.co.kr/@swimjiy/7 라는 주소에서 /@swimjiy/7 처럼 도메인 뒤에 이런저런 경로가 따라붙는 것까지 전부 묶어 URL이라고 합니다.






DNS

사실 우리가 어떤 사이트로 접근하기 위해서는 IP주소가 필요합니다. 그러나 우리가 브런치에 올 때만 해도 IP가 아닌 www.brunch.co.kr를 치고 왔죠.

이 마법 같은 일을 해주고 있는 시스템이 바로 DNS입니다.


DNS(Domain Name System)는 도메인 주소를 IP 주소로 변환해주는 역할을 하는 시스템입니다. 그리고 이러한 변환 시스템을 운영하고 있는 서버를 DNS 서버, 또는 네임서버라고 합니다. 이 DNS 서버에 요청이 들어오면 도메인 주소와 연결되어 있는 IP 주소를 찾아서 응답하지요.


한 번 전체적인 과정을 살펴볼까요?


먼저 일반 사용자, 즉 호스트는 원하는 도메인을 브라우저에 입력합니다. 우리의 컴퓨터는 보통 DNS 서버의 IP를 기억하고 있는데, 따라서 입력받은 뒤 DNS 서버의 IP로 아까 받았던 도메인 주소를 전달합니다.


그럼 DNS 서버는 평소에는 수많은 도메인 이름들을 기억하고 있다가, 어떤 호스트에게서 요청이 들어오면 받은 도메인이 가리키고 있는 IP 주소를 찾아서 반환합니다.


그 결과 호스트는 받은 IP 주소와 일치하는 서버에 접근할 수 있게 됩니다.






마무리

DNS 덕분에 우리는 일일이 IP를 외우고 다니지 않아도 원하는 사이트에 접근할 수 있게 되었습니다. 오늘까지 벌써 4번째 포스팅인데 웹에 대해 알면 알수록 참 많은 기계(?)들의 도움으로 지금의 편리함을 누리고 있었다는 생각이 문득 듭니다. 물론 그 기계도 사람이 만들었겠지만요.


그럼 다음 포스팅에서 뵙겠습니다.





참고자료

DNS란 무엇입니까? – DNS 소개 - AWS

도메인네임시스템(DNS) - 한국인터넷정보센터(KRNIC)

DNS의 원리 - 생활코딩

   

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari