not freely available; these will commonly disable DHT. Peer Exchange Conventions Extensions to BitTorrent such as PEX are typically implemented using one of two common extension protocols, AZMP or LTEP. Both types of peer exchange send messages containing a group of peers to be added to the swarm and a group of peers to be removed. It was agreed between the Azureus and μTorrent developers that any clients which implement either of the mechanisms above try to obey the following limits when sending PEX messages: There should be no more than 50 added peers and 50 removed peers sent in any given PEX message. A peer exchange message should not be sent more frequently than once a minute. Some clients may choose to enforce these limits and drop connections from clients that ignore them. DHT To create a PEX protocol providing a uniformly-distributed peer selection, one could form a small distributed hash table (DHT) local to a torrent. For each desired new peer one would look up a (uniformly) random key, and use the node responsible for the key as a new peer. This is conceptually simple but would require quite some overhead. For "trackerless" torrents, it is not clear if PEX provides any value since the mainline DHT can distribute load as necessary. Each DHT node acting as a tracker may store only a subset of the peers, but these are maximal subsets constrained only by DHT node load rather than by a single peer's view. Private torrents commonly disable the DHT, and for this case, PEX might be useful provided the peer obtains enough peers from the tracker. Versions There are three incompatible PEX implementations (making distinct "networks" in swarm) Vuze – introduced in Azureus BitComet – proprietary – introduced in BitComet, from version 1.19 supports BEP11, compatible with MainLine MainLine – introduced in μTorrent Clients supporting peer exchange Most BitTorrent clients use PEX to gather peers in addition to trackers and DHT. With the 3.0.5.0 release of Vuze, all major BitTorrent clients now have compatible peer exchange. Each of these clients implement some version of peer exchange: aria2, μTorrent PEX support Vuze, formerly Azureus, and clients based on it (The Vuze PEX is only compatible with the Transmission client. PEX with other clients has been implemented into Vuze and into Azureus from 3.0.4.3 onwards) BitComet supports PEX using a proprietary protocol in its older versions. Starting with