RFC 1706
DNS NSAP Resource Records
RFC 1706: DNS NSAP Resource Records π
Okay bestie, this one is from the Network Working Group π§ and it's labeled Informational, so it's useful info and not a standard. It was written by B. Manning of ISI and R. Colella of NIST, and it's dated October 1994 π . It obsoletes RFC 1637 and RFC 1348, so those two are officially retired π«Ά
Status of this Memo π
This memo is info for the Internet community, not a spec. It does not define an Internet standard of any kind π And you can share it as much as you want, since distribution is unlimited π
Abstract π¦
Okay so OSI lower layer protocols (that's the connectionless network protocol, CLNP, plus its routing protocols) are running in some corners of the global Internet π Debugging and keeping CLNP connections healthy is way easier when the Domain Name System (DNS) can map names to NSAP addresses and back π
This doc defines one brand new Resource Record (RR) for mapping a domain name to an NSAP π It works with any NSAP address format, which is so iconic π
Going the other way, NSAP to name, is done with the PTR RR. You can read about it in STD 13, RFC 1035. This paper explains how PTR RRs get used for that translation β¨
Also: this document obsoletes RFC 1348 and RFC 1637. π
1. Introduction β¨
OSI lower layer protocols, which are CLNP [5] and their supporting routing protocols, are deployed in parts of the global Internet π Keeping CLNP connectivity healthy gets a huge boost from the Domain Name System (DNS) [7] [8], since it can map names to NSAP (network service access point) addresses [6] π [Note: NSAP and NSAP address are used interchangeably throughout this memo].
So this document defines one new Resource Record (RR) for the DNS that maps domain names to NSAPs, and it works with any NSAP address format π¦ NSAP-to-name translation uses the PTR RR (see RFC 1035 for a description of the PTR RR), and this paper walks through how PTR RRs support that π«Ά
Heads up: this memo assumes you already know your way around the DNS π§ Some familiarity with NSAPs helps too. Check out [1] or Annex A of [6] for more info πΈ
2. Background π·
The whole reason for defining DNS mappings for NSAPs is to support the CLNP deployment we already have on the Internet π«§ Debugging with CLNP ping and traceroute got harder as deployments grew, because the addresses were only numeric NSAPs π
Right now, people debug by keeping and swapping a config file with name/NSAP mappings. It works kind of like hosts.txt π The problem? There's no central coordinator for that file, and it doesn't scale well. The lack of a coordinator is the most serious short-term problem, and a hosts.txt-style solution has well-known long-term scaling difficulties π
3. Scope π§
The methods in this paper apply to all NSAP formats π
Quick reference, because the distinction matters: registration and publication of addresses are different things. For IP addresses, the IANA is the root registration authority and the DNS is the publication method π For NSAPs, Annex A of the network service definition, ISO8348 [6], describes the root registration authority, and this memo defines how the DNS is used as a publication method π
4. Structure of NSAPs π
NSAPs have a hierarchical structure, which allows distributed administration and efficient routing π³ With distributed administration, subdelegated addressing authorities can further structure the part of the NSAP space they control, as long as the delegator allows it π«Ά That means DNS resolvers and servers should need little or no prior knowledge of how NSAPs are structured. Otherwise the whole distributed setup breaks, and that is not it π€
For this memo, you can picture an NSAP as a tree of identifiers β¨ The root of the tree is ISO8348 [6], and its immediate subordinates are the one-octet Authority and Format Identifiers (AFIs) defined there π The size of later fields depends on which branch of the tree you take, and how deep the tree goes depends on the authority responsible for defining those later fields π§
Here's a great example: the authority behind U.S. GOSIP NSAPs [2] πΊπΈ Under AFI 47, NIST got the value 0005. (AFI 47 says the next field is two octets made of four BCD digits from the International Code Designator space [3].) NIST defined the later fields in [2], as shown in Figure 1 π The field right after 0005 is a format identifier for the rest of the U.S. GOSIP NSAP structure, with hex value 80. After that comes a three-octet field whose values get allocated to network operators. The registration authority for that field has been delegated to GSA (General Services Administration) πΌ
The last octet of the NSAP is the NSelector (NSel). Here's the tea β In practice, the NSAP minus the NSel identifies the CLNP protocol machine on a given system, and the NSel identifies the CLNP user. Since there can be more than one CLNP user (so multiple NSel values for one "base" NSAP), the representation of the NSAP should be CLNP-user independent π«§ To get that, an NSel value of zero shall be used with all NSAP values stored in the DNS. An NSAP with NSel=0 identifies the network layer itself. It's up to the application retrieving the NSAP to figure out the right value to use for that particular communication π
When CLNP supports TCP and UDP services, the NSel value used is the appropriate IP PROTO value registered with the IANA π For "standard" OSI, picking NSel values is left to local administration π¦ Administrators of systems that run the OSI transport protocol [4] alongside TCP/UDP must choose NSels for OSI Transport that don't clash with the IP PROTO values. Don't skip this one, bestie π
Here's Figure 1, the GOSIP Version 2 NSAP structure π
|--------------|
| <-- IDP --> |
|--------------|-------------------------------------|
| AFI | IDI | <-- DSP --> |
|-----|--------|-------------------------------------|
| 47 | 0005 | DFI | AA |Rsvd | RD |Area | ID |Sel |
|-----|--------|-----|----|-----|----|-----|----|----|
octets | 1 | 2 | 1 | 3 | 2 | 2 | 2 | 6 | 1 |
|-----|--------|-----|----|-----|----|-----|----|----|
IDP Initial Domain Part
AFI Authority and Format Identifier
IDI Initial Domain Identifier
DSP Domain Specific Part
DFI DSP Format Identifier
AA Administrative Authority
Rsvd Reserved
RD Routing Domain Identifier
Area Area Identifier
ID System Identifier
SEL NSAP Selector
Figure 1: GOSIP Version 2 NSAP structure. π
Now, the way NSAPs get written in Master Files and in this memo's text is as a string of "."-separated hex values π§ Those values line up with convenient chunks of the NSAP so it's easier to read. For example, the fields could match the NSAP fields defined by whichever authority (RARE, U.S. GOSIP, ANSI, etc.) is in charge. The dots are purely for readability π They never show up in DNS packets, and DNS servers can ignore them when reading Master Files β¨
For instance, the first four fields of a U.S. GOSIP NSAP might look like 47.0005.80.005a00, and a full U.S. GOSIP NSAP might look like this:
47.0005.80.005a00.0000.1000.0020.00800a123456.00.
Other NSAP formats have different lengths and different administratively defined field widths, to meet different needs πΈ For more on the NSAP formats in use, see RFC 1629 [1] π«Ά
6. NSAP-to-name Mapping Using the PTR RR π¦
okay so the PTR RR is from RFC 1035 π and people usually use it under "IN-ADDR.ARPA" to go from IPv4 addresses to domain names. πΈ
same energy for NSAPs! the PTR RR maps NSAPs to domain names under the "NSAP.INT" domain. β¨ you generate a domain name from the NSAP using the rules below, then the resolver sends a query asking for a PTR RR for that name. it's giving reverse lookup, fr fr π₯
to make the domain name, you reverse the hex nibbles of the NSAP, treat each nibble as its own subdomain, and tack "NSAP.INT" on the end. π§ for example, the reverse lookup name for this NSAP:
47.0005.80.005a00.0000.0001.e133.ffffff000162.00
would look like this:
0.0.2.6.1.0.0.0.f.f.f.f.f.f.3.3.1.e.1.0.0.0.0.0.0.0.0.0.a.5.0.0. \
0.8.5.0.0.0.7.4.NSAP.INT.
π implementation note, bestie: for sanity's sake, user interfaces should let people type NSAPs in their natural order, the way they're usually written on paper π π«Ά and arbitrary "."s should be allowed (and ignored) on input. no stress, just vibes β¨
7. Master File Format π
the format of NSAP RRs (and NSAP-related PTR RRs) in Master Files follows Section 5, "Master Files," of RFC 1035. π below are some examples of how these RRs get used in Master Files to support name-to-NSAP and NSAP-to-name mapping. π
the NSAP RR adds a new hex string format for the RDATA field. π it starts with "0x" (a zero followed by an 'x' character) and then a variable-length string of hex characters (0 to 9, a to f). the hex string is case-insensitive, so no judging π you can put "."s (periods) anywhere after the "0x" to make it readable. the "."s don't mean anything beyond readability, and they aren't sent over the protocol (like in queries or zone transfers). π
;;;;;;
;;;;;; Master File for domain nsap.nist.gov.
;;;;;;
@ IN SOA emu.ncsl.nist.gov. root.emu.ncsl.nist.gov. (
1994041800 ; Serial - date
1800 ; Refresh - 30 minutes
300 ; Retry - 5 minutes
604800 ; Expire - 7 days
3600 ) ; Minimum - 1 hour
IN NS emu.ncsl.nist.gov.
IN NS tuba.nsap.lanl.gov.
;
;
$ORIGIN nsap.nist.gov.
;
; hosts
;
bsdi1 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000161.00
IN A 129.6.224.161
IN HINFO PC_486 BSDi1.1
;
bsdi2 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000162.00
IN A 129.6.224.162
IN HINFO PC_486 BSDi1.1
;
cursive IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000171.00
IN A 129.6.224.171
IN HINFO PC_386 DOS_5.0/NCSA_Telnet(TUBA)
;
infidel IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000164.00
IN A 129.6.55.164
IN HINFO PC/486 BSDi1.0(TUBA)
;
; routers
;
cisco1 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.aaaaaa000151.00
IN A 129.6.224.151
IN A 129.6.225.151
IN A 129.6.229.151
;
3com1 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.aaaaaa000111.00
IN A 129.6.224.111
IN A 129.6.225.111
IN A 129.6.228.111
;;;;;;
;;;;;; Master File for reverse mapping of NSAPs under the
;;;;;; NSAP prefix:
;;;;;;
;;;;;; 47.0005.80.005a00.0000.0001.e133
@ IN SOA emu.ncsl.nist.gov. root.emu.ncsl.nist.gov. (
1994041800 ; Serial - date
1800 ; Refresh - 30 minutes
300 ; Retry - 5 minutes
604800 ; Expire - 7 days
3600 ) ; Minimum - 1 hour
IN NS emu.ncsl.nist.gov.
IN NS tuba.nsap.lanl.gov.
;
;
$ORIGIN 3.3.1.e.1.0.0.0.0.0.0.0.0.0.a.5.0.0.0.8.5.0.0.0.7.4.NSAP.INT.
;
0.0.1.6.1.0.0.0.f.f.f.f.f.f IN PTR bsdi1.nsap.nist.gov.
;
0.0.2.6.1.0.0.0.f.f.f.f.f.f IN PTR bsdi2.nsap.nist.gov.
;
0.0.1.7.1.0.0.0.f.f.f.f.f.f IN PTR cursive.nsap.nist.gov.
;
0.0.4.6.1.0.0.0.f.f.f.f.f.f IN PTR infidel.nsap.nist.gov.
;
0.0.1.5.1.0.0.0.a.a.a.a.a.a IN PTR cisco1.nsap.nist.gov.
;
0.0.1.1.1.0.0.0.a.a.a.a.a.a IN PTR 3com1.nsap.nist.gov.
8. Security Considerations π
okay, security. π this memo does not discuss security issues at all. π that does NOT mean there's nothing to think about, so keep your guard up and don't assume you're safe just because it's not in here π
9. Authors' Addresses πΈ
these are the lovely humans who wrote it π«Ά
Bill Manning
USC/Information Sciences Institute
4676 Admiralty Way
Marina del Rey, CA. 90292
USA
Phone: +1.310.822.1511
EMail: bmanning@isi.edu
Richard Colella
National Institute of Standards and Technology
Technology/B217
Gaithersburg, MD 20899
USA
Phone: +1 301-975-3627
Fax: +1 301 590-0932
EMail: colella@nist.gov
10. References π
[1] Colella, R., Gardner, E., Callon, R., and Y. Rekhter, "Guidelines for OSI NSAP Allocation inh the Internet", RFC 1629, NIST, Wellfleet, Mitre, T.J. Watson Research Center, IBM Corp., May 1994.
[2] GOSIP Advanced Requirements Group. Government Open Systems Interconnection Profile (GOSIP) Version 2. Federal Information Processing Standard 146-1, U.S. Department of Commerce, National Institute of Standards and Technology, Gaithersburg, MD, April 1991.
[3] ISO/IEC. Data interchange - structures for the identification of organization. International Standard 6523, ISO/IEC JTC 1, Switzerland, 1984.
[4] ISO/IEC. Connection oriented transport protocol specification. International Standard 8073, ISO/IEC JTC 1, Switzerland, 1986.
[5] ISO/IEC. Protocol for Providing the Connectionless-mode Network Service. International Standard 8473, ISO/IEC JTC 1, Switzerland, 1986.
[6] ISO/IEC. Information Processing Systems -- Data Communications -- Network Service Definition. International Standard 8348, ISO/IEC JTC 1, Switzerland, 1993.
[7] Mockapetris, P., "Domain Names -- Concepts and Facilities", STD 13, RFC 1034, USC/Information Sciences Institute, November 1987.
[8] Mockapetris, P., "Domain Names -- Implementation and Specification", STD 13, RFC 1035, USC/Information Sciences Institute, November 1987.
π¦ where this page comes from
- ietf: rfc1706 1994-10
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms