FidoNet Technology

Network structure

FidoNet is the largest amateur network in the world. It was started in 1984 by Tom Jennings. Currently more than 35,000 nodes worldwide are connected. The network has a hierarchic tree (or star) topology:

                   +--------------------------------+---------------------->
                    |                                        |
               zone 1                                zone 2
                    |                                        |
       +--------+--------+               +--------+--------+
       |            |           |               |            |           |
   region  region  region        region   region  region
       |            |           |               |            |           |
  +--+--+       |     +--+--+        +---+---+ |      +--+--+
  |         |       |     |         |         |           |  |      |        |
net      net  net net     net     net    net net    net      net
                          |
                 +-----+-----+
                 |        |       |
              node node node
                 |
          +---+---+
          |            |
      point       point

Zones are divided in Regions, which are divided in Nets. The Nets consist of Nodes, which are usually (but not necessarily) Bulletin Board Systems. Each node has a unique address which consists of four parts: Zone, Net, Node and Point, in text form expressed as "zone:net/node.point". Zone numbers 1 up to and including 6 are used by FidoNet:

1 = North America (United States of America and Canada)
2 = Europe and Commonwealth of Independent States
3 = Oceania (Australia and New Zealand)
4 = Latin America
5 = Africa
6 = Asia

There are several other networks that use FidoNet Technology and which occupy higher zone numbers (such as SIGnet, zones 24-29).

Many nodes have one or more points. A point is a user who gets mail from a node (its "boss") in compressed files. That way they can read and write messages offline, saving time and money. The point address of the boss is 0, but the ".0" is usually omitted from the address.

Mail transfer and the FileFind system

The FileFind system offers people the ability to search for files via echomail by writing messages addressed to the name "ALLFIX", without quotes. The files, file specifications, and keywords (preceded by a '/') are placed on the subject line. The message body may be left empty.

ALLFIX will scan the configured message areas and process all FileFind requests. It will scan the BBS file areas and if any matches are found, it will write a reply in the appropriate area.

Since the FileFind requests are sent via echomail, one request may receive multiple replies. One problem with this system is that the flow of mail may easily get out of hand. ALLFIX has a number of features to reduce the amount of mail. First, no more than 15 files will be included in a reply. Second, it has the ability to ignore any local FileFind requests. Third, ALLFIX will not process FileFind requests that contain less than 4 non-wildcard characters (ie. characters other than the '?' and '*' wildcards). Lastly, ALLFIX has the ability to ignore FileFind requests that re older than the configured number of days. To facilitate searching for files, ALLFIX supports two elementary boolean operators; AND and OR. These operators may be used between filespecs and keywords.

Ex. /SOUND AND /32bit

In the previous example, ALLFIX will search for files that have both the keyword SOUND and the keyword 32bit in the description.

Ex. /SOUND AND /32bit OR /SOUNDBLASTER

In the previous example, ALLFIX will search for files with the keyword SOUND and the keyword 32bit in the description, or for any files with the keyword /SOUNDBLASTER in the description.

Sometimes a keyword may contain the special character "/". ALLFIX will normally interpret that as a special character signaling that the rest of the text entered is a keyword. In order to prevent ALLFIX from doing that, the keyword can be enclosed in double quotes. For example, when searching for the keyword OS/2, it should be specified as "OS/2" and not as /OS/2 which may be interpreted incorrectly by ALLFIX.