home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- Network Working Group C. Weider
- Request for Comments: 1913 Bunyip
- Category: Standards Track J. Fullton
- CNIDR
- S. Spero
- EIT
- February 1996
-
-
- Architecture of the Whois++ Index Service
-
- Status of this Memo
-
- This document specifies an Internet standards track protocol for the
- Internet community, and requests discussion and suggestions for
- improvements. Please refer to the current edition of the "Internet
- Official Protocol Standards" (STD 1) for the standardization state
- and status of this protocol. Distribution of this memo is unlimited.
-
- Abstract
-
- The authors describe an architecture for indexing in distributed
- databases, and apply this to the WHOIS++ protocol.
-
- 1. Purpose:
-
- The WHOIS++ directory service [Deutsch, et al, 1995] is intended to
- provide a simple, extensible directory service predicated on a
- template-based information model and a flexible query language. This
- document describes a general architecture designed for indexing
- distributed databases, and then applys that architecture to link
- together many of these WHOIS++ servers into a distributed, searchable
- wide area directory service.
-
- 2. Scope:
-
- This document details a distributed, easily maintained architecture
- for providing a unified index to a large number of distributed
- WHOIS++ servers. This architecture can be used with systems other
- than WHOIS++ to provide a distributed directory service which is also
- searchable.
-
- 3. Motivation and Introduction:
-
- It seems clear that with the vast amount of directory information
- potentially available on the Internet, it is simply not feasible to
- build a centralized directory to serve all this information. If we
- are to distribute the directory service, the easiest (although not
-
-
-
- Weider, et al Standards Track [Page 1]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- necessarily the best) way of building the directory service is to
- build a hierarchy of directory information collection agents. In this
- architecture, a directory query is delivered to a certain agent in
- the tree, and then handed up or down, as appropriate, so that the
- query is delivered to the agent which holds the information which
- fills the query. This approach has been tried before, most notably
- in some implementations of the X.500 standard. However, there are
- number of major flaws with the approach as it has been taken. This
- new Index Service is designed to fix these flaws.
-
- 3.1. The search problem
-
- One of the primary assumptions made by recent implementations of
- distributed directory services is that every entry resides in some
- location in a hierarchical name space. While this arrangement is
- ideal for reading the entry once one knows its location, it is not as
- good when one is searching for the location in the namespace of those
- entries which meet some set of criteria. If the only criteria we know
- about a desired entry are items which do not appear in the namespace,
- we are forced to do a global query. Whenever we issue a global query
- (at the root of the namespace), or a query at the top of a given
- subtree in the namespace, that query is replicated to "all" subtrees
- of the starting point. The replication of the query to all subtrees
- is not necessarily a problem; queries are cheap. However, every
- server to which the query has been replicated must process that
- query, even if it has no entries which match the specified criteria.
- This part of the global query processing is quite expensive. A poorly
- designed namespace or a thin namespace can cause the vast majority of
- queries to be replicated globally, but a very broad namespace can
- cause its own navigation problems. Because of these problems, search
- has been turned off at high levels of the X.500 namespace.
-
- 3.2. The location problem
-
- With global search turned off, one must know in advance how the name
- space is laid out so that one can guide a query to a proper location.
- Also, the layout of the namespace then becomes critical to a user's
- ability to find the desired information. Thus there are endless
- battles about how to lay out the name space to best serve a given set
- of users, and enormous headaches whenever it becomes apparent that
- the current namespace is unsuited to the current usages and must be
- changed (as recently happened in X.500). Also, assuming one does
- impose multiple hierarchies on the entries through use of the
- namespace, the mechanisms to maintain these multiple hierarchies in
- X.500 do not exist yet, and it is possible to move entries out from
- under their pointers. Also, there is as yet no agreement on how the
- X.500 namespace should look even for the White Pages types of
- information that is currently installed in the X.500 pilot project.
-
-
-
- Weider, et al Standards Track [Page 2]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- 3.3. The Yellow Pages problem
-
- Current implementations of this hierarchical architecture have also
- been unsuited to solving the Yellow Pages problem; that is, the
- problem of easily and flexibly building special-purpose directories
- (say of molecular biologists) and of automatically maintaining these
- directories once they have been built. In particular, the attributes
- appropriate to the new directory must be built into the namespace
- because that is the only way to segregate related entries into a
- place where they can be found without a global search. Also, there is
- a classification problem; how does one adequately specify the proper
- categories so that people other than the creator of the directory can
- find the correct subtree? Additionally, there is the problem of
- actually finding the data to put into the subtree; if one must
- traverse the hierarchy to find the data, we have to look globally for
- the proper entries.
-
- 3.4. Solutions
-
- The problems examined in this section can be addressed by a
- combination of two new techniques: directory meshes and forward
- knowledge.
-
- 4. Directory meshes and forward knowledge
-
- We'll hold off for a moment on describing the actual architecture
- used in our solution to these problems and concentrate on a high
- level description of what solutions are provided by our conceptual
- approach. To begin with, although every entry in WHOIS++ does indeed
- have a unique identifier (resides in a specific location in the
- namespace) the navigational algorithms to reach a specific entry do
- not necessarily depend on the identifier the entry has been assigned.
- The Index Service gets around the namespace and hierarchy problems by
- creating a directory mesh on top of the entries. Each layer of the
- mesh has a set of 'forward knowledge' which indicates the contents of
- the various servers at the next lower layer of the mesh. Thus when a
- query is received by a server in a given layer of the mesh, it can
- prune the search tree and hand the query off to only those lower
- level servers which have indicated that they might be able to answer
- it. Thus search becomes feasible at all levels of the mesh. In the
- current version of this architecture, we have chosen a certain set of
- information to hand up the mesh as forward knowledge. This may or may
- not be exactly the set of information required to construct a truly
- searchable directory, but the protocol itself doesn't restrict the
- types of information which can be handed around.
-
- In addition, the protocols designed to maintain the forward knowledge
- will also work perfectly well to provide replication of servers for
-
-
-
- Weider, et al Standards Track [Page 3]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- redundancy and robustness. In this case, the forward knowledge handed
- around by the protocols is the entire database of entries held by the
- replicated server.
-
- Another benefit provided by the mesh of index servers is that since
- the entry identification scheme has been decoupled from the
- navigation service, multiple hierarchies can be built and easily
- maintained on top of the existing data. Also, the user does not need
- to know in advance where in the mesh the entry is contained.
-
- Also, the Yellow Pages problem now becomes tractable, as the index
- servers can pick and choose between information proffered by a given
- server; because we have an architecture that allows for automatic
- polling of data, special purpose directories become easy to construct
- and to maintain.
-
- 5. Components of the Index Service:
-
- 5.1. WHOIS++ servers
-
- The whois++ service is described in [Deutsch, et al, 1995]. As that
- service specifies only the query language, the information model, and
- the server responses, whois++ services can be provided by a wide
- variety of databases and directory services. However, to participate
- in the Index Service, that underlying database must also be able to
- generate a 'centroid', or some other type of forward knowledge, for
- the data it serves.
-
- 5.2. Centroids as forward knowledge
-
- The centroid of a server is comprised of a list of the templates and
- attributes used by that server, and a word list for each attribute.
- The word list for a given attribute contains one occurrence of every
- word which appears at least once in that attribute in some record in
- that server's data, and nothing else.
-
- A word is any token delimited by blank spaces, newlines, or the '@'
- character, in the value of an attribute.
-
- For example, if a whois++ server contains exactly three records, as
- follows:
-
- Record 1 Record 2
- Template: User Template: User
- First Name: John First Name: Joe
- Last Name: Smith Last Name: Smith
- Favourite Drink: Labatt Beer Favourite Drink: Molson Beer
-
-
-
-
- Weider, et al Standards Track [Page 4]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- Record 3
- Template: Domain
- Domain Name: foo.edu
- Contact Name: Mike Foobar
-
- the centroid for this server would be
-
- Template: User
- First Name: Joe
- John
- Last Name: Smith
- Favourite Drink: Beer
- Labatt
- Molson
-
- Template: Domain
- Domain Name: foo.edu
- Contact Name: Mike
- Foobar
-
- It is this information which is handed up the tree to provide forward
- knowledge. As we mention above, this may not turn out to be the
- ideal solution for forward knowledge, and we suspect that there may
- be a number of different sets of forward knowledge used in the Index
- Service. However, the directory architecture is in a very real sense
- independent of what types of forward knowledge are handed around, and
- it is entirely possible to build a unified directory which uses many
- types of forward knowledge.
-
- 5.3. Index servers and Index server Architecture
-
- A whois++ index server collects and collates the centroids (or other
- forward knowledge) of either a number of whois++ servers or of a
- number of other index servers. An index server must be able to
- generate a centroid for the information it contains. In addition, an
- index server can index any other server it wishes, which allows one
- base level server (or index server) to participate in many
- hierarchies in the directory mesh.
-
- 5.3.1. Queries to index servers
-
- An index server will take a query in standard whois++ format, search
- its collections of centroids and other forward information, determine
- which servers hold records which may fill that query, and then
- notifies the user's client of the next servers to contact to submit
- the query (referral in the X.500 model). An index server can also
- contain primary data of its own; and thus act a both an index server
- and a base level server. In this case, the index server's response to
-
-
-
- Weider, et al Standards Track [Page 5]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- a query may be a mix of records and referral pointers.
-
- 5.3.2. Index server distribution model and centroid propogation
-
- The diagram on the next page illustrates how a mesh of index servers
- might be created for a set of whois++ servers. Although it looks like
- a hierarchy, the protocols allow (for example) server A to be indexed
- by both server D and by server H.
-
- whois++ index index
- servers servers servers
- for for
- whois++ lower-level
- servers index servers
- _______
- | |
- | A |__
- |_______| \ _______
- \----------| |
- _______ | D |__ ______
- | | /----------|_______| \ | |
- | B |__/ \----------| |
- |_______| | F |
- /----------|______|
- /
- _______ _______ /
- | | | |-
- | C |--------------| E |
- |_______| |_______|-
- \
- \
- _______ \ ______
- | | \----------| |
- | G |--------------------------------------| H |
- |_______| |______|
-
- Figure 1: Sample layout of the Index Service mesh
-
- In the portion of the index tree shown above, whois++ servers A and B
- hand their centroids up to index server D, whois++ server C hands its
- centroid up to index server E, and index servers D and E hand their
- centroids up to index server F. Servers E and G also hand their
- centroids up to H.
-
- The number of levels of index servers, and the number of index
- servers at each level, will depend on the number of whois++ servers
- deployed, and the response time of individual layers of the server
- tree. These numbers will have to be determined in the field.
-
-
-
- Weider, et al Standards Track [Page 6]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- 5.3.3. Centroid propogation and changes to centroids
-
- Centroid propogation is initiated by an authenticated POLL command
- (sec. 5.2). The format of the POLL command allows the poller to
- request the centroid of any or all templates and attributes held by
- the polled server. After the polled server has authenticated the
- poller, it determines which of the requested centroids the poller is
- allowed to request, and then issues a CENTROID-CHANGES report (sec.
- 5.3) to transmit the data. When the poller receives the CENTROID-
- CHANGES report, it can authenticate the pollee to determine whether
- to add the centroid changes to its data. Additionally, if a given
- pollee knows what pollers hold centroids from the pollee, it can
- signal to those pollers the fact that its centroid has changed by
- issuing a DATA-CHANGED command. The poller can then determine if and
- when to issue a new POLL request to get the updated information. The
- DATA-CHANGED command is included in this protocol to allow
- 'interactive' updating of critical information.
-
- 5.3.4. Centroid propogation and mesh traversal
-
- When an index server issues a POLL request, it may indicate to the
- polled server what relationship it has to the polled. This
- information can be used to help traverse the directory mesh. Two
- fields are specified in the current proposal to transmit the
- relationship information, although it is expected that richer
- relationship information will be shared in future revisions of this
- protocol.
-
- One field used for this information is the Hierarchy field, and can
- take on three values. The first is 'topology', which indicates that
- the indexing server is at a higher level in the network topology
- (e.g. indexes the whole regional ISP). The second is 'geographical',
- which indicates that the polling server covers a geographical area
- subsuming the pollee. The third is 'administrative', which indicates
- that the indexing server covers an administrative domain subsuming
- the pollee.
-
- The second field used for this information is the Description field,
- which contains the DESCRIBE record of the polling server. This allows
- users to obtain richer metainformation for the directory mesh,
- enabling them to expand queries more effectively.
-
- 5.3.5. Query handling and passing algorithms
-
- When an index server receives a query, it searches its collection of
- centroids and determines which servers hold records which may fill
- that query. As whois++ becomes widely deployed, it is expected that
- some index servers may specialize in indexing certain whois++
-
-
-
- Weider, et al Standards Track [Page 7]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- templates or perhaps even certain fields within those templates. If
- an index server obtains a match with the query "for those template
- fields and attributes the server indexes", it is to be considered a
- match for the purpose of forwarding the query.
-
- 5.3.5.1. Query referral
-
- Query referral is the process of informing a client which servers to
- contact next to resolve a query. The syntax for notifying a client
- is outlined in section 5.5.
-
- 5.3.6 Loop control
-
- Since there are no a priori restrictions on which servers may poll
- which other servers, and since a given server may participate in many
- sub-meshes, mechanisms must be installed to allow the detection of
- cycles in the polling relationships. This is accomplished in the
- current protocol by including a hop-count on polling relationships.
- Each time a polled server generates forward information, it informs
- the polling server about its current hopcount, which is the maximum
- of the hopcounts of all the servers it polls, plus 1. A base level
- server (one which polls no other servers) will have a hopcount of 0.
- When a server decides to poll a new server, if its hopcount goes up,
- then it must information all the other servers which poll it about
- its new hopcount. A maximum hopcount (8 in the current version) will
- help the servers detect polling loops.
-
- A second approach to loop detection is to do all the work in the
- client; which would determine which new referrals have already
- appeared in the referral list, and then simply iterate the referral
- process until there are no new servers to ask. An algorithm to
- accomplish this in WHOIS++ is detailed in [Faltstrom 95].
-
- 6. Syntax for operations of the Index Service:
-
- The syntax for each protocol componenet is listed below. In addition,
- each section contains a listing of which of these attributes is
- required and optional for each of the componenet. All timestamps must
- be in the format YYYYMMDDHHMM and in GMT.
-
- 6.1. Data changed syntax
-
- The data changed template look like this:
-
- # DATA-CHANGED
- Version-number: // version number of index service software, used to
- // insure compatibility. Current value is 1.0
- Time-of-latest-centroid-change: // time stamp of latest centroid
-
-
-
- Weider, et al Standards Track [Page 8]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- // change, GMT
- Time-of-message-generation: // time when this message was generated,
- // GMT
- Server-handle: // IANA unique identifier for this server
- Host-Name: // Host name of this server (current name)
- Host-Port: // Port number of this server (current port)
- Best-time-to-poll: // For heavily used servers, this will identify
- // when the server is likely to be lightly
- // loaded so that response to the poll will be
- //speedy, GMT
- Authentication-type: // Type of authentication used by server, or NONE
- Authentication-data: // data for authentication
- # END // This line must be used to terminate the data changed
- // message
-
- Required/optional table
-
- Version-Number REQUIRED
- Time-of-latest-centroid-change REQUIRED
- Time-of-message-generation REQUIRED
- Server-handle REQUIRED
- Host-Name REQUIRED
- Host-Port REQUIRED
- Best-time-to-poll OPTIONAL
- Authentication-type OPTIONAL
- Authentication-data OPTIONAL
-
- 6.2. Polling syntax
-
- # POLL:
- Version-number: // version number of poller's index software, used to
- // insure compatibility
- Type-of-poll: // type of forward data requested. CENTROID or QUERY
- // are the only one currently defined
- Poll-scope: // Selects bounds within which data will be returned.
- // See note.
- Start-time: // give me all the centroid changes starting at this
- // time, GMT
- End-time: // ending at this time, GMT
- Template: // a standard whois++ template name, or the keyword ALL,
- // for a full update.
- Field: // used to limit centroid update information to specific
- // fields, is either a specific field name, a list of field
- // names, or the keyword ALL
- Server-handle: // IANA unique identifier for the polling server.
- // this handle may optionally be cached by the polled
- // server to announce future changes
- Host-Name: // Host name of the polling server.
-
-
-
- Weider, et al Standards Track [Page 9]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- Host-Port: // Port number of the polling server.
- Hierarchy: // This field indicates the relationship which the poller
- // bears to the pollee. Typical values might include
- // 'Topology', 'Geographical", or "Administrative"
- Description: // This field contains the DESCRIBE record of the
- // polling server
- Authentication-type: // Type of authentication used by poller, or NONE
- Authentication-data: // Data for authentication
- # END // This line must by used to terminate the poll message
-
- Note: For poll type CENTROID, the allowable values for Poll Scope are
- FULL and RELATIVE. Support of the FULL value is required, this
- provides a complete listing of the centroid or other forward
- information. RELATIVE indicates that these are the relative changes
- in the centroid since the last report to the polling server.
-
- For poll type QUERY, the allowable values for Poll Scope are a blank
- line, which indicates that all records are to be returned, or a valid
- WHOIS++ query, which indicates that just those records which satisfy
- the query are to be returned. N.B. Security considerations may
- require additional authentication for successful response to the
- Blank Line Poll Scope. This value has been included for server
- replication.
-
- A polling server may wish to index different types of information
- than the polled server has collected. The POLLED-FOR command will
- indicate which servers the polled server has contacted.
-
- Required/Optional Table
-
- Version-Number REQUIRED, value is 1.0
- Type-Of-Poll REQUIRED, values CENTROID and QUERY are required
- Poll-scope REQUIRED If Type-of-poll is CENTROID, FULL is required,
- RELATIVE is optional
- If Type-of-poll is QUERY, Blank line is
- required, and WHOIS++-type queries are
- required
- Start-time OPTIONAL
- End-Time OPTIONAL
- Template REQUIRED
- Field REQUIRED
- Server-handle REQUIRED
- Host-Name REQUIRED
- Host-Port REQUIRED
- Hierarchy OPTIONAL
- Description OPTIONAL
- Authentication-Type: OPTIONAL
- Authentication-data: OPTIONAL
-
-
-
- Weider, et al Standards Track [Page 10]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- Example of a POLL command:
- # POLL:
- Version-number: 1.0
- Type-of-poll: CENTROID
- Poll-scope: FULL
- Start-time: 199501281030+0100
- Template: ALL
- Field: ALL
- Server-handle: BUNYIP01
- Host-Name: services.bunyip.com
- Host-Port: 7070
- Hierarchy: Geographical
- # END
-
- 6.3. Centroid change report
-
- As the centroid change report contains nested multiply-occuring
- blocks, each multiply occurring block is surrounded *in this paper*
- by curly braces '{', '}'. These curly braces are NOT part of the
- syntax, they are for identification purposes only.
-
- The syntax of a Data: item is either a list of words, one word per
- line, or the keyword:
-
- ANY
-
- The keyword ANY as the only item of a Data: list means that any value
- for this field should be treated as a hit by the indexing server.
-
- The field Any-field: needs more explanation than can be given in the
- body of the syntax description below. It can take two values, True or
- False. If the value is True, the pollee is indicating that there are
- fields in this template which are not being exported to the polling
- server, but wishes to treat as a hit. Thus, when the polling server
- gets a query which has a term requesting a field not in this list for
- this template, the polling server will treat that term as a 'hit'.
- If the value is False, the pollee is indicating that there are no
- other fields for this template which should be treated as a hit. This
- field is required because the basic model for the WHOIS++ query
- syntax requires that the results of each search term be 'and'ed
- together. This field allows polled servers to export data only for
- non-sensitive fields, yet still get referrals of queries which
- contain sensitive terms.
-
- IMPORTANT: The data listed in the centroid must be in the ISO-8859-1
- character set in this version of the indexing protocol. Use of any
- other character set is a violation of the protocol. Note that the
- base-level server is also specified to use ISO-8859-1 [Deutsch, et
-
-
-
- Weider, et al Standards Track [Page 11]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- al, 1995].
-
- # CENTROID-CHANGES
- Version-number: // version number of pollee's index software, used to
- // insure compatibility
- Start-time: // change list starting time, GMT
- End-time: // change list ending time, GMT
- Server-handle: // IANA unique identifier of the responding server
- Case-sensitive: // states whether data is case sensitive or case
- // insensitive. values are TRUE or FALSE
- Authentication-type: // Type of authentication used by pollee, or NONE
- Authentication-data: // Data for authentication
- Compression-type: // Type of compression used on the data, or NONE
- Size-of-compressed-data: // size of compressed data if compression
- // is used
- Operation: // One of 3 keywords: ADD, DELETE, FULL
- // ADD - add these entries to the centroid for this server
- // DELETE - delete these entries from the centroid of this
- // server
- // FULL - the full centroid as of end-time follows
- { // The multiply occurring template block starts here
- # BEGIN TEMPLATE
- Template: // a standard whois++ template name
- Any-field: // TRUE or FALSE. See beginning of 6.3 for explanation.
- { // the template contains multiple field blocks
- # BEGIN FIELD
- Field: // a field name within that template
- Data: // Either the keyword *ANY*, or
- // the word list itself, one per line, cr/lf terminated,
- // each line starting with a dash character ('-').
- # END FIELD
- } // the field ends with END FIELD
- # END TEMPLATE
- } // the template block ends with END TEMPLATE
- # END CENTROID-CHANGES // This line must be used to terminate the
- // centroid change report
-
- For each template, all fields must be listed, or queries will not be
- referred correctly.
-
- Required/Optional table
-
- Version-number REQUIRED, value is 1.0
- Start-time REQUIRED (even if the centroid type is FULL)
- End-time REQUIRED (even if the centroid type is FULL)
- Server-handle REQUIRED
- Case-Sensitive OPTIONAL
- Authentication-Type OPTIONAL
-
-
-
- Weider, et al Standards Track [Page 12]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- Authentication-Data OPTIONAL
- Compression-type OPTIONAL
- Size-of-compressed-data OPTIONAL (even if compression is used)
- Operation OPTIONAL, if used, upport for all three values is required
- Tokenization-type OPTIONAL
- #BEGIN TEMPLATE REQUIRED
- Template REQUIRED
- Any-field REQUIRED
- #BEGIN FIELD REQUIRED
- Field REQUIRED
- Data REQUIRED
- #END FIELD REQUIRED
- #END TEMPLATE REQUIRED
- #END CENTROID-CHANGES REQUIRED
-
- Example:
-
- # CENTROID-CHANGES
- Version-number: 1.0
- Start-time: 197001010000
- End-time: 199503012336
- Server-handle: BUNYIP01
- # BEGIN TEMPLATE
- Template: USER
- Any-field: TRUE
- # BEGIN FIELD
- Field: Name
- Data: Patrik
- -Faltstrom
- -Malin
- -Linnerborg
- #END FIELD
- #BEGIN FIELD
- Field: Email
- Data: paf@bunyip.com
- -malin.linnerborg@paf.se
- # END FIELD
- # END TEMPLATE
- # END CENTROID-CHANGES
-
- 6.4 QUERY and POLLEES responses
-
- The response to a QUERY command is done in WHOIS++ format.
-
-
-
-
-
-
-
-
- Weider, et al Standards Track [Page 13]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- 6.5. Query referral
-
- When referrals are included in the body of a response to a query,
- each referral is listed in a separate SERVER-TO-ASK block as shown
- below.
-
- # SERVER-TO-ASK
- Version-number: // version number of index software, used to insure
- // compatibility
- Body-of-Query: // the original query goes here
- Server-Handle: // WHOIS++ handle of the referred server
- Host-Name: // DNS name or IP address of the referred server
- Port-Number: // Port number to which to connect, if different from the
- // WHOIS++ port number
-
- # END
-
- Required/Optional table
-
- Version-number REQUIRED, value should be 1.0
- Body-of-query OPTIONAL
- Server-Handle REQUIRED
- Host-Name REQUIRED
- Port-Number OPTIONAL, must be used if different from port 63
-
- Example:
-
- # SERVER-TO-ASK
- Version-Number: 1.0
- Server-Handle: SUNETSE01
- Host-Name: sunic.sunet.se
- Port-Number: 63
- # END
-
- 7: Reply Codes
-
- In addition to the reply codes listed in [Deutsch 95] for the basic
- WHOIS++ client/server interaction, the following reply codes are used
- in version 1.0 of this protocol.
-
- 113 Requested method not available Unable to provide a requested
- compression method. Contacted
- server will send requested
- data in different format.
-
- 227 Update request acknowledged A DATA-CHANGED transmission
- has been accepted and logged
- for further action.
-
-
-
- Weider, et al Standards Track [Page 14]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- 503 Required attribute missing A REQUIRED attribute is
- missing in an interaction.
-
- 504 Desired server unreachable The desired server is
- unreachable.
-
- 505 Desired server unavailable The desired server fails to
- respond to requests, but host
- is still reachable.
-
- 8. References
-
- [Deutsch 95] Deutsch, et al., "Architecture of the WHOIS++ service",
- RFC 1835, August 1995.
-
-
- [Faltstrom 95] Faltstrom, P., et al., "How to Interact with a WHOIS++
- Mesh, RFC 1914, February 1996.
-
- 9. Security Considerations
-
- Security issues are not discussed in this memo.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Weider, et al Standards Track [Page 15]
-
- RFC 1913 Architecture of the Whois++ Index Service February 1996
-
-
- 10. Authors' Addresses
-
- Chris Weider
- Bunyip Information Systems, Inc.
- 310 St. Catherine St. West
- Montreal, PQ H2X 2A1
- CANADA
-
- Phone: +1-514-875-8611
- Fax: +1-514-875-6134
- EMail: clw@bunyip.com
-
-
- Jim Fullton
- MCNC Center for Communications
- Post Office Box 12889
- 3021 Cornwallis Road
- Research Triangle Park
- North Carolina 27709-2889
-
- Phone: 410-795-5422
- Fax: 410-795-5422
- EMail: fullton@cnidr.org
-
-
- Simon Spero
- EMail: ses@eit.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Weider, et al Standards Track [Page 16]
-
-