业余无线电集群(Cluster)的前世今生

上图:一个吉隆坡的典型的Cluster节点,使用DXSpider
在Cluster还没有出现的时代,猎 DX (指热衷追逐并努力与远方电台通联的行为)的人只能靠口头互报、邮寄 QSL 卡片或守听 14.195 /14.200MHz 的“DX 窗口”,十分不方便,而且往往容易错过传播窗口。
这里还是先抄一段关于DX Cluster的定义:
DX集群(Cluster)是一种网络系统,使业余无线电操作员能够实时分享有关活跃DX电台的信息。当操作员在特定频率上识别出一个DX台时,他们可以通过向集群报告其详细信息来“发现”该台。这些信息通常包括电台呼号、频率、工作模式(如CW、SSB或数字),以及信号强度等。
注意,它是一种网络系统,而不是具体的协议或软件。实际上,能够成为DX Cluster节点的软件应用不止一个(见下文)。
DX集群的起源可以追溯到20世纪80年代,当时业余无线电操作员开始利用早期计算机网络分享有关活跃DX电台的信息。最初,这些努力依赖于分组无线电(AX.25)——一种数字通信方式,使操作员能够通过无线电频率交换数据。早期的DX集群作为独立的服务节点运行,其他一般台站通过无线电与DX集群通信,并下载最近的DX资讯。这个时候Cluster之间没有明确的协议规范,联系和通讯内容也比较松散,更像是一个BBS系统,些原始集群为我们今天的先进网络奠定了基础。
改变这种局面的是“PacketCluster”,PacketCluster 大约是 1988-1989 年由 Dick Newell 发布(AK1A 在 1989 年 Dayton Hamvention 首次公开展示)对现代DX集群系统的发展起到了关键作用。
PacketCluster 商标 2000 年后归 Aether Systems,此后业余圈已停止官方维护,仅少数政府/救援网络仍在封闭运行
PacketCluster是这样运作的:它也是依赖于一种叫做AX.25的无线电链路层协议,但是它规定了一些纯文本关键字,例如DX、ANNOUNCE、SHOW/FILTER、SET/NOVICE。在这时候的设计里,没有服务器和客户端的关系,每个节点都是对等的,许多的节点组成了“簇”或者说“集群”(Cluster)。
但90 年代中后期出现了“主节点-漏斗节点-用户”三级架构,用户端已经退化成了纯客户端(只发命令不收射频)。随着 Internet 接入,今天看到的节点其实分两层——射频+互联网混合骨干节点(仍跑 Cluster 协议)和纯 Telnet 客户端(如用户手里的日志软件),后者已不再是“对等节点”。
每个运作PacketCluster的电台节点(应该说电台连接到运行该软件的计算机),会通过特定的频率监听着安装了该软件的一个或多个其他电台。这些连接的节点称为集群。集群连接到其他集群,扩展了空中网络。他们之间用该协议来发送数据包(Packet),并互通有无、共享信息。
而个人用户以不同于节点站链接的无线电频率连接到节点。用户能够宣布DX点和相关公告,发送个人通话消息,发送和接收邮件消息,搜索和检索存档数据,以及从信息数据库访问数据等功能。
PacketCluster 出现以后,任何连接到节点的爱好者都可以在一分钟内把“3XY1D0 21.025 MHz CW”这样的简短信息发到全网,别人无需守候即可知道(例如)某个稀有的利比里亚电台上线。这套纯文本指令——DX、ANNOUNCE、SHOW/FILTER、SET/NOVICE——就是后来所有 DX Cluster 软件事实上的“协议”。
PacketCluster虽然HAM用户群体在衰减,但经过所有权转移,目前商标和软件所有权由 Aether Systems持有,在(美国的)执法部门和消防救援部门中发挥作用,拥有超过4万名用户 (2003年Aether提供数据,目前情况不详)。
DX集群为业余无线电操作员带来了诸多好处:HAM可以专注于特定站点,而不是随机扫描波段,这样可以节省时间。此外,通过实时活动信息,火腿可以保持对波段状况和传播趋势的了解,发掘新的DX机会。这降低了比赛中寻找稀有电台,或实现诸如(美国的)“全州通勤”(WAS)或DX世纪俱乐部(DXCC)等奖项里程碑的门槛。
随着1990年代互联网的出现,DX集群发展成为全球范围内可访问的半互联网-半业余无线电系统。由于互联网连接更加稳定可靠,DX集群网络的运作也逐渐跨越到互联网基础设施上:业余无线电台通过互联网使用telnet协议相互连接,以收集DX spot、留言、查阅和发布公告,互发邮件。类似早期的telnet BBS,或fido-net
这一转变极大地增加了用户数量和共享信息的数量。随着时间推移,这些平台引入了筛选、警报和地图等先进功能,显著提升了DX体验。
很多新HAM会苦恼于应该接入哪个节点(服务器),但其实没什么区别——目前大多数公开节点/集群都互相连通,实际上,当有人“发现”一个DX站点到集群时,这个集群会将数据共享给所有其他集群,这样数据几乎瞬间也会出现在它们上。DX集群唯一的区别是界面和功能——所以你可以选择你喜欢的那一个。

