호스트 숫자 주소
주소란 위치를 의미하고, 그 위치나 지점으로 직접 찾아가거나 무엇인가를 전달할 수 있게 합니다. 마찬가지로 ‘호스트’ 또한 주소를 가져야 그 위치를 정확히 찾아 데이터를 주고 받을 수 있습니다. 한편 컴퓨터라는 기계는 전기 신호에 작동되는데, 모든 신호를 0과 1이라는 숫자로 인식하고 처리합니다(DNS 기초 지식: 컴퓨터의 실체와 작동 원리 참조). 당연하지만 초기의 ARPANET을 구성하는 호스트 컴퓨터의 식별자 또한 숫자였습니다. 1970년 2월에 기록된 RFC33에는 ARPANET 주소를 ‘User Number’와 ‘Host Number’라는 숫자 주소로 사용하고 있습니다. 연결된 호스트가 채 10개가 되지 않던 시기입니다.
호스트 이름의 개별 사용(문자와의 결합)
언어를 사용하는 인간이기에 간단히 생각할 수 있는 사실은 숫자보다는 문자, 그것도 해당 사물의 특성을 압축적으로 보여줄 수 있는 단어가 기억에 유리하다는 것입니다. 그리고 1970년 10월 28일, 일리노이 대학의 ‘이름을 통한 접속: 사용자 지향 프로토콜(Connection-By-Name: User-Oriented Protocol) 제안(RFC76)’은 상당히 흥미롭습니다.
‘ARPANET에 접속된 최초의 소규모 네트워크 담당자로서 한 말씀 드리자면, 연구소의 대부분 사용자들은 데이터 통신 기술에 대하여 전문적 지식이 부족합니다. (미래에)네트워크를 사용하게 될 대다수는 결국 그러한 비전문가가 될 것입니다. (중략) 최근 4개의 호스트가 네트워크 연결을 위해 소켓(socket) 번호를 교환했습니다. 그러나 이는 연결 과정에서 모든 소켓 번호를 알고 있거나 접속 과정에서 특정 소프트웨어가 해당 소켓 번호를 참조해야만 합니다. (중략)우리는 사용자들로 하여금 이미 그들의 호스트 시스템 내에서 사용하고 있는 방식과 같이, ‘이름’을 통하여 네트워크에 접속할 수 있도록 현재의 프로토콜을 확장할 것을 제안합니다.’
이어 1971년 9월 ~ 1971년 12월 사이 rfc226, rfc229, rfc236, rfc237, rfc280, rfc289를 통해 호스트 이름과 그에 매칭되는 호스트의 숫자 주소 리스트가 지속적으로 제안되고 업데이트 됩니다.
호스트 정보(숫자 주소 + 이름)의 중앙 관리
그리고 1973년 12월과 1974년 1월 RFC606과 608을 통해 개별적으로 관리되고 있던 호스트 이름과 호스트 주소(숫자 주소)리스트를 SRI NIC(Stanford Research Institution Network Information Center)에서 일괄 관리하여 배포하는 시스템으로 전화하게 됩니다.
‘우리는 공식적인 호스트 이름 명부를 가지고 있습니다.. 이제 네트워크 상의 사이트마다 각각 다른 혹은 과거 리스트를 보관하는 부적절한 상황을 끝낼 때인 것 같습니다. (중략)NIC가 공식적인 리스트 관리에 대한 책임이 있으므로 그들에게 호스트 이름과 호스트 주소(숫자) 정보를 담고 있는 온라인 파일 관리를 맡겨 누구나 접속이 가능하도록 하는 것이 적절해 보입니다.’
결국 전체 호스트 정보(호스트명과 숫자주소)를 담고 있는 텍스트 파일을 온라인에 올려 놓으면 네트워크 사용자들이 온라인 접속하여 FTP로 다운로드 받아 사용하는 방식으로 TCP/IP 및 DNS 시스템이 개발되기 직전까지 사용됩니다. 이 텍스트 파일이 hosts.txt이고, 현재도 그 운영체제에 상관없이 어느 pc에서든 해당 파일을 검색할 수 있습니다. 윈도우 계열의 pc에서는 WINDOWS\system32\drivers\etc에 위치하고 있고 다음과 같은 모습입니다.
물론 완전히 동일한 모습은 아닐 테지만 붉은 색으로 표시된 사각형 안의 정보는 호스트 숫자 주소와 호스트 이름을 포함하고 있었을 것입니다. 조금 쉽게 접근하자면, 내 호스트(클라이언트)가 다른 호스트(서버)에 접속하고자 할 때는 그 서버의 숫자 주소 대신에 이름을 사용하면 됩니다. 그러려면 이름과 그에 결합되는 숫자로 된 주소 정보를 가지고 있어야 합니다. 그것이 hosts.txt 파일입니다.
정리
앞서 ‘최초의 연결’ 편에서 언급된 내용을 다시 가져와 정리를 하겠습니다.
(1) 도메인 이름이 사용되기 이전에는 숫자로 된 주소를 입력하여 사용하였다.
→ ARPANET 초기를 제외하면 이미 호스트 주소인 숫자를 대체할 수 있는 호스트 이름이 사용되었고, 이는 DNS 개발 전까지 유지됩니다.
(2) 도메인 이름은 웹사이트의 이름이거나 컴퓨터의 이름이다.
→ DNS 개발 이전에 호스트명이 사용되고 있었으므로 도메인은 컴퓨터의 이름은 아닙니다. 그러면 도메인 이름은 웹사이트의 이름일까요? 이에 관해서는 ‘도메인 이름 공간’에서 다루도록 하겠습니다. 그 전에 우선 사이트의 개념을 상기할 필요가 있습니다(아래 TIP 2 참조).
(3) 도메인은 컴퓨터에 익숙하지 않은 비전문가, 즉 컴퓨터의 숫자 주소에 익숙하지 않은 일반인의 기억을 상기시키기 위해 개발된 것이다.
→ 미래의 일반 사용자들을 위한 고민이 있었지만 이미 전문가들 또한 숫자를 대신하는 문자, 호스트 이름을 사용하고 있었습니다.
이상의 내용을 한 마디로 하자면 다음과 같습니다.
‘호스트 이름이 너희를 접속케 하리라’
> 인터넷 발전사로 알아보는 DNS – ③ 네트워크의 확장
* TIP 2) 사이트
‘사이트란 웹, FTP, 고퍼(gopher), 텔넷 등과 같은 인터넷 서비스를 제공하는 서버가 설치되어있는 호스트 컴퓨터 시스템을 지칭한다(웹사이트, FTP 사이트, 웹메일 사이트). 대개는 웹 사이트를 줄여서 일컫는 말이며, 웹 사이트는 홈페이지라고 하는 시작 파일을 포함하고 있는 특정한 주제에 관한 웹 파일들의 모음이다. (출처: 네이버 지식백과, 매일경제)’
조금 단순화 시키면 가비아 사이트란 가비아 호스트 컴퓨터들의 통합 시스템이며 컴퓨터 언어(프로그램 언어)를 모르는 일반 사용자들이 개별 호스트 컴퓨터에 접속하여 사용할 수 있도록 문자와 이미지로 시각화 해놓은 것이라 할 수 있습니다. 대개는 웹사이트를 들어가는 관문이 홈페이지(www 호스트)입니다.