본문 바로가기

CS/Computer Network

[네트워크] Ch3.4 BitTorrent P2P Systems

 

본 글은 학교 네트워크 수업을 들으며, "Computer Networking: A Top-Down Approach 8ed(컴퓨터 네트워킹: 하향식 접근 제8판)"을 기반으로 공부한 내용을 정리한 글입니다.

 

Ch3.4 BitTorrent P2P Systems

P2P Systems(Protocols)

- P2P 프로토콜들은 위와 같이, 크게 `중앙화된 것`과 `분산된 것`으로 나뉨.

- Kademila가 요즘에 좀 많이 쓰이는데, 쿼리를 3~4단계에 다 끝나게 만들어서 되게 안정적임.

- 또한, BitTorrent처럼 `섞인 것`도 존재.

- `중앙화된 P2P 시스템`은 왼쪽과 같이, (key, value) pair를 서버에 저장해, 파일 등록 및 쿼리 시 서버의 도움을 받음. 그러나 파일 공유는 여전히 P2P의 방식대로 peer한테서 가져오고.

- `분산된 P2P 시스템`은 우측과 같이, 서버가 아예 없고 완전히 pure하게 P2P로 작동함. 


P2P Applications(사용 사례들)

File Sharing 

ex. BitTorrent, Kademilla

P2P Communications

ex. Skype

P2P Multimedia streaming

- 동영상을 보낼 때 P2P 사용

ex. Africa(SOOP), CHZZK

P2P Multiplayer Games

ex. Unreal TOurnament, DOOM

P2P Collaborative Applications

ex. ICQ, Shared Whiteboard

P2P/Grid Distributed processing

- 전 세계에 놀고 있는 PC들이 많으니, 그걸 모아서 슈퍼컴퓨터처럼 써보자! 

- 노는 컴퓨터들에 분산해서 연산을 처리하자.

ex. SETI@home 

And so on...


BitTorrent

- (북미 기준) 20~50%, 전 세계 기준 10% 미만 사용됨. (kademila 기반 P2P traffic이 20% 정도)

=> 전 세계에서 30~40%의 트래픽이 P2P 기반.

- `BitTorrent`, `uTorrent`와 같은 client software을 필요로 함.

Hybrid architecture

tracker-based centralized architecture

- tracker라는 서버가 존재함.

- BitTorrent는 주로 이 구조를 사용.

trackerless decentralized architecture

- 사실상 Kademila와 거의 유사한 방식.

BitTorrent

- `Tracker` : swarm을 관리하는 서버

- `Seeder` : 목표로 하는 content를 전부 타 가지고 있는 peer

- `Leecher` : 목표로 하는 content를 일부 또는 안 가지고 있는 peer

- `Swarm` : peer들의 그룹. swarm 내에서 content 공유가 일어남.