rfc2165.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,493 行 · 第 1/5 页

TXT
1,493
字号






Network Working Group                                       J. Veizades
Request for Comments: 2165                                @Home Network
Category: Standards Track                                    E. Guttman
                                                             C. Perkins
                                                       Sun Microsystems
                                                              S. Kaplan
                                                              June 1997

                       Service Location Protocol

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 Service Location Protocol provides a scalable framework for the
   discovery and selection of network services.  Using this protocol,
   computers using the Internet no longer need so much static
   configuration of network services for network based applications.
   This is especially important as computers become more portable, and
   users less tolerant or able to fulfill the demands of network system
   administration.

Table of Contents

 1. Introduction                                                       3
 2. Terminology                                                        3
     2.1. Notation Conventions  . . . . . . . . . . . . . . . . . .    5
     2.2. Service Information and Predicate Representation  . . . .    5
     2.3. Specification Language  . . . . . . . . . . . . . . . . .    6
 3. Protocol Overview                                                  6
     3.1. Protocol Transactions . . . . . . . . . . . . . . . . . .    7
     3.2. Schemes . . . . . . . . . . . . . . . . . . . . . . . . .    8
           3.2.1. The "service:" URL scheme . . . . . . . . . . . .    9
     3.3. Standard Attribute Definitions  . . . . . . . . . . . . .    9
     3.4. Naming Authority  . . . . . . . . . . . . . . . . . . . .   10
     3.5. Interpretation of Service Location Replies  . . . . . . .   10
     3.6. Use of TCP, UDP and Multicast in Service Location . . . .   10
           3.6.1. Multicast vs.  Broadcast  . . . . . . . . . . . .   11
           3.6.2. Service-Specific Multicast Address  . . . . . . .   11
     3.7. Service Location Scaling, and Multicast Operating Modes .   12





Veizades, et. al.           Standards Track                     [Page 1]

RFC 2165               Service Location Protocol               June 1997


 4. Service Location General Message Format                           14
     4.1. Use of Transaction IDs (XIDs) . . . . . . . . . . . . . .   15
     4.2. URL Entries . . . . . . . . . . . . . . . . . . . . . . .   16
     4.3. Authentication Blocks . . . . . . . . . . . . . . . . . .   17
     4.4. URL Entry Lifetime  . . . . . . . . . . . . . . . . . . .   19
 5. Service Request Message Format                                    19
     5.1. Service Request Usage . . . . . . . . . . . . . . . . . .   22
     5.2. Directory Agent Discovery Request . . . . . . . . . . . .   23
     5.3. Explanation of Terms of Predicate Grammar . . . . . . . .   24
     5.4. Service Request Predicate Grammar . . . . . . . . . . . .   26
     5.5. String Matching for Requests  . . . . . . . . . . . . . .   27
 6. Service Reply Message Format                                      28
 7. Service Type Request Message Format                               29
 8. Service Type Reply Message Format                                 31
 9. Service Registration Message Format                               32
10. Service Acknowledgement Message Format                            35
11. Service Deregister Message Format                                 37
12. Attribute Request Message Format                                  38
13. Attribute Reply Message Format                                    40
14. Directory Agent Advertisement Message Format                      42
15. Directory Agents                                                  43
    15.1. Introduction  . . . . . . . . . . . . . . . . . . . . . .   43
    15.2. Finding Directory Agents  . . . . . . . . . . . . . . . .   43
16. Scope Discovery and Use                                           45
    16.1. Protected Scopes  . . . . . . . . . . . . . . . . . . . .   46
17. Language and Character Encoding Issues                            47
    17.1. Character Encoding and String Issues  . . . . . . . . . .   48
          17.1.1. Substitution of Character Escape Sequences  . . .   49
    17.2. Language-Independent Strings  . . . . . . . . . . . . . .   49
18. Service Location Transactions                                     50
    18.1. Service Location Connections  . . . . . . . . . . . . . .   50
    18.2. No Synchronous Assumption . . . . . . . . . . . . . . . .   51
    18.3. Idempotency . . . . . . . . . . . . . . . . . . . . . . .   51
19. Security Considerations                                           51
20. String Formats used with Service Location Messages                52
    20.1. Previous Responders' Address Specification  . . . . . . .   53
    20.2. Formal Definition of the "service:" Scheme  . . . . . . .   53
          20.2.1. Service Type String . . . . . . . . . . . . . . .   54
    20.3. Attribute Information . . . . . . . . . . . . . . . . . .   54
    20.4. Address Specification in Service Location . . . . . . . .   55
    20.5. Attribute Value encoding rules  . . . . . . . . . . . . .   55
21. Protocol Requirements                                             56
    21.1. User Agent Requirements . . . . . . . . . . . . . . . . .   56
    21.2. Service Agent Requirements  . . . . . . . . . . . . . . .   58
    21.3. Directory Agent Requirements  . . . . . . . . . . . . . .   59
22. Configurable Parameters and Default Values                        61
    22.1. Service Agent:  Use Predefined Directory Agent(s) . . . .   62
    22.2. Time Out Intervals  . . . . . . . . . . . . . . . . . . .   63



Veizades, et. al.           Standards Track                     [Page 2]

