|
|
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}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.