Network
P2P
와이제인
2018. 3. 28. 16:46
P2P
P2P는 쉽게 말해 End system끼리 공유하는 것이다. Client들이 자기 파일을 공유하는 것이다.
Usenet - 개발한 컨텐츠를 게시판에 올리면 받아가는 옛 구조.
Naspter - IP address와 content를 등록, 효율을 따져 어떤 peer를 선택한다.
eDonkey
Gnutella - 중앙 서버가 아닌, 다른 이웃에게 소문을 내 합리적인 이웃을 선택하여 요청한다. 만약 파일도 없는데 있는지 물어보는 msg가 퍼져 낭비가 될 수 있다. 범위를 정하여 3 hop 또는 4 hop 정도만 퍼지도록 하는 것이 효율적이다.
KaZaA - 가까운 client끼리 리더를 정한다. 멤버들끼리 어떤 파일을 가지고 있는지 알고, 또 다른 리더도 알게되는 방식. 즉, 누군가 파일을 가지고 있는 것을 알고 요청하는 것이다.
freenet
BitTorrent - 파일을 조각으로 잘라서 동시에 조각을 받아서 합친다. segment를 받아 중간중간 여러 peer들에게 동시에 받아서 채운다. 동시에 내 조각을 나눠준다.
Distributed Hash Table (DHT)
DHT : a distributed P2P database.
Database has (key, value) pairs.
Distribute the (key, value) pairs over the (millions of peers)
A peer queries DHT with Key
Peers can also insert (key, value) pairs