RFC 2165               Service Location Protocol               June 1997


23. Non-configurable Parameters                                       63
24. Acknowledgments                                                   64
 A. Appendix:  Technical contents of ISO 639:1988 (E/F): "Code for
   the representation of names of languages"                          65
 B. SLP Certificates                                                  66
 C. Example of deploying SLP security using MD5 and RSA               68
 D. Example of use of SLP Certificates by mobile nodes                68
 E. Appendix:  For Further Reading                                    69

1. Introduction

   Traditionally, users find services by using the name of a network
   host (a human readable text string) which is an alias for a network
   address.  The Service Location Protocol eliminates the need for a
   user to know the name of a network host supporting a service.
   Rather, the user names the service and supplies a set of attributes
   which describe the service.  The Service Location Protocol allows the
   user to bind this description to the network address of the service.

   Service Location provides a dynamic configuration mechanism for
   applications in local area networks.  It is not a global resolution
   system for the entire Internet; rather it is intended to serve
   enterprise networks with shared services.  Applications are modeled
   as clients that need to find servers attached to the enterprise
   network at a possibly distant location.  For cases where there are
   many different clients and/or services available, the protocol is
   adapted to make use of nearby Directory Agents that offer a
   centralized repository for advertised services.

2. Terminology

      User Agent (UA)
                A process working on the user's behalf to acquire
                service attributes and configuration.  The User Agent
                retrieves service information from the Service Agents or
                Directory Agents.

      Service Agent (SA)
                A process working on the behalf of one or more services
                to advertise service attributes and configuration.

      Service Information
                A collection of attributes and configuration information
                associated with a single service.  The Service Agents
                advertise service information for a collection of
                service instances.





Veizades, et. al.           Standards Track                     [Page 3]

RFC 2165               Service Location Protocol               June 1997


      Service   The service is a process or system providing a facility
                to the network.  The service itself is accessed using a
                communication mechanism external to the the Service
                Location Protocol.

      Directory Agent (DA)
                A process which collects information from Service Agents
                to provide a single repository of service information in
                order to centralize it for efficient access by User
                Agents.  There can only be one DA present per given
                host.

      Service Type
                Each type of service has a unique Service Type string.
                The Service Type defines a template, called a "service
                scheme", including expected attributes, values and
                protocol behavior.

      Naming Authority
                The agency or group which catalogues given Service Types
                and Attributes.  The default Naming Authority is IANA,
                the Internet Assigned Numbers Authority.

      Keyword
                A string describing a characteristic of a service.

      Attribute
                A (class, value-list) pair of strings describing a
                characteristic of a service.  The value string may be
                interpreted as a boolean, integer or opaque value if it
                takes specific forms (see section 20.5).

      Predicate
                A boolean expression of attributes, relations and
                logical operators.  The predicate is used to find
                services which satisfy particular requirements.  See
                section 5.3.

      Alphanumeric
                A character within the range 'a' to 'z', 'A' to 'Z', or

      Scope     A collection of services that make up a logical group.
                See sections 3.7 and 16.








Veizades, et. al.           Standards Track                     [Page 4]

RFC 2165               Service Location Protocol               June 1997


      Site Network
                All the hosts accessible within the Agent's multicast
                radius, which defaults to a value appropriate for
                reaching all hosts within a site (see section 22).  If
                the site does not support multicast, the agent's site
                network is restricted to a single subnet.

      URL       A Universal Resource Locator - see [6].

      Address Specification
                This is the network layer protocol dependent mechanism
                for specifying an Agent.  For Internet systems this is
                part of a URL.

2.1. Notation Conventions

      CAPS   Strings which appear in all capital letters are protocol
             literal.  All string comparison is case insensitive,
             however, (see section 5.5).  Some strings are quoted in
             this document to indicate they should be used literally.
             Single characters inside apostrophes are included
             literally.

      <>     Values set off in this manner are fully described in
             section 20.  In general, all definitions of items in
             messages are described in section 20 or immediately
             following their first use.

      |  |
      \  \   Message layouts with this notation indicate a variable
      |  |   length field.

2.2. Service Information and Predicate Representation

   Service information is represented in a text format.  The goal is
   that the format be human readable and transmissible via email.  The
   location of network services is encoded as a Universal Resource
   Locator (URL) which is human readable.  Only the datagram headers are
   encoded in a form which is not human readable.  Strings used in the
   Service Location Protocol are NOT null-terminated.

   Predicates are expressed in a simple boolean notation using keywords,
   attributes, and logical connectives, as described in Section 5.4.

   The logical connectives and subexpressions are presented in prefix-
   order, so that the connective comes first and the expressions it
   operates on follow afterwards.




Veizades, et. al.           Standards Track                     [Page 5]

RFC 2165               Service Location Protocol               June 1997


2.3. Specification Language

   In this document, several words are used to signify the requirements
   of the specification [8].  These words are often capitalized.

      MUST       This word, or the adjective "required", means that
                 the definition is an absolute requirement of the
                 specification.

      MUST NOT   This phrase means that the definition is an absolute
                 prohibition of the specification.

      SHOULD     This word, or the adjective "recommended", means

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?