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

I2P iletişim kuralı yığını. Ayrıca Teknik belgeler dizini bölümüne de bakabilirsiniz.

Yığındaki katmanların her biri ek yetenekler sağlar. Yetenekleri, iletişim kuralı yığınının altından başlayarak aşağıda görebilirsiniz.

  • İnternet Katmanı:
    IP: İnternet iletişim kuralı (Internet Protocol). Normal internet üzerindeki sunucuların adreslenmesini ve en iyi çabayı kullanarak internet üzerinden paketlerin yöneltilmesini sağlar.
  • Taşıyıcı Katmanı:
    TCP: "Aktarım denetimi iletişim kuralı" (Transmission Control Protocol), paketlerin internet üzerinden güvenilir şekilde gönderilmesini ve sırayla teslim edilmesini sağlar.
    UDP: Kullanıcı veri şeması iletişim kuralı (User Datagram Protocol), paketlerin internet üzerinden güvenilmez şekilde, sıralamaya uymadan teslim edilmesini sağlar.
  • I2P taşıyıcı katmanı:, 2 I2P yönelticisi arasında şifrelenmiş bağlantılar sağlar. Bunlar henüz anonim değildir ve bu kesinlikle bir sıçramadan sıçramaya bağlantısıdır. Bu yetenekleri sağlamak için iki iletişim kuralı uygulanır. NTCP2, TCP üzerinden kullanılırken, SSU UDP üzerinden kullanılır.
    NTCP2: NIO temelli TCP
    SSU: Güvenli yarı güvenilir UDP
  • I2P tünel katmanı: Tam olarak şifrelenmiş tünel bağlantıları sağlar.
    Tünel iletileri: Tünel iletileri, şifrelenmiş I2NP (aşağıya bakın) iletilerini ve bunların teslimi için şifrelenmiş yönergeleri içeren büyük iletilerdir. Şifreleme çok katmanlıdır. İlk sıçrama tünel iletisinin şifresini çözer ve bir bölümünü okur. İletinin kalan bölümü hala şifrelidir (başka bir anahtarla) ve bu şekilde iletilir.
    I2NP iletileri: I2P ağ iletişim kuralı iletileri, iletileri birden çok yönelticiden geçirmek için kullanılır. Bu I2NP iletileri, tünel iletilerinde birleştirilir.
  • I2P Garlic katmanı: I2P iletilerinin şifrelenmiş ve anonim olarak uçtan uca aktarılmasını sağlar.
    I2NP iletileri: I2P ağ iletişim kuralı iletileri birbirine sarmalanır ve iki tünel arasında şifrelemeyi sağlamak için kullanılır. Her ikisi de anonim tutularak kaynaktan hedefe iletilir.

Aşağıdaki katmanlar kesinlikle artık I2P iletişim kuralı yığınının bir parçası değildir. Bunlar çekirdek 'I2P yöneltici' işlevlerinin bir parçası değildir. Bununla birlikte, bu katmanların her biri, uygulamaların basit ve kullanışlı şekilde I2P kullanmasını sağlamak için ek işlevler sunar.

  • I2P istemci katmanı: Herhangi bir istemcinin yöneltici API uygulamasını doğrudan kullanmasına gerek kalmadan I2P işlevlerini kullanmasını sağlar.
    I2CP: I2P istemci iletişim kuralı, iletileri I2CP TCP soketi üzerinden ileterek I2P üzerinden güvenli ve asenkron iletişim sağlar.
  • I2P uçtan uca taşıma katmanı: I2P üzerinde TCP veya UDP benzeri işlevsellik sağlar.
    Streaming kitaplığı: I2P üzerinde TCP benzeri akışların bir uygulamasıdır. Var olan uygulamaların I2P üzerine daha kolay taşınmasını sağlar.
    Veri şeması kitaplığı: I2P üzerinde UDP benzeri iletilerin bir uygulamasıdır. Var olan uygulamaların I2P üzerine daha kolay taşınmasını sağlar.
  • I2P uygulama arayüzü katmanı: I2P üzerine uygulamaları kolaylaştıran ek (isteğe bağlı) kitaplıklar.
    I2PTunnel
    SAMv3
  • I2P uygulama vekil sunucu katmanı: Vekil sunucu sistemleri.
    HTTP istemcisi/sunucusu, IRC istemcisi, SOCKS, Streamr

Son olarak, 'I2P uygulama katmanı' olarak kabul edilebilecek olan, I2P üzerinde çalışan çok sayıda uygulamadır. Bunları kullandıkları I2P yığın katmanına göre sıralayabiliriz.

  • Streaming/veri şeması uygulamaları: i2psnark, Syndie, i2phex...
  • SAM uygulamaları: IMule, i2p-bt...
  • Diğer I2P uygulamaları: Syndie, EepGet, uygulama ekleri...
  • Normal uygulamalar: Jetty, Apache, Git, web tarayıcılar, e-posta...
I2P ağ yığını

Şekil 1: I2P ağ yığınının katmanları.

* Not: SAM hem streaming kitaplığını hem de veri şemalarını kullanabilir.