Dn42 Explained

dn42 is a decentralized peer-to-peer network built using VPNs and software/hardware BGP routers.[1] [2] [3] [4]

While other darknets try to establish anonymity for their participants, that is not what dn42 aims for. It is a network to explore routing technologies used in the Internet and tries to establish direct non-NAT-ed connections between the members.

The network is not fully meshed. dn42 uses mostly tunnels instead of physical links between the individual networks. Each participant is connected to one or more other participants.[5] [6] Over the VPN or the physical links, BGP is used for inter AS routing. While OSPF is the most commonly used protocol for intra AS routing, each participant is free to choose any other IGP, like Babel, inside their AS.[7]

History

The dn42 is a reboot of the diac24.[8] [9] [10] At the time, diac24 only consisted of around a dozen participants.[11] In diac24, the IPv4 address range used was 172.22.0.0/23 and the IPv6 address range used was 3ffe:400:c00::/48.[12] The dn42 seems to have used the IPv4 space 172.22.0.0/16,[13] the Clearnet IPv6 spaces like 2001:6f8:[14] and the AS range 65000 to 65999 in the early years after that.[15] It can also be said that the diac24 and the dn42 were initially aimed at a German audience, as much of the documentation was written in German. The diac24 mainly used GRE as a tunnel protocol between the participants, but this is not encrypted. In the beginning of the dn42, OpenVPN was often used[16] for peering in the dn42. Over time, this has been replaced by WireGuard, partly due to faster performance and simpler configuration. At that time, the registry was not managed with Git as it is now, but in a wiki page.[17] Anyone who wanted to register entered their desired ASN and IP space there.[18]

Technical setup

Address space

Network address space for IPv4 consists of private subnets: 172.20.0.0/14 is the main subnet.[19] Note that other private address ranges may also be announced in dn42, as the network is interconnected with other similar projects. Most notably, ChaosVPN uses 172.31.0.0/16 and parts of 10.0.0.0/8, Freifunk IC-VPN uses 10.0.0.0/8 [20] and NeoNetwork uses 10.127.0.0/16.[21]

For IPv6, Unique Local Address (ULA, the IPv6 equivalent of private address range) (fd00::/8) are used. Please note that IPv6 addresses within this range are also utilized by other networks, such as NeoNetwork employing fd10:127::/32 and CRXN utilizing segments of fd00::/8.[22]

AS numbers

In order to use BGP, even in a private environment, autonomous system numbers are needed. dn42 uses several private or reserved AS number ranges, including 64512 to 64855 and 76100 to 76199.[23] Since June 2014, dn42 is now using a new private range, 4242420000 to 4242429999,[24] part of larger private range defined by RFC 6996.

BGP routers

While some participants use hardware routers, most participants use general purpose servers or virtual machines to lower their cost. The most commonly used BGP implementations used in dn42 are BIRD and FRR, but some participants use OpenBGPD, XORP, GoBGP or the implementation of JunOS, Cisco IOS, MikroTik's RouterOS or VyOS (which uses FRR as a routing daemon in the background).[25]

Tunneling

In dn42, various links are used between the participants - but mainly virtual links, also known as tunnels. WireGuard is most commonly used for this, as it is easy to configure and is considered secure (with Perfect Forward Secrecy). Furthermore, many automatic peering systems offer WireGuard as the only option.[26] fastd is used for peering with the IC-VPN.[27] In rare cases, OpenVPN or IPsec are also used.

DN42 TLD

Websites and services hosted on the Dn42 network often use the top-level domain dn42. This is not an official IANA top-level domain, and it is handled through the dn42 registry.

Registry

To ensure uniform administration of IP addresses and domains, there is also a registry in dn42, as in Clearnet. This is based on Git[28] in dn42 and therefore also offers the option of storing these in a decentralized manner. Furthermore, all changes can be clearly traced back to an author. To make a change in the dn42 (e.g. a registration[29]), a pull request is created with the corresponding change. One of the registry maintainers then looks at this, validates it (including syntactically) and also verifies it (checking the authorization and signature). A participant must be authorized to make a change. This is verified by a signature using a GPG or SSH key.[30]

Interconnections

The dn42 maintains a number of links to similar projects:[31]

Namev4v6TLD
NeoNetworkXX.neo
Freifunk IC-VPNXXVarious
ChaosVPNXX.hack
CRXN[32] X.crxn

Certificate Authority

The dn42 has its own (unofficial) Certificate Authority (CA).[33] This can be used to issue TLS certificates, for example for HTTPS. Ownership can be verified with ACME, as with Let's Encrypt.

In addition, the NeoNetwork also operates its own CA for the .neo TLD and the associated network area.[34] The ChaosVPN, IC-VPN and the CRXN do not have a CA. In order to prevent the CA from issuing certificates for Clearnet addresses, name constraints[35] are used which limit the name validity range of the CA. This means that the CA cannot be used for Clearnet addresses.

Services

The following is a selection of services in the dn42:

