MILE Working Group | S. Banghart |
Internet-Draft | D. Waltermire |
Intended status: Informational | NIST |
Expires: September 6, 2018 | March 5, 2018 |
ROLIE Discovery Mechanism
draft-banghart-mile-rolie-discovery-00
This document specifies a mechanism that allows consistent discovery of ROLIE repositories. This discovery is extremely important for automated tools that cannot use out-of-band Service Document discovery. Any human operators are also able to use this mechanism to avoid relying on inconsistent human to human communication. This document updates the ROLIE core specification.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on September 6, 2018.
Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Discovery of a top-level resource is an important part of any RESTful service. In order to begin navigating the web of information available in ROLIE [RFC8322], a client must first locate the Service Document. Without a well-defined discovery mechanism, clients must use out-of-band methods to locate the Service Document, such as crawling a web page or directly contacting website administrators.
The following goals are laid out for this mechanism:
In order to meet these goals , this document updates ROLIE to require the implementation of DNS-Based Service Discovery (DNS-SD) [RFC6763].
DNS-SD provides a standardized mechanism built on top of existing DNS processes that would allow for ROLIE clients to automatically discover ROLIE services provided on a domain. DNS-SD is relatively simple to understand and implement, and as it only uses existing fields in DNS Zone Files, does not require any additional implementation work by the DNS server.
The rest of the document assumes that the reader has a basic understanding of both DNS-SD, and traditional DNS configuration, including zone files.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
Needed? Todo.
A ROLIE service MUST be registered to the relevant DNS Server using the conventions and requirements laid out in DNS-SD ([RFC6763].
A ROLIE service MUST use the service name "rolie" as registered to the Service Names and Port Numbers registry.
TODO: Define a standarized composite service name (i.e. _rolie_https._tcp)
This document registers a new entry in the Service Name and Port Number Registry at <https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml>. The registration request is as follows:
+--------------------+-----------------------------+ | Service Name | rolie | | Transport Protocol | tcp | | Assignee | Stephen Banghart | | | <stephen.banghart@nist.gov> | | Contact | Stephen Banghart | | | <stephen.banghart@nist.gov> | | Description | Resource-Oriented | | | Lightweight Information | | | Exchange (ROLIE) | | Reference | This document, RFC8322 | | Port Number | (Intentionally Blank) | +--------------------+-----------------------------+
Todo.
Todo.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC6763] | Cheshire, S. and M. Krochmal, "DNS-Based Service Discovery", RFC 6763, DOI 10.17487/RFC6763, February 2013. |
[RFC8174] | Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017. |
[RFC8322] | Field, J., Banghart, S. and D. Waltermire, "Resource-Oriented Lightweight Information Exchange (ROLIE)", RFC 8322, DOI 10.17487/RFC8322, February 2018. |
In this section we will provide a nominal zone file that provides DNS-SD for ROLIE and explain the various important pieces.
$ORIGIN example.com. @ IN SOA example.com. unused-email ( 2017030300 ; serial 3600 ; refresh 1800 ; retry 604800 ; expire 600 ) ; ttl @ IN NS example.com. _dns-update._udp IN SRV 0 0 53 example.com. b._dns-sd._udp IN PTR @ ; "b" = browse domain lb._dns-sd._udp IN PTR @ ; "lb" = legacy browse domain (include domain in empty-string browses) r._dns-sd._udp IN PTR @ ; "r" = registration domain _rolie_https._tcp PTR MyRolieService._rolie_https._tcp MyRolieService._rolie_https._tcp SRV 0 0 227 rolie.example.com. TXT path=/rolie
TODO: Explain each section. Correct example zone file to match current implementation.