Bu sayfa son olarak 2024-02 tarihinde güncellendi ve 0.9.62 yöneltici sürümü için geçerli.

NOTE

This page describes the Java I2P implementation of peer profiling and selection as of 2010. While still broadly accurate, some details may no longer be correct. We continue to evolve banning, blocking, and selection strategies to address newer threats, attacks, and network conditions. The current network has multiple router implementations with various versions. Other I2P implementations may have completely different profiling and selection strategies, or may not use profiling at all.

Özet

Eş Profilinin Belirlenmesi

Eş profilinin belirlenmesi diğer yönelticilerin veya eşlerin gözlenen başarımına dayalı olarak veri toplama ve bu eşleri gruplara ayırma işlemidir. Eş belirleme, eşin kendisi tarafından "Ağ veri tabanı" (NetDB) üzerinde yayınlanarak iddia ettiği başarım verilerini kullanmaz.

Profiller iki amaçla kuıllanılır:

  1. Aşağıda tartışılan, trafiğimizi aktarmak için eşlerin seçilmesi
  2. "Ağ veri tabanı" (NetDB) sayfasında açıklanan ağ veri tabanı depolaması ve sorguları için kullanılacak otomatik doldurma yönelticileri kümesinden eşler seçilmesi

Eş Seçimi

Eş seçimi, iletilerimizi aktarmak için ağda hangi yönelticilerden geçmesini istediğimizi seçme işlemidir (hangi eşlerin tünellerimize katılmasını isteyeceğiz). Bunu başarmak için, her bir eşin başarımını (eşin "profili") izleriz ve bu verilerle ne kadar hızlı olduklarını, isteklerimizi ne sıklıkla kabul edebileceklerini, aşırı yüklenmiş gibi görünüp görünmediklerini ve işlemleri güvenilir bir şekilde yerine getirebilecekler mi öngörmek için kullanırız.

Diğer bazı anonim ağların aksine, I2P üzerinde iddia edilen bant genişliği bilgisi güvenilmezdir ve yalnızca yöneltme tünelleri için yetersiz olan çok düşük bant genişliği duyurusu yapan eşlerden kaçınmak için kullanılır. Tüm eş seçimleri profil belirleme yoluyla yapılır. Böylece, çok sayıda tüneli yakalamak için yüksek bant genişliği isteyen eşlere dayalı basit saldırılar önlenir. Ayrıca zamanlama saldırılarının yapılması zorlaşır.

Bir yöneltici çok sayıda istemci ve keşif tüneli tutabileceğinden ve tünel ömrü yalnızca 10 dakika olduğundan, eş seçimi oldukça sık yapılır.

Diğer Bilgiler

Ayrıntılı bilgi almak için PET-CON 2009.1 etkinliğinde sunulan I2P Anonim Ağında Eş Profilinin Belirlenmesi ve Seçimi makalesine bakabilirsiniz. Makalenin yayınlanmasından bu yana yapılan küçük değişikliklerle ilgili notlar için aşağıya bakın.

Profiller

Her eşten, bir ağ veri tabanı sorgusuna yanıt vermelerinin ne kadar sürdüğü, tünellerinin ne sıklıkla başarısız olduğu ve bizi kaç yeni eş ile tanıştırabilecekleri gibi istatistiklerle birlikte, onlardan en son ne zaman haber aldığımız veya son iletişim hatasının ne zaman ortaya çıktığı gibi kendileri hakkında bir dizi veri toplanır. Toplanan belirli veri noktaları kod içinde bulunabilir.

Profiller oldukça küçüktür ve birkaç KB boyutundadır. Bellek kullanımını kontrol etmek için, profil sayısı arttıkça profil geçerliliği süresi azalır. Profiller, diske yazıldığında yöneltici kapanana kadar bellekte tutulur. Başlangıçta profiller okunur, böylece yönelticinin tüm profilleri yeniden başlatmasına gerek kalmaz. Böylece bir yönelticinin başlatılmasından sonra hızla ağ ile yeniden bütünleşmesine izin verilir.

