Bit Torrent File 생성
A.Torrent는 비트토렌트 프로토콜을 사용하여 배포되는 파일의 메타데이터를 포함하는 파일이다. 아래와 같이 bit torrent file을 생성하고 받는데 이용된다.
Client가 어떤 file을 받고 싶으면 tracker server에 요청을 하면 해당 file을 갖고있는 peer의 list를 전송해준다. 해당 list를 참고하여 peer들에게 file을 요청하여 download를 하는 것이다. 이때 모든 piece를 갖고 있는 peer를 seeder, 일부 piece를 갖고 있는 peer를 leecher라고 부른다.
Torrent Algorithm
File distribution time
아래의 상황에서 N개의 peer가 있다고 할때 client-server구조와 P2P구조에서의 file distribution time을 계산해보자.
Client-Server
서버는 N개의 파일 복사본을 순차적으로 보내야 한다.
한 개의 복사본을 보내는 데 걸리는 시간: F/us
N개의 복사본을 보내는 데 걸리는 시간: NF/us
클라이언트는 각 클라이언트는 파일 복사본을 다운로드해야 한다.
dmin을 최소 클라이언트 다운로드 속도라고 했을때 최소 클라이언트 다운로드 시간은 F/dmin이다.
위의 정보를 이용하면 아래의 결과가 나온다.
P2P
서버는 적어도 하나의 복사본을 업로드해야 한다.
하나의 복사본을 보내는 데 걸리는 시간: F/ us
각 클라이언트는 파일 복사본을 다운로드해야 한다.
최소 클라이언트 다운로드 시간: F/dmin
클라이언트들: 총합으로 NF 비트를 다운로드해야 한다.
최대 업로드 속도(최대 다운로드 속도를 제한)는 us + ∑ui
위의 조건을 이용하면 아래의 결과가 나온다.
둘을 비교하면 아래와 같다.
peer의 수인 N이 증가할 수록 P2P가 압도적으로 유리함을 알 수 있다.
'Quality control (Univ. Study) > Computer Network' 카테고리의 다른 글
Transport-layer services (0) | 2023.10.05 |
---|---|
컴퓨터 네트워크 문제(2) (0) | 2023.10.01 |
P2P(1) (0) | 2023.09.22 |
DNS (0) | 2023.09.20 |
E-mail protocol (0) | 2023.09.19 |