Bu çeviri makine öğrenimi kullanılarak oluşturulmuştur ve %100 doğru olmayabilir. İngilizce versiyonu görüntüle

I2NP Genel Bakış

I2P Ağ Protokolü (I2NP) genel bakış - mesaj formatı, türleri, öncelikleri ve boyut sınırlamaları.

Genel Bakış

I2CP ve çeşitli I2P taşıma protokolleri arasında yer alan I2P Ağ Protokolü (I2NP), yönlendiriciler arasındaki mesajların yönlendirilmesi ve karıştırılmasından sorumludur ve aynı zamanda bir eş ile iletişim kurarken birden fazla ortak taşıma protokolü desteklendiğinde hangi taşıma protokollerinin kullanılacağının seçilmesini sağlar.

I2NP Tanımı

I2NP (I2P Ağ Protokolü) mesajları, tek sıçramalı, yönlendirici-yönlendirici, noktadan noktaya mesajlar için kullanılabilir. Mesajlar, diğer mesajların içine şifrelenerek ve sarılarak, çoklu sıçramalarla son hedefe güvenli bir şekilde gönderilebilir. Öncelik yalnızca orijinde yerel olarak kullanılır, yani giden teslimat için kuyruğa alınırken.

Aşağıda listelenen öncelikler güncel olmayabilir ve değişikliğe tabidir. Öncelik kuyruğu uygulaması değişiklik gösterebilir.

İleti Biçimi

Aşağıdaki tablo NTCP’de kullanılan geleneksel 16 baytlık başlığı belirtir. SSU ve NTCP2 taşıma katmanları, değiştirilmiş başlıkları kullanır.

FieldBytes
Type1
Unique ID4
Expiration8
Payload Length2
Checksum1
Payload0 - 61.2KB
Maksimum yük boyutu nominal olarak 64KB olsa da, bu boyut [tünel uygulaması sayfasında](/docs/specs/tunnel-implementation/) açıklandığı gibi I2NP mesajlarının birden fazla 1KB'lık tünel mesajına parçalanma yöntemi tarafından daha da sınırlanır.

Parça sayısı en fazla 64 olabilir ve mesaj tam olarak hizalanmamış olabilir, bu yüzden mesaj nominal olarak 63 parçaya sığmalıdır.

İlk parçanın maksimum boyutu 956 bayttır (TUNNEL teslimat modu varsayılırsa); takip eden parçanın maksimum boyutu 996 bayttır. Bu nedenle maksimum boyut yaklaşık olarak 956 + (62 * 996) = 62708 bayt veya 61,2 KB’dır.

Ayrıca, aktarımlar ek sınırlamalara sahip olabilir. NTCP sınırı 16KB - 6 = 16378 bayttır. SSU sınırı yaklaşık 32 KB’dır. NTCP2 sınırı yaklaşık 64KB - 20 = 65516 bayttır ve bu, bir tünelin destekleyebileceğinden daha yüksektir.

İstemcinin gördüğü veri birimleri için bu sınırların geçerli olmadığını unutmayın, çünkü yönlendirici bir sarımsak mesajında istemci mesajıyla birlikte bir yanıt leaseset’i ve/veya oturum etiketlerini birleştirebilir. Leaseset ve etiketler birlikte yaklaşık 5,5 KB ekleyebilir. Bu nedenle geçerli veri birimi sınırı yaklaşık 10 KB’dir. Bu sınır gelecekteki bir sürümde artırılacaktır.

Mesaj Türleri

Daha yüksek numaralı öncelik, daha yüksek önceliktir. Trafik büyük ölçüde TunnelDataMessages’tir (öncelik 400), bu yüzden 400’ün üzerindekiler temelde yüksek öncelikli, altındakiler ise düşük önceliklidir. Ayrıca, mesajların çoğu genellikle istemci tünelleri değil, keşif tünelleri aracılığıyla yönlendirilir ve bu nedenle ilk zıplayışlar aynı eş üzerinde olmazsa aynı kuyrukta olmayabilirler.

Ayrıca tüm mesaj türleri şifrelenmeden gönderilmemektedir. Örneğin bir tünel test edilirken, yönlendirici DeliveryStatusMessage’ı GarlicMessage içinde, GarlicMessage ise DataMessage içinde sarmalar.

MessageTypePayload LengthPriorityComments
DatabaseLookupMessage2500May vary
DatabaseSearchReplyMessage3Typ. 161300Size is 65 + 32*(number of hashes) where typically, the hashes for three floodfill routers are returned.
DatabaseStoreMessage1Varies460Priority may vary. Size is 898 bytes for a typical 2-lease leaseSet. RouterInfo structures are compressed, and size varies; however there is a continuing effort to reduce the amount of data published in a RouterInfo.
DataMessage204 - 62080425Priority may vary on a per-destination basis
DeliveryStatusMessage1012Used for message replies, and for testing tunnels - generally wrapped in a GarlicMessage
GarlicMessage11Generally wrapped in a DataMessage - but when unwrapped, given a priority of 100 by the forwarding router
TunnelBuildMessage214224500
TunnelBuildReplyMessage224224300
TunnelDataMessage181028400The most common message. Priority for tunnel participants, outbound endpoints, and inbound gateways was reduced to 200 as of release 0.6.1.33. Outbound gateway messages (i.e. those originated locally) remains at 400.
TunnelGatewayMessage19300/400
VariableTunnelBuildMessage231057 - 4225500Shorter TunnelBuildMessage as of 0.7.12
VariableTunnelBuildReplyMessage241057 - 4225300Shorter TunnelBuildReplyMessage as of 0.7.12
Others (Types 0, 4-9, 12)0, 4-9, 12Obsolete, Unused
## Tam Protokol Spesifikasyonu

Tam protokol belirtimi için I2NP Spesifikasyon sayfasına bakın. Ayrıca Ortak Veri Yapısı Spesifikasyonu sayfasına da bakın.

Gelecek Çalışmalar

Mevcut öncelik şemasının genel olarak etkili olup olmadığı ve çeşitli mesajlar için önceliklerin daha fazla ayarlanması gerekip gerekmediği henüz açık değil. Bu, daha ileri araştırma, analiz ve testler için bir konudur.

Was this page helpful?