Chaosnet
AI 深度解读
Chaosnet:早期局域网的极简主义先驱
背景
Chaosnet 诞生于 1975 年,由麻省理工学院(MIT)人工智能实验室(Artificial Intelligence Laboratory)开发。它最初被设计为 Lisp Machine 系统的内部通信介质,旨在连接位于同一地点或相距一两公里内的计算机群。
这一网络系统的命名源于其核心架构特征:缺乏任何中央控制元素。在那个大型机主导、集中式管理盛行的年代,Chaosnet 提出了一种去中心化的本地通信方案。除了 MIT,Chaosnet 随后也被应用于该机构内的多种机器互联,并扩展至其他几所大学和研究实验室。
核心内容
设计动机与系统目标
Chaosnet 的设计初衷是为了解决 Lisp Machine 系统的特定需求。Lisp Machine 是一种多处理器系统,每个活跃用户都被分配一台“个人”计算机,包含中等规模的处理器、适量的内存和交换磁盘。文件存储在通过 Chaosnet 访问的中心文件系统中。
这种架构旨在结合分时系统的优势(如用户间通信、程序共享、集中备份和维护)与专用处理器的性能。通过为每个活跃用户分配独立的处理器,Lisp Machine 能够高效地执行数百万字大小的 Lisp 程序,并提供快速的交互式响应,这是传统分时系统难以企及的。
由于 Chaosnet 在系统中取代了传统系统中的文件磁盘角色,它必须满足以下严苛要求:
- 高速:具备快速的响应时间和高吞吐量。
- 高可靠性:这是其采用无中央控制架构的主要原因。
- 可扩展性:允许连接数十台机器。
- 短距离:无需支持长距离通信。
除了文件系统,Chaosnet 还用于访问其他共享资源,包括打印机、磁带驱动器以及专用的处理器和 I/O 设备。
设计哲学:简单性与高性能
Chaosnet 的核心设计目标非常明确:简单性和高性能。
- 性能实现路径:系统并未依赖复杂的算法,而是通过启动一个极高速度的传输介质,并以简单、低开销的方式运行它来实现高性能。设计者强调必须小心避免那些过于简单以至于无法工作,或者浪费过多传输介质从而损害性能的算法。
- 简单性的多重价值:
- 提升性能:低开销意味着更高的效率。
- 维护便利性:Chaosnet 连接了多样化的机器,因此需要多种实现版本。系统的复杂性必须与维护成本成正比,简单的设计降低了维护难度。
- 故障隔离:在涉及多种机器和多个用户群体的网络中(即使在 MIT 内部),快速将看似全网故障的根源隔离到具体的电缆或特定主机的硬件/软件上至关重要。
技术取舍:专注本地网络
Chaosnet 的设计极大地简化了网络复杂性,因为它有意忽略了与本地网络无关的问题。它不包含针对以下情况的特殊机制:
- 低速链路
- 高误码率(嘈杂)链路
- 多路径路由
- 具有显著传输延迟的长距离链路
因此,Chaosnet 并不适合跨大陆使用或卫星通信应用。此外,它也不提供多余的功能,如多级服务质量(QoS)或安全通信(除了端到端加密外)。
这一设计理念深受 Xerox PARC 在局域网领域的开创性工作 [ETHERNET] 的启发。
硬件架构:Ether 与节点
Chaosnet 由硬件和软件两部分组成,两者在逻辑上可分离,但在设计上互为依存。
1. 传输介质(Ether)
- 物理形态:半刚性 1/2 英寸低损耗同轴电缆(常用于有线电视),两端带有 75 欧姆终端电阻。
- 连接方式:每个网络节点通过电缆收发器(transceiver)连接到电缆。收发器通过一条 10 米的扁平电缆连接到接口,该接口再连接到计算机的 I/O 总线。
- 拓扑限制:单个 Ether 必须是线性电缆,不能包含分支或支线,也不能连接成环形。
- 物理限制:
- 最大长度:约 1 公里(由色散和直流衰减决定)。
- 最大节点数:约几十个(由连接器对电缆电气性能的退化决定)。
2. 网络节点
- 一个网络节点由收发器、接口以及执行“网络控制程序”(Network Control Program, NCP)的计算机组成。NCP 负责管理和控制 Chaosnet,同时运行其他应用软件。
3. 介质访问控制
- Chaosnet 的硬件提供了一种载波侦听多路访问(CSMA)结构,与 PARC Ethernet 非常相似。
- 网络节点竞争访问电缆(Ether)的权利以发送数据包。
- 同一时间只有一个节点可以占用 Ether 并发送数据包,数据包会到达所有其他节点。每个节点在硬件层面决定是忽略该数据包还是接收它。
4. 扩展性:桥接器(Bridges)
- 为了突破单个 Ether 的物理限制,协议支持通过称为“桥接器”(Bridges)的节点将多个 Ether 连接在一起。
- 桥接器通常是一台 PDP-11 计算机,连接两个或多个网络接口,负责在 Ether 之间中继数据包。
- 桥接器还可以连接其他网络介质(如异步线路)或作为其他高速计算机接口的网关。
软件协议与数据包结构
1. 数据包(Packet)
- 传输的基本单位是数据包,包含最多 4032 个数据位,以及 48 位由硬件使用的头部信息。
- 数据位通常以 16 位字为单位分组。
- 将比特流划分为数据包,为资源分配和错误控制提供了方便的单元。
2. 硬件头部 硬件头部由三个 16 位字组成:
- 源地址(Source):标识将数据包发送到此 Ether 的节点。这不一定是消息的原始来源,因为消息可能起源于另一个 Ether。
- 目的地址(Destination):标识意图从此 Ether 接收此数据包的节点。这不一定是消息的最终目的地;它可能是一个桥接器,负责将数据包中继到另一个 Ether,最终到达目的地。
- 校验和(Check):由硬件生成和检查的循环冗余校验(CRC)。用于检测通过 Ether 传输中的错误、由电缆噪声产生的完全虚假的数据包,以及发送和接收数据包缓冲区中的内存错误。
3. 软件协议
- 软件协议也基于数据包,取 128 个数据位作为软件头部。
- 软件协议定义了数据包中数据位的含义,管理硬件,补偿硬件的不完美之处,并提供比简单传输更有用的服务。
- 软件中包含从 Ethernet [ETHERNET]、TCP [TCP] 和 Arpanet 借用的思想,以及一些原创思想和修改。
关键要点
- 去中心化架构:Chaosnet 没有中央控制元素,依靠分布式机制确保可靠性,这使其对单点故障具有更强的韧性。
- 极简主义设计:通过牺牲长距离通信、多路径路由和高错误容忍度等特性,换取了极高的性能和简单的维护。
- 硬件与软件协同:硬件负责高速、低开销的物理传输和错误检测,软件负责高层协议和资源管理,两者共同实现了高效通信。
- 线性拓扑限制:Ether 必须是线性电缆,无分支、无环,最大长度约 1 公里,最大节点数约几十个。
- 桥接扩展:通过桥接器(Bridges)连接多个 Ether 和其他介质(如异步线路),解决了物理距离和节点数量的限制。
- 面向本地场景:专为实验室或校园内的短距离、高速通信设计,不适用于广域网或卫星通信。
意义与影响
Chaosnet 是早期局域网技术发展史上的一个重要里程碑。它展示了在特定约束条件下(本地、高速、多样化机器),通过简化设计实现高性能网络的可行性。
- 对以太网技术的补充与验证:Chaosnet 与 Xerox PARC 的 Ethernet 几乎同时期发展,并深受其启发。两者
