Local Peer Discovery

Last updated

The Local Peer Discovery protocol, specified as BEP-14, [1] is an extension to the BitTorrent file-distribution system. It is designed to support the discovery of local BitTorrent peers, aiming to minimize the traffic through the Internet service provider's (ISP) channel and maximize use of higher-bandwidth local area networks (LANs).

Local Peer Discovery is implemented [2] with HTTP-like messages on User Datagram Protocol (UDP) multicast group 239.192.152.143:6771 (IPv4) or ff15::efc0:988f (IPv6) [1] which are administratively scoped multicast addresses. It's similar to Simple Service Discovery Protocol but sends BT-SEARCH instead of M-SEARCH:

BT-SEARCH * HTTP/1.1\r\nHost: <host>\r\nPort: <port>\r\nInfohash: <ihash>\r\ncookie: <cookie (optional)>\r\n\r\n\r\n


Since implementation is simple, Local Peer Discovery is implemented in several clients (μTorrent, [3] BitTorrent/Mainline, [4] MonoTorrent, [5] libtorrent [6] and its derivatives, Transmission, [7] aria2 [8] ). An alternative multicast peer discovery protocol based on ZeroConf is published as BEP 26 Zeroconf Peer Advertising and Discovery, but is not widely adopted since it is considered too complex [9] in comparison.

Related Research Articles

<span class="mw-page-title-main">IPv6</span> Version 6 of the Internet Protocol

Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion, and was intended to replace IPv4. In December 1998, IPv6 became a Draft Standard for the IETF, which subsequently ratified it as an Internet Standard on 14 July 2017.

The Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IPv4 networks to establish multicast group memberships. IGMP is an integral part of IP multicast and allows the network to direct multicast transmissions only to hosts that have requested them.

BitTorrent is a communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a decentralized manner. The protocol is developed and maintained by Rainberry, Inc., and was first released in 2001.

Zero-configuration networking (zeroconf) is a set of technologies that automatically creates a usable computer network based on the Internet Protocol Suite (TCP/IP) when computers or network peripherals are interconnected. It does not require manual operator intervention or special configuration servers. Without zeroconf, a network administrator must set up network services, such as Dynamic Host Configuration Protocol (DHCP) and Domain Name System (DNS), or configure each computer's network settings manually.

<span class="mw-page-title-main">Avahi (software)</span> Zero-configuration networking (zeroconf) implementation

Avahi is a free zero-configuration networking (zeroconf) implementation, including a system for multicast DNS and DNS Service Discovery. It is licensed under the GNU Lesser General Public License (LGPL).

<span class="mw-page-title-main">Magnet URI scheme</span> Scheme that defines the format of magnet links

Magnet is a URI scheme that defines the format of magnet links, a de facto standard for identifying files (URN) by their content, via cryptographic hash value rather than by their location.

In file sharing, super-seeding is an algorithm developed by John Hoffman for the BitTorrent communications protocol that helps downloaders become uploaders more quickly, but it introduces the danger of total seeding failure if there is only one downloader.

BitTorrent is a proprietary adware BitTorrent client developed by Bram Cohen and Rainberry, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version 6.0 the BitTorrent client has been a rebranded version of μTorrent. As a result, it is no longer open source. It is currently available for Microsoft Windows, Mac, Linux, iOS and Android. There are currently two versions of the software, "BitTorrent Classic" which inherits the historical version numbering, and "BitTorrent Web", which uses its own version numbering.

A BitTorrent tracker is a special type of server that assists in the communication between peers using the BitTorrent protocol.

<span class="mw-page-title-main">Transmission (BitTorrent client)</span> BitTorrent client

Transmission is a BitTorrent client which features a variety of user interfaces on top of a cross-platform back-end. Transmission is free software licensed under the terms of the GNU General Public License, with parts under the MIT License.

