|
괜찮은 P2P, Bittorrent 클라이언트 BitComet의 트랙백.
개발자적 시각에서 본 Bittorrent ... Bittorrent 는 "무임승차(free ride)" 문제를 풀고자하는 시도로 볼 수 있다. 무임 승차란 P2P 망에서 주는 것 없이 받아가기만 하는 행위를 뜻한다. 냅스터의 경우 파일을 다운로드하면 일단 공유상태로 된다. 즉 남에게 줄 수 있는 상태로 된다. 공유망에서 파일을 분리하기 위해서는 사용자의 적극적인 행위가 필요하게 되고, 대부분의 사용자들은 멍청하거나 게으르기 때문에 심리학적으로 효과적인 방법임이 확인된바 있다. 그러나 일단 사용자가 주지 않기로 결심한다면 이를 막을 수 있는 방법은 없다. 미국음반협회의 소송사태 이후의 누텔라(Gnutella) 망을 보면 이 문제가 망 효율에 심각한 문제가 될 수 있음을 알 수 있다. 애당초 무임승자를 전재로한 소프트웨어들이 등장할 수도 있다. 즉 현재의 P2P 망이 갖고있는 무임승차에 대한 면역력은 심리학적일 뿐이며 물리적이지 못하다는데 있다. Bittorrent 는 이 문제를 프로토콜을 통해 풀어보고자하는 것이다. "게임 이론에서 등장하는 Tit-For-Tat 전략을 프로토콜에 도입해보자" 는 간단한 아이디어에서 출발한다. (솔직히 Bittorrent 의 저자가 이렇게 생각했는지는 모르겠다. 소스코드를 보고 떠올린 개인적 의견일 뿐이다.) Tit-For-Tat 전략이란 일종의 "보복전략"이다. 받은대로 갚아주겠다는 뜻이다. 즉 어떤 파일(또는 그 일부)을 다른 노드에서 계속 받기 위해서는 바로 그 상대방에게 다른 파일(또는 그 일부)를 계속 줄 수 있어야만 한다. 대략 이런 소리다. "64Kbytes 는 일단 주마. 64Kbytes 를 또 받아가려면 너도 64Kbytes 를 내놔라". 상대가 조금 이라도 계약을 위반하는 징후가 보이면 연결을 끊어버리고 (약간 거짓말 보태서) 다시는 기회를 주지 않는다. 이경우 프로토콜을 해킹하여 무임승차 클라이언트를 만들어도 의미 있는 효과를 거둘 수 없다는 것을 알 수 있다. Bittorrent 는 대칭형 내트워크를 가정하여 만들었다는 것을 알게 되었다. 나는 100M의 라인을 사용하고 있으므로 만족할만한 트래픽을 보여 줬으나... ADSL Lite와 같이 업로드 속도가 만족할만 하지 못할경우 Bittorrent 의 효용이 좋지 못할것으로 보인다. 대칭형 네트워크망을 사용하거나 극악의(모뎀같은) 네트워크 사용자에게 효용이 있어 보인다.
|
||||