Monday, January 29, 2007

P2P란 무엇인가?

1) P2P의 기본적 개념
P2P가 무엇인지 정확하게 정의 내리기는 어렵다. 그보다는 오히려 무엇이 P2P가 아닌지를 먼저 살펴보는 것이 P2P를 보다 쉽게 이해할 수 있는 방법이다. P2P를 단지 서버를 없앤 개념에만 초점을 맞추어 생각해서는 안된다. P2P는 단순한 기술도 단순한 애플리케이션도 단순한 비즈니스 모델도 아니다. 그동안 가장 논쟁이 많았던 부분은 이것이 얼마나 중앙집중화 되고 분산화 되었느냐에 있었지만 그 특징만으로는 P2P를 규정할 수 없다. 예를 통해 살펴 보겠다.

(1) 중앙집중식 모델
냅스터처럼 중앙에서 목록을 구성할 수 있다. 냅스터는 사용자들이
음악을 찾을때는 전통적인 클라이언트/서버 방식처럼 작동되지만 사용자들이 파일을 교환할 때는 전형적인 P2P 네트워크를 형성한다. 이 의미는 시스템이 음악파일과 사용자 위치를 손쉽게 중앙에서 데이터화 시켜 이를 사용할 수 있도록 해주는 것을 의미한다.
하지만 사실상 음악을 전송시키기에 이 방식은 비용이 많이 들고 유지가 어렵다.

(2)  분산화 모델
그누텔라(Gnutella)는 냅스터와 다르게 서버가 존재하지 않는 완전히
분산화된 P2P 네트워크 방식이다. 그누텔라의 검색 엔진은 개별 클라이언트들이 구동한 프로그램에 설치되어 있으며 이 방식은 클라이언트들이 모두 동일한 역량과 책임을 갖고 상호 대칭적인 의사소통을 하도록 한다. 일반적으로 P2P라고 하면 네트워크 상호작용을 대칭적으로 만드는 컴퓨팅방식을 말한다. 서비스가 아무리 중앙집중식이 된다 하더라도 엔드유저 피어가 무엇보다도 중요하다. 만일 중앙집중화 방식의 서비스가 E메일에서처럼 어떤 정보를 분산시켜 제공한다면, 시스템은 네트워크가 가진 여러 문제점들을 상당 부분 감소시킬 수 있을 것이다.
냅스터는 메인 서버가 다운되거나 연결이 안되었을 때 모든 P2P 기능 전체를 마비시키는 시스템이고, 이는 모노리식 중앙집중방식(Mnolithic Centralization)의 대표적인 예라고 할 수 있다. 하지만 그누텔라는 피어가 하나만 존재하는 것이 아니기 때문에 만일 피어가 사라진다 하더라도 그것은 냅스터처럼 전체가 마비되는 것이 아니라 단지 네트워크상태에 미미한 영향을 끼칠 뿐이다.

P2P는 인터넷의 가장 자리에서 얻을 수 있는 자원들을 이용하는 애플리케이션의 한 분류라고 할 수 있다. 이렇게 분산된 자원에 접근한다는 것은 예측할 수 없는 IP 주소와 불안정한 연결성을 갖춘 환경에서 작동하고 있음을 의미한다. 그러므로 P2P노드들은 DNS 외부에서 작동해야 하며 중앙 서버로부터 전체 또는 상당 부분이 자유로워야 한다. 바로 이런 것들이 P2P를 다른 것들과 구별하게 하는 중요한 요소라 할 수 있다.

전통적인 의미의 P2P는 주는 쪽(서버)과 받는 쪽(클라이언트)이 정해져 있는 구조가 아닌 네트워크 상에서 책임과 권한을 동등하게 갖는 네트워크 구조를 의미했다. 하지만 냅스터 등장 이후 이러한 전통적인 정의에 덧붙여 새로운 의미를 부여하는 작업들이 진행되었다.
피어 투 피어(P2P)란 인터넷 상의 모든 정보를 찾기 위해서 기존에 호스트 서버를 거쳐야하는 방식과는 달리 인터넷에 연결된 모든 개인 컴퓨터로부터 직접 어떤 정보나 서비스를 제공받고 공유하는 방식임을 말해준다.

2) 피어의 속성
P2P를 이해하기 위해서는 먼저 피어의 속성부터 살펴보아야 한다.
P2P는 ‘Peer to Peer’의 줄임말이다. 여기서 피어라는 것은 네트워크 즉, 통신이 가능한 모든 정보 단말기를 지칭하는 말이다. 기존의 네트우크 모델에서 단순히 클라이언트의 작동만 하던 개인용 PC, 모바일 단말기(휴대폰 PDA), 혹은 통신이 가능한 가전 제품도 모두 ‘피어(peer)’라고 볼 수 있다. 물론 기존의 대용량 컴퓨터인 서버, 메인 프레임들도 모두 하나의 피어라고 할 수 있다. 이처럼 P2P는 전혀 새로운 개념이 아니다.

3) P2P의 구성
P2P는 크게 P2P 네트워크, P2P 컴퓨팅, P2P 커뮤니케이션으로 구분할 수 있다. P2P 커뮤니케이션은 네트워크 사이에서 서로 다른 두대의 정보 단말기에서 발생하는 일대일 통신을 말한다. 이는 모든 컴퓨터에서 발생하는 빈번한 일대일 데이터 통신이다. 하지만 P2P 커뮤니케이션은 기존의 클라이언트/서버 모델에서도 가능한 것이며, 모든 피어가 반드시 서버로 작동해야 하는 것은 아니다. 기본적으로 네트워크에 연결된 모든 단말기들은 P2P 커뮤니케이션에 참가하고 있다고 생각해도 무방하다. P2P 네트워크라는 것은 네트워크에 참가하는 모든 피어가 서버로서 작동할 수 있는 네트워크를 말한다. 그리고 P2P네트워크는 P2P 커뮤니케이션을 통해 서로 통신을 한다.
 P2P 컴퓨팅은 모든 피어들이 동일한 권한과 책임을 가지는 컴퓨팅을 말한다. P2P 네트워크에서는 모든 피어가 서버로 작동해야 하지만, P2P컴퓨팅은 각자의 피어들이 자기 자신의 역할에 따라 서버 혹은 클라이언트/서버 모두 작동할 수 있게 하는 구조이다. 하지만 권한과 책임이라는 측면에서 기존의 클라이언트/서버구조와는 사뭇 다른다. 그것은 권한에 따라 책임이 부여되고 또 서비스 및 역할에 따라 권한과 책임이 나뉘어짐을 의미한다.


via~ http://ko.wikipedia.org/wiki/P2P
       http://www.google.com/

Labels: ,

1 Comments:

Anonymous facial abuse nadia said...

걸출한 디자인! 좋은 디자인.

12:29 PM  

Post a Comment

<< Home