**********************************************************************
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:

    user.name@pPP.fFF.nNN.zZZ.gateway.domain

  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):

    joe.bloggs@p6.f5.n234.z1.fidonet.org  => 1:234/5.6@fidonet
    harry.cat@p78.f6.n34.z2.fidonet.org   => 2:34/6.78@fidonet
    i.be.jolly@f34.n610.z4.fidonet.org    => 4:610/34.0@fidonet

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

    louise.hat@f2.n95.z955.foo.bar.org.uk => 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:  wangi@earthling.net
  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


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