**********************************************************************
FTSC                             FIDONET TECHNICAL STANDARDS COMMITTEE
**********************************************************************

Publication:    FRL-1002
Revision:       1
Title:          Standard Fidonet Addressing
Author:         Lee Kindness
Revision Date:  15 June 1999
Expiry Date:    N/A
----------------------------------------------------------------------
Contents:
               1. Standard Fidonet Addressing
               2. Internet Gateway Addressing
               3. Routing Address Syntax
----------------------------------------------------------------------


Status of this document
-----------------------

 This document is a Fidonet Reference Library document (FRL).

 This document arises from, and obsoletes FSP-1004 which was not
 promoted to a Fidonet standard. The reasons for this decision are
 given below.

 This document is released to the public domain, and may be used,
 copied or modified for any purpose whatever.


Ajudication
-----------

 The FTSC decided not to recommend FSP-1004 for promotion to a
 FidoNet Standard for the following reasons:

 * The section of the document pertaining to the limits of Zone,
 Net, Node and Point addressing contaings nothing new (not found
 in existing FTS documents); indeed the author says as much.

 * The section on InterNet gate addressing is useful and may be
 included in a subsequent standard.

 * The committee was intrigued by the ideas presented for universal
 routing tables for FidoNet, but conclude that at this time it has
 not been implemented in any known system.


Introduction
------------

 This document describes the standard form of addressing in Fidonet
 today along with the common method of addressing via internet
 gateways. In addition it proposes an extended addressing syntax,
 useful for routing purposes. This is a draft for comments and
 suggestions.


1. Standard Fidonet Addressing
------------------------------

 Fidonet addressing uses the following format:

   ZZ:NN/FF.PP@DO

 where the fields refer to...

 ZZ - Zone Number:  The zone the node is part of.
                    Min: 1 Max: 32767
                    If 'ZZ:' is missing then assume 1 as the zone.

 NN - Net Number:   The network the node is a member of.
                    Min: 1 Max: 32767
                    Must be present.

 FF - Node Number:  The actual node number.
                    Min: -1 Max: 32767
                    Must be present.

 PP - Point Number: If the system is a point rather than a node then
                    this is their point number off the node.
                    Min: 0 Max: 32767
                    If '.PP' is missing then assume 0 (ie not a
                    point) as the point number.

 DO - Domain:       The name of the 'Fidonet Technology Network'.
                    Maximum length of 8 characters. The domain
                    should not include periods, thus 'fidonet.org'
                    is invalid (should be fidonet).
                    If '@DO' is missing then fidonet can be assumed.

 The following are all valid examples:
     1:234/5.6@fidonet  (a '5D' address)   => 1:234/5.6@fidonet
     2:34/6.78          (a '4D' address)   => 2:34/6.78@fidonet
     4:610/34           (a '3D' address)   => 4:610/34.0@fidonet
     123/45             (a '2D' address)   => 1:123/45.0@fidonet
     955:95/2@othernet  (another FTN)      => 955:95/2.0@othernet
     2:259/-1           (node application) => 2:259/-1.0@fidonet

 The limits on each various part of the address are a result of
 fts-0005 (zone, net, node, point), fsc-0045 (domain) and Policy 4
 (-1 node address for node application).


2. Internet Gateway Addressing
------------------------------

 An internet user can send email/netmail to a fidonet user via one of
 the fidonet->internet gateway systems (it's out-with the scope of
 this document to describe the semantics of posting). The internet
 user would send an email to a Fidonet user by using an email address
 of the following syntax:

   [email protected]

 where the fields refer to...

 user.name - Name:         Name of the user the email is being sent
                           to, spaces replaced by periods.

 PP        - Point Number: As Fidonet address (FA)
                           If '.pPP' is missing 0 is assumed.

 FF        - Node Number:  As FA
                           Must be present.

 NN        - Net Number:   As FA
                           Must be present.

 ZZ        - Zone Number:  As FA
                           Must be present.

 gate.way  - Gateway:      Internet domain of the gateway, for
                           example 'fidonet.org'.
                           Must be present.

 The following are all valid examples (assuming 'fidonet.org' is an
 internet gateway):

   [email protected]  => 1:234/5.6@fidonet
   [email protected]   => 2:34/6.78@fidonet
   [email protected]    => 4:610/34.0@fidonet

 and if 'foo.bar.org.uk' is a gateway for 'othernet':

   [email protected] => 955:95/2.0@othernet


