INTERNET DRAFT Weibin Zhao draft-zhao-slp-remote-da-discovery-03.txt Henning Schulzrinne March 25, 2002 Columbia University Expires: September 25, 2002 Chatschik Bisdikian William Jerome IBM The SLP Service and Remote Discovery in SLP Status of This Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Copyright Notice Copyright (C) The Internet Society (2002). All Rights Reserved. Abstract This document describes remote discovery in the Service Location Protocol (SLP) via DNS SRV. It defines the "service:slp" template and the name of DNS SRV RR for the SLP service, describes the usage of Gateway Directory Agents, and gives the steps for a User Agent to discover desired services in a remote DNS domain. Zhao, et al. Expires: September 25, 2002 [Page 1] Internet Draft SLP Remote Discovery March 25, 2002 1. Introduction The Service Location Protocol (SLP [1]) provides a lightweight mechanism for service discovery within one administrative domain. In addition to the local domain, SLP can be used to discover desired services in specific remote DNS domains. The key issue for remote discovery in SLP is to enable a User Agent (UA) to learn about remote Directory Agents (DAs) or/and remote Service Agents (SAs) without relying on multicast. As a mechanism to map a specific service in a given DNS domain to a list of server names, DNS SRV [2] provides a convenient way for a UA to discover the SLP service in a remote DNS domain. The SLP service has a service type of "service:slp" (defined in section 2), and is provided by SAs and DAs. A simple way to map the SLP service is to list SAs or/and DAs (if DAs are deployed) as DNS SRV RRs. However, this simple approach has two limitations: (1) a remote UA needs to guess that each server listed in DNS SRV is a DA or SA (see section 5); (2) a remote UA needs to go through the server list in DNS SRV to discover all scopes. A more efficient and scalable way to support remote discovery in SLP is to deploy Gateway DAs (GDAs), and list GDAs as DNS SRV RRs. This document defines the "service:slp" template and the name of DNS SRV RR for the SLP service, describes the usage of GDAs, and gives the steps for a UA to discover desired services in a remote DNS domain. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted according to RFC 2119 [3]. 2. The "service:slp" Template The "service:slp" template defines the attributes associated with the SLP service. Please refer to RFC 2609 [4] for detailed explanation of the syntax. Name of submitters: Weibin Zhao Henning Schulzrinne Language of service template: en (English) Security Considerations: Standard SLP authentication SHOULD be used to protect valuable SLP server and scope information. Template Text: Zhao, et al. Expires: September 25, 2002 [Page 2] Internet Draft SLP Remote Discovery March 25, 2002 ----------------------template begins here----------------------- template-type = slp template-version = 1.0 template-description = This template is designed to enable a UA to discover the information (URL, server-type, and scope) about of all remote accessible SLP server agents (DAs and SAs) in a domain by sending a unicast SrvRqst with service type as "service:slp" to a Gateway DA. template-url-syntax = ; No additional URL information is required. An example service ; URL for the SLP service is: service:slp://myda.mydomain:427 slp-server-type = STRING L DA # The type of the server that provides the SLP service DA,SA slp-scope = STRING M L # The serving scopes of this server -----------------------template ends here------------------------ 3. The DNS SRV RR for the SLP service The name of DNS SRV RR for the SLP service has the following format: _slp._. where is either "tcp" or "udp", and is a domain name (such as example.com). Note that "slp" is the symbolic name for the SLP service in Assigned Numbers [5], as required by RFC 2782 [2]. For instance, if a UA makes a standard DNS query [6] for SRV RRs of the SLP service using the name: _slp._tcp.example.com or _slp._udp.example.com then the UA will receive a list of SRV RRs (which matches the query) from a DNS reply, such as _slp._tcp.example.com IN SRV 0 0 427 da1.example.com _slp._tcp.example.com IN SRV 0 0 427 da2.example.com Zhao, et al. Expires: September 25, 2002 [Page 3] Internet Draft SLP Remote Discovery March 25, 2002 or _slp._udp.example.com IN SRV 0 0 427 da1.example.com _slp._udp.example.com IN SRV 0 0 427 da2.example.com 4. Gateway DA A GDA carries the "slp-gateway" attribute keyword in its DAAdvert, and maintains the information (URL, server-type, and scope) about all remote accessible DAs and SAs in its domain using the "service:slp" template. By default, a GDA SHOULD be statically configured only since the administrator normally needs to decide which DAs and SAs should be accessible from remote UAs. In general, a domain may just want part of its DAs and SAs to be remote accessible. The administrator can manually configure a GDA using serialized registration files, and update "service:slp" registrations at a GDA using SrvReg and SrvDeReg messages. Note that a GDA MAY be configured to periodically perform active DA and SA discovery (when multicast is available) to gather information about DAs and SAs in its domain. However, this feature MUST be used with caution because a GDA configured in this way may expose the information of all DAs and SAs in its domain to anyone over the Internet. A UA can identify a GDA by the "slp-gateway" attribute keyword in its DAAdvert. Thus, a UA can send a SrvRqst with service type as "service:slp" and with the Attribute List Extension [7] to a GDA to retrieve information about all remote accessible DAs and SAs in the GDA's domain. If the UA just wants to discover DAs (or SAs), it needs to use the predicate "slp-server-type=DA" (or "slp-server-type=SA") in the SrvRqst message. The deployment of GDAs in a domain is optional. But for a domain that supports remote discovery in SLP, the deployment of GDAs is recommended since it provides an efficient way for a remote UA to discover the type and scope of all remote accessible SLP server agents (DAs and SAs) using a single SrvRqst unicast to a GDA instead of a multi-round of message exchanges with all those SLP server agents. 5. Steps for Remote Discovery in SLP Assume that all services in a DNS domain D are maintained by SLP, and D uses DNS SRV to map its SLP service. The steps for a remote client C to discover desired services in D are as follows. Zhao, et al. Expires: September 25, 2002 [Page 4] Internet Draft SLP Remote Discovery March 25, 2002 (1) C makes a DNS query for SRV RRs of the SLP service in D, and gets an SLP server list L from a DNS reply. (2) C selects a server Z from L based on the metric information returned from the DNS SRV RRs as per RFC 2782 [2]. (3) C sends a "service:directory-agent" SrvRqst to Z to solicit Z's DAAdvert, If Z replies with a DAAdvert to C then Z is a DA If Z's DAAdvert includes the "slp-gateway" attribute keyword then Z is a GDA C sends a "service:slp" SrvRqst with the Attribute List Extension to Z to obtain information about all DAs and SAs in D. else Z is a regular DA else Z is an SA C sends a "service:service-agent" SrvRqst to Z to solicit Z's SAAdvert. (4) After finding out the URLs and scopes of DAs and SAs in D, C can query these remote DAs or SAs via unicast to discover desired services. 6. Security Considerations To enable remote discovery in SLP, the local domain information is exposed to external users. Thus, standard SLP authentication SHOULD be used to protect valuable service information. There is a risk that any SA could advertise any service on a generally accessible DA. Such a DA SHOULD reject all registrations that cannot be authenticated. The security considerations for DNS SRV [2] apply to this document. 7. Acknowledgments Erik Guttman reviewed the whole document in detail and gave many valuable comments. Kevin Arnold also provided good suggestions. Zhao, et al. Expires: September 25, 2002 [Page 5] Internet Draft SLP Remote Discovery March 25, 2002 8. References [1] E. Guttman, C. Perkins, J. Veizades and M. Day, "Service location protocol, version 2", RFC 2608, June 1999. [2] A. Gulbrandsen, P. Vixie and L. Esibov, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2782, February 2000. [3] S. Bradner, "Key words for use in RFCs to indicate requirement levels", BCP 14, RFC 2119, March 1997. [4] E. Guttman, C. Perkins and J. Kempf, "Service Templates and Service: Schemes", RFC 2609, June, 1999. [5] J. Reynolds and J. Postel, "Assigned Numbers", STD 2, RFC 1700, October 1994. [6] P. Mockapetris, "Domain Names - Concepts and Facilities", STD 13, RFC 1034, November 1987. [7] E. Guttman, "Attribute List Extension for the Service Location Protocol", RFC 3059, February 2001. 9. Authors' Addresses Weibin Zhao Henning Schulzrinne Department of Computer Science Columbia University 1214 Amsterdam Avenue, MC 0401 New York, NY 10027-7003 Email: {zwb,hgs}@cs.columbia.edu Chatschik Bisdikian William F. Jerome IBM T. J. Watson Research Center P.O.Box 218 Yorktown Heights, NY 10598-0218 Email: {bisdik,wfj}@us.ibm.com 10. Full Copyright Statement Copyright (C) The Internet Society (2002). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any Zhao, et al. Expires: September 25, 2002 [Page 6] Internet Draft SLP Remote Discovery March 25, 2002 kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Zhao, et al. Expires: September 25, 2002 [Page 7]