본문 바로가기

Fun,Fun,Fun

Peer to Peer( P2P)에 대한 장점, 단점과 오해


Peer to Peer( P2P)



P2P형 네트워크는 컴퓨터 끼리 대등하게 통신하는 것이 특징 이다.


피어 투 피어 (peer to peer , peer - to - peer)는 다수의 단말간에 통신할때의 아키텍처의 하나로, 대등한 사람( Peer 피어 )이 서로 통신하는것을 특징하는 통신방식 통신모델 또는 통신 기술의 한 분야를 말한다. 


익명 사용자가 인터넷에서 파일 공유를 목적으로 P2P 기술을 응용하여 만든 소프트웨어가 사회적으로 주목을 받고 있다. 그 특징이되는 기술은 P2P 통신 네트워크의 오버 레이어로 다른 이름이 할당되어야 하지만, 널리 P2P 소프트웨어라고 불리고 인식되는 현상이 있기 때문에 우선 P2P 공유로 분리 했다.


클라이언트 - 서버 형 네트워크. 서버와 클라이언트는 일대일 통신을 실시하는 것이 특징이다.




P2P 의 단말 장치
P2P의 통신 단말기는 피어( peer )라고하지만 토폴로지 이론, 그래프 이론등으로 이용하는 '노드 (node : 절점 )' 라는 호칭을 사용하는 것도 많다. 또한 클라이언트 기능과 서버 기능을 겸비하는 의미로, 서번트라는 호칭을 사용한다.


단말 장치 의 종류로는 일반 가정의 PC가 사용되는 것이 많지만, STB 또는 HDD 레코더, HDD 내장 라우터 같은 것도 피어가 될 수있다.



P2P의 응용

P2P 기술의 응용 범위는 매우 넓고, P2P 데이터 전송, P2P 전화, P2P 게시판, P2P 방송 ( TV, 라디오 ) , P2P 그룹웨어, P2P 분산 파일 시스템, P2P - SIP, P2P - DNS , P2P - 가상 네트워크, P2P 지진 정보등 많은 적용 사례가 생겨나고 있다. 그러나 이러한 응용 기술은 2000 년경부터 실용화 되기 시작한 기술로 역사적으로 아직도 일이 옅고, 성숙 기술이 될 때까지 고쳐져야 할 여러가지 문제가있다.


인터넷 에서 P2P
인터넷의 기반인 IP 네트워크는 IP 주소만 알고 있으면 어떤 단말기에도 도달 할 수있다. 즉 단말끼리 상대 의 IP 주소를 알고 있다면 P2P 통신이 가능하다. 즉, 인터넷에서 P2P 응용기술은 IP 네트워크 오버레이 네트워크 ( Overlay Network : OLN )라고 볼 수 있다.


예를 들어, 방송형 서비스에 P2P를 응용하는 경우 멀티 캐스트 형식의 통신 형태가되기 때문에 이를 오버레이 멀티 캐스트 ( Overlay Multicast : OLM ) 또는 응용 계층 멀티 캐스트 ( Application Layer Multicast : ALM ) 이라고 부른다. 후자 의 용어는 IP 멀티 캐스트 TCP / IP 계층에서 패킷 복제는 멀티 캐스트를 수행에 대해서, 어플리케이션 계층에서 데이터의 복사본을 멀티 캐스트를 수행 한다는 의미에서 비롯된다.




인터넷 P2P 통신의 장점과 단점
장점
높은 확장성
요즘 P2P 방식이 주목 받고 있는 가장 큰 요인이다. 이상적인 P2P 방식에서는 모든 단말이 동일하지만 특별한 기능과 역할을 가진 단말이 존재 하지 않으므로 연결하는 사용자 수가 방대하게되어도 특정 단말에 부하가 집중 ( 확장성이 높은 신뢰성)한다. 즉, 더 많은 단말기로 전달이 가능하게된다. 한편, 대조되는 '클라이언트 - 서버 방식'은 클라이언트 수가 증가 할 때마다 서버의 처리 능력 및 서버에 연결되어있는 네트워크 회선에 부하가 집중하고 한계에 도달 하고 실용적인 배달을 할 수 없게 된다 ( 확장성이 낮은 ). 특히 동영상 전달등 서버에서 보내는 데이터의 크기가 큰 경우 확장성은 중요하다.


저가
클라이언트 서버 방식에 비해 요구되는 서버 장치 성능이 낮아지고, 통신 회선도 통신 대역폭의 저렴한 회선으로 끝난다. 이 비용 차이는 단말수가 증가하면 증가할수록 현저해진다. 일반적으로 클라이언트 서버 시스템을 운영 할 때 가장 비용이 많이 드는것이 서버의 회선 비용이며 이를 훨씬 저렴하게 할 수있다.