(上图:DXlabsuite开发的SpotCollector)
虽然。三十年后的今天PacketCluster仍在使用,但许多节点正在取代该软件,例如AR-Cluster、CC Cluster, CLX, Clusse, DX Spider, DxNet
| 实现 | 平台 | 对原始协议的主要扩展 | 典型节点 |
| DX Spider | 跨平台/Perl | SET/DX_GRID, 脚本插件 | ve7cc, hb9wdf |
| AR-Cluster | Win/.NET | 内存库, JSON/SPIDER | dxc.nc7j.com |
| CC Cluster | Win | 竞赛私有网, 零配置 | (自建) |
DX Cluster 生态圈基本定型,基本分为三个软件实现(个人观察),一个是DX Spider —— 开源、跨平台,节点数最多,维护者仍用 Perl 增量更新;
还有冉冉升起的新星AR-Cluster,它只能运行在Windows/.NET平台上,,官方节点 dxc.nc7j.com,被 RBN(Reverse Beacon Network反向传输信标网络) 当作信息源。
RBN 可看作 Cluster 的“自动 Spot 供应商”,但 RBN 节点之间用自有的 XML/JSON 推送,不走传统 Cluster 协议。
在竞赛里,能看见CC Cluster (Contest Cluster)的身影,这个实现侧重竞赛团队,CC Cluster 允许竞赛队在局域网自建服务器,实现亚毫秒级本地 Spot 分发,适合多人操作同一台比赛呼号。
其他软件也不是没有,比如Clx、Dxcng,感觉是欧洲的一些HAM局部维护和使用 的,用户群较小。
之前提到DX Cluster是一个定义宽泛松散的网络系统,它的问题也是一直以来没有明确的协议规范,API也并不统一,只由长期以来约定俗成的(例如)“DX 9A1P 7.005 5999 3Z50P”这样 的简陋的80 字节定长字符串来交换资讯;新的集群为了兼容性,新功能只能以私有扩展出现,例如 AR-Cluster 的“JSON/SPIDER”指令、DX Spider 的“SET/DX_GRID”指令,导致它演进缓慢。但是后端架构上还是可以看到新技术的努力,例如AR Cluster用上了多线程和内存数据库,筛选器、用户命令集、高性能telnet服务器,还有界面和后台处理的解耦。
关于80字节:其实早期 AX.25 UI-frame 最大 256 字节,PacketCluster 为了兼容 Packet-Radio 把单行截在 70-80 字符,这是人为截断,沿用形成事实上的长度惯例。
关于字符串为什么是那样的写法:最早 PacketCluster 用空格做字段分隔,共 6 段。DX + 呼号 + 频率 + 模式/SNR + 备注 + spotting 台。后来 Spider 允许任意字段用“_”代替空格,才支持了网格、IOTA 等扩展
有不少竞赛/日志软件集成了Cluster功能(依托于telnet协议),例如DX Summit、N1MM等,用户不需要单独安装。。有一个软件不知道大家有没有印象,DX Atlas的CW Skimmer(由于机翻错误,也被戏称作“撇渣器”)本身也有一个服务端,本质上也是一种(私有协议的)Cluster。也有一些直接提供web在线阅览(而非通过古老的telnet协议)的Cluster服务例如DXHeat。
(本来想写普通HAM如何开始使用DX Cluster功能,但考虑到有这个需求的肯定有自学能力,就不从头讲了……)