FidoNet: The Architecture and History of a Pre-Internet Email WAN
FidoNet established a global, point-to-point, and store-and-forward email Wide Area Network (WAN) using modems on the direct-dial telephone network. Developed in 1984, it grew to over 20,000 public nodes by 1993, providing a low-cost alternative for electronic mail and news (enews) long before the commercial Internet became ubiquitous.
Technical Architecture and Protocol Efficiency
FidoNet's design was driven by the need to minimize modem and telephone costs, as the network was primarily financed by private individuals.
Transport Protocols
- Basic Standard: The original implementation used an inefficient xmodem-based transport with a non-windowed ACK/NAK protocol and 128-byte packets. While trivial to code, it remained the minimal standard for compatibility.
- Advanced Transport: Most nodes eventually adopted zmodem-based streaming transport protocols. These were significantly more efficient because they were ACK-less, only sending a NAK (Negative Acknowledgement) in the event of an error, and supported mid-file restart recovery.
Hierarchical Addressing
FidoNet used a numeric addressing scheme to specify a node's position within an administrative hierarchy: zone:net/node.point.
- Zone: One of six continents (e.g., North America is Zone 1).
- Net: A city or larger area if node density was sparse.
- Node: The specific host within the local network.
- Point: An optional extension for power users who connected to a public node to reduce their own connect time.
Network Topology and Routing
To reduce long-distance telephone charges, FidoNet employed a store-and-forward topology that approximated its addressing hierarchy.
Local and Regional Routing
- Local Networks: Nodes within a city typically exchanged mail directly. To further reduce costs in divided tariff zones, local hubs were used to concentrate traffic.
- Inbound Hosts: Every local network designated one node as the "inbound host" (
zone:net/0). All mail from outside the local net was delivered to this host, which then distributed it locally, reducing the number of long-distance calls required. - Outbound Hosts: Some networks used an outbound host to concentrate all mail destined for outside the city into a single call.
Inter-Zone Routing
Continental routing was handled by "zonegates" with alias addresses (e.g., 1:1/3 for a gate from North America to Oceania). These gates allowed nodes to avoid expensive inter-continental calls by routing messages through a designated gateway that would then forward the mail to the destination zone.
Integration with the Internet and Other Networks
By the early 1990s, FidoNet began integrating with the Internet and the uucp network to further reduce costs and increase reach.
- IP Tunneling: Starting in November 1991, experimental systems used the Internet to transport mail between Europe and North America via IP, bypassing traditional telephone calls between zonegates.
- DNS Integration: FidoNet became addressable via the
fidonet.orgDNS zone. A node like1:105/42would have a domainized name such asf6.n105.z1.fidonet.org. - Gateways: Software like the UFGATE package allowed MS-DOS nodes to simulate uucp hosts, enabling the exchange of email and Usenet news (via FidoNet's "echomail" conferences).
Software Components of a FidoNet Node
A typical FidoNet system was composed of several distinct agents:
- BBS (Bulletin Board System): The user interface (M/NUA) for dial-up callers.
- Editor: A console-based M/NUA used by system operators for more sophisticated editing.
- Packer/Scanner: The transfer agent (M/NTA) that converted internal storage formats to the standardized FTS-0001/4 transmission format and made routing decisions based on a local rule file.
- Mailer: The transport layer that controlled the modem, handled session handshakes (such as YooHoo/2U2), and managed the timing of calls to optimize costs.
- Nodelist Compiler: A tool that converted the weekly distributed
nodediff(the list of all active nodes and their phone numbers) into a format usable by the mailer and BBS.
Social Structure and Governance
FidoNet was characterized by a "cooperative anarchy" model, largely because any node could communicate with any other node using the public nodelist, bypassing any central authority.
- Policy Evolution: Early policy focused on technical procedures and the "national mail hour." Later, "Policy-4" introduced a more formal hierarchy of International, Zone, Regional, and Network Coordinators.
- Political Resilience: Despite attempts by some coordinators to exert social control in the late 1980s, the technical ability for nodes to communicate directly prevented any centralized censorship or total control of the network.
Historical Perspective and User Experience
FidoNet provided a critical communication bridge for hobbyists and professionals outside of university or corporate environments.
"It was really magical in those toll-call days to see messages that had relayed across the entire country in just a couple days - entirely FOR FREE. It was like a dial-up modem Pony Express!"
For users in regions with poor infrastructure, such as Zimbabwe in the early 1990s, FidoNet was often more revolutionary than the subsequent Internet, providing the first affordable means of international communication. While the public network peaked around 20,000 nodes in 1993, the technology was also widely used privately within corporations like AT&T and by NGOs in Africa.