컴퓨터 공부/Mobile Data Management

[6월 15일 1교시] P2P 시스템

려리군 2009. 6. 15. 19:49

P2P 시스템의 정의

Whatis.com : 통신모델 그 모델 내에서 각 부분이 동일한 능력 서로간의 세션이던 누구든 열 수 있다.

openp2p.com : 자원을 공유하는 시스템.

Webopendia.com : 동일한 역량과 동일한 책임을 가지는 컴퓨터들. 

Wikipedia.org : 각 서버가 클라이언트 또는 서버의 역할을 할 수 있다. (Server + Client = Servent)

※ 평등성이 중요하다.


분산시스템

노드가 서버와 클라이언트를 동시에 수행

각 컴퓨터간 자원을 공유

랑데뷰 서버 : 접속만 담당.


응용 프로그램 종류

파일 공유, 스트림, VOD, 검색, Grid computing 등등


P2P 목표와 혜택

비용 절감/공유

자원 통합

확장성/신뢰성 증가.

독자성 강화

Ad-hoc(임의대로) 통신. (연결 상황을 통제할 수 없다.)


P2P 시스템의 형태

Degree of Central server

① Hybrid

어떤 기능은 중앙 서버(broker의 역할, 통제하기 좋다)에서 수행된다.

서버는 메타 정보만을 가지고 있고 클라이언트가 요청하면 파일에 대한 인덱스(목록)을 알려준다.

 - 클라이언트(Peer1~Peern)들은 파일 목록들을 서버에게 보낸다.

 - Peer1은 파일이 어디있는지 서버에게 요청

 - 서버는 파일을 가진 Peer2의 주소를 응답

 - Peer1은 Peer2에게 파일을 요청한다.

Peer들은 나가고 들어옴, 파일 변화를 알리며 Peer들을 파일 서버 프로그램을 돌린다.

예시) napster, 소리바다


※ 방화벽이나 공유기 내에 컴퓨터가 있을 경우 outbounce(connect)는 허용하지만 inbounce(listen)는 허용하지 않는다. 양쪽 두 peer 모두 방화벽이나 공유기 내에 컴퓨터가 있을 경우 inbounce를 허용하지 않기 때문에 문제가 발생한다. 이를 해결하기 위해 hole punching이라는 기술을 사용한다.

hole punching 참고주소 : http://en.wikipedia.org/wiki/Hole_punching