1Sep

Bir BitTorrent İstemcisi İlk Olarak Akranlarını Nasıl Bulur?

Torrent istemcisi, dosya parçalarını paylaşmak ve toplamak için sürüğe katıldığında, tüm akranlarının nerede olduğunu tam olarak nereden buluyor? BitTorrent protokolünün altındaki mekanizmalar etrafında dolaşırken okuyun.

Bugünkü Soru &Yanıt oturumu bize Q & A web sitelerinin topluluk temelli bir gruplandırması olan Stack Exchange'in bir alt bölümü olan SuperUser nezaketen geliyor.

Soru

SüperKullanıcı okuyucu Steve V., BitTorrent protokolü içindeki Dağıtılmış Hash Table( DHT) sistemi hakkında çok özel bir soru sormuştu:

Bu SuperUser yanıtını ve bu Wikipedia makalesini zaten okudum ancak her ikisi de benim için gerçekten çok teknik özellikler taşıyorbaşımı sarın.

Bir izleyici fikrini anlıyorum: müşteriler bir sürüdeki bir akran listesini tutan merkezi bir sunucuya bağlanıyor.

Akran değişimi fikrini de anlıyorum: Zaten bir sürüdeki müşteriler, akranlarının tam listesini birbirlerine gönderiyor. Yeni eşler keşfedilirse, bunlar listeye eklenir.

Benim sorumum, DHT nasıl çalışır? Yani,

yeni bir müşteri nasıl izci olmadan ya da akranları değiş tokuş etmek için sürüden en az bir üyenin bilgisi olmadan bir sürüye nasıl katılabilir?

( Not: basit açıklamalar en iyisidir.)

Sorusu, BitTorrent sisteminin farklı işlevleri hakkında gerçekten ayrıntılı bir cevap istedi;Şimdi bir göz atalım.

Cevap

SüperKullanıcı katkıda bulunan Allquixotic, ayrıntılı bir açıklama sunmaktadır:

Yeni bir müşteri, akranları ile alışveriş yapmak için izci veya sürü en az bir üyenin bilgisi olmadan nasıl bir sürüye katılabilir?

Yapamazsın.İmkansız *

* ( yerel alan ağı üzerindeki bir düğüm zaten DHT'deki bir düğüm olmasa bu durumda, bu eşi "keşfetmek" için Avahi gibi bir yayın mekanizması kullanabilirsinizve onlardan bootstrap. Ancak kendilerini kendiliğinden önyüklediler mi? Sonuçta, genel İnternet'e bağlanmanız gereken bir duruma düşeceksiniz ve ortak İnternet yalnızca çok noktaya yayılmış değil tek noktaya yayın, bu nedenle sıkışmış durumdasınız.önceden belirlenmiş arkadaş listelerini kullanarak).

Referansları

Bittorrent DHT, Kademlia olarak bilinen ve Dağıtılmış bir hash tablosunun teorik konseptinin özel bir örneği olan protokol ile uygulanır.

Exposition

Ağa katıldığınızda Kademlia protokolüyle, DHT ağına katılan en az bir düğümün IP adresi ve bağlantı noktası önceden bildiğinizi gerektiren bir önyükleme prosedürünü uygulayın.Örneğin bağladığınız izci, kendisinin bir DHT düğümü olabilir. Bir DHT düğümüne bağlandıktan sonra daha fazla düğüm için bağlantı bilgisi sağlayan DHT'den bilgi indirmeye devam edersiniz ve daha sonra daha fazla düğüme bağlantılar elde etmek için bu "grafiğin" yapısında gezinirsiniz.diğer düğümlere bağlantı ve veri yükü verileri( indirme parçalan).

Sanırım asıl soru kalın -Bir Kademlia DHT ağına 'yi herhangi bir üyesini bilmeden nasıl katılabileceğiniz konusunda - yanlış varsayımlara dayanıyor.

Sorunuza cesur bir şekilde cevap vermek , değilsiniz. DHT meta verilerini içerebilecek bir ana makine hakkında bile HERHANGİ BİR bilgiyi bilmiyorsanız sıkışıp kalırsınız - başlayamazsınız. Yani, elbette, kamuya açık internette DHT bilgisini yayınlayan açık bir bağlantı noktasıyla bir IP keşfetme girişiminde bulunabilirsiniz. Ancak BT istemcisi, yalnızca belirli bir statik IP veya DNS'ye sabit kodlanmış ve bu da DHT meta verilerini sağlayan kararlı bir DHT düğümüne dönüşüyor.

Temelde, DHT sadece birleştirme mekanizması olarak merkezden uzaktır ve katılım mekanizması oldukça kırılgan olduğu için( tüm İnternet üzerinden "yayın" yapmanın bir yolu yoktur!) Bu nedenle tek bir önceden atanmış bir ana makineye tek noktaya yayın uygulamak zorundasınız. DHT verilerini elde edin), Kademlia DHT yerelleşmiş değildir. Kesin kelimenin anlamıyla değil.

Bu senaryoyu düşünün: P2P'yi durdurmak isteyen bir kişi gider ve 'ye saldırı hazırlar. genelde, önyükleme için kullanılan kararlı DHT düğümlerini kullanır. Saldırılarını gerçekleştirdikten sonra, tüm düğümlerini aynı anda üzerine yayarlar. Wham ;her bir önyükleme yapan DHT düğümü birden düştü.Şimdi ne olacak? Bunlardan geleneksel akran listelerini indirmek için merkezi izleyiciler ile bağlantı kurmaktan sıkıldınız. Peki, izleyicilere de saldırıyorlarsa gerçekten bir dere kadar yapıyorsunuz. Başka bir deyişle, Kademlia ve BT ağının tamamı, İnternetin kendisinin sınırlamaları ile sınırlandırılmıştır; bu nedenle,> 90'ı önlemek için çevrimdışı olarak başarılı bir şekilde saldırmanız veya çevrimdışına geçmeniz gereken sınırlı sayıda( ve nispeten küçük) bilgisayar vardırkullanıcıların% 'si ağa bağlanıyor.

"Yalancı merkezileştirilmiş" önyükleme düğümleri bittikten sonra, DHT'nin iç düğümleri, DHT'nin dışındaki kimsesi 'nin iç düğümlerini bilmediği için önyükleme yapmaz; bunlar işe yaramaz;DHT'ye yeni düğüm getiremezler. Böylece, her bir iç düğüm zamanla DHT ile olan bağlantıyı keserken ya insanlar bilgisayarlarını kapattığında, güncellemeler için yeniden başlattıkları vb. Sebebiyle ağ çökerdi.

Elbette bununla başa çıkabilmek için birisi önceden belirlenmiş kararlı DHT düğümlerinin veya DNS adreslerinin yeni bir listesi olan yamalı bir BitTorrent istemcisi dağıtabilir ve bunun yerine bu yeni listeyi kullanmak için P2P topluluğuna yüksek sesle reklam verebilir. Ancak saldırganın( düğüm-yiyen) aşamalı olarak bu listeleri kendilerinin indirmesi ve cesur yeni önyükleme düğümlerini hedeflemesi, ardından onları çevrimdışı duruma getirmesi gibi "aptalca" bir durum olurdu.

Sadece orijinal sorunun cevabını öğrendi değil, aynı zamanda BitTorrent sisteminin doğası ve güvenlik açıkları hakkında da bilgi edindik.

Açıklamaya eklemek için bir şey var mı?Açıklamalarda ses çıkıyor. Diğer teknik uzman Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Buradaki tam tartışma dizinine göz atın.