RFC 615
Proposed Network Standard Data Pathname syntax
RFC 615, Proposed Network Standard Data Pathname Syntax π
Network Working Group Β· D. Crocker (UCLA-NMC) Β· MAR 74 Β· NIC #21531 β¨
The header doesn't list anything it obsoletes or updates, so there's no drama there. π This one is a proposal, so it's basically D. Crocker floating an idea and asking everyone to weigh in. π¦
The Big Idea π
okay so there's been an increasing call for a Network Standard Data Pathname (NSDP). Basically a standard way to point at a specific spot where a collection of bits lives somewhere on the Network. πΈ
The reasons for a standard (or virtual anything) have been talked about at length elsewhere, so I'm not going to rehash them here. π Instead, the author only wants to propose a standardized SYNTAX for writing pathnames. This is useful for three groups of people:
- users who don't know a site well, or who use lots of different sites and don't want to memorize each site's quirks π§
- programs that access data at several other sites π€
- documentation π
The syntax lets you specify the network, host, peripheral device, directory, file, type, and site-specific fields. Adding more fields later is expected to be quite simple. β¨
The BNF π
Here's the grammar, bestie. π«Ά
<NSDP> ::= % <bulk> <cr><lf>
<bulk> ::= <field> / <field> <bulk>
<field> ::= <key> <L-delim> <name> <R-delim>
<key> ::= NETWORK / HOST / PERIPHERAL/ DIRECTORY /
FILE / TYPE / SITEPARM / N / H / P / D / F /
T / S
<L-delim> ::= any printable character that is not in the
succeeding <name> field and that is
acceptable to the object site: For visual
aesthetics and to facilitate human parsing,
anytime <L-delim> is a left-bracket
character (<, [, (, _), <R-delim> must be
the complementary right-bracket character
(>, ], ), |).
<name> ::= any sequence of characters acceptable to the
object site. This is the actual data field
with the file, directory, device (or
whatever) name.
<R-delim> ::= Either 1) the same character as <L-delim> or
2) if the <L-delim> character is a
left-bracket character (<, [, (, _) then its
complementary right-bracket (>, ], ), |).
<cr> ::= carriage-return
<lf> ::= line-feed
More Details, Please π₯
The syntax lets <name> fields be an arbitrary number of rs long. π€·ββοΈ Case doesn't matter to the syntax itself, though some sites will care about case inside <name> fields. π
<key> tells you what part of the pathname the next <name> is going to refer to. The single-character keys are just abbreviations for the full-word keys. π¦
The <field>s are order dependent, but defaulted ones can be left out. The order is the one shown for <key>s, so: Network, Host, ..: Siteparm. π
Fields can be repeated when the object site is fine with it, so you can have multiple Directory fields and so on. π
Whether a combination of <field>s is valid is totally up to the site. For example, if a site will accept it, an NSDP with a Host field and nothing else is allowed. π
<delim> is used to mark the beginning and end of the <name> field. β¨
Explaining the Keys π§
NETWORK or N: Currently, only ARPA is defined.
HOST or H: Reference to host, by official name or
nickname or number: The default radix is
ten; a numeric string ending with "H"
indicates hexadecimal, "O"(oh) indicates
octal, and (gratuitously) "D" indicates
decimal:
PERIPHERAL or P: Peripheral device being referred to:
DIRECTORY or D: Name of a directory which contains a
pointer to the entity (directory or
filename) specified in the following
<field>:
FILE or F: Basic name of the file or data set:
TYPE or T: Optional modifier to filename: (Tenex
calls it the extension.)
SITEPARM or S: A parameter, such as an access
specification or version number, peculiar
to the object site. The content of the
<name> field must serve to identify what
Siteparm is involved. Each site will be
responsible for defining the syntax of
Siteparm <name>s it will accept.
Reserved PERIPHERAL Names π
These are the reserved peripheral <name>s. Stan-worthy list, honestly. π«Ά
DISK or DSK: Immediately accessible, direct-access
storage.
ONLINE or ONL: Whatever immediately-accessible (measured
in fractions of a second) storage the
user accesses by default; usually disk:
TAPE or TAP: Industry-compatible magnetic tape:
TAPE7 or TP7: 7-Track industry compatible tape:
TAPE9 or TP9: 9-Track industry compatible tape:
DECTAPE or DEC: DEC Tape.
OFFLINE or OFF: Any tertiary storage; usually tape,
though "devices" like the Datacomputer
are permissible: The user should expect
to wait minutes or hours before being
able to access OFFLINE files:
PRINTER or PTR: Any available line-printer:
DOCPRINTER or DOC:Upper-lower case line printer, preferably
with 8 1/2" X 11" unlined paper.
PAPER or PAP: Paper tape.
PUNCH or PUN: Standard 8O-column card punch.
READER or RDR: Standard 80-column card reader:
OPERATOR or OPR: System Operator's console.
CONSULTANT or CON: On-line consultant.
Defaults πΈ
Defaults are usually context dependent, so the author offers these as guidelines only π :
Network: ARPA
Host: The host interpreting the NVP
Peripheral: ONLINE (DISK)
Directory: The user's current "working" directory,
usually set by the logon process:
Filename: None.
Type: None.
Siteparm: None.
General Comments π
The only field that has to be checked against any host's current syntax is the escape-to-NVP field (the per-cent sign as the first character of a pathname specification). It isn't currently known to conflict with any host's syntax. π₯
The exclamation mark (!) is the only other character that seems permissible, assuming it should be a graphic. Using it would cause minor problems at Multics. But more importantly, as a graphic it's too similar to the numeral "1". π
The syntax is meant to be adequate for all hosts, so any given part of it might be inappropriate for a given host. π§
A site is expected to permit specifications in a given field if and only if that site already has a way of accepting the same information. π
The author believes any changes to the syntax will be graceful additions rather than a wholesale redesign, so they can be put off for a while. For now, any undefined attributes must be specified in a Siteparm field. β¨
Version, Access protection, and Accounting, plus other kinds of info, might be better as standard <key>s instead of being buried as Siteparms. The author expects the next version of the NSDP Syntax specification to include them as <key>s, but wants to wait for community comments first. π¦
The syntax doesn't currently allow addressing any collection of bits smaller than a file. This could be fixed by adding PAGE, BYTE, and other <key>s, but again, the author would like to collect some comments first. π
Disclaimer π
A pathname written in the proposed syntax is pretty easy to type but kinda ugly to read. So, at the cost of design cleanliness, the <L-delim>/<R-delim> syntax was modified to try to fix this somewhat. As you'll see below, it's only partially successful. π
The first draft used a mix of Tenex and Multics conventions, like this: (Network)[Host]Peripheral:Directory>Filename:Type;Siteparm It looked nicer and was generally quicker to type, but it lacks extensibility. For example, adding Version number or Access protection as standard fields would be difficult. π
It's suggested that human interfaces be built to translate to and from NSDP syntax and the user's standard environment. π«Ά
Sample Pathnames π
Here are some examples, iykyk. π§
%H[ISI]D<DCROCKER>F(MESSAGE)T/TXT/S(P77O4O4)<cr><lf>
This refers to my protected message file at ISI (<DCROCKER>MESSAGE:TXT;P77O4O4). π₯
%H/OFFICE-l/D>JOURNAL>F<l8659>T.NLS.<cr><lf>
This refers to NIC Journal document #18659 (Tenex file <JOURNAL>l8659:NLS). π
%H/65/D.ARP061.D.LAD:F.DOCUMENT.<cr><lf>
This refers to a file ARPO6l:LAD.DOCUMENT at UCLA-CCN. Notice the use of multiple Directory fields! π
%H[540]D//D>udd>D>Comp=net>D>Map>F(Mail)<cr><lf>
This refers to the file CompNet>Map>Mail at Mit-Multics. Note that the initial NSPD Directory <name> field is empty. That's how Multics likes to start at the top of its directory structure. π
Thank Yous π
Big thanks to Jon Postel, Vint Cerf, Jim White, Charlie Kline, Ken Pogran, Jerry Burchfiel, and Tom Boynton for their suggestions. You're all iconic. π«Άβ¨
π¦ where this page comes from
- ietf: rfc615 1974-03
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms