개발정보

P2P(peer-to-peer network) 정리

쿠카곰돌이 2019. 6. 22. 12:45
반응형

I.P2P 정의

소수의 서버에 집중하기보다는 망구성에 참여하는 기계들의 계산과 대역폭 성능에 의존하여 구성되는 통신망이다. 

P2P 통신망은 일반적으로 노드들을 규모가 큰 애드혹으로 서로 연결하는 경우 이용된다. 이런 통신망은 여러 가지로 쓸모가 있는데, 오디오나 비디오, 데이터 등 임의의 디지털 형식 파일의 공유는 매우 보편적이다. 또한, 인터넷 전화(VoIP)같은 실시간 데이터 등도 P2P 기술을 통해 서로 전달될 수 있다.

 

 

 

순수 P2P 파일 전송 네트워크는 클라이언트나 서버란 개념 없이, 오로지 동등한 계층 노드들(peer nodes)이 서로 클라이언트와 서버 역할을 동시에 네트워크 위에서 하게 된다. 이 네트워크 구성 모델은 보통 중앙 서버를 통하는 통신 형태의 클라이언트-서버 모델과는 구별된다. FTP 서버야 말로 P2P 파일 전송 형식이 아닌, 대표적 반례로 꼽을 수 있다. 어떤 사용자가 FTP 서버에 어떤 파일을 올리면 다른 사용자들이 내려 받는데, 올리는 쪽과 내려받는 쪽 모두 동시에 접속하지 않아도 된다.

 

P2P 등장 배경

- 초고속 통신망 보급, 컴퓨터의 성능 향상

- 서버 집중식 모델의 한계 (검색엔진, 자료량, 다양성 부족)

- 개인 소비 영역의 확대 및 직접 연결을 통한 가치 창출 노력

 

P2P 특징

확장성 : 기존 LAN 환경의 PC간 정보 공유가 인터넷으로 확장

검색성 : 인터넷 상의 검색엔진을 거치지 않고 PC간 직접 자료 전송

거래성 : Portal을 거치지 않고 개인과 개인간의 직접적인 상거래

 

 

P2P시스템의 종류

 

Pure Peer-to-Peer Model

- 중앙서버의 의존 없이 작동하며, 검색엔진은 개별 클라이언트들이 구동한 프로그램에 설치

- 동적으로 접속된 피어를 동적으로 찾음

- 통신: 파일 업로드/다운로드, online 수행, 요청/응답 데이터 전달

- 단점 : 피어들에 대한 검색이 네트워크 상에서 이루어진다는 점

 

중앙 집중형 Peer-to-Peer Model

- 서버는 전형적인 C/S 구조와 같은 집중형 구조

- 모든 자원이 중앙의 데이터베이스에 저장

- 피어의 요청을 들어주는 모든 정보와 데이터는 서버에 존재

- 많은 요청이 쇄도할 때 서버의 과부하 서버가 데이터 관리, 저장, 모든 요청을 처리 하므로 많은 비용 소모

 

 

Hybrid Peer-to-Peer Model

- 서버는 접속하는 피어들에게 이미 접속된 피어의 주소와 정보를 상호교환 즉, 최초 접속 시에만 중앙 서버 이용, 목록만 제공

- 최근 들어 많은 P2P 모델이 이 유형을 따름

 

P2P시스템의 자원검색 기법

 

1.중앙집중식 디렉토리 모델

  - 혼합형 P2P구조 사용

  - 각 Peer는 지정된 서버에 접속하여 서비스를 제공 받음

  

  - Centrilized DB 모델 : 각 Peer들은 지정된 중앙 서버에 연결 후자신이 가진 공유자원에 대한 메타데이터를 전송

  - Decentralized 모델 : 중앙서버는 각 Peer들의 메시지를 중재하는 역할만 수행

 

2.브로드캐스트 요청모델

  - 순수 P2P구조에서 사용

 

  - Blind Search:단순 규칙에 의해 메시지 전달

  - Informed Search :저장된 여러정보를 이용 검색 메시지 전송

  - Document Routing: 공유 되는 컨텐츠의 ID를 기반 으로 검색

 

P2P의 보안 위협 요소

