Cjdns

Cjdnsсетевой протокол и его реализация, с помощью которого можно создать масштабируемую, безопасную и простую в настройке сеть. Сеть может работать как поверх интернет-соединения, так и между маршрутизаторами напрямую[7].

Cjdns
Логотип программы Cjdns
Тип протокол передачи данных
Автор Caleb James DeLisle
Написана на Си, Node.js и Rust[2]
Операционные системы Linux[3], FreeBSD[3], NetBSD[3], macOS[3] и Windows[4]
Языки интерфейса английский
Первый выпуск 23 января 2012[1]
Аппаратные платформы x86, x86-64, MIPS, ARM и PowerPC
Последняя версия
Репозиторий github.com/cjdelisle/cjd…
Лицензия GNU GPL 3[6]
Сайт github.com/cjdelisle/cjd…

Интерфейс

править

Работа сетевого протокола осуществляется через сетевой туннель (TUN). Программы могут работать в данной сети при условии, что они поддерживают протокол IPv6. После установки нужного программного обеспечения трафик автоматически перенаправляется в данную сеть, что позволяет избежать дополнительной настройки программ. В сети для пользователя генерируется IPv6-адрес, который относится к приватной части IPv6-адресов, а, значит, не будут происходить коллизии с реальными IPv6-адресами. При подключении через обычный интернет нужно найти уже существующий узел сети и узнать его адрес и ключ. При подключении маршрутизатор-маршрутизатор все происходит самостоятельно.

Маршрутизация

править

Маршрутизация трафика обеспечивается с помощью системы, аналогичной Kademlia DHT, точнее говоря, каталог маршрутов постоянно обновляется из-за того, что конфигурация сети может поменяться, таким образом, сеть поддерживает оптимальную нагрузку через все узлы и выбирает самый короткий путь для трафика.

Безопасность

править

Сеть приватная — трафик не может быть расшифрован никем, кроме узла, которому он должен быть доставлен. Сеть не анонимная[8] — целью её создания было сделать не клон I2P/Tor, а сделать новый интернет. Таким образом, с помощью трассировки можно узнать цепочку узлов и выяснить ваш IPv4 адрес; очевидно, что при подключении типа маршрутизатор-маршрутизатор данная проблема отпадет и сеть станет также анонимной.

Разработка

править

В данный момент происходит этап тестирования. Все желающие могут зайти в Git-репозиторий и загрузить исходный код. Протокол cjdns доступен для большинства UNIX-подобных систем, таких как Linux (Debian, Ubuntu и др.), macOS, FreeBSD и Illumos. Имеется поддержка таких архитектур, как x86, x86-64, PowerPC, MIPS и ARMv6 (Raspberry Pi). Все это позволяет легко начать работу на старом или новом оборудовании. Протокол можно внедрить в распространенную прошивку OpenWrt для маршрутизаторов.

 
Карта сети Hyperboria

Hyperboria является экспериментальной децентрализованной сетью, созданной тестерами и разработчиками cjdns для проверки протокола. Она была создана для того, чтобы любые данные, при передаче через интернет, были надежно зашифрованы (без предоставления анонимности[8]), а скорость доступа к ним стремилась к максимально возможной. Для реализации независимого децентрализованного DNS разработан модуль на базе системы псевдонимов криптоплатформы Nxt[9].

См. также

править

Примечания

править
  1. https://github.com/cjdelisle/cjdns/releases/tag/cjdns-0.1
  2. https://github.com/cjdelisle/cjdns/tree/master/net
  3. 1 2 3 4 https://github.com/cjdelisle/cjdns
  4. http://www.santacruzmesh.net/installer.html
  5. Release 22 — 2023.
  6. https://github.com/cjdelisle/cjdns/blob/master/LICENSE
  7. Нашу сеть не одолеть. rabkor.ru (27 августа 2014). Дата обращения: 2 сентября 2014. Архивировано из оригинала 3 октября 2014 года.
  8. 1 2 журнал Chip 11/2013, стр.53
  9. NxtHypeDns (англ.). github.com. Дата обращения: 2 сентября 2014. Архивировано 11 июня 2018 года.

Дополнительные материалы

править