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.
- privatehosts.txt
- userhosts.txt
- 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.