패스워드 및 중요정보 유출

 - 사용자 부주의, 프로그램 상의 버그로 폴더에 대한 접근 허용 또는 접근 정보유출 

바이러스, 웜, 백도어 등의 감염 및 전파

 - 악성프로그램을 정상적인 프로그램으로 위장 또는 프로그램에 삽입하여 전파

네트워크 대역폭 점유

 - P2P를 통한 자료 교환의 대부분이 동영상과 같은 대용량 멀티미디어 자료임

대화 내용 스니핑

 - 대부분의 인스턴트 메신저 클라이언트는 인증 기능을 제공하지 않아 쉽게 대화 내용을 스니핑 

방화벽 우회

 - P2P 프로그램이 포트를 임의로 조작하여 방화벽을 우회하거나 Well Known 포트를 활용하여 

   보안시스템을 우회 분산 처리 시스템 위협

분산처리시스템 위협

 - 분산 처리 시스템의 버그나 해킹을 통해 분산 처리에 참여한 모든 PC를 공격 가능

 

P2P 방식의 문제점 및 해결방안

저작권 문제

 - 저작권자가 P2P 솔루션을 통해 자신의 컨텐츠를 배포하고 P2P 업체와 수익을 공유

 - Watermaring 등 디지털 컨텐츠 보호기술의 도입

보안문제

 - 개인 PC에서 정보를 수집해가는 버그용 프로그램으로부터 사생활을 보호하기 위해서는 바이러스 방지 기능, 시스템 보안 기술, 중요 문서 암호화 기능이 구비되어야 함

거래의 신뢰 보장 문제

- 거래 대상에 대한 품질 인증제도의 도입

- 거래 주체가 지불 보증

네트워크 대역폭의 낭비 문제

- 중앙 서버의 개입을 통한 전체 네트워크 효율성 증대

- 순수 P2P 서비스의 경우 한정적인 사용을 유도 

개인 PC 사용의 제약성

- 개인 PC가 서버로 이용되는 경우, 적은 메모리 및 낮은 처리속도가 문제

유동 IP 사용

- 고정 IP에 의한 통신이 아닌 경우 P2P 전용 Name Service를 제공하는 서버에 의해 해결이 가능

 

 

 

※ 리소스 기반의 어드레싱

P2P는 인터넷에 연결되어 있는 여러가지 형태의 리소스 (저장 공간, 씨피유 파워, 콘텐츠, 그리고 연결된 컴퓨터를 쓰고 있는 사람 그 자체)를 이용하는 일종의 응용 프로그램이다. 그런데 이들은 고정된 ip 주소도 없고, 연결이 되었다 안 되었다 하는 '불안정한' 형태로 존재하는 분산된 리소스이다. 따라서 P2P 노드는 종래의 DNS '바깥에서' 운용될 수밖에 없으며 강력한 중앙의 서버들의 영향력이 미치지 않는다.

 

바로 이 점이 P2P를 독보적으로 만드는 핵심이다.

 

P2P 디자이너들은 그런 특징을 활용해서 CPU 싸이클들을 모을 수 있는 방법, 파일을 공유할 수 있는 방법, 채팅하는 방법 등을 찾아내고자 하는 것이다. 문제는 어떤 방향으로 나아가고자 하느냐이다.

 

냅스터나 ICQ, Popular Power, Freenet 등은 모두 기존에는 전혀 사용되지 않던 리소스를 발굴해서 지렛대로 활용하려 하고 있다는 점에서 유사하다. 이러한 서비스는 다양한 형태로 인터넷에 물려 있는 수천, 수만가지의 장치들을 잘 조합하고 연결하려고 하는 것이다.

 

혹자는 P2P 디자이너들이 해결하는 이러한 '연결 문제'(connectivity problem)가 단지 하나의 해프닝적인 것 아니냐는 식으로 얘기하곤 한다. 하지만, '컴퓨터끼리 연결하는 방법을 개선하겠다'는 모토가 그 유명한 IP 주소나 DNS, 또는 그전의 TCP, 심지어는 인터넷 그 자체를 태어나게 했다는 사실. 인터넷은 결국 위에서 말한 기술이 탄생한 순간 순간이 모여서 이뤄진 것이다.

반응형