From ff1532e5d0abce667f0db1c142f51b8ab825bbc7 Mon Sep 17 00:00:00 2001 From: Jesse Li Date: Fri, 17 Jan 2020 11:23:37 -0500 Subject: [PATCH] Add Guide: BitTorrent client --- static/authors/jesse.png | Bin 0 -> 4352 bytes static/guides/torrent-client/address.png | Bin 0 -> 22807 bytes static/guides/torrent-client/bitfield.png | Bin 0 -> 18286 bytes static/guides/torrent-client/choke.png | Bin 0 -> 16112 bytes .../torrent-client/client-server-p2p.png | Bin 0 -> 25557 bytes static/guides/torrent-client/download.png | Bin 0 -> 24979 bytes static/guides/torrent-client/handshake.png | Bin 0 -> 16196 bytes .../torrent-client/info-hash-peer-id.png | Bin 0 -> 12651 bytes static/guides/torrent-client/info-hash.png | Bin 0 -> 11575 bytes static/guides/torrent-client/message.png | Bin 0 -> 11075 bytes static/guides/torrent-client/pieces.png | Bin 0 -> 17099 bytes static/guides/torrent-client/pipelining.png | Bin 0 -> 86338 bytes static/guides/torrent-client/trackers.png | Bin 0 -> 26308 bytes storage/authors.json | 7 + storage/guides.json | 11 + storage/guides/torrent-client.md | 564 ++++++++++++++++++ 16 files changed, 582 insertions(+) create mode 100644 static/authors/jesse.png create mode 100644 static/guides/torrent-client/address.png create mode 100644 static/guides/torrent-client/bitfield.png create mode 100644 static/guides/torrent-client/choke.png create mode 100644 static/guides/torrent-client/client-server-p2p.png create mode 100644 static/guides/torrent-client/download.png create mode 100644 static/guides/torrent-client/handshake.png create mode 100644 static/guides/torrent-client/info-hash-peer-id.png create mode 100644 static/guides/torrent-client/info-hash.png create mode 100644 static/guides/torrent-client/message.png create mode 100644 static/guides/torrent-client/pieces.png create mode 100644 static/guides/torrent-client/pipelining.png create mode 100644 static/guides/torrent-client/trackers.png create mode 100644 storage/guides/torrent-client.md diff --git a/static/authors/jesse.png b/static/authors/jesse.png new file mode 100644 index 0000000000000000000000000000000000000000..a02fc7972074964ecb7eab27a157b4fa46c8f49b GIT binary patch literal 4352 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 literal 0 HcmV?d00001 diff --git a/static/guides/torrent-client/address.png b/static/guides/torrent-client/address.png new file mode 100644 index 0000000000000000000000000000000000000000..0a11fa5fc90ff5154f82fef2b45c9c7547c4845c GIT binary patch literal 22807 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 literal 0 HcmV?d00001 diff --git a/static/guides/torrent-client/choke.png b/static/guides/torrent-client/choke.png new file mode 100644 index 0000000000000000000000000000000000000000..3c6d374e9fac9ce25a7626d57924e869761cc02f GIT binary patch literal 16112 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 literal 0 HcmV?d00001 diff --git a/static/guides/torrent-client/client-server-p2p.png b/static/guides/torrent-client/client-server-p2p.png new file mode 100644 index 0000000000000000000000000000000000000000..a119bff9d5ff4cdf48028467a9070008032da1cc GIT binary patch literal 25557 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 literal 0 HcmV?d00001 diff --git a/static/guides/torrent-client/handshake.png b/static/guides/torrent-client/handshake.png new file mode 100644 index 0000000000000000000000000000000000000000..262da0d9ac3521b6ff42d9a2a9b4c870a7cc90db GIT binary patch literal 16196 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 U>FP+=f6wD(BoxJ~MGb@h2j3Esga7~l literal 0 HcmV?d00001 diff --git a/static/guides/torrent-client/info-hash-peer-id.png b/static/guides/torrent-client/info-hash-peer-id.png new file mode 100644 index 0000000000000000000000000000000000000000..ad343bde3939d985c24928638f68026334408888 GIT binary patch literal 12651 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 R>c6ijG#==vRHG~+{tvN?z|a5y literal 0 HcmV?d00001 diff --git a/static/guides/torrent-client/info-hash.png b/static/guides/torrent-client/info-hash.png new file mode 100644 index 0000000000000000000000000000000000000000..1afeda96988ec9907a8f48f505698f64e3fcf962 GIT binary patch literal 11575 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 literal 0 HcmV?d00001 diff --git a/static/guides/torrent-client/message.png b/static/guides/torrent-client/message.png new file mode 100644 index 0000000000000000000000000000000000000000..b70155a7ce6cbfd3ecf96996b5fcaa5bb6604b73 GIT binary patch literal 11075 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 literal 0 HcmV?d00001 diff --git a/static/guides/torrent-client/pipelining.png b/static/guides/torrent-client/pipelining.png new file mode 100644 index 0000000000000000000000000000000000000000..bdfc029beaacc14c4eab305178afcbe49c308ea3 GIT binary patch literal 86338 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 Q1=0=9UDPi;V;}Z^0EM6sWB>pF literal 0 HcmV?d00001 diff --git a/static/guides/torrent-client/trackers.png b/static/guides/torrent-client/trackers.png new file mode 100644 index 0000000000000000000000000000000000000000..8bbd6a84c90738e01b4f4e92c29c1d5c08896ef7 GIT binary patch literal 26308 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 KMNUMnLSTY$>^KVm literal 0 HcmV?d00001 diff --git a/storage/authors.json b/storage/authors.json index e5b97ece1..c79e2d690 100644 --- a/storage/authors.json +++ b/storage/authors.json @@ -5,5 +5,12 @@ "twitter": "kamranahmedse", "picture": "/static/authors/kamranahmedse.jpeg", "bio": "Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones." + }, + { + "username": "jesse", + "name": "Jesse Li", + "twitter": "__jesse_li", + "picture": "/static/authors/jesse.png", + "bio": "Software engineer." } ] diff --git a/storage/guides.json b/storage/guides.json index 195decd3b..9fee1b1d9 100644 --- a/storage/guides.json +++ b/storage/guides.json @@ -1,4 +1,15 @@ [ + { + "title": "Building a BitTorrent client from the ground up in Go", + "description": "What is the complete path between visiting thepiratebay and sublimating an mp3 file from thin air?", + "url": "/guides/torrent-client", + "fileName": "torrent-client", + "featured": true, + "author": "jesse", + "updatedAt": "2020-01-17T15:48:21.191Z", + "createdAt": "2020-01-17T15:48:21.191Z", + "canonical": "https://blog.jse.li/posts/torrent/" + }, { "title": "Levels of Seniority", "description": "How to Step Up as a Junior, Mid Level or a Senior Developer?", diff --git a/storage/guides/torrent-client.md b/storage/guides/torrent-client.md new file mode 100644 index 000000000..42a598846 --- /dev/null +++ b/storage/guides/torrent-client.md @@ -0,0 +1,564 @@ +BitTorrent is a protocol for downloading and distributing files across the Internet. In contrast with the traditional client/server relationship, in which downloaders connect to a central server (for example: watching a movie on Netflix, or loading the web page you're reading now), participants in the BitTorrent network, called **peers**, download pieces of files from *each other*—this is what makes it a **peer-to-peer** protocol. We'll investigate how this works, and build our own client that can find peers and exchange data between them. + +![diagram showing the difference between client/server (all clients connecting to one server) and peer-to-peer (peers connecting to each other) relationships](/static/guides/torrent-client/client-server-p2p.png) + +The protocol evolved organically over the past 20 years, and various people and organizations added extensions for features like encryption, private torrents, and new ways of finding peers. We'll be implementing the [original spec](https://www.bittorrent.org/beps/bep_0003.html) from 2001 to keep this a weekend-sized project. + +I'll be using a [Debian ISO](https://cdimage.debian.org/debian-cd/current/amd64/bt-cd/#indexlist) file as my guinea pig because it's big, but not huge, at 350MB. As a popular Linux distribution, there will be lots of fast and cooperative peers for us to connect to. And we'll avoid the legal and ethical issues related to downloading pirated content. + +# Finding peers +Here’s a problem: we want to download a file with BitTorrent, but it’s a peer-to-peer protocol and we have no idea where to find peers to download it from. This is a lot like moving to a new city and trying to make friends—maybe we’ll hit up a local pub or a meetup group! Centralized locations like these are the big idea behind trackers, which are central servers that introduce peers to each other. They’re just web servers running over HTTP, and you can find Debian’s at http://bttracker.debian.org:6969/ + +![illustration of a desktop computer and laptop sitting at a pub](/static/guides/torrent-client/trackers.png) + +Of course, these central servers are liable to get raided by the feds if they facilitate peers exchanging illegal content. You may remember reading about trackers like TorrentSpy, Popcorn Time, and KickassTorrents getting seized and shut down. New methods cut out the middleman by making even **peer discovery** a distributed process. We won't be implementing them, but if you're interested, some terms you can research are **DHT**, **PEX**, and **magnet links**. + +## Parsing a .torrent file +A .torrent file describes the contents of a torrentable file and information for connecting to a tracker. It's all we need in order to kickstart the process of downloading a torrent. Debian's .torrent file looks like this: + +``` +d8:announce41:http://bttracker.debian.org:6969/announce7:comment35:"Debian CD from cdimage.debian.org"13:creation datei1573903810e9:httpseedsl145:https://cdimage.debian.org/cdimage/release/10.2.0//srv/cdbuilder.debian.org/dst/deb-cd/weekly-builds/amd64/iso-cd/debian-10.2.0-amd64-netinst.iso145:https://cdimage.debian.org/cdimage/archive/10.2.0//srv/cdbuilder.debian.org/dst/deb-cd/weekly-builds/amd64/iso-cd/debian-10.2.0-amd64-netinst.isoe4:infod6:lengthi351272960e4:name31:debian-10.2.0-amd64-netinst.iso12:piece lengthi262144e6:pieces26800:�����PS�^�� (binary blob of the hashes of each piece)ee +``` + +That mess is encoded in a format called **Bencode** (pronounced *bee-encode*), and we'll need to decode it. + +Bencode can encode roughly the same types of structures as JSON—strings, integers, lists, and dictionaries. Bencoded data is not as human-readable/writable as JSON, but it can efficiently handle binary data and it's really simple to parse from a stream. Strings come with a length prefix, and look like `4:spam`. Integers go between *start* and *end* markers, so `7` would encode to `i7e`. Lists and dictionaries work in a similar way: `l4:spami7ee` represents `['spam', 7]`, while `d4:spami7ee` means `{spam: 7}`. + + +In a prettier format, our .torrent file looks like this: + +``` +d + 8:announce + 41:http://bttracker.debian.org:6969/announce + 7:comment + 35:"Debian CD from cdimage.debian.org" + 13:creation date + i1573903810e + 4:info + d + 6:length + i351272960e + 4:name + 31:debian-10.2.0-amd64-netinst.iso + 12:piece length + i262144e + 6:pieces + 26800:�����PS�^�� (binary blob of the hashes of each piece) + e +e +``` + +In this file, we can spot the URL of the tracker, the creation date (as a Unix timestamp), the name and size of the file, and a big binary blob containing the SHA-1 hashes of each **piece**, which are equally-sized parts of the file we want to download. The exact size of a piece varies between torrents, but they are usually somewhere between 256KB and 1MB. This means that a large file might be made up of *thousands* of pieces. We'll download these pieces from our peers, check them against the hashes from our torrent file, assemble them together, and boom, we've got a file! + +!["illustration of a file being cut with scissors into multiple pieces, starting with piece 0](/static/guides/torrent-client/pieces.png) + +This mechanism allows us to verify the integrity of each piece as we go. It makes BitTorrent resistant to accidental corruption or intentional **torrent poisoning**. Unless an attacker is capable of breaking SHA-1 with a preimage attack, we will get exactly the content we asked for. + +It would be really fun to write a bencode parser, but parsing isn't our focus today. But I found Fredrik Lundh's [50 line parser](https://effbot.org/zone/bencode.htm) to be especially illuminating. For this project, I used [github.com/jackpal/bencode-go](https://github.com/jackpal/bencode-go): + +```go +import ( + "github.com/jackpal/bencode-go" +) + +type bencodeInfo struct { + Pieces string `bencode:"pieces"` + PieceLength int `bencode:"piece length"` + Length int `bencode:"length"` + Name string `bencode:"name"` +} + +type bencodeTorrent struct { + Announce string `bencode:"announce"` + Info bencodeInfo `bencode:"info"` +} + +// Open parses a torrent file +func Open(r io.Reader) (*bencodeTorrent, error) { + bto := bencodeTorrent{} + err := bencode.Unmarshal(r, &bto) + if err != nil { + return nil, err + } + return &bto, nil +} +``` + +Because I like to keep my structures relatively flat, and I like to keep my application structs separate from my serialization structs, I exported a different, flatter struct named `TorrentFile` and wrote a few helper functions to convert between the two. + +Notably, I split `pieces` (previously a string) into a slice of hashes (each `[20]byte`) so that I can easily access individual hashes later. I also computed the SHA-1 hash of the entire bencoded `info` dict (the one which contained the name, size, and piece hashes). We know this as the **infohash** and it uniquely identifies files when we talk to trackers and peers. More on this later. + +![a name tag saying 'Hello my name is 86d4c80024a469be4c50bc5a102cf71780310074'](/static/guides/torrent-client/info-hash.png) + +```go +type TorrentFile struct { + Announce string + InfoHash [20]byte + PieceHashes [][20]byte + PieceLength int + Length int + Name string +} + +func (bto *bencodeTorrent) toTorrentFile() (*TorrentFile, error) { + // ... +} +``` + +## Retrieving peers from the tracker +Now that we have information about the file and its tracker, let's talk to the tracker to **announce** our presence as a peer and to retrieve a list of other peers. We just need to make a GET request to the `announce` URL supplied in the .torrent file, with a few query parameters: + +```go +func (t *TorrentFile) buildTrackerURL(peerID [20]byte, port uint16) (string, error) { + base, err := url.Parse(t.Announce) + if err != nil { + return "", err + } + params := url.Values{ + "info_hash": []string{string(t.InfoHash[:])}, + "peer_id": []string{string(peerID[:])}, + "port": []string{strconv.Itoa(int(Port))}, + "uploaded": []string{"0"}, + "downloaded": []string{"0"}, + "compact": []string{"1"}, + "left": []string{strconv.Itoa(t.Length)}, + } + base.RawQuery = params.Encode() + return base.String(), nil +} +``` + +The important ones: + +* **info_hash**: Identifies the *file* we're trying to download. It's the infohash we calculated earlier from the bencoded `info` dict. The tracker will use this to figure out which peers to show us. +* **peer_id**: A 20 byte name to identify *ourselves* to trackers and peers. We'll just generate 20 random bytes for this. Real BitTorrent clients have IDs like `-TR2940-k8hj0wgej6ch` which identify the client software and version—in this case, TR2940 stands for Transmission client 2.94. + +![a file with a name tag saying 'info_hash' and a person with a name tag 'peer_id'](/static/guides/torrent-client/info-hash-peer-id.png) + +## Parsing the tracker response +We get back a bencoded response: + +``` +d + 8:interval + i900e + 5:peers + 252:(another long binary blob) +e +``` + +`Interval` tells us how often we're supposed to connect to the tracker again to refresh our list of peers. A value of 900 means we should reconnect every 15 minutes (900 seconds). + +`Peers` is another long binary blob containing the IP addresses of each peer. It's made out of **groups of six bytes**. The first four bytes in each group represent the peer's IP address—each byte represents a number in the IP. The last two bytes represent the port, as a big-endian `uint16`. **Big-endian**, or **network order**, means that we can interpret a group of bytes as an integer by just squishing them together left to right. For example, the bytes `0x1A`, `0xE1` make `0x1AE1`, or 6881 in decimal. + +![diagram showing how 192, 0, 2, 123, 0x1A, 0xE1 can be interpreted as 192.0.1.123:6881](/static/guides/torrent-client/address.png) + +```go +// Peer encodes connection information for a peer +type Peer struct { + IP net.IP + Port uint16 +} + +// Unmarshal parses peer IP addresses and ports from a buffer +func Unmarshal(peersBin []byte) ([]Peer, error) { + const peerSize = 6 // 4 for IP, 2 for port + numPeers := len(peersBin) / peerSize + if len(peersBin)%peerSize != 0 { + err := fmt.Errorf("Received malformed peers") + return nil, err + } + peers := make([]Peer, numPeers) + for i := 0; i < numPeers; i++ { + offset := i * peerSize + peers[i].IP = net.IP(peersBin[offset : offset+4]) + peers[i].Port = binary.BigEndian.Uint16(peersBin[offset+4 : offset+6]) + } + return peers, nil +} +``` + +# Downloading from peers +Now that we have a list of peers, it's time to connect with them and start downloading pieces! We can break down the process into a few steps. For each peer, we want to: + +1. Start a TCP connection with the peer. This is like starting a phone call. +2. Complete a two-way BitTorrent **handshake**. *"Hello?" "Hello."* +3. Exchange **messages** to download **pieces**. *"I'd like piece #231 please."* + +## Start a TCP connection +```go +conn, err := net.DialTimeout("tcp", peer.String(), 3*time.Second) +if err != nil { + return nil, err +} +``` + +I set a timeout so that I don't waste too much time on peers that aren't going to let me connect. For the most part, it's a pretty standard TCP connection. + +## Complete the handshake +We've just set up a connection with a peer, but we want do a handshake to validate our assumptions that the peer + +* can communicate using the BitTorrent protocol +* is able to understand and respond to our messages +* has the file that we want, or at least knows what we're talking about + +![Two computers communicating. One asks 'do you speak BitTorrent and have this file?' and the other replies 'I speak BitTorrent and have that file'](/static/guides/torrent-client/handshake.png) + +My father told me that the secret to a good handshake is a firm grip and eye contact. The secret to a good BitTorrent handshake is that it's made up of five parts: + +1. The length of the protocol identifier, which is always 19 (0x13 in hex) +2. The protocol identifier, called the **pstr** which is always `BitTorrent protocol` +3. Eight **reserved bytes**, all set to 0. We'd flip some of them to 1 to indicate that we support certain [extensions](http://www.bittorrent.org/beps/bep_0010.html). But we don't, so we'll keep them at 0. +4. The **infohash** that we calculated earlier to identify which file we want +5. The **Peer ID** that we made up to identify ourselves + +Put together, a handshake string might look like this: + +``` +\x13BitTorrent protocol\x00\x00\x00\x00\x00\x00\x00\x00\x86\xd4\xc8\x00\x24\xa4\x69\xbe\x4c\x50\xbc\x5a\x10\x2c\xf7\x17\x80\x31\x00\x74-TR2940-k8hj0wgej6ch +``` + +After we send a handshake to our peer, we should receive a handshake back in the same format. The infohash we get back should match the one we sent so that we know that we're talking about the same file. If everything goes as planned, we're good to go. If not, we can sever the connection because there's something wrong. *"Hello?" "这是谁? 你想要什么?" "Okay, wow, wrong number."* + +In our code, let's make a struct to represent a handshake, and write a few methods for serializing and reading them: + +```go +// A Handshake is a special message that a peer uses to identify itself +type Handshake struct { + Pstr string + InfoHash [20]byte + PeerID [20]byte +} + +// Serialize serializes the handshake to a buffer +func (h *Handshake) Serialize() []byte { + buf := make([]byte, len(h.Pstr)+49) + buf[0] = byte(len(h.Pstr)) + curr := 1 + curr += copy(buf[curr:], h.Pstr) + curr += copy(buf[curr:], make([]byte, 8)) // 8 reserved bytes + curr += copy(buf[curr:], h.InfoHash[:]) + curr += copy(buf[curr:], h.PeerID[:]) + return buf +} + +// Read parses a handshake from a stream +func Read(r io.Reader) (*Handshake, error) { + // Do Serialize(), but backwards + // ... +} +``` + +## Send and receive messages +Once we've completed the initial handshake, we can send and receive **messages**. Well, not quite—if the other peer isn't ready to accept messages, we can't send any until they tell us they're ready. In this state, we're considered **choked** by the other peer. They'll send us an **unchoke** message to let us know that we can begin asking them for data. By default, we assume that we're choked until proven otherwise. + +Once we've been unchoked, we can then begin sending **requests** for pieces, and they can send us messages back containing pieces. + +!["A cartoon in which person 1 says 'hello I would like piece number—' and person 2 grabs him by the neck and says '00 00 00 01 00 (choke)'](/static/guides/torrent-client/choke.png) + +### Interpreting messages +A message has a length, an **ID** and a **payload**. On the wire, it looks like: + +![A message with 4 byte for the length, 1 byte for ID, and an optional payload](/static/guides/torrent-client/message.png) + +A message starts with a length indicator which tells us how many bytes long the message will be. It's a 32-bit integer, meaning it's made out of four bytes smooshed together in big-endian order. The next byte, the **ID**, tells us which type of message we're receiving—for example, a `2` byte means "interested." Finally, the optional **payload** fills out the remaining length of the message. + +```go +type messageID uint8 + +const ( + MsgChoke messageID = 0 + MsgUnchoke messageID = 1 + MsgInterested messageID = 2 + MsgNotInterested messageID = 3 + MsgHave messageID = 4 + MsgBitfield messageID = 5 + MsgRequest messageID = 6 + MsgPiece messageID = 7 + MsgCancel messageID = 8 +) + +// Message stores ID and payload of a message +type Message struct { + ID messageID + Payload []byte +} + +// Serialize serializes a message into a buffer of the form +// +// Interprets `nil` as a keep-alive message +func (m *Message) Serialize() []byte { + if m == nil { + return make([]byte, 4) + } + length := uint32(len(m.Payload) + 1) // +1 for id + buf := make([]byte, 4+length) + binary.BigEndian.PutUint32(buf[0:4], length) + buf[4] = byte(m.ID) + copy(buf[5:], m.Payload) + return buf +} +``` + +To read a message from a stream, we just follow the format of a message. We read four bytes and interpret them as a `uint32` to get the **length** of the message. Then, we read that number of bytes to get the **ID** (the first byte) and the **payload** (the remaining bytes). + +```go +// Read parses a message from a stream. Returns `nil` on keep-alive message +func Read(r io.Reader) (*Message, error) { + lengthBuf := make([]byte, 4) + _, err := io.ReadFull(r, lengthBuf) + if err != nil { + return nil, err + } + length := binary.BigEndian.Uint32(lengthBuf) + + // keep-alive message + if length == 0 { + return nil, nil + } + + messageBuf := make([]byte, length) + _, err = io.ReadFull(r, messageBuf) + if err != nil { + return nil, err + } + + m := Message{ + ID: messageID(messageBuf[0]), + Payload: messageBuf[1:], + } + + return &m, nil +} +``` + +### Bitfields +One of the most interesting types of message is the **bitfield**, which is a data structure that peers use to efficiently encode which pieces they are able to send us. A bitfield looks like a byte array, and to check which pieces they have, we just need to look at the positions of the *bits* set to 1. You can think of it like the digital equivalent of a coffee shop loyalty card. We start with a blank card of all `0`, and flip bits to `1` to mark their positions as "stamped." + +![a coffee shop loyalty card with eight slots, with stamps on the first four slots and a stamp on the second to last slot, represented as 11110010](/static/guides/torrent-client/bitfield.png) + +By working with *bits* instead of *bytes*, this data structure is super compact. We can stuff information about eight pieces in the space of a single byte—the size of a `bool`. The tradeoff is that accessing values becomes a little more tricky. The smallest unit of memory that computers can address are bytes, so to get to our bits, we have to do some bitwise manipulation: + +```go +// A Bitfield represents the pieces that a peer has +type Bitfield []byte + +// HasPiece tells if a bitfield has a particular index set +func (bf Bitfield) HasPiece(index int) bool { + byteIndex := index / 8 + offset := index % 8 + return bf[byteIndex]>>(7-offset)&1 != 0 +} + +// SetPiece sets a bit in the bitfield +func (bf Bitfield) SetPiece(index int) { + byteIndex := index / 8 + offset := index % 8 + bf[byteIndex] |= 1 << (7 - offset) +} +``` + +## Putting it all together +We now have all the tools we need to download a torrent: we have a list of peers obtained from the tracker, and we can communicate with them by dialing a TCP connection, initiating a handshake, and sending and receiving messages. Our last big problems are handling the **concurrency** involved in talking to multiple peers at once, and managing the **state** of our peers as we interact with them. These are both classically Hard problems. + +### Managing concurrency: channels as queues +In Go, we [share memory by communicating](https://blog.golang.org/share-memory-by-communicating), and we can think of a Go channel as a cheap thread-safe queue. + +We'll set up two channels to synchronize our concurrent workers: one for dishing out work (pieces to download) between peers, and another for collecting downloaded pieces. As downloaded pieces come in through the results channel, we can copy them into a buffer to start assembling our complete file. + +```go +// Init queues for workers to retrieve work and send results +workQueue := make(chan *pieceWork, len(t.PieceHashes)) +results := make(chan *pieceResult) +for index, hash := range t.PieceHashes { + length := t.calculatePieceSize(index) + workQueue <- &pieceWork{index, hash, length} +} + +// Start workers +for _, peer := range t.Peers { + go t.startDownloadWorker(peer, workQueue, results) +} + +// Collect results into a buffer until full +buf := make([]byte, t.Length) +donePieces := 0 +for donePieces < len(t.PieceHashes) { + res := <-results + begin, end := t.calculateBoundsForPiece(res.index) + copy(buf[begin:end], res.buf) + donePieces++ +} +close(workQueue) +``` + +We'll spawn a worker goroutine for each peer we've received from the tracker. It'll connect and handshake with the peer, and then start retrieving work from the `workQueue`, attempting to download it, and sending downloaded pieces back through the `results` channel. + +![a flow chart of the download strategy](/static/guides/torrent-client/download.png) + +```go +func (t *Torrent) startDownloadWorker(peer peers.Peer, workQueue chan *pieceWork, results chan *pieceResult) { + c, err := client.New(peer, t.PeerID, t.InfoHash) + if err != nil { + log.Printf("Could not handshake with %s. Disconnecting\n", peer.IP) + return + } + defer c.Conn.Close() + log.Printf("Completed handshake with %s\n", peer.IP) + + c.SendUnchoke() + c.SendInterested() + + for pw := range workQueue { + if !c.Bitfield.HasPiece(pw.index) { + workQueue <- pw // Put piece back on the queue + continue + } + + // Download the piece + buf, err := attemptDownloadPiece(c, pw) + if err != nil { + log.Println("Exiting", err) + workQueue <- pw // Put piece back on the queue + return + } + + err = checkIntegrity(pw, buf) + if err != nil { + log.Printf("Piece #%d failed integrity check\n", pw.index) + workQueue <- pw // Put piece back on the queue + continue + } + + c.SendHave(pw.index) + results <- &pieceResult{pw.index, buf} + } +} +``` + +### Managing state +We'll keep track of each peer in a struct, and modify that struct as we read messages. It'll include data like how much we've downloaded from the peer, how much we've requested from them, and whether we're choked. If we wanted to scale this further, we could formalize this as a finite state machine. But a struct and a switch are good enough for now. + +```go +type pieceProgress struct { + index int + client *client.Client + buf []byte + downloaded int + requested int + backlog int +} + +func (state *pieceProgress) readMessage() error { + msg, err := state.client.Read() // this call blocks + switch msg.ID { + case message.MsgUnchoke: + state.client.Choked = false + case message.MsgChoke: + state.client.Choked = true + case message.MsgHave: + index, err := message.ParseHave(msg) + state.client.Bitfield.SetPiece(index) + case message.MsgPiece: + n, err := message.ParsePiece(state.index, state.buf, msg) + state.downloaded += n + state.backlog-- + } + return nil +} +``` + +### Time to make requests! +Files, pieces, and piece hashes aren't the full story—we can go further by breaking down pieces into **blocks**. A block is a part of a piece, and we can fully define a block by the **index** of the piece it's part of, its byte **offset** within the piece, and its **length**. When we make requests for data from peers, we are actually requesting *blocks*. A block is usually 16KB large, meaning that a single 256 KB piece might actually require 16 requests. + +A peer is supposed to sever the connection if they receive a request for a block larger than 16KB. However, based on my experience, they're often perfectly happy to satisfy requests up to 128KB. I only got moderate gains in overall speed with larger block sizes, so it's probably better to stick with the spec. + +### Pipelining +Network round-trips are expensive, and requesting each block one by one will absolutely tank the performance of our download. Therefore, it's important to **pipeline** our requests such that we keep up a constant pressure of some number of unfulfilled requests. This can increase the throughput of our connection by an order of magnitude. + +![Two email threads simulating peer connections. The thread on the left shows a request followed by a reply, repeated three times. The thread on the left sends three requests, and receives three replies in quick succession.](/static/guides/torrent-client/pipelining.png) + +Classically, BitTorrent clients kept a queue of five pipelined requests, and that's the value I'll be using. I found that increasing it can up to double the speed of a download. Newer clients use an [adaptive](https://luminarys.com/posts/writing-a-bittorrent-client.html) queue size to better accommodate modern network speeds and conditions. This is definitely a parameter worth tweaking, and it's pretty low hanging fruit for future performance optimization. + +```go +// MaxBlockSize is the largest number of bytes a request can ask for +const MaxBlockSize = 16384 + +// MaxBacklog is the number of unfulfilled requests a client can have in its pipeline +const MaxBacklog = 5 + +func attemptDownloadPiece(c *client.Client, pw *pieceWork) ([]byte, error) { + state := pieceProgress{ + index: pw.index, + client: c, + buf: make([]byte, pw.length), + } + + // Setting a deadline helps get unresponsive peers unstuck. + // 30 seconds is more than enough time to download a 262 KB piece + c.Conn.SetDeadline(time.Now().Add(30 * time.Second)) + defer c.Conn.SetDeadline(time.Time{}) // Disable the deadline + + for state.downloaded < pw.length { + // If unchoked, send requests until we have enough unfulfilled requests + if !state.client.Choked { + for state.backlog < MaxBacklog && state.requested < pw.length { + blockSize := MaxBlockSize + // Last block might be shorter than the typical block + if pw.length-state.requested < blockSize { + blockSize = pw.length - state.requested + } + + err := c.SendRequest(pw.index, state.requested, blockSize) + if err != nil { + return nil, err + } + state.backlog++ + state.requested += blockSize + } + } + + err := state.readMessage() + if err != nil { + return nil, err + } + } + + return state.buf, nil +} +``` + +### main.go +This is a short one. We're almost there. + +```go +package main + +import ( + "log" + "os" + + "github.com/veggiedefender/torrent-client/torrentfile" +) + +func main() { + inPath := os.Args[1] + outPath := os.Args[2] + + tf, err := torrentfile.Open(inPath) + if err != nil { + log.Fatal(err) + } + + err = tf.DownloadToFile(outPath) + if err != nil { + log.Fatal(err) + } +} +``` + + + +# This isn't the full story +For brevity, I included only a few of the important snippets of code. Notably, I left out all the glue code, parsing, unit tests, and the boring parts that build character. View my [full implementation](https://github.com/veggiedefender/torrent-client) if you're interested.