There are a certain terms that we come across every day when we use torrents and on the other hand there are a certain terms which we get to know when we are learning deep (working, operations,etc) about torrents. So, for new torrent users this can be a great guide to knowing the basic terminology about torrents. Otherwise for the people following my series this is not the post itself but this is a post which will help in giving you a clear understanding about some of the terms used in the the other parts of series which you probably did not understand ( which means you are redirected here). Hence this post will provide you all the term you need to know while learning about torrent in detail in very simple language but providing you with equally technical knowledge and also the sources.
And please pay attention to each and every line in this post since it provides all the ingredients for other posts.
SHA-1 Hash - SHA-1 hash is like the fingerprint of the digital files. It is a 160 bit value. It is known to be successor of MD5 Hash. This method is usually known to determine if someone has tampered with the file. Every torrent file has one SHA hash value. Even one slightest of change in the original file leads to huge change in SHA-1 hash value.
Hence these were the terms associated with the torrents, I now hope you have clear-cut understanding about the different terms used in the torrent world.
Please comment about how did you like this post or if you would like to give any suggestions :)
The terminology has been divided in three categories:
- Basic Terminology - These are the basic terms that are used in the torrent world which every torrent user must know about.
- Technical Terminology - These are the little technical terms about torrents which you would not come across as a basic torrent user but you would definitely come around them while trying to get an insight about torrent.
- Reference Terminology - These are not the terms related directly to torrents but are very important to know when you are learning about the operations and protocol of torrent. And also the external sources would also be provided if you want the indepth detail for the same.
Basic Terminology
Torrent - Torrent is the type of file which contains the metadata about the file you want to download. This file makes use of a torrent client in order to download the desired file. However, this file does not contain the data of file you wish to download.
Torrent Client - This is a software which is used to run the torrent file. This is the main body and the center of torrent download because it keeps track and shows information about seeds, peers, trackers, etc. It also keeps track of all the torrents and parts of file downloaded at once. We can play, pause, stop, remove torrent. Plus it can also create new torrent for the user if he wishes. No torrent can be downloaded without the torrent client.
Peer - Peers are the instances of bit-torrent file which are downloading and have not got the full file yet. But they still play a key role in the swarm as they start to upload the parts of file that they have downloaded already hence increasing the overall upload speed of the torrent. In other words, a peer is any active participant in the swarm which is not a seeder.
Seed - A seed is any computer which has got the full copy of the file and is uploading the file for the swarm. Once you have downloaded the file the torrent client starts to upload the files (otherwise called seeding) automatically until the user stops it deliberately.
Swarm - Swarm is a group of computers connected to a file. It is integration of both peers and seeders. Suppose there are 40 peers and 35 seeders then the swarm consists of 75 members.Swarm and torrent client work together to distribute a particular file. [Note - A swarm may be able to survive temporarily without a seeder sometimes, it depends if the peers have all the pieces of file to exchange. But ultimately it requires a seeder.]
Leech - Leech is referred to a peer who has negative effect on the swarm. A leecher usually sets his upload speed very low hence resulting in a very low share ratio. Another thing that leecher a does is deletes the file as soon as it is downloaded.
Lurker - A lurker is a user which downloads file from a group but does not add any new content. Do not confuse lurker with a leecher since a lurker seeds.
Pieces - These are the equal parts files have been divided into for the purpose of being sent via torrent. These are usually in a power of 2 (for eg. 64kb, 128kb, 512kb, 1mb, 2mb)
Share-Ratio - Share ratio is the upload download ratio of a user. it is calculated by Share ratio = Uploaded data/Downloaded data. A share ratio above one is considered to be a good ratio and has positive impact in bit-torrent community.
Availability - It is the number of complete copies of the file available. Every seed adds 1 unit to this number plus the sum of file parts from different peers enough to complete a file.
for example:
Seed - A seed is any computer which has got the full copy of the file and is uploading the file for the swarm. Once you have downloaded the file the torrent client starts to upload the files (otherwise called seeding) automatically until the user stops it deliberately.
Swarm - Swarm is a group of computers connected to a file. It is integration of both peers and seeders. Suppose there are 40 peers and 35 seeders then the swarm consists of 75 members.Swarm and torrent client work together to distribute a particular file. [Note - A swarm may be able to survive temporarily without a seeder sometimes, it depends if the peers have all the pieces of file to exchange. But ultimately it requires a seeder.]
Leech - Leech is referred to a peer who has negative effect on the swarm. A leecher usually sets his upload speed very low hence resulting in a very low share ratio. Another thing that leecher a does is deletes the file as soon as it is downloaded.
Lurker - A lurker is a user which downloads file from a group but does not add any new content. Do not confuse lurker with a leecher since a lurker seeds.
Pieces - These are the equal parts files have been divided into for the purpose of being sent via torrent. These are usually in a power of 2 (for eg. 64kb, 128kb, 512kb, 1mb, 2mb)
Share-Ratio - Share ratio is the upload download ratio of a user. it is calculated by Share ratio = Uploaded data/Downloaded data. A share ratio above one is considered to be a good ratio and has positive impact in bit-torrent community.
Availability - It is the number of complete copies of the file available. Every seed adds 1 unit to this number plus the sum of file parts from different peers enough to complete a file.
for example:
Suppose there are 100 parts of a file. And there are 10 seeders and 20 peers. Each peer is uploading 10 parts of the file(considering all parts being uploaded are different until full file is complete).
So, the availability would be no. of uploaders + no. of peers*no. of different parts/no. of parts of file
Hence in this case Availability = 10 + 20*10/100 = 12
[Note - This is the very ideal case because no. of parts cannot be different they tend to overlap hence decreasing the efficiency. This was just to give idea, just think about it for a minute and you will understand]
Health - It is basically synonym to the availability. Different sites may have different criteria for health. It shows if all pieces of torrent are available to download. It is between 0 to 1 and percentage is calculates from this value.
Technical Terminology ( A little bit technical !)
Tracker - It is a server on the internet which assists in communication between the the peers (i.e torrent clients) using the bittorrent protocol. It is basically the heart of the complete torrent culture. It tracks all the peers & seeders and synchronizes all the download through the same tracker.
In other words, tracker stores all the information about the torrent in itself and torrent client frequently queries the tracker about seeds peers and all other information about the tracker and in return tracker provides client the information asked for.
Peer-to-peer File Sharing - Peer to peer sharing is a type of file sharing which doesn't involve or require a single server/mirror servers to upload a file for all users to download. Instead, it is a type of sharing which involves the downloaders themselves to upload the file once they have downloaded it hence acting as host or servers to users who are downloading. This way as the process matures a big chain of uploaders is potentially made(if they do-not act as leechers) and the sum of upload speeds is quite high hence putting no pressure on single server.
Metadata (Metainfo) - In very simple words, metadata means data about data. Metadata gives the certain information about the actual data like image, video, etc. Metadata can actually be about anything. It is better to be said as the information about the real data.
In reference to torrent it is metadata is called metainfo as it contains the metadata about the target file + some other info like location of the tracker(s).
Example of metadata :
Scrape - It is the request sent by a torrent client to the tracker to ask for the information and about the statistics (peers, seeders, etc of the torrent).
Multi-tracking - It is an extension to torrent file metadata which allows the use of multiple trackers per file. So, if the one tracker fails another tracker can continue the process. It is an unofficial feature but has been implemented by quite a lot of clients like BitComet, BitTornado, BitTorrent, KTorrent, Transmission, µTorrent, Vuze, etc.
Index - Index is a list of .torrent files that are managed by a website, used for the purpose of searching desired torrent files on the site.
Choking - This is the state of peer in which other client refuses pieces to send file to the peer.
These are the situations in which one client chokes another client :
End Game - End game refers to the process of downloading of pieces towards the end the torrent download. Typically the pieces required towards the end of the downloading procedure are the most difficult to get since the easy-to-get and more accessible pieces have already been downloaded.
So, in order to avoid delaying the downloading completion process the clients tries to attain the last pieces from all of the peers. Once the last pieces have been downloaded, client cancels request to all other peers. Sure it uses some extra bandwidth but this is very better to do it than other way around
Peer_ID - It is a unique ID of every torrent client which is generated by client at the startup. It can be any value including Binary Data.
In other words, tracker stores all the information about the torrent in itself and torrent client frequently queries the tracker about seeds peers and all other information about the tracker and in return tracker provides client the information asked for.
Peer-to-peer File Sharing - Peer to peer sharing is a type of file sharing which doesn't involve or require a single server/mirror servers to upload a file for all users to download. Instead, it is a type of sharing which involves the downloaders themselves to upload the file once they have downloaded it hence acting as host or servers to users who are downloading. This way as the process matures a big chain of uploaders is potentially made(if they do-not act as leechers) and the sum of upload speeds is quite high hence putting no pressure on single server.
Metadata (Metainfo) - In very simple words, metadata means data about data. Metadata gives the certain information about the actual data like image, video, etc. Metadata can actually be about anything. It is better to be said as the information about the real data.
In reference to torrent it is metadata is called metainfo as it contains the metadata about the target file + some other info like location of the tracker(s).
Example of metadata :
A video is the data in itself, then the metadata of video would be frames/second, resolution, size, length, etc.
Similarly the metadata of picture would be color depth, frame size, size, length, etc.
The metadata of a text file would be the name of author, file size, file encoding,etc
Scrape - It is the request sent by a torrent client to the tracker to ask for the information and about the statistics (peers, seeders, etc of the torrent).
Multi-tracking - It is an extension to torrent file metadata which allows the use of multiple trackers per file. So, if the one tracker fails another tracker can continue the process. It is an unofficial feature but has been implemented by quite a lot of clients like BitComet, BitTornado, BitTorrent, KTorrent, Transmission, µTorrent, Vuze, etc.
Index - Index is a list of .torrent files that are managed by a website, used for the purpose of searching desired torrent files on the site.
Choking - This is the state of peer in which other client refuses pieces to send file to the peer.
These are the situations in which one client chokes another client :
1. Second client is a seed i.e it does not require any piece to download.
2. Client has already approached its maximum upload capacity (i.e upload speed at that instant).
3. If the second client has been Blacklisted because of some reasons like awful upload/download ratio or because of being abusive.
End Game - End game refers to the process of downloading of pieces towards the end the torrent download. Typically the pieces required towards the end of the downloading procedure are the most difficult to get since the easy-to-get and more accessible pieces have already been downloaded.
So, in order to avoid delaying the downloading completion process the clients tries to attain the last pieces from all of the peers. Once the last pieces have been downloaded, client cancels request to all other peers. Sure it uses some extra bandwidth but this is very better to do it than other way around
Peer_ID - It is a unique ID of every torrent client which is generated by client at the startup. It can be any value including Binary Data.
Reference Terminology
Bencode - Bencode is the type of encoding which is used to encode the metadata in the torrent files. It is not as efficient as binary coding but is definitely simpler than that. It supports four types of values:byte strings, integers, lists, and dictionaries. Value type of Bencode are described in image below.
Bencode Value Types |
To know more about bencode CLICK HERE
DOWNLOAD Bencode Editor
SHA-1 Hash - SHA-1 hash is like the fingerprint of the digital files. It is a 160 bit value. It is known to be successor of MD5 Hash. This method is usually known to determine if someone has tampered with the file. Every torrent file has one SHA hash value. Even one slightest of change in the original file leads to huge change in SHA-1 hash value.
Hence these were the terms associated with the torrents, I now hope you have clear-cut understanding about the different terms used in the torrent world.
Please comment about how did you like this post or if you would like to give any suggestions :)
very well written article for a beginner to get acquainted with the basic terminology of torrents.Thank you for sharing this information.
ReplyDelete