단점
통신 상대 특정 곤란성
P2P 방식으로 통신하는 단말의 존재와 연결 경로를 가정 할 수 없이 항상 상대의 존재와 그 연결 경로를 확인할 필요가 있다. 특히 현재 인터넷의 전형적인 단말기인 각 가정의 PC의 대부분은 인터넷 공급자가 제공하는 글로벌 IP 주소를 사용하여 인터넷에 연결되어 있고, 많은 공급자는 일반 사용자가 연결 요청을 낼 때마다 다른 글로벌 IP 주소를 할당한다. 이러한 단말끼리 P2P 통신을 위해서는 통신 상대의 IP 주소를 확인 하는 방법을 어떤 다른 방법으로 준비 할 필요가 있다. 한편, '클라이언트 - 서버 방식'은 서버가 고정 글로벌 IP를 취득 하거나 클라이언트가 참조 가능한 DNS에 등록하면 클라이언트는 매번 같은 방법으로 서버에 액세스 할 수있다.


통신 경로에 의한 통신 속도의 제한
P2P 방식으로 최적의 통신 속도를 보장하기 위해 모든 단말간의 회선 품질이 동일함이 필요가 있다. 그러나 이것은 인터넷 에서는 불가능한 요구이며, 통신 속도는 터미널을 연결하는 중계회선중 가장 느린 회선 속도가 제한 된다. 현재 인터넷은 약간 빠른 기간 네트워크에서 다수의 느린 서브 네트워크로 분기해 나가는 구조로되어 있고, '클라이언트 - 서버 방식'으로 서버를 기간 네트워크 가급적 가까이에 연결 하여 넓은 범위 의 클라이언트가 가능한한 빠른 회선 서버에 연결 하도록 설계 할 수 있지만, P2P 방식으로 이 방법은 적어도 일반 사용자간의 통신에서는 사용할 수 없다. 또한 일반 가정 연결하는 인터넷 회선은 대부분의 경우 다운로드 보다 업로드가 느리기 때문에 더욱 제약이 크다.




P2P 에 대한 오해와 기술적 과제
P2P 기술은 실용화 되어 아직 사이가 없기 때문에 성숙한 기술로 사용 되기 위해서는 몇 가지 과제가 남아 있다. 또한 지금까지의 P2P 기술은 파일 공유 소프트에 의해 주목받고 온 경위가 있어, P2P 를 사용하고 있다고 듣기만해도 문제 소프트라고 보는듯한 오해와 선입견을 받고 있지만, 다음과 같은 같이 많은 오해는 응용 프로그램 이나 P2P 소프트웨어 의 구현상의 문제 이고 해결책 이 보이기 시작 하고있다. P2P 기술 자체는 잘 사용하면 매우 유용한 기술이다.


의도하지 않은 정보의 유출의 위험 ( 오해 1 )

파일 공유 소프트를 비롯한 주문형 응용 프로그램은 자신의 PC에있는 데이터를 공개 할 수있는 기능을 가진 것이 있는데, 여기에는 사용자가 의도하지 않은 데이터 ( 기밀 정보 및 개인 데이터등 )가 유출 될 수 있다. 특히 Winny 나 Share 는 바이러스가 이런 기능이 이용되고 피해가 퍼지고 큰 사회 문제가 되었다.
대책으로는 관리자의 검열을 거친뒤의 공개 및 바이러스 검사 프로그램의 이용 철저히 이용자에게 업로드 를 확인하는 구현등이 유효하지만, 상용 P2P 시스템에서는 사용자의 수중 데이터 게시 기능 자체를 구현 하지 않고 정규 콘텐츠는 관리자 밖에 투입할 수없는 구조로하는 방향으로 움직이고있다.


공유 데이터 삭제가 곤란 ( 오해 2 )
Winny 이용 바이러스 문제로 유명하지만 일단 P2P 네트워크에 공개 되면 제거 하기가 어렵다는 문제가있다. 그러나 그것은 단순히 Winny 공유 데이터를 삭제하는 기능이 구현되지 않았기 때문이고, 최근 상용 P2P 시스템 에서는 관리자가 원격에서 인덱스 삭제 및 데이터 복제 제거 기능이 구현 되어 있다.


데이터 변조의 위험 ( 오해 3 )

주문형 응용 프로그램은 데이터의 복사( 복제 )를 캐시 폴더에 있는 경우가 많지만 일반 사용자가 장난을 목적으로 이 파일을 덮어 쓸 수 있다. 이것에 대한 대책으로는 파일에 대한 해시 코드와 전자 서명하여 변조 감지 한다. 변조가 감지된 파일은 P2P 소프트웨어가 즉시 폐기하여 악성 파일 전파를 방지 할 수있다.


