ПредишенСледващото

Забележка: система за именуване Обосновка I2P, общи аргументи срещу нея и възможни алтернативи можете да видите на страницата обсъждане на именуване

Компоненти на системата за имена

Името система е съвсем проста и най-вече, предоставена от външни, по отношение на заявленията за рутер, но идва с I2P на разпределение. Тези компоненти са:

Услуги Name System

Всички дестинации в I2P - ключовете на 516 байта (или повече). (За да бъдем по-точни, това е публичния 256 байта плюс ключ 128-байт подпис плюс нула сертификат, чиято дължина е под формата на Base64 е 516 байта. Сертифициране не се използва, ако е така, дължината на ключа ще бъде по-дълго. Сертификати могат да бъдат използвани за потвърждение на работа.)

имена на услуги HOSTS.TXT

имена на услуги HOSTS.TXT произвежда проста линейна търсене в текстови файлове. Тази имена на услуги използват по подразбиране до версия 0.8.8, когато бе заменен Blockfile услуга. HOSTS.TXT формат става много бавно, когато файлът е нараснал до хиляди записи.

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

Blockfile наименуване Service

На Blockfile магазини за наименуване на услуги множество "addressbooks" в един файл база данни на име hostsdb.blockfile. Това наименуване услуга е по подразбиране, тъй като пускането 0.8.8.

На творение, услугата за именуване внася записи от трите файлове, използвани от службата за HOSTS.TXT наименуване. На blockfile имитира предишното изпълнение, като се поддържа от три карти, които се търсят в ред, наречен privatehosts.txt, userhosts.txt и HOSTS.TXT. Той също така поддържа карта за обратно справка за изпълнение на бързи обратното търсене.

Други съоръжения за наименуване на услуги

Справочната е нечувствително. Първият мач е използван и конфликтите не са открити. Не е прилагане на правилата за именуване на заявки. Търсения са кеширани в продължение на няколко минути. Base 32 резолюция е описано по-долу. За пълно описание на API именуването Service видите наименуване Service Javadocs. Този API бе разширен значително по освобождаване 0.8.7 да осигури добавя и премахва, съхранение на произволни имоти с името на хоста, както и други функции.

Алтернативи и Експериментални именоването Услуги

Услугата именуване е определено с конфигурация имот i2p.naming.impl = клас. Други приложения са възможни. Например, има експериментално съоръжение за реално време заявки (а-ла-DNS) по мрежата в рамките на рутера. За повече информация вижте алтернативите на страницата за обсъждане.

HTTP прокси извършва търсене чрез рутер за всички имена на хостове, завършващи на ".i2p". Или препраща искането за създаване на външен прокси HTTP. по този начин На практика, всички имена на HTTP сайтове (eepsite) трябва да завършват с домейн от първо ниво псевдо ".i2p".

Inbox Абонаменти и Merge

наименуване

  • Когато импортирате имената са с малки букви.
  • След привеждане на малки имена са проверени за конфликт със съществуващи имена в userhosts.txt и HOSTS.TXT (но не в privatehosts.txt).
  • След редукция на долната регистър трябва да съдържа само [A-Z] [0-9]. и "-".
  • Ние не трябва да започва с '.' или "-".
  • Ние трябва да завършва с ".i2p".
  • Максимум 67 знака, включително ".i2p".
  • Не трябва да съдържа "..".
  • Не трябва да съдържа ".-" или "-". (Тъй като в 0.6.1.33).
  • Не трябва да съдържа "-" изключение - "xn--" за IDN.
  • Base32 имената на хостовете (* .b32.i2p) са запазени за база 32 употреба и така нямат право да бъдат внесени.
  • Някои имена на хостове, запазена за използване от проекта, не са разрешени (proxy.i2p, router.i2p, console.i2p, * .proxy.i2p, * .router.i2p, * .console.i2p и други)
  • Ключовете се проверяват за съответствие с base64.
  • Ключовете се проверяват за конфликти с действащото ключ в HOSTS.TXT (но не в privatehosts.txt).
  • Минималният размер на ключ 516 байта.
  • Максималният размер на 616 ключови байта (удостоверение за нуждите на 100 байта).

Всяко име, получени чрез абонамент, който преминава всички проверки, се добавя чрез местната служба за именуване.

Разширено абонамент Feed Формат

изходящи Абонаменти

Хостинг и HTTP Транспорт въпроси

Въпреки това, съдържанието на HOSTS.TXT заредени, ако то е било променено. Обсъждане на тази тема, вижте по-долу.

Възел обслужващи HOSTS.TXT статично, или еквивалентно на заявлението за CGI е силно препоръчително да се изпрати с глава Content-Length или ETAG или заглавна Last-Modified. Уверете се, също така, че необходимите сървърни проблеми "304 Not Modified". Това значително намаляване на честотната лента на мрежата и намалява възможността от повреждане.

Допълнения Service Node

добавяне на услуга възел е просто приложение, CGI, която се име на хост и ключ Base64 като параметри, и ги добавя към местен HOSTS.TXT. Ако други рутери са абонирани за този HOSTS.TXT, новата двойка име на хост / ключ ще се предава по мрежата.

трансфер

преход услуга е просто приложение, CGI, който получава името на хоста, като параметър и връща 301 пренасочи към правилния URL адрес, като добавите низ? I2paddresshelper = ключ. HTTP прокси интерпретира добавя ред, и използва този ключ, като актуална дестинация. В допълнение, пълномощникът кешира ключа, така че адрес помощник на не е необходимо да бъде рестартиран.

За да се осигури по-добро ниво на обслужване преход услуга трябва да бъде подписан от няколко доставчици на HOSTS.TXT, като по този начин местно списък от възли, е важно.

Base32 Имена

Наименуване и Address Book

Наименуване и Address Book

Подкрепете проекта - споделете линка, благодаря!