Eş Özetleri

Profiller bir eşin başarımının bir özeti olarak kabul edilebilirken, etkili eş seçimine izin vermek için her bir özeti, eşin hızını, kapasitesini, ağ ile ne kadar iyi bütünleştiğini ve ne kadar başarısız olduğunu gösteren dört basit değere böldük.

Hız

Hız hesaplaması basitçe profilden geçer ve bir dakika içinde eş üzerinden tek bir tünelde ne kadar veri gönderip alabileceğimizi öngörür. Bu öngörü için yalnızca bir önceki dakikadaki başarıma bakar.

Kapasite

Kapasite hesaplaması basitçe profilden geçer ve eşin belirli bir zaman diliminde kaç tünele katılmayı kabul edeceğini öngörür. Bu öngörü için, eşin kaç tünel oluşturma isteğini kabul ettiğine, reddettiğine ve vazgeçtiğine ve daha sonra üzerinde uzlaşmaya varılan tünellerden kaçının başarısız olduğuna bakar. Hesaplama zaman ağırlıklı olarak yapılır. Yakın geçmişteki eylemler daha eski eylemlere göre daha ağırlıklıdır. 48 saate kadar olan istatistikler katılabilir.

Güvenilmez ve ulaşılamayan eşleri tanımak ve bunlardan kaçınmak kritik derecede önemlidir. Ne yazık ki, tünel oluşturma ve sınama birkaç eşin katılımını gerektirdiğinden, vazgeçilen bir oluşturma isteğinin ya da sınama hatasının nedenini kesin olarak belirlemek zordur. Yöneltici, eşlerin her birine bir arıza olasılığı atar ve bu olasılığı kapasite hesaplamasında kullanır. Vazgeçmeler ve sınama başarısızlıkları, reddetmelere göre ağırlıklıdır.

Eş organizasyonu

Yukarıda bahsedildiği gibi, birkaç temel hesaplama yapmak için her bir eşin profilini inceleriz ve bunlara dayanarak, her bir eşi hızlı, yüksek kapasiteli ve standart olmak üzere üç gruba ayırırız.

Gruplamalar birbirini dışlamaz ya da ilgisiz değildir:

  • Bir eşin kapasite hesaplaması tüm eşlerin medyan değerine eşit ya da büyükse "yüksek kapasiteli" olarak kabul edilir.
  • Bir eş, zaten "yüksek kapasiteli" ise ve hız hesaplamaları tüm eşlerin medyan değerine eşit ya da büyükse "hızlı" olarak kabul edilir.
  • Bir eş, "yüksek kapasiteli" değilse "standart" olarak kabul edilir

Bu gruplamalar yönelticide ProfileOrganizer tarafından uygulanır.

Grup boyutu sınırları

Grupların büyüklüğü sınırlı olabilir.

  • Hızlı grup 30 eş ile sınırlıdır. Daha fazla olacaksa, yalnızca en yüksek hız derecesindekiler gruba yerleştirilir.
  • Yüksek kapasiteli grup 75 eşle sınırlıdır (hızlı grup dahil) Daha fazla olacaksa, yalnızca en yüksek kapasite derecesindekiler gruba yerleştirilir.
  • Standart grubun sabit bir sınırı yoktur, ancak yerel "Ağ veri tabanı" (netDB) üzerinde depolanan "Yöneltici bilgileri" (RouterInfo) sayısından biraz daha küçüktür. Günümüz ağındaki etkin bir yönelticide, yaklaşık 1000 "Yöneltici bilgisi" (RouterInfo) ve 500 eş profil (hızlı ve yüksek kapasiteli gruplardakiler dahil) bulunabilir.

Yeniden Hesaplama ve Kararlılık

Özetler yeniden hesaplanır ve eşler her 45 saniyede bir gruplara ayrılır.

