Nevezés és címjegyzék

Megjegyzés: Az I2P elnevezési rendszer indoklása, az ellene felhozott általános érvek és lehetséges alternatívák láthatók az elnevezési beszélgetési oldalon

A névrendszer összetevői

A nevek rendszere meglehetősen egyszerű és többnyire az útválasztóhoz kapcsolódó külső alkalmazásokkal van ellátva, de az I2P-eloszlással ellátva. Ezek az összetevők:

Név rendszer szolgáltatás

Minden úticél I2P - kulcsait 516 bájt (vagy több). (Hogy pontosabbak legyünk, ez a nyilvános kulcsot a 256 bájt plusz kulcs 128 byte-os aláírási plusz nulla bizonyítvány, amelynek hossza formájában Base64 516 bájt. Hitelesítési nem használják, és ha igen, a kulcs hossza hosszabb lesz. Tanúsítványok lehet használni visszaigazolást a munka.)

Name service hosts.txt

A hosts.txt név szolgáltatás egyszerű szöveges fájlokat eredményez. Ezt a névszolgáltatásot alapértelmezés szerint a 0.8.8-as verzióban használták, amikor a Blockfile szolgáltatás helyébe lépett. A hosts.txt formátum nagyon lassúvá vált, amikor a fájl több ezer rekordra bővült.

  1. privatehosts.txt
  2. userhosts.txt
  3. HOSTS.TXT

Blockfile Naming Service

A Blockfile Naming Service több "címjegyzéket" tárol egyetlen adatbázis fájlban, a hostsdb.blockfile néven. Ez az elnevezési szolgáltatás az alapértelmezett 0.8.8 kiadás óta.

A létrehozásnál az elnevezési szolgáltatás. A blockfile utánozza a korábbi végrehajtásról fenntartásával három térképet, hogy keresi a rend nevű privatehosts.txt, userhosts.txt és HOSTS.TXT. Ezenkívül megtartja a fordított keresési térképet a gyors fordított keresések végrehajtásához.

Egyéb elnevezési szolgáltatási létesítmények

A keresés nem kisbetűs. Az első mérkőzést használják. A lekérdezésekben nincs érvényben az elnevezési szabályok. A kereséseket néhány percig tárolják. A 32-es alap felbontását az alábbiakban ismertetjük. A Naming Service API teljes leírását lásd a Named Service Javadocs-ban. Ez az API jelentősen bővült a 0.8.7 kiadáson, hogy hozzáadást biztosítson és eltávolítson, tárolja a tulajdonságokat a gazdanévvel és más funkciókkal.

Alternatívák és kísérleti elnevezési szolgáltatások

Az elnevezési szolgáltatás az i2p.naming.impl = osztály konfigurációs tulajdonsággal van megadva. Más megvalósítások is lehetségesek. Például létezik egy kísérleti eszköz valós idejű keresések (a la DNS) hálózaton keresztül a routeren belül. További információért tekintse meg a beszélgetési oldalon található alternatívákat.

A HTTP proxy a ".i2p" -en végződő gazdanevek útválasztóján keresztül keres. Vagy átirányítja a kérelmet egy konfigurált külső HTTP-proxy számára. így a gyakorlatban az összes HTTP csomópontnévnek (eepsite) a ".i2p" pszeudo-top szintű domainnel kell végződnie.

Bejövő előfizetések és egyesítés

Nevezési szabályok

  • A nevek importálásakor kisbetűsre kerül.
  • Miután behozta a kisbetűs neveket ellenőrizni konfliktusok a meglévő nevek userhosts.txt és HOSTS.TXT (de nem privatehosts.txt).
  • A kisbetűkre történő öntés után csak [a-z] [0-9] "-t kell tartalmazniuk." és "-".
  • Nem szabad elkezdeni a "." vagy "-".
  • Véget kell vetni a ".i2p" kifejezéssel.
  • Legfeljebb 67 karakter, beleértve a ".i2p" kifejezést.
  • Nem tartalmazhat ".." -t.
  • Nem tartalmazhat ".-" vagy "-." (mint a 0.6.1.33-ban).
  • Nem tartalmazhat "-", kivéve az "xn--" -t az IDN számára.
  • A Base32 állomásnevek (* .b32.i2p) a 32-es bázis használatára vannak fenntartva, ezért nem importálhatók.
  • Bizonyos hosztnevekre A foglalt a projekt, nem engedélyezett (proxy.i2p, router.i2p, console.i2p * .proxy.i2p * .router.i2p * .console.i2p, és mások)
  • A kulcsokat ellenőrizni kell a base64-el.
  • A kulcsokat a hosts.txt (de nem a privatehosts.txt fájlban) meglévő kulcsokkal való ütközéssel ellenőrzi.
  • A kulcs minimális mérete 516 byte.
  • A maximális kulcsméret 616 bájt (legfeljebb 100 bájtos tanúsítványok esetén).

Minden olyan név, amelyet az összes olyan átvitelen átesett előfizetésen keresztül fogadunk, hozzáadódik a helyi elnevezési szolgáltatáshoz.

Fejlett előfizetési hírcsomag formátuma

Kimenő előfizetések

Hosting és HTTP közlekedési kérdések

Azonban a hosts.txt tartalma betöltődik, ha megváltozott. E témakör megvitatását lásd alább.

Node szolgáló HOSTS.TXT statikus, vagy azzal egyenértékű a CGI-alkalmazás erősen ajánlott, hogy küldjön a fejléc Content-Length, vagy ETAG fejléc vagy Last-Modified. Győződjön meg arról is, hogy a szükséges szerver problémák „304. Nem módosított”. Ez nagymértékben csökkenti a hálózati sávszélesség, és csökkenti annak lehetőségét, kár.

Csomópont-kiegészítési szolgáltatások

hozzátéve szolgáltatás csomópont egy egyszerű CGI alkalmazás, amely egy gépnevet, és Base64 kulcs paraméterként, és hozzáteszi, hogy a helyi HOSTS.TXT. Ha más útválasztók előfizetnek erre a hosts.txt fájlra, akkor az új csomópont / kulcspár átkerül a hálózaton.

Átmeneti szolgáltatások

Szolgáltatás átmenet egy egyszerű CGI alkalmazást kap a gazda nevét, mint paramétert, és visszaad egy 301 átirányítást a helyes URL-cím a húr? I2paddresshelper = gombot. A HTTP proxy értelmezi a hozzáadott karakterláncot, és ezt a kulcsot használja jelenlegi célként. Ezenkívül a proxy gyorsítótárazza ezt a kulcsot, így a cím-segédnek nincs szüksége újraindítás előtt.

Ahhoz, hogy jobb szolgáltatást nyújtsunk, az átmeneti szolgáltatásnak több host.txt szolgáltatóra kell előfizetnie, azaz. a csomópontok helyi listája releváns lesz.

Base32 nevek

Nevezés és címjegyzék

Nevezés és címjegyzék