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

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

Go Back