The UDP tracker protocol is a high-performance low-overhead BitTorrent tracker protocol. It uses the stateless User Datagram Protocol (UDP) for data transmission instead of the HTTP protocol regular trackers use. The data is in a custom binary format instead of the standard bencode algorithm BitTorrent uses for most communication.

Protocol encryption (PE), message stream encryption (MSE) or protocol header encrypt (PHE) are related features of some peer-to-peer file-sharing clients, including BitTorrent clients. They attempt to enhance privacy and confidentiality. In addition, they attempt to make traffic harder to identify by third parties including internet service providers (ISPs). However, encryption will not protect one from DMCA notices from sharing illegal content, as one is still uploading material and the monitoring firms can merely connect to the swarm.

Peer exchange or PEX is a communications protocol that augments the BitTorrent file sharing protocol. It allows a group of users that are collaborating to share a given file to do so more swiftly and efficiently.

The following is a general comparison of BitTorrent clients, which are computer programs designed for peer-to-peer file sharing using the BitTorrent protocol.

libtorrent

libtorrent is an open-source implementation of the BitTorrent protocol. It is written in and has its main library interface in C++. Its most notable features are support for Mainline DHT, IPv6, HTTP seeds and μTorrent's peer exchange. libtorrent uses Boost, specifically Boost.Asio to gain its platform independence. It is known to build on Windows and most Unix-like operating systems.

Micro Transport Protocol is an open User Datagram Protocol-based (UDP-based) variant of the BitTorrent peer-to-peer file sharing protocol intended to mitigate poor latency and other congestion control problems found in conventional BitTorrent over Transmission Control Protocol (TCP), while providing reliable, ordered delivery.

In the BitTorrent file distribution system, a torrent file or meta-info file is a computer file that contains metadata about files and folders to be distributed, and usually also a list of the network locations of trackers, which are computers that help participants in the system find each other and form efficient distribution groups called swarms. Torrent files are normally named with the extension .torrent.

μTorrent Proprietary adware BitTorrent client

μTorrent, or uTorrent, is a proprietary adware BitTorrent client owned and developed by Rainberry, Inc. The "μ" in its name comes from the SI prefix "micro-", referring to the program's small memory footprint: the program was designed to use minimal computer resources while offering functionality comparable to larger BitTorrent clients such as Vuze or BitComet. μTorrent became controversial in 2015 when many users unknowingly accepted a default option during installation which also installed a cryptocurrency miner.

<span class="mw-page-title-main">WebTorrent</span> Peer-to-peer web-based torrent client

WebTorrent is a peer-to-peer (P2P) streaming torrent client written in JavaScript, from the same author, Feross Aboukhadijeh, of YouTube Instant, and the team at WebTorrent and on GitHub, for use in web browsers, as well as a WebTorrent Desktop stand alone version able to bridge WebTorrent and BitTorrent serverless networks.

<span class="mw-page-title-main">BiglyBT</span> BitTorrent client

BiglyBT is a BitTorrent client written in Java forked from Vuze. It is free and open-source software and ad-free.

References

  1. 1 2 "BitTorrent Enhancement Proposal 14: Local Service Discovery". BitTorrent.org. 29 October 2015. Retrieved 17 September 2019.
  2. "Protocol Design Discussion » Local Peer Discovery Documentation". 2009-10-30. Retrieved 2009-12-12.
  3. "Announcements » μTorrent 1.7 Release Candidate 6". 2007-06-28. Archived from the original on 2012-03-08. Retrieved 2009-12-12.
  4. "BitTorrent User Manual". Archived from the original on 2009-12-27. Retrieved 2009-12-12.
  5. "MonoTorrent 0.80" . Retrieved 2010-05-05.
  6. "libtorrent manual: features" . Retrieved 2009-12-12.
  7. "Release Notes: Transmission 2.00". GitHub . 2010-06-15. Retrieved 2020-05-23.
  8. "Aria2 Manual: OPTIONS" . Retrieved 2015-09-14.
  9. "Transmission Bug Tracker: ZeroConf Peer Advertising and Discovery" . Retrieved 2016-10-26.