P2P구조
P2P구조는 서버-클라이언트와 다르게 서버가 없습니다.
각 end system들이 서버 없이 직접적으로 콘텐츠를 송/수신합니다.
즉 P2P구조는 end system들이 서버와 클라이언트 두 역할을 수행합니다.
P2P구조의 예
- 파일 공유 서비스 Bit Torrent
- 음성 서비스 Skype
- 스트리밍 서비스 KanKan
P2P 환경에서의 파일 분배와 서버-클라이언트 환경에서의 파일 분배
N명의 사용자가 F 크기의 파일을 공유하는데 걸리는 시간.
클라이언트-서버 모델
클라이언트-서버 모델에서 서버는 N개의 파일을 완전히 다 올려야 한다.
그리고 클라이언트는 F 크기의 파일을 다운받아야 한다.
서버-클라이언트 모델에서 공유하는데 걸리는 시간은
서버 성능과 클라이언트 성능 중 낮은 성능을 기준으로 공유시간이 결정된다.
P2P 모델
서버는 하나의 파일을 완전히 다 올려야 공유가 시작된다.
그 파일을 클라이언트가 다운 받는다.
맨 마지막 식을 눈여겨보면 총 N개 F 크기 파일을 업로드할 경우, N이 증가할 수록 분자와 분모가 모두 증가한다.
이 말은 사용자가 많아질수록 업로드 할 파일의 크기도 증가하지만, 업로드되는 속도 또한 증가한다는 의미이다.
따라서 사용자가 많아지면 업로드 속도는 그대로지만, 업로드 파일의 크기가 늘어나는 클라이언트-서버 모델과는 다른 부분이다.
따라서 N이 증가할수록 P2P 모델은 시간이 줄어드는 반면, 클라이언트-서버 모델은 시간이 일정한 것을 알 수 있다.
BitTorrent
파일을 256KB의 청크로 쪼개서 전송하고 받는다.
Traker
각 Peer를 추적해서 누가 어떤 파일의 청크를 가지고 있는지 파악
각 청크들을 다운로드하는 도중에 Peer들은 자신이 가진 청크들을 다른 Peer에게 업로드한다.
이처럼 다운로드를 하면서 바로 업로드를 할 수 있기 때문에 굉장히 효율적인 방법이다.
chrun
파일을 다운로드한 사용자가 파일을 다 다운로드하고, 네트워크를 자유롭게 나갈 수 있다.
DHT(Distributed Hash Table)은 P2P 네트워크에서 사용되는 분산 데이터 저장 및 검색 기술.
분산된 데이터 관리와 검색을 효과적으로 수행할 수 있기에, 청크의 가용성을 높일 수 있다.
청크의 요청은 rarest first 원칙이 적용된다.
이는 Peer들이 적게 가지고 있는(희귀한) 청크일수록 우선순위를 두고 전송되는 원칙이다.
그래야 해당 청크의 복사본이 늘어나 파일 공유가 수월해지기 때문이다.
대부분이 가지고 있는 청크를 요청하기보다는 대부분이 없는 청크를 요청해서 그 청크를 공유하면 파일공유가 수월해진다.
tit-for-tat
업로드를 많이 한 Peer일수록 다운로드에 우선순위를 부여해서, 서로 공유하기 매끄러운 환경을 만들어 준다.
😀요약
- P2P 구조는 end-system들끼리 서버 없이 직접적으로 통신하는 구조이다.
- P2P 모델은 사용자가 늘어날수록 파일 분배의 시간이 줄어든다.
- 서버-클라이언트 모델은 분배 시간이 일정함.
- BitTorrent 방식은 파일을 256kb의 청크 단위로 쪼개서 교환함.
- rarest first 원칙과 tit-for-tat 원칙을 적용해서 파일 공유 환경을 매끄럽게 한다.
'Computer Science > Network' 카테고리의 다른 글
[컴퓨터망] CDN & DASH (1) | 2023.04.12 |
---|---|
[컴퓨터망] CDN & DASH (0) | 2023.04.12 |
[컴퓨터 망] DNS(Domain Name System) (0) | 2023.04.11 |
[컴퓨터망] - HTTP1.1/ HTTP2.0 / HTTP 3.0 (0) | 2023.04.11 |
[컴퓨터망] - 쿠키와 웹 캐시 (0) | 2023.04.11 |