欢迎光临DART协议示范网

DART 协议名称使用声明
协议名称:DART(Domain Aware Routing Technology,域名感知路由技术)
发布者:lishi.china@qq.com
发布时间:2025年9月
DART协议是由独立开发者设计并免费公开发布的一种网络通信协议,旨在探索 IPv4 地址不足、而作为继任者的IPv6又因为不兼容IPv4导致难以推广的局面下的替代方案。
在此特此声明:
本协议中所使用的“DART”一词仅作为“Domain Aware Routing Technology”的缩写,用于描述该协议的核心技术特点,与 Google 公司开发的 Dart 编程语言无任何关联、合作或从属关系。
若提及“DART”协议,均特指本网络通信协议,而非任何编程语言或其他同名产品。
欢迎!
如果您是第一次点开本网站,您访问本网站的拓扑/路径大概率是这样的:

图中的红点标记了您此刻正在查看的网页的位置(您与Internet之间存在0个、1个或者多个NAT网关都不重要)。
本网站的目的是向您展示如何在DART协议的支持下扩展出更多的地址空间:
- 在DART协议的加持下,每一个域(譬如您当前访问的dart-proto.cn域)内可以容纳整个IPv4地址空间数量的主机(IPv4地址空间共有2³²个地址,近43亿台主机)。
- 如果dart-proto.cn域再派生出子域,那么每个子域也都可以容纳2³²个主机。
- DNS系统中域名的最大长度是256字节,域名可以派生的子域数量事实上可以认为是无穷的,那么,DART协议中可以容纳的主机数量也是无穷的。
在作为示范的dart-proto.cn域中,共有3台主机:
- dart-proto.cn(角色是网关,因此在拓扑图中使用了路由器图标)
- www1.dart-proto.cn
- www2.dart-proto.cn
这3台主机都开启了web服务。同时,这3个域名在DNS系统中都解析到同一个IP地址(124.71.175.125)。也就是说,如果您此时通过浏览器访问这3个域名,您看到的会是同一个网站(也就是当前网站)。
访问域内服务器
如何才能访问域内的服务器上提供的web服务呢?您需要让您的主机支持DART协议。

方法1:在您的电脑上安装一个服务程序
目前提供64位Windows系统上的安装包,支持Windows 10/11(其他Windows 64位版本理论上也应该支持,但未经测试)。
安装包和源码:
https://github.com/rancho-dart/DartWinDivert/releases/latest
- DART协议天然双栈,安装DartWinDivert不会影响主机访问IPv4主机
- 安装DartWinDivert之后,点击www1.dart-proto.cn和www2.dart-proto.cn如果打开的仍然是dart-proto.cn,请执行如下命令清空DNS缓存:
ipconfig /flushdns
方法2:在您的局域网出口部署DART网关
- 部署DART网关之后,内网所有主机不需要任何专门配置,即可访问外部DART主机
- 在dart-proto.cn域中,只有dart-proto.cn这台主机上安装了dart_forwarder网关软件
- www1.dart-proto.cn和www2.dart-proto.cn都是原生的Ubuntu系统+nginx服务
- 如果在公网DNS中注册域名并委托给DART网关,那么内网主机亦可被外部的DART主机访问,内网主机同样不需要特别配置
- 也就是说,如果您的内网存在无法升级协议栈的IPv4设备但是又希望能够从Internet访问之,DART协议能够满足您的愿望。
源码是Go语言编写的,在Ubuntu 24.04系统上调试通过。
源码Source:rancho-dart/dart_forwarder
如果内网配置的是私网网段,那么DART网关会自动启动NAT44,内网主机可以同时访问DART-Ready设备和IPv4-Only主机。
DART网关启动后:
- 如果客户机是通过DHCP获取地址的,请重新触发DHCP,确保客户机从DART网关获取IP;
- 如果客户机是静态配置的地址,请确保在DART网关的下行接口上配置了客户机信息。
dart_forwarder简介
dart_forwarder作为Ubuntu系统中的服务运行,它包含如下功能模块:
- DHCP Server
- DNS Server
- DART forwarder
- NAT-DART-4
- NAT44
Ubuntu操作系统默认安装了一个本地的DNS服务。安装dart_forwarder需要将默认的DNS服务关闭。源码中的README文件会引导您完成整个编译、安装和配置的过程。
NAT44不是DART协议的组成部分,但是与DART也不冲突。DART协议允许内网使用整个IPv4地址空间进行编址。不过,服务在启动的时候如果看到内网使用了私网地址,会自动启动NAT44以支持访问Internet上不支持DART协议的主机。这个特性对于平滑升级非常有价值。
详细内容
我们在域内的两台服务器上详细介绍DART协议的设计、运行方式和升级路线。