우선 토렌트의 작동원리를 알기전에 P2P(peer to peer) 통신을 알아야한다.
P2P가 무엇일까?
서버-클라이언트 구조와는 달리 P2P는 클라이언트와 클라이언트의 정보 교환입니다.
그림과 같이, 클라이언트 끼리 그물망처럼 연결되어 가지고있는 정보를 교환하는 형태입니다.
이제 P2P가 무엇인지 알았으니, 토렌트가 어떻게 돌아가는지 살펴보겠습니다.
토렌트는 하나의 파일을 여러 조각으로 나눕니다.
여러조각으로 나누는 이유는 P2P의 강점을 이용하기 위해서입니다.
이해가 쉽게 비교로 서버-클라이언트 구조를 먼저 봅시다. 파일을 예시로 9조각으로 나누었다고
가정하겠습니다.
서버 ->유저형식은 서버가 9조각을 유저한테 주어야합니다. 보통 다운로드를 받을때 이렇게 받죠.
이 형식은 P2P에비해 느릴수밖에 없습니다.
하지만, P2P를 사용한 토렌트의 다운로드는 많이 다릅니다.
나누어진 9조각을 이미 파일을 갖고있는유저(Seeder) 들이 파일을 갖고있지않는유저(피어)들에게
조각을 분담하여 나눠줍니다. 그림과 같이 3조각씩 나눠줍니다.
이미 파일을 갖고있는유저(Seeder) 들이 많으면 많을수록
파일을 더 잘게 쪼개며, 파일을 줄수있는 통로가 더욱 많아지니
다운로드속도가 비약적으로 상승하겟죠?
토렌트로 파일을 전부 다운받았다면, 받은 유저가 파일을삭제하거나 끄지 않는이상 자동으로 Seeder가 됩니다.
제목 아래에 Seeding이 보이시죠? 지금은 다른 피어들이 다운을 받지않는상태지만
만약 다른 유저가 다운을 받는다면 Seeding 옆에있는 0B/s 숫자가 바뀌면서 업로드가 되는걸 볼수있습니다.
'잡다한지식' 카테고리의 다른 글
Nginx의 의미, 특징, 사용 방법 훑어보기 (0) | 2024.04.22 |
---|---|
DDOS가 무엇이고 대처방법은? (0) | 2024.03.03 |
ACID , Transaction(트랜잭션) , Procedure (프로시져)에 대해 (0) | 2023.06.05 |