[core] CoAP Other Transports: DNS usage
Markus Becker <mab@comnets.uni-bremen.de> Fri, 05 April 2013 13:20 UTC
Return-Path: <mab@comnets.uni-bremen.de>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0B54421F9789 for <core@ietfa.amsl.com>; Fri, 5 Apr 2013 06:20:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, J_CHICKENPOX_23=0.6]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id myDNzNi9EI+8 for <core@ietfa.amsl.com>; Fri, 5 Apr 2013 06:20:43 -0700 (PDT)
Received: from bugs.comnets.uni-bremen.de (bugs.comnets.uni-bremen.de [IPv6:2001:638:708:1155::1]) by ietfa.amsl.com (Postfix) with ESMTP id DE12A21F978F for <core@ietf.org>; Fri, 5 Apr 2013 06:20:42 -0700 (PDT)
Received: from shelbyville.comnets.uni-bremen.de (shelbyville [10.10.155.50]) by bugs.comnets.uni-bremen.de (Postfix) with ESMTPS id 35FD9D41093; Fri, 5 Apr 2013 15:20:41 +0200 (CEST)
From: Markus Becker <mab@comnets.uni-bremen.de>
Organization: Comnets, University Bremen
To: core@ietf.org
Date: Fri, 05 Apr 2013 15:20:40 +0200
User-Agent: KMail/1.13.7 (Linux/3.7-trunk-686-pae; KDE/4.9.5; i686; ; )
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Message-Id: <201304051520.40375.mab@comnets.uni-bremen.de>
Cc: teemu.savolainen@nokia.com
Subject: [core] CoAP Other Transports: DNS usage
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/core>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Apr 2013 13:20:44 -0000
Hi, during the last IETF meeting draft-silverajan-core-coap-alternative-transports was discussed. The document among other things presents alternative ways of integrating different transports into the URI scheme compared to what is done in draft-becker-core-coap-sms-gprs. What I picked up (when listening remotely) was that there were opinions mostly for having the transport identifier in the scheme and some against it, and that it should be checked with the URI people. It was also pointed out that DNS could in some application cases be used. We (@ComNets) have discussed this for the use case we have in mind and came to the conclusion that it might work for us, but not in the general case. Nevertheless, we tried to figure out the way to use DNS for giving out several transport addresses. There are several options that could facilitate handing out different addresses, namely the following DNS resource record types: * TXT (RFC1035,RFC1464) * SRV (RFC2782) * NAPTR (RFC3403) * ISDN (RFC1183) * new DNS resource record type Let's assume the following DNS entries: =========== device1.example.com. IN A 192.0.2.1 device1.example.com. IN AAAA 2001:DB8::1 device2.example.com. IN A 192.0.2.2 device2.example.com. IN AAAA 2001:DB8::2 1.2.0.192.in-addr.arpa. IN PTR device1.example.com. 2.2.0.192.in-addr.arpa. IN PTR device2.example.com. 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.B.D.1.0.0.2.ip6.arpa. IN PTR device1.example.com. 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.B.D.1.0.0.2.ip6.arpa. IN PTR device2.example.com. # The entries might need to be dynamically updated for dynamic IPs. =========== So what whould the different RR types look like? =========== ; ISDN records: device1.example.com. IN ISDN 150862028003217 device2.example.com. IN ISDN 150862028003218 # Looks OK for SMS. Other transports would not fit in here. =========== ; SRV records: ; _service._proto.name TTL class SRV priority weight port target _coap._udp.device1.example.com. 86400 IN SRV 0 5 5683 device1.example.com. _coap._udp.device2.example.com. 86400 IN SRV 0 9 5683 device2.example.com. _coap._tel.device1.example.com. 86400 IN SRV 0 5 5683 device1.example.com. _coap._tel.device2.example.com. 86400 IN SRV 0 9 5683 device2.example.com. # How should SRV be used for SMS? service _tel allowed/registered? # Note: port does not make sense for _tel. =========== ; SRV + ISDN records: device1.tel.example.com. IN ISDN 150862028003217 _coap._tel.device1.example.com. 86400 IN SRV 0 5 5683 device1.tel.example.com. =========== ; NAPTR records: ; order pref flags service regexp $ORIGIN 4.3.2.1.5.5.5.0.0.8.1.e164.arpa. IN NAPTR 100 10 "U" "E2U+coap" "!^.*$!coap://device1.example.com!" . IN NAPTR 102 10 "U" "E2U+coap+tel" "!^.*$!tel:+18005551234!" . # NAPTR RR only solves E.164 to IP/URI. How could this be extended to other transports? # which service should be used for NAPTR? # "E2U+coap" # "E2U+coap+udp" # "E2U+coap+tel" # "E2U+coap+sms" # "E2U+coap+sms+tel" # "E2U+web+coap" # "E2U+sms+tel" reuse E2U+sms from RFC4355 =========== ; TXT records: possibly in RFC6763 DNS-SD format? device1.example.com IN TXT "\0x0dtransport=sms\0x10sms=+18005551234" =========== ; new DNS resource record type? =========== We would be interested in hearing what others think about the usage of DNS for storing other transports addresses and of the resource type usage laid out above. Markus P.S.: For your convenience here are the relevant RFC numbers. RFC1035: DOMAIN NAMES (TXT RR) RFC1464: Using the Domain Name System To Store Arbitrary String Attributes (TXT RR)TXT RFC1183: New DNS RR Definitions (ISDN RR) RFC2782: A DNS RR for specifying the location of services (DNS SRV RR) RFC3401 ff: Dynamic Delegation Discovery System (NAPTR RR: RFC 3403) RFC6118: Update of Legacy IANA Registrations of Enumservices RFC3966: The tel URI for Telephone Numbers RFC4355: IANA Registration for Enumservices email, fax, mms, ems, and sms RFC2916: E.164 number and DNS (Service E2U) RFC3761 obsoletes RFC2916: The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM) ------------------------------------------------ | Dipl.-Ing. Markus Becker | Communication Networks | TZI - Center for Computing Technologies | University Bremen | Germany ------------------------------------------------ | web: http://www.comnets.uni-bremen.de/~mab/ | mailto: mab@comnets.uni-bremen.de | telephone: +49 421 218 62379 | building: NW1 room: N2260 ------------------------------------------------
- [core] CoAP Other Transports: DNS usage Markus Becker