📄 rfc2165.txt
字号:
Network Working Group J. VeizadesRequest for Comments: 2165 @Home NetworkCategory: Standards Track E. Guttman C. Perkins Sun Microsystems S. Kaplan June 1997 Service Location ProtocolStatus 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 . 12Veizades, 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 3210. Service Acknowledgement Message Format 3511. Service Deregister Message Format 3712. Attribute Request Message Format 3813. Attribute Reply Message Format 4014. Directory Agent Advertisement Message Format 4215. Directory Agents 43 15.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 43 15.2. Finding Directory Agents . . . . . . . . . . . . . . . . 4316. Scope Discovery and Use 45 16.1. Protected Scopes . . . . . . . . . . . . . . . . . . . . 4617. 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 . . . . . . . . . . . . . . 4918. Service Location Transactions 50 18.1. Service Location Connections . . . . . . . . . . . . . . 50 18.2. No Synchronous Assumption . . . . . . . . . . . . . . . . 51 18.3. Idempotency . . . . . . . . . . . . . . . . . . . . . . . 5119. Security Considerations 5120. 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 . . . . . . . . . . . . . 5521. Protocol Requirements 56 21.1. User Agent Requirements . . . . . . . . . . . . . . . . . 56 21.2. Service Agent Requirements . . . . . . . . . . . . . . . 58 21.3. Directory Agent Requirements . . . . . . . . . . . . . . 5922. Configurable Parameters and Default Values 61 22.1. Service Agent: Use Predefined Directory Agent(s) . . . . 62 22.2. Time Out Intervals . . . . . . . . . . . . . . . . . . . 63Veizades, et. al. Standards Track [Page 2]RFC 2165 Service Location Protocol June 199723. Non-configurable Parameters 6324. 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 691. 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 19972.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 that, in some circumstances, valid reasons may exist to ignore this item, but the full implications must be understood and carefully weighed before choosing a different course. Unexpected results may result otherwise. MAY This word, or the adjective "optional", means that this item is one of an allowed set of alternatives. An
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -