P2P (Peer to Peer)
- always-on server 가 없다
- end systems 간의 직접 communicate
eg) BitTorrent, VoIP(Skype)
1. 보통의 Server-Client 간 File Distribution Time
1) File F 를 N 번 업로드 하는데 걸리는 서버의 전송 시간 : NF/Us
2) 클라이언트가 파일 F를 다운로드 받는데 걸리는 최대 시간 F/dmin
파일 F를 N개의 클라이언트에 distribute 하는데 걸리는 시간 : max { NF/Us , F/dmin }
: 서버가 파일을 업로드 하는 시간 or 클라이언트 중 파일을 다운로드하는데 최대로 걸리는 시간 중 최대 시간
: 유저가 많아질 수록 N 이 증가하므로 속도가 느려짐
2. P2P 에서의 File Distribution Time
1) 서버에서 하나의 카피를 올리는 경우 걸리는 시간 : F/Us
2) 클라이언트가 파일 F를 다운로드 받는데 걸리는 최대 시간 : F/dmin
N명의 클라이언트 모두가 파일을 받을 경우 NF bits
max upload rate : Us + ∑Ui
파일 F를 N개의 클라이언트에 distribute 하는데 걸리는 시간 : max {F/Us, F/dmin, NF/(Us+∑Ui)}
: 유저가 많아질수록 N 과 Ui 모두 증가하므로 속도가 느려지지 않음
Client-Server vs P2P Distribution Time 비교
BitTorrent
- file 을 256Kb chucks로 나눔
- torrent : 파일 chunk를 교환하는 peer 그룹
- tracker : 토렌트에 속하는 peer 가 누구인지 tracking
- churn : peer 가 들어갔다 나갔다 하는 것
- rarest first : chunk를 보유한 peer 가 가장 적은 것 부터 request
- selfish peer : 다운로드만 받고 업로드는 하지 않는 peer
※ tit-for-tat
좋은 partner peer 를 남기고 selfish peer 를 버리기 위한 전략
- 가장 많은 chunk 를 제공하는 peer top 4 에게 chunk 를 보내준다
- 10초마다 top 4를 재평가
- 30초마다 랜덤으로 peer 를 선택하고 chunk를 보낸다. (top 4 가 고정되는 것을 방지하기 위해)
※ 이화여대 이미정 교수님의 네트워크 강의 내용 정리
'Computer Science > data comm & network' 카테고리의 다른 글
[Network] 컴퓨터네트워크 3~6 : HDLC, ARQ 종류, Frame의 형태 (0) | 2021.01.06 |
---|---|
[Network] 컴퓨터네트워크 1~2 : Data link, HDLC, Frame (0) | 2021.01.05 |
[Network] 3. Application layer : DNS, TTL (0) | 2020.04.06 |
[Network] 2. Application layer : HTTP, Cookie, Web Cache, Conditional GET, SMTP (0) | 2020.04.05 |
[Network] 1. 네트워크 기본 : Network 구성요소, TCP vs UDP, 서킷 스위칭 vs 패킷 스위칭, 패킷 딜레이 (0) | 2020.04.03 |