메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

디지털라이프

P2P의 다음 단계: 오픈 서비스

한빛미디어

|

2001-08-16

|

by HANBIT

10,482

by 진 칸(Gene Kan) 기술에 밝은 사람들 사이에서 가치 있는 네트워크 및 컴퓨팅 리소스에 대한 접근을 공유하려는 움직임이 커지고 있는데, 라엘 돈페스트(Rael Dornfest)는 이러한 움직임을 "오픈 서비스(Open Services)"라고 칭한 바 있다. 여기에서 말하는 것은 소스 코드가 아닌, 네트워크로 연결된 컴퓨팅 리소스를 위한 오픈 소스를 말한다. 지금부터 4가지 예를 들면서 이러한 개념을 설명할 것이다.
  • 세티엣홈(SETI@Home). 공식적으로 자원 공유를 가능하게 했던 초기의 프로젝트, UC 버클리의 세티엣홈 프로젝트는 전세계 수백만 대의 컴퓨터가 일하지 않는 시간 동안 전파 망원경을 이용해 외계 문명의 신호를 잡아내는 데 기여하도록 하는 것이다. 이 시스템의 사용자가 스크린 세이버를 다운로드하면, 사용자가 주의를 기울이지 않는 동안에도 이 시스템은 녹색의 작은 외계인을 찾는 것이다.
  • 냅스터(Napster). 냅스터는 한때 사용자가 7000만에 달했는데, 이들은 데이터 공유뿐 아니라, 대역폭도 공유한다. 냅스터 사용자는 인터넷의 보급을 막았다. 냅스터 자체가 바로 네트워크였던 것이다. 현재 냅스터는 계속 쇠락의 길을 걷고 있지만, 이와 유사한 파일 공유 애플리케이션으로 그 명맥을 이어 가고 있다.
  • 그누텔라(Gnutella). 그누텔라 네트워크의 사용자는 네트워크 성능뿐 아니라, 컴퓨팅 자원도 제공한다. 그누텔라 네트워크는 완전 분산형(모든 노드가 라우터와 애플리케이션으로 기능한다)이기 때문에 그누텔라 노드는 라우팅 결정을 내리는 데 CPU 파워를 사용하며, 네트워크 성능의 상당 부분을 네트워크의 다른 노드에 트래픽을 분산하는 데 쓴다. 마치 버킷 릴레이 대열처럼 서로 도와 주는 것이다. 물론 네트워크 사용자간 실제 파일 공유에는 "데역외(out-of-band)" 전송 프로토콜인 HTTP가 사용된다.
  • 802.11b 네트워크. 이는 의도적으로 개방돼 있기 때문이 아니라, 최근 여러 뉴스에서 조명했듯이, "폐쇄된(closed)" 802.11b 네트워크도 사실은 모든 것을 무료로 패키지 전송하기 때문에 흥미롭다. 개방돼 있다는 데 초점을 맞춰 보자. 보안 문제를 조금 언급하고 나면 여러분도 이에 재미를 느끼게 될 것이다. 개방된 802.11b 네트워크를 만든 이는 차를 타고 집 옆을 지나가면서도 이메일을 확인하고 싶어하는 커뮤니티 집단이다. 여러분이나 여러분의 이웃이 T1에 대한 비용은 지불하려 할 것이지만, 눈에 보이지 않으며 집과 집 사이에서 동작하는 CAT5에 대해서는 지불하려 하지 않을 가능성이 크다. (산호세에 사는 주민들의 대화를 들어 보자. "저건 뭡니까, 세탁기에 연결된 선입니까?" "아니오, 우리 집 하이캡입니다.") 이들의 논거는 꽤 단순하다. "나는 이 대역폭 비용을 모두 지불했는데, 100% 이용할 수 없다면 손해지 않은가? 집에 없을 땐 이를 전혀 이용할 수 없으니까 내 케이블 모뎀/DSL/T1을 다른 이들한테 개방하는 게 낫다." 는 것이다. 대역폭을 은행에 넣어 둘 수도 없다. 그러니 그냥 개방하는 게 낫다. (필자의 이동 전화도 사용하지 않는 동안엔 다른 사람이 쓰도록 하는 게 나을 것도 같다.)
이를 종합해 보면, 이러한 창의적인 생각에서 오픈 서비스는 실재하며 지금도 일어나고 있다는 것을 알 수 있다. TV 프로그램을 보면서 요리법을 교환하는 것을 보다 보면, 인터넷에서 뭔가를 공유하는 것도 익숙해진다. 그리고 궁극적으로는 인터넷 자체를 공유하는 데도 익숙해 질 것이다. 실제 오픈 서비스를 만들자 다음과 같은 사실이 나타나면서 오픈 서비스가 가능해 졌다.
  • 컴퓨터 가격은 하락하고 컴퓨터 성능은 좋아지고 있다.
  • 대역폭 가격은 하락하고 광대역을 더 많이 사용하고 있다.
  • 컴퓨터를 다룰 줄 아는 사람이 늘고 있으며, 네트워크 기반 서비스를 운영하는 데 필요한 전문 기술은 줄고 있다.
