Akran mesajları protokolüne genel bakış .
İstemci eşler ile, TCP veya uTP (UDP üzerinden) ile bilgi paylaşmak için iki protokol kullanabilir. Bu veri bittorrent protokolü spesifikasyonlarını , bölüm eş mesajlarını takip eder .
Bu nedenle programlı olarak, iki istemci arasında bir bağlantı başlamalıdır. Bağlantı (TCP veya UTP yoluyla) ayarlandıktan sonra, bir bittorrent el sıkışma izci veya üzerinden uzak konağın bilgilerini (ip ve bağlantı noktası) alıp, istemci tarafından başlatılır DHT . Bu el sıkışma, bu bağlantının olacağı torrenti tanımlayan info_hash'ı içerir .
İlk olarak Torrent verilerinin protokolde nasıl kesildiğini görelim. Bir parça , ağ üzerinden paylaştığınız verilerin bir parçasıdır. Paket içine sarılmış bir parçanın bir parçası olan bir blok ile karıştırılmaması . Blok , bir paylaşma taneliliği parça paketleri ile ve bir parçası eş ile Torrent paylaşmak boyutudur.
Bağlantı başladığında, her iki müşteri de ( LC ve uzak istemci, RC diyeceğim yerel istemci ) boğulur ve ilgisiz kalır . Boğulmuş , "Mesajlarınızın hiçbirine cevap vermeyeceğim, çok meşgul, ancak onları dikkate alabilirim" anlamına gelir. Unchocked bu nedenle “mesajlarınıza cevap vereceğim” anlamına gelir. İlgilendiğiniz araçlar elbette sahip olduğunuz bazı parçaları istiyorum. Bu nedenle, iki akran arasındaki bağlantının durumu şu dört durumla tanımlanabilir: LC_chocked ?, LC_interested ?, RC_chocked?, RC_interested? RC'yi (un) takılı olduğumu veya (un) ilgilendiğim konusunda uyarmak için, Ona (ilgisiz) ve kesilmiş mesajlar ve karşılıklı olarak göndermek zorundayım .
Hangi parçalara sahip olduklarını bildirmek için, el sıkışmalarından hemen sonra bir bitfield mesajı gönderebilirler . 'S Adından da anlaşılacağı gibi, her bit olarak ayarlanır biraz dizedir 1
istemci bu tuhaf sahipse parça , 0
aksi.
Yani eğer LC edilir chocked ve ilgi ve RC vardır unchocked onu, o bir gönderebilirsiniz isteği bir istemek için mesaj bloğunda bir ait parça o bilir LC sayesinde sahip saklayıcısında mesajla.
Bir akran tüm parçayı aldığında, tuttuğu ilişkili bit alanını güncellemeleri için tüm uzak akranlarını bilgilendirmek için bir parça mesajı gönderebilir .
Bu çok basit bir genel bakış ve elbette boğulma algoritması vb. Gibi tüm detaylar burada sunulmuyor. bir gönderide ikiden fazla bağlantı yok).