En Bittorrent hay dos elementos principales:
- El tracker. Es estrictamente un servidor, aunque no de ficheros. Se engarga
de conocer a un subconjunto de los peers que están compartiendo un recurso
(en Bittorrent se pueden compartir ficheros o conjuntos de ficheros, así que
usaremos el término recurso para referirnos a ambos casos). Téngase que en
cuenta que el número de peers que comparte un recurso no está limitado. El
tracker sirve de nodo de acceso inicial a la red de compartición. Cuando un
peer quiere comenzar a descargarse un recurso, o a comenzar a compartir un
recurso (“publicar” un nuevo fichero, por ejemplo), debe ponerse en contacto
con el tracker.
- El peer. Funciona como cliente y como servidor, dependiendo del caso:
- Cliente: Cuando se descarga un recurso y por la razón que sea, no lo
reenvía hacia otro peer.
- Servidor y cliente: Cuando comparte el recurso que se está descargando
con otros peers. Es la situación más común.
- Estrictamente como servidor: Cuando ya ha terminado de descargarse
el recurso o cuando él es la fuente inicial de recurso. En este caso el
peer suele llamarse seed (semilla). Nótese que un seed siempre tiene una
copia completa del recurso.