Annotation of 43BSDReno/contrib/isode-beta/doc/interim/string.tex, revision 1.1.1.1

1.1       root        1: \documentstyle [tgrind,ucl-rn] {article}
                      2: \rnnumber{RN/89/14}
                      3: \author {S.E. Kille}
                      4: \date {\today}
                      5: \title {A string encoding of Presentation Address}
                      6: \begin {document}
                      7: \bibliographystyle{alpha}
                      8: \maketitle
                      9: \begin {abstract}
                     10: There are a number of environments where a simple string encoding of
                     11: Presentation Address is desirable. 
                     12: This specification is agreed for use in the ISODE and THORN projects, and
                     13: may be of wider interest.
                     14: This document is also THORN Document UCL-59.
                     15: \end {abstract}
                     16: 
                     17: \section {Introduction}
                     18: 
                     19: There is a need to represent presentation addresses as strings in a number
                     20: of different contexts.
                     21: This note is defines a unified syntax for the THORN and ISODE
                     22: projects, which might also 
                     23: be appropriate as a de facto standard for a wider community.  
                     24: 
                     25: Christian Huitema or Inria and Marshall Rose or The Wollongong Group gave
                     26: much useful input to this document.
                     27: 
                     28: \section {Requirements}
                     29: 
                     30: The main requirements are: 
                     31: 
                     32: \begin {itemize}
                     33: \item Must be able to specify any legal value
                     34: \item Should be clean in the common case of no selectors
                     35: \item Needs to deal with selectors in the following encodings:
                     36: \begin {itemize}
                     37: \item IA5
                     38: \item Digits encoded as IA5 (this is the most common syntax in
                     39: Europe, as it is required by X.400(84) and should receive an optimal
                     40: encoding)
                     41: \item Numeric encoded as integer (US GOSIP).  This is mapped onto two
                     42: octets, with the first octet being the high order byte of the integer.
                     43: \item General Hexadecimal
                     44: \end {itemize}
                     45: 
                     46: \item Should give special encodings for the ad hoc encoding proposed
                     47: in ``An interim approach to use of Network Addresses'' \cite{NSAP.Approach}.
                     48: \begin {itemize}
                     49: \item X.25(80) Networks
                     50: \item TCP/IP Networks
                     51: \end {itemize}
                     52: 
                     53: \item Should be extensible for additional forms
                     54: 
                     55: \item Should provide a compact representation (e.g., for use in a TSEL
                     56: encoding).
                     57: 
                     58: \end {itemize}
                     59: 
                     60: \section {Format}
                     61: 
                     62: The BNF is given in figure \ref{bnf}.
                     63: 
                     64: \tagrindfile{bnf}{String BNF}{bnf}
                     65: 
                     66: Four examples:
                     67: 
                     68: \begin {verbatim}
                     69: "256"/NS+a433bb93c1|NS+aa3106
                     70: 
                     71: #63/#41/#12/X121+234219200300
                     72: 
                     73: '3a'H/TELEX+00728722+X.25(80)+02+00002340555+CUDF+"892796"
                     74: 
                     75: TELEX+00728722+RFC-1006+03+10.0.0.6
                     76: 
                     77: \end{verbatim}
                     78: 
                     79: Note that the RFC 1006 encoding permits use of either domain or IP address.
                     80: The former is primarily for ease of entry.  If this domain maps onto multiple IP
                     81: addresses, then multiple network addresses should be generated.  When
                     82: mapping from an encoded address to string form, the reverse mapping (dotted quad to domain)
                     83: should not be used.
                     84: 
                     85: \section {Encoding}
                     86: 
                     87: Selectors are represented in a manner which can be easily encoded.
                     88: In the NS notation, the concrete binary form of network address is given.
                     89: Otherwise, this string notation provides a mechanism for representing 
                     90: the Abstract 
                     91: Syntax of a Network Address.  This must be encoded according to Addendum 2
                     92: of ISO 8348.
                     93: 
                     94: \section {Macros}
                     95: 
                     96: There are often common addresses, for which a cleaner representation is
                     97: desired.  This is achieved by use of Macros.  If a \verb|<network-address>|
                     98: can be parsed
                     99: as:
                    100: 
                    101: \begin {verbatim}
                    102: <otherstring> "=" *( any )
                    103: \end{verbatim}
                    104: 
                    105: Then the leading string is taken as a Macro, which is substituted.  
                    106: This may be applied recursively.  When
                    107: presenting Network Address to humans, the longest available substitution
                    108: should be used. For example:
                    109: 
                    110: \begin {center}
                    111: \begin {tabular}{|l|l|}
                    112: \hline
                    113: Macro & Value \\
                    114: \hline
                    115: UK.AC & DCC+826+d110000 \\
                    116: Leeds & UK.AC=120 \\
                    117: \hline
                    118: \end {tabular}
                    119: 
                    120: \end {center}
                    121: 
                    122: Then ``Leeds=22'' would be expanded to ``DCC+826+d11000012022''.
                    123: 
                    124: 
                    125: \section {Standard Macros}
                    126: 
                    127: No Macros should ever be relied on.  However, the following are suggested as
                    128: standard.
                    129: 
                    130: \begin {center}
                    131: \begin {tabular}{|l|l|}
                    132: \hline
                    133: Macro & Value \\
                    134: \hline
                    135: Int-X25(80) & TELEX+00728722+X25(80)+01+ \\
                    136: Janet-X25(80) & TELEX+00728722+X25(80)+02+ \\
                    137: Internet-RFC-1006 & TELEX+00728722+RFC-1006+03+ \\
                    138: \hline
                    139: \end {tabular}
                    140: 
                    141: \end {center}
                    142: 
                    143: \section {References}
                    144: 
                    145: \bibliography {../../../bib/sek}
                    146: 
                    147: \end {document}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.