Autosave: 2024-08-09 17:00:03
This commit is contained in:
parent
52a5cfe033
commit
ed61e2e4cb
2 changed files with 50 additions and 1 deletions
BIN
.zk/notebook.db
BIN
.zk/notebook.db
Binary file not shown.
|
@ -17,4 +17,53 @@ to others.
|
||||||
|
|
||||||
## Procedure
|
## Procedure
|
||||||
|
|
||||||
Large files are divided into small
|
Large files are divided into small equal sized pieces and each piece is assigned
|
||||||
|
a unique hash identifier. The `.torrent` file details the number of pieces,
|
||||||
|
their sizes and hash values.
|
||||||
|
|
||||||
|
Clients request different pieces from different peers simultaneously. As pieces
|
||||||
|
are received, they are verified against their hash. Corrupted or incorrect
|
||||||
|
pieces are discarded and re-downloaded.
|
||||||
|
|
||||||
|
The client software reassembles the pieces in the correct order and the final
|
||||||
|
file will be identical to the original which can be verified by comparing
|
||||||
|
hashes.
|
||||||
|
|
||||||
|
## Key terms
|
||||||
|
|
||||||
|
- _tracker_
|
||||||
|
- a server that coordinates communication between peers (so there is a server
|
||||||
|
but its role is more lightweight than client-server, coordinating the peers
|
||||||
|
rather than hosting or distributing file content)
|
||||||
|
- _swarm_
|
||||||
|
- a group of peers sharing the same file
|
||||||
|
- _seeding_
|
||||||
|
- uploading file pieces to other peers
|
||||||
|
- _leeching_
|
||||||
|
- downloading file pieces from other peers
|
||||||
|
|
||||||
|
> An alternative to a tracker server is to use trackerless methods such as
|
||||||
|
> distributed hash tables
|
||||||
|
|
||||||
|
## Terminological clarification
|
||||||
|
|
||||||
|
- _BitTorrent_ is the communications [protocols](Network_protocols.md) for P2P
|
||||||
|
file sharing. It was also a client software developed by the company
|
||||||
|
BitTorrent Inc.
|
||||||
|
|
||||||
|
- _torrenting_ is the general terms for that act of sharing files using the
|
||||||
|
BitTorrent protocol
|
||||||
|
|
||||||
|
## Napster
|
||||||
|
|
||||||
|
Napster pre-dated the emergence of the BitTorrent protocol. It did not segment
|
||||||
|
files and files were downloaded directly from peers. It was a centralised P2P
|
||||||
|
network because there was a central server that indexed all available files
|
||||||
|
which kept a database of all connected users and their files.
|
||||||
|
|
||||||
|
When you searched Napster you would be querying this DB on the server. The
|
||||||
|
server would facilitate a direct connection between the consumer and provider
|
||||||
|
peer for the data exchange.
|
||||||
|
|
||||||
|
When users share with BitTorrent the `.torrent` file is the source of truth and
|
||||||
|
a swarm is created around the users who have possess the file.
|
||||||
|
|
Loading…
Add table
Reference in a new issue