Gruplar oldukça kararlı olma eğilimindedir. Yani her yeniden hesaplamada sıralamada çok fazla "çalkalanma" yoktur. Hızlı ve yüksek kapasiteli gruplardaki eşler, içlerinde daha fazla tünel oluşturur. Bu da onların hız ve kapasite oranlarını artırır ve gruptaki varlıklarını güçlendirir.

Eş Seçimi

Yöneltici, tüneller oluşturmak için yukarıdaki gruplardan eşler seçer.

İstemci Tünelleri için Eş Seçimi

İstemci tünelleri, HTTP vekil sunucuları ve site sunucuları gibi uygulama trafiği için kullanılır.

Bazı saldırılara duyarlılığı azaltmak ve başarımı artırmak için, istemci tünelleri oluşturmaya yönelik eşler, "hızlı" grup olan en küçük gruptan rastgele seçilir. Daha önce aynı istemci için bir tünele katılan eşleri seçmeye yönelik bir önyargı yoktur.

Keşif Tünelleri için Eş Seçimi

Keşif tünelleri, ağ veri tabanı trafiği ve istemci tünellerini sınama gibi yöneltici yönetim amaçları için kullanılır. Keşif tünelleri, daha önce bağlantısı olmayan yönelticilerle iletişim kurmak için de kullanılır, bu nedenle bunlara "keşif" adı verilir. Bu tüneller bant genişliği genellikle düşüktür.

Keşif tünelleri oluşturmak için eşler genellikle standart gruptan rastgele seçilir. Bu oluşturma girişimlerinin başarı oranı, istemci tüneli oluşturma başarı oranına kıyasla düşükse, yöneltici, bunun yerine yüksek kapasite grubundan rastgele bir ağırlıklı ortalamadaki eşleri seçer. Böylece, ağ başarımı düşük olduğunda bile tatmin edici bir derleme başarı oranı korunabilir. Daha önce bir keşif tüneline katılan eşleri seçmeye yönelik bir önyargı yoktur.

Standart grup, yönelticinin bildiği tüm eşlerin çok büyük bir alt kümesini içerdiğinden, keşif tünelleri, temel olarak, oluşturma başarı oranı çok düşük olana kadar tüm eşlerin rastgele seçilmesiyle oluşturulur.

Kısıtlamalar

Bazı basit saldırıları önlemek ve başarımı artırmak için aşağıdaki kısıtlamalar vardır:

  • Aynı /16 IP adresi aralığından iki eş aynı tünelde olmayabilir.
  • Bir eş, yöneltici tarafından oluşturulan tüm tünellerin en fazla 33% kadarına katkıda bulunabilir.
  • Bant genişliği çok düşük olan eşler kullanılmaz.
  • Yakın zamanda bir bağlantı girişiminin başarısız olduğu eşler kullanılmaz.

Tünellerde Eş Sıralaması

Eşler, tüneller içinde öncül saldırı (2008 güncellemesi) ile başa çıkacak şekilde sıralanır. Ayrıntılı bilgi almak için tünel sayfasına bakabilirsiniz.

Gelecekte Yapılacak Çalışmalar

  • Gerekli oldukça hız ve kapasite hesaplamalarını incelemeye ve ince ayarları yapmayı sürdürün
  • Ağ büyüdükçe bellek kullanımını denetlemek için gerekirse daha agresif bir çıkartma stratejisi uygulayın
  • Grup boyutu sınırlarını değerlendirin
  • Yapılandırılmışsa, belirli eşlerin katılması ya da katılmaması için GeoIP verilerini kullanın

Notlar

I2P Anonim Ağı üzerinde Eş Profilinin Belirlenmesi ve Seçimi makalesini okuyanlar için, yayınlanmasından bu yana I2P üzerinde yapılan şu küçük değişiklikleri unutmayın:

  • Bütünleşme hesaplaması hala kullanılmıyor
  • Makalede, "gruplar" "düzeyler" olarak anılmıştır.
  • "Başarısız" düzeyi artık kullanılmıyor
  • "Başarısız olmayan" düzeyi artık "Standart" olarak adlandırılıyor

Referanslar