본문 바로가기

카테고리 없음

P2P file distribution (P2P vs C-S)

P2P(Peer to Peer)이란?

중앙 서버를 거치지 않고 클라이언트 컴퓨터끼리 직접 통신하는 방식이다.

ex) 토렌토, 스트리밍, 스카이프

 

특징

- 항상 서버가 있는 것이 아니라 Client와 Server가 수시로 바뀐다.

- Peer가 짧게 짧게 연결되며 IP도 바뀐다.

- 파일 공유에 유리하다.

 

ex) BitTorrent (토렌토)

- file은 256Kb Chunks로 나뉜다.

- Tracker는 동작하고 가장 가까운 client의 IP주소를 관리하고 알려준다.

 
 

순서

1) 처음 다운받을(시작할) 땐, tracker에게 peer들의 list를 받는다.

2) 어느정도 데이터가 남으면 다른 peer에게 공급해준다.

 

+ tit-for-tat 추가정보

https://govl6113.wixsite.com/baeji-develop/post/tit-for-tat

 
 
 

P2P vs Clinet-Server

1대의 서버에서 N개의 피어에 파일(사이즈 F)을 배포하는 데 걸리는 시간은?

Us : 파일 업로드 속도 | Ds : 파일 다운받는 속도

 

Client - Server : max{NF/us,,F/dmin}

P2P : max{F/us,,F/dmin,,NF/(us + Sui)}

 
 
 

성능 비교

 
 
 

단어정의

토렌트 : 파일 청크(chunks)가 존재하는 친구 집합

churn : 초기에 받기만 하고 공급은 안 하는 사람