3. Routing Address Syntax
-------------------------

 The two previous address types (Fidonet and Internet->Fidonet
 gateway) are common practice, this however is a suggested standard
 of addressing for routing tables. The routing address has the
 following syntax:

   DD:ZZ:RR:NN:HH:FF:PP

 where the fields refer to:

 DD - Domain:        As FA
                     Must be present, even if blank (ie a leading
                     ':') to ensure we always have 6 ':'s in an
                     address to aid pattern matching.

 ZZ - Zone Number:   As FA
                     Must be present.

 RR - Region Number: The region (from fts-0005 nodelist) that the
                     following network is in.
                     Min: 1 Max: 32767
                     Must be present.

 NN - Net Number:    As FA
                     Must be present.

 HH - Hub:           The hub (from fts-0005 nodelist) that the node
                     is under, or 0 (host hub).
                     Min: 1 Max: 32767
                     Must be present.

 FF - Node Number:   As FA
                     Must be present.

 PP - Point Number:  As FA
                     Must be present.

 ':' has been chosen as the separator as it is not a POSIX regular
 expression character or globing character (where as '.' is) and thus
 always easy use of wildcards on the address. The following points
 should be noted:

   1. All addresses have 6 ':'s
   2. The domain is at the front, the address gets more specific to
      the right
   3. Nodes have 0 as their point number
   4. A zone net has identical zone, region and net fields
   5. A region net has identical region and net fields

 Example fidonet addresses converted to routing addresses:

   fidonet:2:25:259:0:7:0 => 2:259/7.0@fidonet, region 25, hub 0
   fidonet:1:1:1:0:23:0   => 1:1/23.0@fidonet, zone 1 net
   :955:9551:95:300:45:0  => 955:95/45.0, region 9551, hub 300
   fidonet:2:25:25:0:0:0  => 2:25/0.0@fidonet, R25C
   cnet:12:34:341:100:1:7 => 12:341/1.7@cnet, region 34, hub 100
   :2:25:259:300:300:0    => 2:259/300.0, region 25, hub 300

 Example POSIX regular expression patterns on routing addresses:

   [a-z]*:[0-9]+:[0-9]+:[0-9]+:[0-9]+:[0-9]+:[0-9]+ (any address)
   [a-z]*(:[0-9]+)+                                 (any address)
   fidonet:2:25:[0-9]+:[0-9]+:[0-9]+:[0-9]+      (region 25 node)
   fidonet:2:25(:[0-9]+)+                        (region 25 node)
   fidonet:1:12:125(:[0-9]+)+               (all net 1:125 nodes)
   fidonet:1:12:125:200(:[0-9]+)+   (all hub 1:125/200 downlinks)
   fidonet:1:12:125:200:2:[0-9]+             (all 1:125/2 points)
   fidonet:1:12:125:[0-9]+:(25|34|56):0
                    (nodes 1:125/25.0, 1:125/34.0 and 1:125/56.0)

 Example 'DOS style' patterns on routing addresses:

   *:*:*:*:*:*:*                                    (any address)
   fidonet:2:25:*:*:*:*                          (region 25 node)
   fidonet:1:12:125:*:*:*                   (all net 1:125 nodes)
   fidonet:1:12:125:200:*:*         (all hub 1:125/200 downlinks)
   fidonet:1:12:125:200:2:*                  (all 1:125/2 points)
   fidonet:1:12:125:*:3*:0  (any net 1:125 nodes starting with 3)
   fidonet:1:12:125:*:3?:0           (net 1:125 nodes 30 thru 39)

 The standard doesn't define which standard of pattern matching to
 use, only the format of the addresses. These routing addresses would
 be used in routing tables and configurations.


A. Author contact data
----------------------

 Lee Kindness
 Fidonet: n/a
 E-mail:  [email protected]
 WWW:     http://www.scms.rgu.ac.uk/students/cs_yr94/lk/fido.html


B. History
----------

 Rev.1, 990615: Tranformation from FSP-1004 to FRL-1002


**********************************************************************