[몽글이의 과학다반사]

인터넷 주소 URL(Uniform Resource Locator)은 사용자가 인터넷의 자원을 사용하기 위한 주소 체계다. 아주 익숙하게 웹 브라우저를 열고 주소 창에 원하는 주소를 입력하고 원하는 페이지를 볼 수 있지만 주소를 입력하는 순간부터 컴퓨터는 많은 작업을 하게 된다. 사용자들이 컴퓨터가 하는 일을 모두 알 필요는 없지만 익숙하게 사용하는 인터넷 주소의 구조와 원리를 이해한다면 인터넷을 보다 효과적으로 그리고 현명하게 사용할 수 있을 것이라 생각한다.

웹은 인터넷 자원 중 하나다. catholicnews.co.kr이란 인터넷 주소를 도메인이라 부른다. 도메인은 웹뿐만 아니라 user@catholicnews.co.kr와 같이 이메일 주소로도 사용된다. 그래서 같은 도메인이지만 다른 방법으로 인터넷 자원을 사용할 때 방법과 도메인을 동시에 표시하는 것을 URL이라 한다. 웹은 http://catholicnews.co.kr로, 메일은 mailto:user@catholicnews.co.kr과 같이 도메인 앞에 http://나 mailto:표시한다. 웹에서 사용자(user@) 부분이 생략된 것은 우편물을 보낼 때 특정인에게 보내는 것이 아니라 우편물 주소만 적어 세대에 보내는 경우와 비슷하다. 어떤 자원을 사용할지는 우편물을 보낼 때 일반우편물로 보낼지 택배로 보낼지 방법이 다르지만 도착하는 주소는 동일한 것과 비교할 수 있다.

우편물과 마찬가지로 인터넷에도 주소 체계가 있다. 우편물이 체계적으로 전달될 수 있도록 ‘서울시’ 다음 ‘종로구’ 순으로 작은 지역으로 들어가 우편물을 배달하는 것과 같이 사용자가 웹 브라우저에서 catholicnews.co.kr을 입력하면 어떤 방법을 사용하는지 먼저 확인한다. 웹 브라우저는 https://혹은 https://가 생략될 수 있다. 방법이 확인되면 원하는 인터넷 자원이 어디에 있는지 찾기 시작한다. catholicnews.co.kr의 내용을 보여 줄 수 있는 실체하고 인터넷에 연결된 기계가 어디에 있는지 찾는다. 우선 ‘서울시’를 찾듯이 주소의 마지막에 있는 .kr을 찾는다. .kr주소를 관리하는 서버에 .co를 찾고 싶다고 물어보면 .co.kr을 관리하는 서버를 알려 준다. 그리고 .co.kr을 담당하는 컴퓨터에게 catholicnews.co.kr이란 주소를 가진 컴퓨터는 어디에 있는지 물어보면 그 컴퓨터는 118.219.253.141이란 주소를 가진 기계가 catholicnews.co.kr임을 알려 주어 사용자가 원하는 인터넷을 쓰기 위해서는 118.219.253.141로 접속하라고 알려 준다.

우리가 쓰는 인터넷 주소는 인간을 위한 것이다. 컴퓨터를 비롯해 인터넷을 연결되기 위해서는 인터넷에 유일한 주소를 가지는데 IP라 부른다. IP는 118.219.253.141과 같이 0부터 255까지의 숫자 4개로 이루어져 있고, 인터넷 자원을 사용하거나 제공하기 위해서는 IP를 할당 받아야 한다. 즉, 사용자가 인터넷을 사용한다는 말은 IP를 가지고 있다는 뜻이다. 컴퓨터는 IP의 숫자를 이해하지만 사람이 이 숫자를 기억하고 쓰기 어렵기 때문에 전화번호부와 같이 사람과 전화번호를 연결해 주는 역할을 인터넷에서 도메인네임서비스(DNS)라 부른다. 만약 DNS를 사용할 수 없다면 사용자들은 IP 주소를 외워야 인터넷을 쓸 수 있을 것이다. 그래서 인터넷이 안 된다는 말은 기본적으로 인터넷 사용을 위한 IP를 받지 못했거나 DNS 서버가 원하는 도메인 주소를 해석해 주지 않아서 생기는 경우가 많다.

▲ 인터넷 주소 URL은 사용자가 인터넷의 자원을 사용하기 위한 주소 체계다. (이미지 출처 = Pixabay)

