Copyright 1992-3, Randy Bush. All rights reserved.
FidoNet is a trademark of Tom Jennings.
As FidoNet is almost entirely financed by private individuals, minimizationof modem/telephone time has been the principal driving force behind anydesign of the data transfer protocols. The original implementations used aninefficient xmodem-based transport, a non-windowed ACK/NAK protocol with 128byte packets. Although rarely used in practice, this protocol remains theminimal basic standard implementation today as it is trivial to code.Almost all current implementations offer an optional suite of quiteefficient zmodem-based streaming transport protocols which are ACK-less,only NAKing in case of error. It is interesting to contrast this push forefficiency with uucp's profligate G protocol and the Internet's SMTP andNNTP protocols.
Addressing within FidoNet is numeric with a bit of punctuation, andspecifies a particular node in the administrative hierarchy. Addresses areof the form zone:net/node where zone is one of the six continents (NorthAmerica, Europe, Oceania, Asia, or Africa), net is the city (or larger areaif the node density is sparse), and node is the particular host within thelocal network. For example, 1:105/6 is host number six within the PortlandOregon US local network (net 105) which is in North America ( zone 1). Theaddressing scheme may be extended to accommodate points which are powerusers who reduce their connect time by using private (i.e. unlisted) nodesto exchange email and enews with public nodes. Thus the extended addressingscheme is zone:net/node.point, e.g., 1:105/6.42.
A list of all nodes in the public FidoNet network is automatically updatedand distributed weekly. This list contains the actual data telephone numberof each host, as well as the geographic location and name of the systemoperator (sysop). Every city's local network maintains its local data andsends those data to a regional coordinator who, in turn, sends the region'saggregated data to a continental coordinator. The continental coordinatorsexchange their data, and create a list of the differences between thecurrent week's data and that of the previous week. This `nodediff' is thendistributed back down the hierarchy all the way to each individual node inthe network.
As all modem phone numbers are published in the nodelist, point-to-pointtransfers are always possible. But, as store-and-forward capabilities arespecified in the basic standards, email tends to be routed through aworld-wide hierarchic topology and enews via a world-wide ad hoc, butgenerally geographically hierarchic, acyclic graph.
Power users run points which may connect to only their respective host nodesto receive and deliver their email and enews. As they are not in the publicnodelist, points are not considered to be official nodes in the network, andthus are not subject to constraints of technology, national mail hour, etc.
Within a local network (i.e. city), nodes usually exchange email directlywith each other. For example, 1:105/6 exchanges mail directly with allother nodes in 1:105/*. In those cities where phone tariff zones divide thecity, local hubs are used to concentrate intra-city traffic to reduce costs.
Each local network has one node with an alias of node 0 (i.e. zone:net/0)which is known as the "inbound host." By default, all mail from outside thelocal net is delivered to the inbound host to be distributed within thelocal network. Thus, a node in New York may deliver all mail to SanFrancisco with a single telephone call, as opposed to a call for every SFnode for which it has mail. While each node is responsible for sending itsown mail (as FidoNet is financed from the pockets of individuals), somelocal networks cooperate sufficiently to provide an "outbound host" toconcentrate all mail destined for outside the city.
Each of the six zones (continents) has a unique host which providesinter-zone email routing. These "zonegates" have alias addresses of the formorig-zone:orig-zone/dest-zone. For example, the gate from North America(zone 1) to Oceania (zone 3) has an addressing alias of the form 1:1/3.Hence, a node in North America may save the cost of an inter-continentalcall to Australia by sending the message to 1:1/3, which will in turn sendit to 3:3/1, which will see that it is delivered within Australia.
Since November, 1991, an experimental system has been using the Internet totransport mail and enews between Europe and North America. The data aremoved directly between the zonegates via IP (i.e. not gated between dataformats) courtesy of RIPE and EUnet. This saves FidoNet operators thousandsof dollars a month. Since late in 1992, this tunneling of the Internet hasbeen extended to Taiwan, Southern Africa, Chile, and other areas. This isdone with the explicit consent of the IP carriers involved, to whom FidoNetowes a considerable debt of gratitude.
The correct RFC822 address for a FidoNet power user at point zo:ne/no.po is user@Ppo.Fno.Nne.Zzo.FIDONET.ORG. For example,
randy.bush@p0.f42.n105.z1.fidonet.org
And, as points are optional in FidoNet, Jane User at the BBS user at nodezone:net/node is user@Fnode.Nnet.Zzone.FIDONET.ORG. For example,
lisa.gronke@f6.n105.z1.fidonet.org
The UFGATE package, which allows an MS-DOS-based FidoNet node to simulate auucp host, gates both email and enews. This package made gating fairlypopular by 1987. More recently, other DOS packages have provided similarfeatures. RFmail, a complete FidoNet implementation which runs on UNIX SysVand Xenix, includes gateware to transform between FidoNet message format andthat of the uucp/Internet.
Currently there are on the order of one hundred gateway systems, most ofthem in North America. Aside from the expected inter-network email, thereis considerable gating of Usenet news to and from FidoNet echomailconferences.
A number of newsgroups are shared globally by FidoNet and the Usenet, e.g.FidoNet's MODULA-2 echomail conference is Usenet's comp.lang.modula2 andFidoNet's K12Net conferences are the Usenet's k12.* hierarchy. Usenetnewsgroups are also made available on a purely local basis in many cities asFidoNet echomail.
Internetwork gateways have been used extensively by non-governmentalorganizations (NGOs) in Africa, as well as by an ingenious transport betweenthe South African academic IP network (UNINET-ZA) and the Internet[Guillarmod 92].
FidoNet technology is also used privately within large corporations, publicinstitutions, and NGOs. While the scale of the private use of FidoNet isnot known, it is estimated to be at least as large as the public network.It is known to be used in companies such as AT&T, Georgia Pacific, and theCanadian Post Office, among others. It is heavily used by NGOs in Africa.
While hobbyists and public BBSs predominate the North American FidoNet,perhaps half of the public systems in Europe are subsidized by small tomedium-scale businesses. In Africa, there is very serious use by NGOs andpoorly-funded academic institutions. Within North America, there is growinguse within the school systems thanks to the spreading K12Net [Murray 92].
While the original FidoNet systems were fully integrated within bulletinboard systems, FidoNet "mail-only" systems are now a noticeable portion ofthe public network. These provide the owner a facility similar to ham radioor a fax machine, but provide no public access via dial-up.
Around the world, BBSs with FidoNet capability provide the most publiclyaccessible and lowest-cost email and enews service today. While most BBSsare only usable by a single dial-up caller at a time, others run multi-linesystems ranging from two to 20 lines. Public access requirements vary fromformal user validation and possibly a small fee to completely openfacilities allowing full use by the first-time caller.
Although no formal measurements have been made, it has been estimated thatthe average FidoNet BBS has over 200 active users, half of whom use enewsand 5% use private email. As not all FidoNet nodes have BBS access, we canestimate that on the order of 3,000,000 FidoNet users read or write enews,and on the order of 300,000 of these use private email.
This soon grew to more nodes, reaching 200 by early in 1985. The nodelist,a list of all known active nodes in the public FidoNet, was developed as adistributed external file and was initially maintained by Jennings. Thereserved mail transfer hour became enshrined as "national mail hour," and ispreserved today despite current technology being capable of intermixing mailtransfer and BBS access.
With the porting of FidoNet to the DEC Rainbow, FidoNet BBSs became quitepopular with the DEC Users Group in St. Louis Missouri. Ken Kaplan and BenBaker were particularly active, and started the first FidoNet newsletter.As the nodelist approached 100 members, Kaplan and Baker took over fromJennings its organization and maintenance.
As the nodelist passed the 200 mark, it became obvious that, for example,San Francisco had much daily traffic for St. Louis and vice versa, anddozens of telephone calls were being placed to all the various nodes in eachcity. As calls within a city of the US are generally free, but callsbetween cities are not, it seemed obvious to concentrate the intercitytraffic into one call per night. Therefore, what had been a simple linearnodelist was broken into a structure of city segments transforming theFidoNet address notation from node to net/node.
In late 1986, it became obvious that an analogous problem existed betweenthe continents. At the same time, the idea emerged of power users, orpoints, who could use FidoNet data formats and transport protocols (asopposed to BBS interfaces) to send and receive their mail and enews. So, ata FidoNet Standards Committee meeting in October 1986, the nodelist wasredesigned as a four level hierarchy of zone (continent), net, node, andpoint, with the address becoming zone:net/node.point, as it remains today.
The rate of growth of FidoNet seems typical of electronic networks in thelast decade. The approximate number of nodes at year ends is:
Year Nodes 1984 100 1985 600 1986 1400 1987 2500 1988 4000 1989 6500 1990 9000 1991 11000 1992 16000 1993 20000 1994 30000 1995 38000 (May '95)At present, the registered public FidoNet is considerably larger than BITNETand has recently passed the estimated size of the registered part of theuucp network.
In February 1986, Jeff Rush developed FidoNet's form of enews calledechomail. As very few FidoNetters were familiar with the Usenet, they werequite surprised at the popularity and rate of growth of echomail. Withintwo weeks, an international echomail conference, MODULA-2, was propagatedbetween Europe, Australia, and North America, and today the daily volume ofcompressed echomail is over eight megabytes. The social effects, both goodand bad, of echomail on the network parallel those of the Usenet.
Although primitive experiments had been conducted earlier, in 1986 gatewaysbetween FidoNet and the uucp network, and hence the Internet, becamesufficiently reliable for production use.
There are approximately 80 FSC documents at this time and five official FTS standards. Some of the more interesting are:
Document Topic FTS-0001 basic data formats and protocols FTS-0004 format of echomail FTS-0005 syntax and semantics of the nodelist FTS-0006 enhanced session and transport protocols FSC-0034 control data embedded within message text
The current document set is kept on many FidoNet nodes and is available viaftp on the internet as
ftp.fidonet.org:~/pub/fidonet/stds/*
FTS-0001 describes the original message data formats, session protocols, andlink layer protocols for FidoNet as it was originally developed by TomJennings. The ability for a node to obey this standard is mandatory if itwishes to be listed within the public FidoNet, although the vast majority ofconnections now use the far more efficient FTS-0006 suite. Data transferuses xmodem and a variant called TLink, 128 byte block ACK/NAK protocols,neither of which is streaming, bidirectional, or windowing, and whichdiscriminate between email and file transfer at the session and datatransfer level. Mid-file restart recovery is also absent.
The FTS-0006 session and link layer protocols [Becker 90] were developed byWynn Wagner and Vince Perriello in 1987 to overcome the serious inefficiencyof FTS-0001. The default data link layer described uses zmodem, a veryefficient streaming, windowing, and ACK-less (NAK only on failure) protocoldesigned by Chuck Forsberg. It also provides mid-file restart recovery. TheYooHoo/2U2 session level protocol provides for exchange of identificationand authorization data as well as allowing negotiation of the link layerprotocol.
A Bulletin Board System (BBS) is often available which provides a mail andnews user agent (M/NUA) to dial-up callers of the BBS, and often provides aconsole interface for the system operator as well. As BBS M/NUAs must beusable by dial-up users on unspecified terminals, the interfaces tend to beline oriented with rather primitive editing facilities. Some BBS systemssuch as Fido and Opus provide complete software suites integrating allcomponents necessary to use FidoNet, while most other BBSs require theaddition of external components to use them with FidoNet.
An Editor is a console M/NUA which is usually available for those nodeswhich do not have a BBS or where the system operator prefers a differentinterface. As the system console generally has known characteristics,Editor M/NUAs tend toward screen-oriented, multi-color, fancy interfaces,often with quite sophisticated editing capabilities.
A Packer or Scanner is analogous to the mail/news transfer agent (M/NTA). Ittransforms the data to/from the internal (i.e. not standardized) storageformat from/to the external FTS-0001/4 transmission format. Packer M/NTAsalso make routing decisions, usually based on data in a local routing rulefile. These local routing rules tell the M/NTA what routes to use for mailwithin the local city network, cost-reduction routes for mail within thezone, and any special routes for inter-zone mail. The NTA portion uses anechomail rule base to decide which echomail groups are to be exchanged withwhich other nodes in the network.
A Mailer is the session and link level transport layer which decides when tomake and accept FidoNet calls to/from other nodes, and provides everythingneeded to transport the email, enews, and files between FidoNet nodes.Mailers know about modems and how to control them, how to detect if anincoming call is a human BBS user as opposed to an incoming FidoNet call,how to pass humans through to a BBS, what times of day to place expensivebut time-dependent calls, etc. Because the mailer provides the link levelprotocols, its characteristics determine inter-node compatibility; thereforea node is best known for the mailer it runs. Hence a node might be known asa Binkley node or a Fido node because it uses BinkleyTerm or Fido as itsmailer.
A Nodelist Compiler transforms the nodelist from the standard FTS-0005distribution format to that needed by the node's other software, i.e.mailer, BBS, editor, and/or packer. Aside from trivial differences insyntax, more complex translations may be needed. I.e. mailer softwareusually requires that telephone numbers be transformed given local rules.
Tom Jennings intended FidoNet to be a cooperative anarchy to provideminimal-cost public access to electronic mail. Two very basic features ofFidoNet encourage this. Every node is self-sufficient, needing no supportfrom other nodes to operate. But more significant is that the nodelistcontains the modem telephone number of all nodes, allowing any node tocommunicate with any other node without the aid or consent of technical orpolitical groups at any level. This is in strong contrast to the uucpnetwork, BITNET, and the Internet.
In 1985, the first FidoNet policy document was published. It concerneditself almost entirely with technical procedural issues. It required acapability to send and receive email, defined the "national mail hour" asmandatory, delineated roles of the local network hubs and nodelistcoordinators, and stated simple restrictions on routing of traffic throughunsuspecting nodes. In addition, it stated two social rules, a proscriptionagainst use of the network for illegal purposes (e.g. pirated software) anda statement of FidoNet's basic social guideline, "Do not be excessivelyannoying and do not become excessively annoyed."In 1986, a well-intentioned but naive group formed the International FidoNetAssociation, intending to promulgate the technology and coordinatepublication of the newsletter and other writings about the network.Unfortunately, as FidoNet operators were far more socially oriented thantheir more technical brethren in the other networks, the formal organizationof IFNA tended to draw considerable political interest and attracted theless constructive political elements of the FidoNet culture. The issue cameto a head in 1989 with an attempt to load the IFNA board of directors andpass a motion which explicitly put IFNA in complete control of the network.The motion was cleverly forced into a netwide referendum (FidoNet's onlyglobal vote to date) which required a majority of the network assent to IFNArule. The referendum did not pass, and IFNA was subsequently dissolved.
The first written policy was published and adopted by informal consent.Subsequently, three revisions of FidoNet policy have been written and madeoperational by various, but less democratic, procedures. The currentdocument, Policy-4, was written by the regional nodelist coordinators, andhas a large amount of social and political content enshrining a hierarchy ofcoordinators: an International Coordinator (IC), a Zone Coordinator (ZC) ineach continent, Regional Coordinators (RCs) in subdivisions of thecontinents, usually countries, and a Network Coordinator (NC) for each localnetwork. As it was written by the self-anointed RCs, ZCs and the IC areelected by the RCs and NCs are appointed by the RCs. Although the documenthas caused considerable acrimony and is large and complex, it contains manyuseful operational guidelines, so is generally observed.
The amazing resilience of FidoNet's social and technical structure was madeevident yet again in 1989-90, when the RCs in many of the continentsattempted to exert serious social control under the recently publishedPolicy-4. While echomail provided quite high-bandwidth (albeit low content)communication, and thus the political situation could be openly debated, thepower structure's inability to restrict node-to-node communication preventedany real control from being effected. A fair number of RCs and NCs wereforced to resign, and the rest have since taken more passive andfacilitative roles.
[Becker 90] Phil Becker, FTS-0006, "YOOHOO and YOOHOO/2U2: The netmailhandshake used by Opus-CBCS and other intelligent FidoNet mail handlingpackages"
[Bush 86] Randy Bush, FTS-0001, "A Basic FidoNet Technical Standard"
[Guillarmod 92] F. Jacot Guillarmod, "From FidoNet to Internet: theevolution of a national network", "Proceedings of INET'92", H. IshidaEditor.
[Murray 92] Murray, Janet, "K12 Network: Global Education throughTelecommunications", "Proceedings of INET'92", H. Ishida Editor.