ISP 의 대역폭 제한
파일 공유 소프트웨어의 이용 확산으로 인해 인터넷 백본 트래픽의 대부분이 파일 공유 소프트에 인해 트래픽 과부하 사태가 벌어지고있다. 이에 대해 많은 ISP는 일반 사용자의 사용 대역폭을 제한하는 대응에 나서고있다. 너무 많은 트래픽을 사용하는 사용자는 이용 제한을 가하려는 움직임이다 . P2P의 공식적인 사용 에 있어서도 이러한 제한이 부과되는 경우가 있기 때문에 P2P 애플리케이션의 이용에 제한이 나올 우려가 있다. 대책으로는 ISP측이 Winny 나 Share등의 문제가 소프트웨어에 대해서만 대역폭 제한을 걸도록 하는 것, 또는 사용자의 요금 체계를 종량제 하는것 등을 생각할 수있다 .


NAT 통과 문제
대부분의 일반 가정에서 인터넷 에 연결하는 광대역 라우터 가 사용되고 있지만, P2P 소프트웨어 가 외부 에서 IP 패킷 에 대한 연결 을 허용 하려면 라우터 중 NAT에서 포트 포워드 설정을 베풀 필요 가있다. 이것을 통칭 NAT 통과 라고 부른다. 파일 공유 소프트 는 " 포트 전달 " 이라고 부르기도 많다. 사용자가 수동으로 설정 하는 것도 가능 하기는하지만 전문 지식 이 필요할 것으로부터, P2P 소프트웨어 에서 자동으로 설정 하도록 하는 것이 바람직하다 . 여기에는 UPnP , STUN , UDP 홀 펀칭 등 의 이용이 효과적이지만 , 기존 라우터 중에는 대책이 어려운 것도 100 % NAT 통과 성공률을 달성 하는 것은 곤란하다.
또한 기업 의 LAN 에서 외부와의 P2P 를 할 경우 보안 수준이 높은 방화벽 저쪽 필요가 있지만 , 이쪽의 경우 는 P2P 소프트웨어 에 의한 자동 대응은 매우 어렵고, 수동으로 포트 포워딩 설정 에 의지 할 수 밖에 없는 것이 현실이다.




미래에는 IPv6가 보급되어 각 단말기에 별도의 IP 주소를 부여 되기 때문에 일반 가정, 기업 LAN 함께, NAT 통과, 방화벽이 불필요하게 되는것 아니냐는 견해가있다. 이 보안적인 견지에서 방화벽으로 IP 패킷 필터는 어떻게든 마련 될 것부터, 이것을 어떻게 넘는 것인가가 과제 이다. 이것을 자동화하는 것은 기술적으로는 가능하지만 보안의 확보와 편리성의 향상은 항상 트레이드 오프의 관계, 합을 확정 하는데 시간이 걸릴 것 같다.


또한 IPv4 주소 의 고갈 문제 에 대한 대응으로 ISP에 대형 스케일 NAT를 설치 한다는 계획이 진행 중이다. 이것은 각 사용자에게 전용 IP 주소를 배포 하는 그들 이지만, P2P 가지고 가지 큰 문제이며, 모든 단말 간에 자유롭게 피어 연결 을 할 수있게 될지 어떨지 는 주시 가 필요하다.


캐시의 유효 이용
주문형 유형의 P2P 응용 프로그램은 사용자의 단말기에 캐시를 많이 갖게하면 가질수록 전달 효율이 향상된다 ( 구체적으로 특정 노드에 집중이 일어나지 않는 데이터 검색에 시간이 걸리지 않는등 ). 그러나 사용자 PC의 한정된 자원인 메모리나 HDD 용량을 얼마나 확보 시켜 줄 수 있는지, 그리고 트레이드 오프가 되어, 사용자의 이해를 요구하면서 사용자가 어느 정도의 성능을 원하느냐를 판별하는 미묘한 균형을 모색 해 나갈 필요 가있다.


네트워크 비용 이 최적의 기기 선정 기술 ( P4P )
데이터가 있는 노드가 여러개 있다면 어떤 노드를 선택하면 ISP 및 통신 사업자에 취해 형편이 좋을지 인터넷 백본에 부담을주지 않는 것인가라는 관점에서 기술 개발이 이루어지고있다.
이러한 통신 인프라의 비용 구조의 실체에 맞춘 노드 선택 방법의 필요성이 부각 되어오고 있다 ( P4P = Proactive network Provider Participation for P2P ).