• Abstract
  • Table of Contents
  • TOC
  • 1. Introduction
  • 1.1 Audience
  • 1.2 Terminology
  • 1.3 Overall Operation
  • TOC
  • 2. Bencoding
  • 2.1 Scalar Types
  • 2.2 Compound Types
  • TOC
  • 3. Discovering Peers
  • TOC
  • 4. Repository References
  • TOC
  • 5. Objects and Blocks
  • 5.1 Objects
  • 5.2 Blocks
  • TOC
  • 6. The Metainfo File
  • 6.1 The Structure of the Metainfo File
  • TOC
  • 7. The Tracker HTTP Protocol
  • 7.1 Request
  • 7.2 Response
  • TOC
  • 8. The Peer Wire Protocol
  • 8.1 Peer Wire Guidelines
  • 8.2 Handshaking
  • 8.3 Message Communication
  • 8.3.1 Peer States
  • 8.4 Peer Wire Messages
  • 8.5 State-oriented Messages
  • 8.5.1 Choke
  • 8.5.2 Unchoke
  • 8.5.3 Interested
  • 8.5.4 Uninterested
  • 8.5.5 Peers
  • 8.5.6 References
  • 8.5.7 Packs
  • 8.5.8 Index
  • 8.6 Data-oriented Messages
  • 8.6.1 Request
  • 8.6.2 Block
  • 8.6.3 Cancel
  • 8.7 The End Game
  • 8.8 Object Selection Strategy
  • 8.9 Peer Selection Strategy
  • TOC
  • 9. Security Consideration
  • 9.1 Tracker HTTP Protocol Issues
  • 9.2 Denial of Service Attacks on Trackers
  • 9.3 Peer Identity Issues
  • 9.4 DNS Spoofing
  • 9.5 Issues with File and Directory Names
  • 9.6 Validating the Integrity of Data Exchanged Between Peers
  • 9.7 Transfer of Sensitive Information
  • 10. IANA Considerations
  • 11 References