📄 rfc1202.txt
字号:
Network Working Group M. Rose
Request for Comments: 1202 Performance Systems International, Inc.
February 1991
Directory Assistance Service
Status of this Memo
This document defines a mechanism by which a user-interface may
access a textual DAP-like interface over a TCP/IP connection. This
is a local mechanism. This memo provides information for the
Internet community. It does not specify any standard. Distribution
of this memo is unlimited.
Table of Contents
1. Introduction .......................................... 1
1.1 An Aside ............................................ 3
2. Protocol .............................................. 3
2.1 Control Connection .................................. 4
2.1.1 Initialization .................................... 4
2.1.2 Transactions ...................................... 4
2.1.2.1 INTR command .................................... 4
2.1.2.2 STAT command .................................... 5
2.1.2.3 QUIT command .................................... 5
2.2 Data Connection ..................................... 5
2.2.1 Transactions ...................................... 5
2.2.2 Responses ......................................... 6
2.2.2.1 Numeric Responses ............................... 6
2.2.2.2 'm' Response .................................... 6
2.2.2.3 'y' Response .................................... 6
2.2.2.4 'p' Response .................................... 7
2.2.2.5 'e' Response .................................... 7
2.2.2.6 'l' Response .................................... 7
2.2.2.7 'd' Response .................................... 8
2.2.2.8 'P' Response .................................... 8
3. Example Interaction ................................... 9
4. References ............................................ 10
5. Security Considerations............................... 11
6. Author's Address...................................... 11
1. Introduction
The OSI Directory [1] provides a powerful infrastructure for the
retrieval of information objects. This infrastructure can be used to
support, e.g., white pages applications, application entity lookup,
and so on.
Rose [Page 1]
RFC 1202 Directory Assistance Service February 1991
The Directory service is provided to applications through the
Directory Access Protocol (DAP), which binds a Directory User Agent
(DUA) to a Directory System Agent (DSA).
| Directory Service
| provided via DAP
|
+-----------+ | +-----------+
| | | | |
| DUA | <----------+----------> | DSA |
| | | | |
+-----------+ | +-----------+
|
Directory User |
The DAP is an OSI application layer protocol which uses the rich OSI
upper-layer infrastructure. Unfortunately, the coding investment to
implement the DAP is significant. As such, it is difficult to host
applications using the Directory on smaller workstations and personal
computers.
This memo details a local mechanism which has been successfully used
to separate the functionality of the DAP from the complexity of
implementing the DAP. That is, a split-DUA model is used: the DAP is
implemented on an entity (the "Directory Assistant"), which resides
on a capable workstation or mainframe and exports a simpler
interface, the "Directory Assistance" (DA) protocol, to other end-
systems where the user-interface resides, termed the DA-client.
Since this mechanism provides assistance to applications wishing to
access the Directory, it is termed the "Directory Assistance" (DA)
service:
Rose [Page 2]
RFC 1202 Directory Assistance Service February 1991
| Directory Service
split-DUA | provided via DAP
|
+-----------+ | +-----------+
| | | | |
| Directory | <----------+----------> | DSA |
| Assistant | | | |
| | | +-----------+
+-----------+ |
/|\ |
| |
| DA-service |
| provide via |
| DA-protocol |
| |
------+------ |
| |
| |
| |
| |
| |
\|/ |
+-----------+ |
| | |
| DA-client | |
| | |
+-----------+ |
|
Directory User |
1.1. An Aside
This memo documents an already existing protocol, which was
originally used to provide a split-DUA model within the same host.
In the absence of detailed historical and implementational
understanding, some of the mechanisms described may not appear
intuitive.
2. Protocol
The DA service operates using two TCP connections: a control
connection, and a data connection. The control connection defines
the lifetime of an instance of the DA service; throughout this
lifetime, several data connections may be established. However, at
any given instant, between zero and one data connections will be in
progress.
Rose [Page 3]
RFC 1202 Directory Assistance Service February 1991
The DA service is provided by the "Directory Assistant", which
consists of two entities: a DA-server, which manages the control
connection; and, a DAP-listener, which responds to commands on the
data connection. The DA-server oversees the behavior of the DAP-
listener.
2.1. Control Connection
Data sent over the control connection consists of a series of
transactions. NVT-ASCII is used to express these transactions. Each
transaction consists of the client sending a directive--a line of
text terminated by CR-LF; the DA-server returns a response--a line of
text terminated by CR-LF. All responses from a DA-server start with
either "+OK" or "-ERR" depending on whether the transaction was
successful.
2.1.1. Initialization
A DA-server listens on TCP port 411 for incoming connections. Upon
establishing a control connection, the DA-server returns a response
indicating whether the service has been started. If successful, the
response contains an IP-address and a TCP port, expressed in NVT-
ASCII, and separated by one or more instances of the space character.
This information corresponds to the TCP-endpoint that the DAP-
listener will use for the data connection.
Note that the DA-server and DAP-listener need not reside at the same
IP-address. In the future, DA-servers may employ a internal protocol
for load-balancing purposes.
If the DA service can not be started, an error response is returned
and the control connection is closed.
2.1.2. Transactions
All transactions with the DA-server consist of a command followed by
zero or more arguments, separated by the space character.
2.1.2.1. INTR command
The INTR command takes no arguments.
The INTR command is used to interrupt any DAP transaction
currently in progress.
The INTR command always returns success.
Rose [Page 4]
RFC 1202 Directory Assistance Service February 1991
2.1.2.2. STAT command
The STAT command takes no arguments.
The STAT command is used to verify that the DAP-listener is
available.
The STAT command returns success only if the DAP-listener is
still active.
2.1.2.3. QUIT command
The QUIT command takes no arguments.
The QUIT command is used to terminate the DA service.
The QUIT command always returns success.
2.2. Data Connection
Data sent over a data connection consists of a single DAP-
transaction. NVT-ASCII is used to express these transactions. Each
transaction consists of the client sending a command--a line of text
terminated by the LF-character; the DAP-listener returns zero or more
responses, each with a specific termination sequence. All responses
from a DAP-listener start with a single identifying character. If
the character is a digit (0-9), then the termination sequence
consists of a closing the data connection; otherwise, if the
character is a lower-case letter (a-z), then the response is
interactive and is terminated by the LF-character.
2.2.1. Transactions
All transactions with the DAP-listener consist of a command followed
by zero or more arguments, separated by the space character.
Double-quotes may be used to prevent separation of tokens.
The command set is taken from the DISH program:
add add a new entry
bind connect to the Directory
compare compare entry's attribute
delete delete an entry
fred back-end to FrED
list list children
modify modify an existing entry
modifyrdn modify an entry's name
moveto move to a position
Rose [Page 5]
RFC 1202 Directory Assistance Service February 1991
search search for an object
showentry show an entry
showname show an entry's name
squid status of dish
unbind disconnect from the Directory
See [2] for a complete list of commands and arguments.
Note that commands and arguments are in lower-case, and may
abbreviated to any unique prefix.
2.2.2. Responses
There are two kinds of responses: numeric-responses, which consist of
arbitrary text; and, letter-responses, which consist of brief text,
and expect further interaction from the client.
2.2.2.1. Numeric Responses
If the response is '1', then the DAP-transaction terminated normally;
if the response is '2', then the DAP-transaction failed; if the
response is '3', then the DAP-transaction was a search returning more
than one result and one of the -hitone or -list option was selected
for the search; if the response is '4', then the DAP-transaction
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -