[comp.protocols.iso] Does US GOSIP NSAP format conform to ISO standards?

/pn=gary.nebbett/ou=chcgbs21/@ciba-geigy.ch (Gary Nebbett) (04/25/91)

ISO 8348 : 1987/Add.2 : 1988
Network Service Definition - Network Layer Addressing

says that the maximum DSP length for two of the IDI formats (DCC and ICD) in
both decimal and binary syntax are:

ISO DCC decimal syntax          35 digits
ISO DCC binary syntax           14 octets
ISO 6523-ICD decimal syntax     34 digits
ISO 6523-ICD binary syntax      13 octets

Using the preferred encodings, this results in the following lengths for
the combined IDP and DSP (ie the complete NSAP):

ISO DCC decimal syntax          20 octets
ISO DCC binary syntax           17 octets
ISO 6523-ICD decimal syntax     20 octets
ISO 6523-ICD binary syntax      16 octets

The US GOSIP NSAP address structure has an AFI of 47 indicating that it is in a
binary syntax ISO 6523-ICD format, but has a total length of 20 octets which
seems to conflict with the above.

On the other hand I do not understand the rationale for differing maximums on
the lengths of NSAP addresses encoded using the preferred encoding. Is it
because they have approximately the same number of possible values (and hence a
more compact encoding of the decimal syntax would shorten the length of an
encoded decimal syntax NSAP to approximately the length of an encoded binary
syntax NSAP)?

Any clarification would be greatly appreciated.

Gary Nebbett, R.1004.7.20, CIBA-GEIGY, 4002 Basel, Switzerland
   Internet/uucp-Mail: /PN=GARY.NEBBETT/OU=CHCGBS21/@CIBA-GEIGY.CH
   X.400: C=CH;A=ARCOM;P=CIBA-GEIGY;OU=CHCGBS21;S=NEBBETT;G=GARY
   phone: +41/61/6974193

oberman@ptavv.llnl.gov (04/26/91)

In article <1991Apr25.141954.18249@nntphost.ciba-geigy.ch>, /pn=gary.nebbett/ou=chcgbs21/@ciba-geigy.ch (Gary Nebbett) writes:
> ISO 6523-ICD decimal syntax     20 octets
> ISO 6523-ICD binary syntax      16 octets
> 
> The US GOSIP NSAP address structure has an AFI of 47 indicating that it is in a
> binary syntax ISO 6523-ICD format, but has a total length of 20 octets which
> seems to conflict with the above.
 
This was corrected in a recent addendum to the ISO standard making binary
syntax OK for 20 octets. I believe it is Add. 2, but I may be in error.

The fact that this addendum has not been widely distributed has caused at least
some software designers to make their software incompatible with US GOSIP.
*Sigh*. Fortunately, it's usually pretty trivial to fix.

R. Kevin Oberman			Lawrence Livermore National Laboratory
Internet: oberman@icdc.llnl.gov		(415) 422-6955

Disclaimer: Don't take this too seriously. I just like to improve my typing
and probably don't really know anything useful about anything. Especially
anything gnu.

dougm@WARTHOG.NCSL.NIST.GOV (Doug Montgomery) (05/03/91)

>ISO 8348 : 1987/Add.2 : 1988
>Network Service Definition - Network Layer Addressing
>
>says that the maximum DSP length for two of the IDI formats (DCC and ICD) in
>both decimal and binary syntax are:
>
>ISO DCC decimal syntax          35 digits
>ISO DCC binary syntax           14 octets
>ISO 6523-ICD decimal syntax     34 digits
>ISO 6523-ICD binary syntax      13 octets
>
>Using the preferred encodings, this results in the following lengths for
>the combined IDP and DSP (ie the complete NSAP):
>
>ISO DCC decimal syntax          20 octets
>ISO DCC binary syntax           17 octets
>ISO 6523-ICD decimal syntax     20 octets
>ISO 6523-ICD binary syntax      16 octets
>
>The US GOSIP NSAP address structure has an AFI of 47 indicating that it is in a
>binary syntax ISO 6523-ICD format, but has a total length of 20 octets which
>seems to conflict with the above.
>
>On the other hand I do not understand the rationale for differing maximums on
>the lengths of NSAP addresses encoded using the preferred encoding. Is it
>because they have approximately the same number of possible values (and hence a
>more compact encoding of the decimal syntax would shorten the length of an
>encoded decimal syntax NSAP to approximately the length of an encoded binary
>syntax NSAP)?
>
>Any clarification would be greatly appreciated.

ISO 8348/Add2 estabishes independence between the definition of NSAP addresses
using an abstract syntax and their potential encodings in protocols.   The
standard also defines two encodings preferred binary encoding (PBE) and preferred
decimal encoding (PDE).  Given this independence, a general principle reflected
in the standard is that any NSAP addresses should be capable of being encoded
in both the PBE and the PDE.

The DSP of a NSAP can be allocated in either a binary or decimal abstract syntax.
If you look at the PDE rules for encoding binary abstract syntax DSPs (8.3.2.d)
you will find the crux of the problem.  A simple minded encoding scheme would
map one octet (0.255) to three decimal digits. If you look at 8.3.2.d the scheme
there further optimizes by mapping two octets of binary abstract DSP octets to 5 
decimal digits.   But the basic fact remains that it requires more that 2 decimal
digits to decimal encode each octet of a binary abstract syntax DSP.  You can
look at the given lengths of the the IDPs and the encoding rules of 8.3.2 to
derive the restrictions on binary abstract DSP length given in table 5.

Given the history above, it was noted that no Network Layer protocols actually
made use of the PDE.  Thus explicitly describing the PDE and requiring that
all NSAPs be capable of being encoded using it was wasting useful address
space in binary DSPs.  

As Paul pointed out their is an amendment (ISO 8348/Add 2) that removes the
PDE (and the corresponding binary DSP length restrictions) from ISO 8348/Add2.
This amendment is progessing with little opposition within ISO.

dougm
+------------------------------------------------------------------------------+
| Doug Montgomery                                     dougm@osi.ncsl.nist.gov  |
| National Institute of Standards and Technology                               |
| Technology Building, B-217                          Voice: +1-301-975-3630   |
| Gaithersburg, MD 20899 USA                          Fax:   +1-301-590-0932   |
+------------------------------------------------------------------------------+