1 .\" $NetBSD: addr.nr,v 1.2 1998/01/09 06:34:29 perry Exp $
3 .NC "NSAP Addresses & Routing"
4 .sh 1 "OSI Address Formats"
6 ARGO supports an ISO address family, AF_ISO, in addition to the
7 DoD Internet address family, AF_INET.
8 Addresses in the family AF_ISO
9 take the form described by ISO 8348/DAD2, which is an addendum to the
10 OSI network service standard that describes network layer addressing.
11 .sh 2 "ISO 8348/DAD2 Tutorial"
14 .\".so figs/osi_addr.nr
15 .so ../wisc/figs/addrfmt.nr
18 format of an OSI NSAP-address.
19 The address has two major parts: the initial domain part
20 (IDP) and the domain specific part (DSP). The IDP is further divided into
21 two parts: the authority and format identifier (AFI) and the
22 initial domain identifier (IDI). The AFI specifies the format of the
23 IDI, the authority responsible for allocating values of the IDI, and
24 the syntax of the DSP. The IDI specifies the network addressing domain
25 from which DSP values are allocated, and the authority responsible for
26 allocating DSP values.
27 .sh 2 "Supported Formats"
29 ARGO supports three types of ISO NSAP-addresses:
30 one type with AFI 37(hex) and two types with AFI 47(hex).
33 This value of the AFI defines the IDI to be an X.121 address or DTE
35 The DTE address is encoded in binary coded decimal.
36 The DSP syntax is binary.
37 This form is intended to be used when communicating
38 across a public data network (PDN).
39 The ARGO software and documentation
40 refer to this type of NSAP-address as a
45 The value of 47 for the AFI defines the IDI to be a 4 digit International
46 Code Designator (ICD) allocated according to ISO 6523.
51 The ICD value of 0004 is assigned to OSINET,
52 an experimental OSI network overseen by
53 National Institute of Science and Technology.\**
55 \** formerly the National Bureau of Standards
57 When this style of NSAP-address
59 the DSP is divided into four parts: an organization identifier (2 bytes),
60 a subnet identifier (2 bytes),
61 an SNPA-part (4-8 bytes), and
62 an NSAP selector (1 byte).
63 The use of these fields is defined by the OSINET steering committee.
64 This type of address is known as an
69 The ICD value of 0006 is assigned to the Department of Defense (DoD).
70 In ARGO, NSAP-addresses with an ICD value of 0006
71 are of the format defined in RFC 986, a proposal for embedding DARPA Internet
72 addresses within an OSI NSAP-address.
73 In this case, the DSP takes the form:
74 version (1 byte), DARPA Internet Address (4 bytes), upper layer protocol
79 .sh 1 "Internal Representation"
81 Internally, an NSAP address takes the form
90 +u_char+isoa_afi;+/* authority &
93 ++struct addr_37+addr_37;+/* x.121 */
94 ++struct addr_osinet+addr_osinet;+/* OSINET */
95 ++struct addr_rfc986+addr_rfc986;+/* Internet*/
97 +u_char+isoa_len;+/* length */
102 The field \fIisoa_afi\fR contains the AFI for the address.
104 \fIisoa_u\fR contains the remainder of the address.
105 The length of the entire address (the AFI, IDI, and DSP) is
106 stored in \fIisoa_len\fR.
107 .sh 1 "Network Layer Routing"
109 Routing at the network layer is performed by the
110 routing procedure \fIrtalloc()\fR as described in Chapter 5.
111 \fIRtalloc()\fR was designed for used in the DoD Internet
114 effect of this is that routing decisions are based upon either the
115 entire NSAP address or the network portion of the address.
116 The problem is defining the network portion of an NSAP address.
117 The location and extent of the
118 network portion of an NSAP address depends on the
119 style of NSAP address.
120 This decision is made by the function \fIiso_netof()\fR.
121 .sh 2 "Network Portion of Type 37 Addresses"
123 There is no network portion of an X.121 address.
124 In ARGO, the network portion of a type 37 address
125 is defined to be just the AFI.
126 The obvious consequence of this is that all type 37 addresses will
127 match all other type 37 addresses
128 in a network-portion comparison.
129 .sh 2 "Network Portion of OSINET Addresses"
131 The network portion of an OSINET address is the organization identifier and
132 the subnet identifier.
133 .sh 2 "Network Portion of RFC986 Addresses"
135 The network portion of an RFC986 address is the network portion of the
136 embedded DARPA Internet address.
137 ARGO does not support subnetting, a method of subdividing Internet addresses.
138 .sh 1 "NSAP Address / Subnetwork Point of Attachment Mapping"
140 In order to transmit a packet on a real subnetwork, the destination
142 must be mapped to an SNPA address.
143 An SNPA address is the real, "hardware" address
144 of a system on a network.
145 This address corresponds to the 6 byte Ethernet or Token Ring
147 or to the DTE address, which may be up to 7 bytes
148 long (14 decimal digits).
150 A table, \fIsnpa_cache\fR is kept in the kernel which contains the
151 translation between NSAP-addresses and SNPA-addresses.
152 This table is used by \fIiso_snparesolve()\fR whenever a
153 datagram must be dispatched.
154 The table is maintained by the ISO ES-IS protocol entity.
155 Entries can be added and deleted
156 by the user program \fIclnlutil(8)\fR and