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

Publication:    FSP-1004
Revision:       1
Title:          Standard Fidonet Addressing
Author:         Lee Kindness
Revision Date:  15 May 1997
Expiry Date:    15 May 1999
----------------------------------------------------------------------
Contents:
                1. Standard Fidonet Addressing
                2. Internet Gateway Addressing
                3. Routing Address Syntax
----------------------------------------------------------------------


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

  This document is a Fidonet Standards Proposal (FSP).

  This document specifies an optional Fidonet standard protocol for
  the Fidonet community, and requests discussion and suggestions for
  improvements.

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


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, 971101: First release as FSP, based on the Fidonews 14/20
                 article. Transformed into FSP document by Odinn
                 Sorensen.


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