Linux 下的数据包无线电
在我十几岁的时候,我花了许多愉快的时光摆弄无线电设备,并通过业余无线电媒介与世界各地的其他“火腿”(业余无线电爱好者)进行通信。为了上大学、开始事业和组建家庭而搬走意味着我的爱好不得不暂时中断几年。最近,我重新回到这个爱好,并决定探索一个在我十几岁时还不存在的业余无线电领域——数字数据包无线电。作为一个狂热的 Linux 用户,我很有兴趣看看如何使用我的 Linux 系统进行数据包无线电通信。我的预算有限,并且希望在不投入大量硬件和软件的情况下开始。
业余无线电是全球数百万“火腿”爱好者 즐기는 一项爱好。通过国际协议,大多数国家都划拨了一部分无线电频谱供业余爱好者进行无线电技术实验。这项爱好可以追溯到无线电的早期,并在各个年龄段的人群中都很受欢迎。操作业余无线电台需要操作员执照,这可以通过参加考试获得,考试内容涵盖无线电理论、法规、操作规范和基础电子学。完全权限还需要掌握国际莫尔斯电码(是的,它仍然在使用),尽管一些国家现在提供无电码执照,但通常会限制操作模式和频率。
火腿爱好者以制造自己的设备和配件、试验新技术以及互相帮助和帮助公众而闻名。这与 Linux 的精神非常接近,因此许多火腿爱好者同时也是 Linux 用户也就不足为奇了。
随着个人电脑变得越来越强大和经济实惠,业余爱好者开始考虑使用无线电进行数字通信。数据包无线电就是这样一种方法,其中文本被编码为二进制数据,并通过无线电以数据组(称为 数据包)的形式传输。为此目的开发的一种流行的协议是 AX.25。它基于 X.25 协议,但针对业余无线电的特殊需求进行了调整,可在电台之间提供无错误的、基于数据包的通信。其他协议,例如 TCP/IP,可以在 AX.25 之上运行。数据包无线电的一些应用包括通过键盘与其他火腿爱好者实时聊天、使用数据包公告栏系统、发送电子邮件以及连接(通过网关或虫洞)到其他数据包网络或互联网。数据速率范围从 HF(高频)频段上的 300 比特/秒到 VHF(甚高频)上的 1200 比特/秒,再到 UHF(超高频)频率上的 9600 到 56Kbps 甚至更高。
一个典型的数据包无线电台由一台计算机或终端、一个终端节点控制器 (TNC) 和一个无线电收发器(发射器/接收器)组成。TNC 是一种设备,包含一个小型微处理器、ROM 中的专用固件和一个调制解调器,用于在音频和串行位格式之间来回转换信号,并使用 AX.25 协议对数据进行编码和解码。典型的 TNC 通过其串行端口将无线电连接到计算机。
另一种流行的选择是“穷人版的仅调制解调器”终端单元 (TU)。它本质上有一个调制解调器芯片夹在音频和串行端口连接器之间。因此,计算机上的软件驱动程序必须处理所有 AX.25 协议。它之所以受欢迎是因为价格——通常是 TNC 成本的三分之一。
典型的基于 DOS 的数据包设置有许多限制。由于系统是单用户的,计算机必须专用于数据包,并且不能轻易用于其他目的。通常,计算机用作哑终端,或者使用专用软件来接管整个计算机。尽管一些软件包(例如 JNOS)可以在 XT 或 AT 级机器上运行,但 Linux 通常在内存有限的 386 机器上比商业操作系统替代品(例如 Windows 95)运行得更好。
数据包软件要么是免费的,要么以二进制形式作为共享软件分发。一些软件包,特别是 JNOS,也可以作为源代码提供。
截至 2.0 版本,Linux 内核中内置了对 AX.25 协议的本机支持(这是操作系统中的一项独特功能)。对于早期版本,Alan Cox 的 AX25 软件包可以轻松地进行修补。此外,AX25 还与 Linux 网络代码和实用程序的其余部分集成在一起。对于 Linux 而言,数据包无线电接口就像另一个网络接口一样,非常类似于以太网卡或串行 PPP 链路。
内核包含用于串行端口 TNC 以及几个流行的数据包调制解调器卡的设备驱动程序。它甚至提供了一个使用声卡作为数据包调制解调器的驱动程序(稍后会详细介绍)。
一旦启动并运行,您可以让用户通过数据包无线电 Telnet 连接到您的 Linux 系统,为他们提供 Unix shell 或几个 BBS 程序之一,甚至让他们使用 Web 浏览器浏览您的系统。由于 Linux 的多用户和多任务处理能力,这一切都不会影响系统的正常使用。
Linux 机器可以充当路由器,将数据包网络流量连接到 LAN 或互联网连接,并且可以通过数据包路由电子邮件。您可以拥有多个数据包接口,每个接口可以同时进行多个连接。
我对数据包的初次接触是使用声卡调制解调器驱动程序和手持式 2 米波段收发器进行 1200bps 数据包通信。音频从 PC 声卡连接到无线电的麦克风和扬声器插孔。来自串行或并行端口的信号与一个简单的(单晶体管)电路结合使用,以控制无线电的 PTT(按键通话)电路。这种方法不需要 TNC,也不需要数据包调制解调器——如果您已经拥有计算机和声卡,则几乎无需任何成本。图 1 显示了我的设置的框图。
配置系统很简单——我只是按照 AX25 HOWTO 中的详细说明进行操作。AX25 软件包中包含的实用程序允许我监视正在广播和接收的数据包,并呼叫和应答其他数据包电台。
我从本地 IP 协调器(为数据包无线电分配了 44.x.x.x ampr.org 互联网域)获得了一个 IP 地址,并将我的系统配置为通过数据包进行 TCP/IP 通信。然后,所有标准网络工具都通过数据包运行。假设它们配置为 TCP/IP,我可以使用 ping 或 finger 其他电台,并使用 telnet 连接到它们。同样,我可以通过互联网登录到我的家用 Linux 机器。
接下来,我计划设置一个简单的 BBS 系统,用户可以通过数据包无线电登录。我还想研究 Linux 下支持的更复杂的数据包网络工具,例如 NetRom、NOS 和 Rose。将来,我甚至可能会探索更高速度的数据包选项,例如 56 Kbps Ottawa PI2 卡。
在 Linux 下进行数据包无线电通信不仅有趣,还教会了我很多关于网络的知识,其中许多知识也适用于以太网、X.25 和其他网络协议。
Linux 是一个非常适合数据包无线电的平台,特别是由于它与网络子系统的其余部分完全集成。它的可靠性使您可以让 Linux 系统长时间运行而不会崩溃(非常适合 BBS 环境)。例如,一个本地 Linux 系统已连续在线运行超过 310 天而没有中断。我使用的一些软件仍处于 alpha 版本,但已经足够稳定可以使用。最后,数据包无线电为我打开了一个全新的 Linux 探索领域,确保我在可预见的将来不会无事可做。
感谢 Gord Dey, VE3PPE 审阅了本文并提出了许多宝贵的建议。我还要感谢 Terry Dawson 编写了 AX25 HOWTO 和实用程序,Alan Cox、Jonathan Naylor 和其他人编写了 Linux 数据包代码,以及 Thomas Sailer 编写了声卡数据包调制解调器驱动程序。
