160 likes | 439 Views
Peer-to-Peer 응용. P2P 모델. 전통적인 client-server 모델과의 차이점은 P2P 네트워크에 참여하는 노드는 서비스를 요청하는 client 이면서 , 또한 서비스를 제공하는 server 의 역할도 한다는 점이다 . 응용 File sharing Communication Skype Instant messaging CDN. ( 자료 :www.netmanias.com). 인터넷 트래픽. 2011 년 3 월 , fixed access, peak time, bytes. 북미.
E N D
P2P 모델 • 전통적인 client-server 모델과의 차이점은 P2P 네트워크에 참여하는 노드는 서비스를 요청하는 client이면서, 또한 서비스를 제공하는 server의 역할도 한다는 점이다. • 응용 • File sharing • Communication • Skype • Instant messaging • CDN (자료:www.netmanias.com)
인터넷 트래픽 2011년 3월, fixed access, peak time, bytes 북미 유럽
P2P history • Napster: p2p의 시작 • 5/99: Shawn Fanning (freshman, Northeasten U.)은 Napster Online music service 설립 • 12/99: first lawsuit • 3/00: 25% UWisc traffic을 차지 • 7/01: US 법원 Napster 폐쇄 결정 • 하지만 다른 p2p file sharing 서비스가 Napster 뒤를 이음
Napster의 중앙 서버 모델(1) napster.com centralized directory 1. File list와 IP 주소를서버에 uploaded
Napster의 중앙 서버 모델(2) napster.com centralized directory 2. 사용자는 서버에 search 요청 Query and results
Napster의 중앙 서버 모델(3) napster.com centralized directory 3. 사용자는 데이터를 갖고 있는 호스트에 ping을 한다. best transfer rate를 찾음 pings pings
Napster의 중앙 서버 모델(4) napster.com centralized directory 사용자는 서버를 선택 4. Napster’s centralized server farm had difficult time keeping up with traffic Retrieves file
Peer list를 수집 chunk의 교환 Peer BitTorrent: 분산 모델 • P2P file distribution tracker: peer들의 정보를 관리하는 서버 torrent: group of peers exchanging chunks of a file chunk: file의 조각(256kb) Seeder: 완전한 파일을 갖고 있는 peer Leecher: 파일의 일부를 갖고 있는 peer
BitTorrent • BitTorrent 프로토콜을 사용하여 파일을 download 받기위해서 BitTorrent client program(ex, μTorrent)을 설치한다. • 처음에 tracker에 요청하여 peer list를 받는다. • Peer list 중 일부 peer에 연결한다.(neighbors) • Download를 받는 중에 다른 peer에 chunk를 upload한다. • Peer는 자유롭게 가입, 탈퇴를 할 수 있다.
File downloading 예 (자료:www.netmanias.com)
토렌트(.torrent) 파일 download • 웹(Torrent community등)을 사용하여 Torrent file을 다운로드 받아 실행한다.(이소라_mp3.torrent) • Torrent file에는 • mp3 파일의 고유한 hash 값 • Tracker의 URL 주소 (자료:www.netmanias.com)
Tracker에게 peer list 요청 • mp3 파일의 고유 hash 값을 tracker에 전송한다: Tracker Request(HTTP Get) • Tracker는 고유 hash 값의 mp3 파일을 공유하는 모든 peer들의 list를 보관한다. • swarm: 각 공유 파일마다 존재하며, 공유 파일에 대한 고유 hash 값과 공유 파일을 소유하는 peer list 정보
Peer list의 IP 주소 받기 • Tracker는 요청한 mp3 파일의 hash 값에 해당하는 swarm이 존재하는지 조사. • 만약 없으면 새로운 swarm을 생성하고 다른 peer로부터 Tracker request가 올 때까지 기다림 • 만약 있으면, swarm의 peer list의 IP 주소를 보낸다: Tracker Response • Peer는 peer list 중에서 최선의 peer를 선택한다: • 선택 방법은?
File download • Peer list를 받은 peer는 모든 peer IP 주소로 mp3 파일의 hash 값을 보낸다. • 이것을 받은 peer 중에서 공유가 가능한 peer는 mp3 파일의 hash 값으로 응답 • 이러한 hash 교환을 통해서 peer와 peer는 session을 생성하고 chunk를 교환한다.