B32
|
I2P поддерживает имена доменов в формате Base32, аналогично адресам .onion в сети Tor. Адреса base32 намного короче и проще для передачи, нежели полный Base64 адрес назначения или так называемые addresshelpers. Например: ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p
В сети Tor адрес состоит из 16 символов (80 бит), или половины от SHA-1 хэша. I2P использует 52 символа (256 бит) для предоставления полного SHA-256 хэша. Форма записи: {52 символа}.b32.i2p. Base32 это реализация сервиса именования доменов, которая запрашивает полную информацию (полный 516-символьный адрес назначения) у роутера, через протокол I2CP. Роутер, в свою очередь, по base32 хэшу ищет в LeaseSet этот полный адрес, и, в случае успеха, возвращает его. Поиск по хэшу Base32 будет успешным только в том случае, если точка назначения в формате Base64 активна и опубликована в LeaseSet в виде короткого base-32 адреса. Так как разрешение адреса таким способом требует обращения к сетевой базе данных, это может быть намного дольше, чем поиск в локальной адресной книге.
Адреса в формате Base32 могут быть использованы в большинстве случаев, там же, где используются полные адреса точек назначения. Разумеется, имеются некоторые исключения. Например поиск может завершиться неудачей, если имя не разрешено немедленно. К примеру I2PTunnel может "умереть", если имя не разрешено в Base-64 destination.
Клиентский b32[править]
В отличие от сети Tor, в I2P клиенты также имеют адрес, т.е. b32. Адрес привязан не к роутеру, а к конкретному набору туннелей, например, к клиентскому http-прокси, торрент-клиенту. Когда юзер посещает разные сайты, они видят его одинаковый b32, что потенциально может привести к деанону. B32 нужно регулярно менять. Часто новички не знают об этой особенности I2P и подвергают себя риску. К сожалению, на сайтах обоих роутеор не хватает информации о смене b32 и важности этого действия.
В Tor каждый клиент и сервер создают уникальный туннель для связи, и сервер отвечает в тот же туннель, откуда пришел запрос. 1 туннель сервера = 1 уникальный клиент. Это circuit switching, как в аналоговой телефонии.
В i2p клиент и сервер создают фиксированный набор туннелей. Сервер отвечает разным клиентам через одни и те же туннели, отсюда необходимость адресации клиентов. b32 - это уникальный адрес клиента. Это packet switching, как в Интернете.
Возможные улучшения[править]
Вообще можно сделать, чтобы при заходе на разные сайты был разный b32, но это потребует каждый раз создавать новые туннели. По мнения анона, эта мера вредна, т.к. создает ложное чувство безопасности. В i2p нет общепринятого браузера, поэтому отслеживать одного и того юзера можно по относительно уникальному браузеру. Если бы все или подавляющее большинство использовали перенастроенный tor browser для i2p, то тогда был бы смысл делать разные клиентские b32 для разных сайтов.
Смена B32[править]
В java роутере возможна автоматическая смена b32 при длительной неактивности, а также ручная смена b32 перезапуском туннелей.
TODO: скопировать из http://kislitsa.i2p/i2p/4889/#4889 и http://kislitsa.i2p/i2p/40026/#40026