인터넷을 이해하는 데 DNS를 이해하면 좋은 점들이 있다. 우선 인터넷이 안 된다는 보편적 문제의 해결방법을 찾기 쉽고 악의적인 해킹에 대비할 수도 있기 때문이다. DNS가 인터넷의 주소록 역할을 한다면, 이론적으로 사용할 수 있는 DNS가 없을 때 인터넷은 거의 쓸 수 없다. 뿐만 아니라 잘못된 정보를 가진 DNS를 쓰게 된다면 어떤 일이 일어날지 생각해 볼 수 있다. 예를 들어 악의적인 목적으로 만들어진 DNS를 사용하여 mybank.com이란 은행 사이트에 접속할 때 DNS가 제대로 된 IP 주소가 아닌 개인정보를 탈취할 목적으로 만들어진 비슷한 화면을 가진 사이트의 IP를 대신 알려 준다면 사용자는 mybank인 줄 알고 들어가게 되고, 주소까지 같지만 해킹 목적의 사이트에 들어갈 수 있는 것이다. 또한 DNS에 주소를 요청했을 때 얼마나 빨리 응답하는지에 따라서도 인터넷의 속도가 달라진다.

4자리 숫자 IP는 이론적으로 0.0.0.0-255.255.255.255까지 42억 9496만 7296개가 가능하지만 전 세계의 인터넷에 연결해야 할 컴퓨터, 스마트폰뿐만 아니라 요즘은 냉장고 등까지 많아지기 때문에 연결 가능 숫자 외에도 보안을 증가할 목적으로 2001:0db8:85a3:08d3:1319:8a2e:0370:7334과 같은 형태로도 쓰게 되었다. 또한 컴퓨터의 IP는 항상 같은 것이 아니다. IP가 고정될 수 있지만 쓰지 않을 때는 다른 컴퓨터가 받아 사용할 수도 있다. 이처럼 주소체계가 변경되거나 IP가 변경되어도 DNS 서버가 있기 때문에 큰 변화 없이 기존처럼 사용할 수 있다. IP 구조가 변경되어도 변경된 주소만 DNS에 반영하면 사용자들은 불편 없이 도메인을 쓸 수 있는데, 컴퓨터가 IP를 할당 받으면 받은 IP 정보를 DNS 서버에 알려 주어 DNS는 변경된 IP를 사용자에게 지속적으로 알려 줄 수 있기 때문이다.

사용자가 원하는 인터넷 자원을 사용하는 데 생각보다 많은 작업들이, 특히 인간이 이해할 수 있는 언어를 컴퓨터가 이해할 수 있는 방법으로 해석하고 원하는 자원이 어디에 있는지 알려 주는 방법으로 DNS는 직관적이지 않은 방법 같아 보인다. 그러나 기계는 직관적인 방법으로는 어떤 것도 할 수 없다는 것을 알아야 한다. 아주 간단해 보이는 인터넷 주소조차도 컴퓨터가 이해하고 사용할 수 있도록 여러 번 물어보고 대답을 듣고 정보를 얻어내 반복해서 물어본 정보를 통해서 인터넷을 쓸 수 있게 된다. 아주 쉽게 보이는 인터넷도 원리를 알고 나면 그냥 쉽게 이루어지지 않는 것을 알게 된다. 컴퓨터 과학이란 인간에게는 아주 직관적이고 쉽게 그냥 하면 될 것 같은 작업들을 구체적으로 이루기 위해서 컴퓨터라는 아주 아무것도 모르는 아이에게 설명하는 과정이라고 생각하면 좋다. 직관적 결정으로는 아무것도 진행할 수 없는 컴퓨터의 세계에서 어떻게 컴퓨터도 이해할 수 있는 구조와 체계를 만드는지가 중요한 것이다.

"제자들은 그 말씀을 알아듣지 못하였다. 그 뜻이 감추어져 있어서 이해하지 못하였던 것이다. 그들은 그 말씀에 관하여 묻는 것도 두려워하였다."(루카 9,45)

종종 신앙은 직관의 영역인지 궁금할 때가 있다. 깨닫거나 믿는다는 것은 논리보다는 직관에 더 가까울 것 같기 때문이다. 그러나 가장 중요한 것은 끊임없이 질문하고 대답을 얻어 가는 과정이다. 도메인에 연결된 IP 정보를 얻기 위해 여러 번 여러 서버에 물어보는 과정들을 보면 더 좋은 방법이 있을 것 같지만 컴퓨터와 같이 끊임없이 물어보고 얻어 내는 과정이 가장 필요하다. 두려워해 질문하는 것을 포기해서는 원하는 것을 얻어 내지 못한다는 교훈을 컴퓨터 과학이 말해 준다.

 
 
몽글이
데이터를 통해 세상을 이해하고
컴퓨터를 통해 통찰하고 싶은
과학을 사랑하는

곰 닮은 과학도.

 <가톨릭뉴스 지금여기 http://www.catholicnews.co.kr>

저작권자 © 가톨릭뉴스 지금여기 무단전재 및 재배포 금지