성능은 급격히 증가하는 반면, 이에 대한 비용은 꾸준히 줄고 있다. 그래서 "당신과 제 펜티엄 8 50gHz를 함께 쓸 수 있어서 기쁘군요. 저는 윈도우가 시작하는 동안에만 약간의 성능이 필요하거든요" 라고 말하는 상황이 발생할 수도 있다. 윈도우를 시작하고 난 다음에는 CPU를 거의 사용하지 않는다. 1초에 500타를 칠 수는 없기 때문이다. 사용자가 1타를 치는 순간에도 컴퓨터는 RC5를 크래킹하거나, 결장암에 대해 고민하고 있을 것이다. 네트워크의 속도는 더 빨라지고 가격은 더 싸지고 있다. 어디에서나 인터넷에 접근하는 것도 더 빠르고 싸졌다. 인터넷 접속을 완벽하게 이용하고 있지 못한 상황에서 공유하면 안 되는 이유는 무엇인가? 가장 크게 잡는다고 해도 네트워크의 25%만이 사용되고 있다. 25%라는 결론에 도달하게 된 경위는 다음과 같다. 나는 하루에 12시간을 집에 있는다(50%)고 가정하자. 집에 있을 땐 대개 다운로딩하는 데 시간을 보낸다(50%). 그러므로 25%가 사용되고 75%는 낭비되며, 100%에 대한 비용을 지불한 것이다. 이는 밑 빠진 독과 마찬가지이다. 마지막으로 가장 눈에 띄지 않지만, 가장 중요한 면이 있다. 바로 인터넷의 제품 측면에 필요한 지식의 양은 감소하는 것과 동시에 일반인의 컴퓨터 사용 능력이 좋아지고 있다는 것이다. 냅스터를 사용하고 있는 사람이라면 누구나 서버를 운영할 수 있다. 냅스터를 운영하기 위해 MCSE 학교를 다닌 게 아닌데도 인터넷 서버를 운영하는 데 아무 문제가 없다. 물론 인증 받은 것은 아니지만, 마우스를 움직이는 법을 배울 필요는 없다는 뜻이다. 유닉스 해커들은 네트워크 기반 서비스를 운영할 수 있는 인력이 없다고 불평한다. FTP 데몬이나 HTTP 서버를 셋업하는 데 얼마나 많은 욕을 퍼부었던지 상기해 보자. 유닉스를 알아야 하고 vi를 알아야 하며, 고정 IP 주소가 무엇인지 알아야 했다. 하지만 이 모든 게 냅스터나 그누텔라 세계에서는 포인트앤클릭(point-and-click)으로 끝난다. 이 세계에서는 서버를 셋업하는 게 아주 쉽고 또 많은 사람들이 이 시스템을 이용하기 때문에 여러분이 알고 있는 누구나 인터넷 서비스를 운영하고 있다. 서버가 무엇인지 몰라도 서버를 운영할 수 있다는 것, 이것이 최고의 장점이다. 말하고자 하는 바는 과거에는 고도로 숙련된 관리자가 비싼 장비와 파이프를 이용해 독점했던 것들을 현재는 일상적인 사용자가 하고 있다는 것이다. 시스템 역시 NAT와 방화벽 주위에서 라우팅하는 것과 같은 업무를 투명성(transparency)의 지점으로 단순화하고 있다. 최종 사용자는 더 이상 2등급의 시민이 아닌 것이다. 인터넷 시작 스위치 산업 시대의 자동차를 예로 들어 보자. 초기에 자동차는 아주 작동하기 힘들었고 숙련된 기술자만이 레버를 작동하고 밸브를 조작해서 차를 비싼 장식품이 아닌 유용한 운송 수단으로 만들 수 있었다. 하지만 "전문가"를 위한 자동차 생산 후엔 제조사가 사용자 친화적인 기계를 만들어 냈다. 차의 키를 돌리기만 하면 시동이 걸리게 말이다. 필자는 과감하게 냅스터, 그누텔라, 세티엣홈 등이 인터넷 시대의 이러한 점화 스위치라고 주장한다. 마우스를 더블클릭하는 동안 인터넷 서비스의 복잡한 면을 모두 감춰 주기 때문이다. 방화벽과 NAT 방해 오픈 서비스에서 두 번째로 살펴 볼 것은 컴퓨터에서 더 많은 자원을 발견하는 것이다. 접근이 개방되어 있는 것도 있고, 전화번호부 같은 형태의 공유 방식도 있을 것이다. 지금 사람들이 선호하는 것은 공유 웹 인덱싱과 컨텐츠 집합이다. 앞으로는 더 좋은 성능의 애플리케이션이 나와서 우리가 현재 공유하고 있는 것들을 더 효과적으로 공유할 것이다. 클레이 셔키(Clay Shirky)는 이를 "인터넷에서 홀을 가로질러 걸어 가는 것"이라고 곧잘 부른다. "홀을 가로질러 걸어 가는 것"을 가능하게 하는 게 오픈 서비스가 제공할 수 있는 주요 서비스이다. 각각 방화벽 뒤에 있는 두 컴퓨터(A와 B)를 생각해 보자. 방화벽 때문에 이 둘은 서로 커뮤니케이트할 수 없다. 즉 A는 B에 인스턴트 메시징으로 가족 포토 앨범을 보낼 수 없는 것이다. 이때엔 방화벽에도 제한 받지 않는 일종의 저장 창고와 같은 중간 단계가 필요하게 된다. "그냥 이 방화벽에 구멍을 뚫어서 파일을 전송하면 되잖아요" 라고 말하기 전에, 우리는 보통의 사용자들이며 IT 기업은 우리와 장난칠 마음이 없다는 것을 기억하자. 단기적으로 이를 해결할 수 있는 방법은 프록시이다(표준으로 하면 NAT와 방화벽이 서로간에 적당히 전송할 것과 그렇지 않은 것을 구별해 주지만, 이는 개발하고 장착하는 데 시간이 많이 걸린다). 100% 활용되지 않는 네트워크 자원에서 운영되는 오픈 프록시로 이 문제를 해결하면 된다. (어젯밤에 이러한 일이 일어났으면 좋았을 텐데. 필자는 어제 친구로부터 파일을 하나 전송받아야 했는데, 필자가 이 파일에 접근할 수 있도록 그는 배열된 웹 서버에 파일을 업로드하는 수고를 해야 했던 것이다. 그가 배열된 서버에 오픈 프록시만 가지고 있었어도 그럴 필요가 없었는데 말이다.) 협력적 웹 공유(Cooperative web sharing) 지금 막 많은 사람의 관심을 끌고 있는 것은 협력적 웹 공유 검색이라는 굉장한 아이디어이다. Grub.org, Jibe, OpenCola Folders는 일각에 불과하다. Grub.org에서는 모든 사용자가 중앙 인덱스를 업데이트하는 인덱서(indexer)를 구동하고 있는데, 이 인덱서는 나중에 사용자가 좋아하는 웹 검색 엔진으로 통합된다. 이는 세티엣홈이 외계의 지적 생명체 탐사를 주목적으로 한다는 것만 제외하면 거의 유사하다. Jibe의 목적은 공급자들이 자사의 제품 데이터베이스를 온라인 시장에 개방하도록 하는 것이다. OpenCola Folders는 사용자가 관심 있는 분야를 검색하도록 해 준다. 여기에서 중요한 것은 자신의 OpenCola Folders가 다른 사람의 OpenCola Folders를 검색해서 두 컴퓨터에서 찾아낸 결과를 공유한다는 것이다. 기술 전문가들이 서버를 좀더 사용하기 쉽도록만 해 준다면 이보다 훨씬 더 다양한 일을 할 수 있다. 자신의 컴퓨터의 일부를 떼어내어 친구가 파일을 저장할 수 있도록 한다고 가정해 보자. 이 친구가 60 기가의 하드 디스크와 SDSL을 가진 데 대해 지불을 해야 하는가? 사실 필자는 PHP 스크립트를 조금 작성해서 이처럼 하고 있다. 그래서 Mutt를 사용하고 있으며 쉽게 부착할 수도 있다. 이는 폐쇄돼 있긴 하지만 여전히 코드를 작성해야 하며, FreeBSD 머신에서 돌아간다. vi와 grep이 무엇인지 알아야 하는 것이다. Setup.exe와 같은 이름을 더블클릭하기만 하면 되는 이 같은 웹 기반의 하드 드라이브 서비스를 제공할 수 있다면, 로엔드 인터넷 스토리지 분야의 비즈니스는 무료지만, 가치 있는 소비자 오픈 서비스가 될 것이다. 다음은 조만간에 실현될지도 모를, 필자가 상상해 본 하나의 아이디어이다. 여러분의 셋탑박스는 인식하든, 인식하지 않든 간에 오픈 서비스를 구동할 것이다. 셋탑박스는 로컬로 다른 셋탑박스와 협동하여 여러분의 이웃에 주문형 비디오 서비스를 제공할 것이다. 그러면 주문형 비디오를 지원하는 기능에 대한 개발이 줄어들 것은 분명하다. 즉 오픈 서비스는 거대 미디어에서도 작용하는 것이다. 오픈 서비스의 인기가 증가하는 것은 애플리케이션의 종류에 상관 없이 사용할 수 있기 때문이다. 802.11b를 켜 놓고 달걀 부침 요리법을 공유한다. 그리고는 컴퓨터를 가만히 내버려 두면, 컴퓨터가 다른 은하계에 사는 친구를 찾아 줄지도 모른다. 필자가 가장 흥미로워 하는 것은 이러한 일들이 유수 대학이 아닌, 작업 현장에서 일어난다는 것이다.
진 칸(Gene Kan)은 그누텔라 프로젝트의 주요 개발자이다. 인프라서치를 창립했고, 현재는 썬의 JXTA 프로젝트에서 JXTASearch 그룹을 책임지고 있다.
TAG :
댓글 입력
자료실