Servicev4v6DNS
Recursive Anycast DNS172.20.0.53fd42:d42:d42:54::1a0.recursive-servers.dn42
Recursive Anycast DNS172.23.0.53fd42:d42:d42:53::1a3.recursive-servers.dn42
Basic "What is my IP service"-Service[http://172.20.0.81/ 172.20.0.81][http://[fd42:d42:d42:81::1]/ fd42:d42:d42:81::1][http://myip.dn42/ http://myip.dn42/]
dn42 wiki[http://172.23.0.80/ 172.23.0.80][http://[fd42:d42:d42:80::1]/ fd42:d42:d42:80::1][https://wiki.dn42/ https://wiki.dn42/] / [https://internal.dn42/ https://internal.dn42/]
Global Route Collector172.20.129.4fd42:4242:2601:ac12::1collector.dn42

External links

Notes and References

  1. Web site: Home . 2024-01-06 . dn42.dev.
  2. Web site: Tian . Lan . DN42 Experimental Network: Intro and Registration (Updated 2022-12) . 2024-01-06 . Lan Tian @ Blog . en.
  3. Web site: Prelude: Connecting to the DN42 Overlay Network . 2024-01-06 . www.jamieweb.net.
  4. Web site: Usman . 2021-11-22 . DN42 Part 1: Connecting to the DN42 BGP Mesh . 2024-01-06 . Usman . en.
  5. Web site: DN42 Realtime Map . 2024-09-24 . map.meson.cc.
  6. Web site: DN42 Realtime Network Map . 2024-09-24 . map.kuu.moe.
  7. Web site: Multiple servers on dn42: iBGP and IGPs jlu5 . 2024-01-06 . jlu5.com.
  8. Web site: 2016-03-14 . dn42 . 2024-09-24 . https://web.archive.org/web/20160314134715/http://dn42.volcanis.me/initenv.1.html . 2016-03-14 .
  9. Web site: 2009-02-07 . dn42 - decentralized network . 2024-09-24 . https://web.archive.org/web/20090207100754/https://dn42.net/trac/wiki . 2009-02-07 .
  10. Web site: C3D2VPN – C3D2 . 2024-09-25 . wiki.c3d2.de.
  11. Web site: 2004-02-10 . diac24.net . 2024-09-24 . https://web.archive.org/web/20040210160114/http://www.diac24.net/net/user.php4 . 2004-02-10 .
  12. Web site: 2004-02-10 . diac24.net . 2024-09-24 . https://web.archive.org/web/20040210160454/http://www.diac24.net/tech/index.php4 . 2004-02-10 .
  13. Web site: 2009-05-30 . IPv4Topologie – dn42 - decentralized network . 2024-09-24 . https://web.archive.org/web/20090530004432/http://dn42.net/trac/wiki/IPv4Topologie . 2009-05-30 .
  14. Web site: 2009-05-30 . IPv6Topologie – dn42 - decentralized network . 2024-09-24 . https://web.archive.org/web/20090530004437/http://dn42.net/trac/wiki/IPv6Topologie . 2009-05-30 .
  15. Web site: 2009-05-30 . ASTopologie – dn42 - decentralized network . 2024-09-24 . https://web.archive.org/web/20090530004355/http://dn42.net/trac/wiki/ASTopologie . 2009-05-30 .
  16. Web site: 2009-05-30 . TunnelTopologie – dn42 - decentralized network . 2024-09-24 . https://web.archive.org/web/20090530004511/http://dn42.net/trac/wiki/TunnelTopologie . 2009-05-30 .
  17. Web site: 2009-02-07 . Topologie – dn42 - decentralized network . 2024-09-24 . https://web.archive.org/web/20090207114230/http://dn42.net/trac/wiki/Topologie . 2009-02-07 .
  18. Web site: 2016-03-14 . HowToPeer – dn42 . 2024-09-24 . https://web.archive.org/web/20160314141628/http://dn42.volcanis.me/initenv/wiki/HowToPeer.html . 2016-03-14 .
  19. Web site: Address-Space . 2024-09-24 . dn42.dev.
  20. Web site: ICVPN IP ranges. . 19 April 2021.
  21. Web site: NeoNetwork Github Repo. . live. https://web.archive.org/web/20201122202119/https://github.com/NeoCloud/NeoNetwork . 2020-11-22 .
  22. Web site: Prefix allocation and registration - CRXN . live . https://web.archive.org/web/20230924081436/https://deavmi.assigned.network/projects/crxn/getting-started/registration/#generating-a-prefix-allocation . 2023-09-24 . 2024-01-06 . CRXN project homepage.
  23. Web site: Frequently Asked Questions. 19 April 2021.
  24. Web site: AS numbers. 19 April 2021.
  25. Web site: What BGP daemon should I use?. 22 April 2018.
  26. Web site: [DN42 Peering] Kioubit-Network ]. 2024-09-24 . dn42.g-load.eu . en.
  27. Web site: Fastd – wiki.freifunk.net . 2024-09-24 . wiki.freifunk.net.
  28. Web site: FAQ . 2024-01-06 . dn42.dev.
  29. Web site: Getting-Started . 2024-01-06 . dn42.dev.
  30. Web site: Registry-Authentication . 2024-01-06 . dn42.dev.
  31. Web site: Interconnections . 2024-01-06 . dn42.dev.
  32. Web site: Velloza Kildaire . Tristan B. . 2023-01-31 . Announcing the CRXNxDN42 inter-connect! . live . https://web.archive.org/web/20230924105821/https://deavmi.assigned.network/blog/announcing-crxn-dn42-interconnect/ . 2023-09-24 . 2024-01-06 . Announcing the CRXNxDN42 inter-connect!.
  33. Web site: Certificate-Authority . 2024-01-06 . dn42.dev.
  34. Web site: NeoNetwork/ca/neonetwork.crt at master · NeoCloud/NeoNetwork . 2024-01-06 . GitHub . en.
  35. Web site: Certificate-Authority . 2024-01-06 . dn42.dev.