Internet DRAFT - draft-ogud-appsawg-multiple-namespaces

draft-ogud-appsawg-multiple-namespaces







Network Working Group                                     O. Gudmundsson
Internet-Draft                                             Shinkuro Inc.
Intended status: Standards Track                       February 14, 2014
Expires: August 18, 2014


    Providing support for multiple namespaces to Internet protocols.
               draft-ogud-appsawg-multiple-namespaces-00

Abstract

   Over the years there have been various proposals as to use namespaces
   other than the DNS/IN namespace that is under ICANN administration.
   Some of these were simple DNS competitors others use different lookup
   technologies.  In addition it is hard to supply different character
   encodings to DNS as each application needs to provide the translation
   between the encoding used and the format expected by DNS.

   This draft proposes a new service layer to provide multiplexing of
   different namespaces into appropriate function calls.

Status of This Memo

   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 http://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 August 18, 2014.

Copyright Notice

   Copyright (c) 2014 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
   (http://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



Gudmundsson              Expires August 18, 2014                [Page 1]

Internet-Draft      Another way to use new namespaces      February 2014


   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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Not all Namespaces are equal  . . . . . . . . . . . . . . . .   3
   3.  Illustrative Examples . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Non DNS namespace . . . . . . . . . . . . . . . . . . . .   4
     3.2.  Different DNS class . . . . . . . . . . . . . . . . . . .   4
   4.  IANA considerations . . . . . . . . . . . . . . . . . . . . .   4
   5.  Security considerations . . . . . . . . . . . . . . . . . . .   5
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   5
   7.  Informative References  . . . . . . . . . . . . . . . . . . .   5
   Appendix A.  Document history . . . . . . . . . . . . . . . . . .   5
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Introduction

   Most of us assume that there exists only one namespace on the
   Internet, the DNS in class IN [RFC1034].  But in practice there are
   multiple, in addition there are IPv4 and IPv6 address spaces, the
   Bonjor/MDNS local net namespace.  Number of groups are proposing new
   namespaces that may or may not use DNS as underlying resolution
   protocol.

   The "state of the art" in identifying what namespace is used is by
   using a postfix on the domain name, for example "ogud.onion" is a
   lookup in a distributed hash table [GNU].  As identified in this
   draft ALT TLD [ALT], proposing that such new uses be placed in a
   "squatters TLD" called .alt there are many drawbacks to using what
   looks like a DNS name to express a different lookup mechanism.  One
   effect is the overhead of trying to locally stop queries to go to the
   internet[RFC6303] and special use registry exists[RFC6761].  Recently
   a draft [ReserveTLD] requested a number of allocations some of which
   are for namespaces that are not normal global DNS namespaces.

   A further side effect of trying to fit new namespaces into the DNS
   namespace via TLD name or other trailing names is that developers
   then try to extend the resolution functions on the host OS to support
   multiple lookup mehcanisms.

   This draft proposes a radical solution of placing a "Namespace
   Identifier" at the front of the name and relies on new software to
   perform multiplexing between the different namespace lookup



Gudmundsson              Expires August 18, 2014                [Page 2]

Internet-Draft      Another way to use new namespaces      February 2014


   mechanisms available on an host.  This technique allows the host
   itself to reject unsupported lookups rather than leak them to DNS
   resolvers, or to authoritative servers.  This is similar to URI but
   places an explicit namespace identifier on the "name".

   At this point this is call for discussion rather than an proposed
   solution, all examples in this document are for illustration only.
   It is easy to get into adversarial discussions on this topic thus the
   draft tries to be non-confrontational, if the draft fails at that the
   editor apologizes.

1.1.  Terminology

   None at this time.

2.  Not all Namespaces are equal

   Right now the Internet has two universal namespace (DNS in class IN)
   and IPv4 addresses.  There are number of minor namespaces in use such
   as .local for local networks, DNS class CHAOS for few applications.

   DNS class field has not been widely used due to perceived
   difficulties in setting up new set of root servers for each class and
   propagate the information to the clients.

   Using suffix TLD name on the other hand requires the hosts/
   applications/resolvers to know the suffix string and have the
   capability to resolve using the resolution process specified for that
   suffix.

   It is not hard to imagine namespaces that work quite differently from
   DNS such as by creating long lived connections to the "servers" or
   exchange information via "modern" encodings like Json [RFC4627].

   For these reasons it seems a better solution for multiple namespace
   existence to have OS's provide a Namespace Abstraction layer that
   applications call and each name space registers with the Abstraction
   layer the functions to use.

3.  Illustrative Examples

   The proposal for the "Meta-TLD" .gnu [GNU]specifies a distributed
   hash table to avoid centralized control of the namespace.  This
   resolution is nothing like the DNS resolution so trying to extend
   functions like gethostbyname() to support multiple different lookup
   techniques is likely to have adverse effects on the reliability of
   the base OS functions.




Gudmundsson              Expires August 18, 2014                [Page 3]

Internet-Draft      Another way to use new namespaces      February 2014


3.1.  Non DNS namespace

   For a new namespace MARGIR (Icelandic for many) names are expressed
   like this:

     https://MARGIR##ACDBU0OCABU0R1FEL7V75RQE1G2GSVQM
   application will call function
     ret = namepace_lookup( "MARGIR##ACDBU0OCABU0R1FEL7V75RQE1G2GSVQM",
                            TYPE_ADDR, &amp answer) ;


   If the function returns error code "do not understand name space" the
   application knows this is something it can not use, there is no leak
   of information from the host.  If the function returns success then
   the application can use the answer structure and proceed.

   Underneath the namespace_lookup() function there is are calls to
   various functions for each namespace, these functions are provided
   via libraries, and each namespace provides a binding to the standard
   calls such as:

    Margir = {
        TYPE_ADDR =  margir_lookup(A1, A2, &amp A3);
        TYPE_TXT  =  margir_lookup(A1, 888, &amp A3);
        ....
        }


3.2.  Different DNS class

   For a DNS lookups in a different class it is much easier to reuse the
   existing lookup functions but still a translation is useful.

           https://CLASS666##bad.lucifer.


   Translation table can be

    CLASS666 = {
        TYPE_ADDR =  gethostname(A1, CLASS_666, TYPE_A, &amp A3);
        TYPE_TXT  =  query_by_type(A1, CLASS_666, TYPE_TXT, &amp A3);
        ....
        }


4.  IANA considerations

   This document has no actions for IANA.



Gudmundsson              Expires August 18, 2014                [Page 4]

Internet-Draft      Another way to use new namespaces      February 2014


5.  Security considerations

   TBD.  If the proposed work goes forward there are many difficult
   security issues that need to be addressed, the exact security issues
   depends on the actual proposal.

6.  Acknowledgements

7.  Informative References

   [ALT]      Kumari, W. and A. Sullivan, "The ALT Special Use Top Level
              Domain", draft-wkumari-dnsop-alt-tld (work in progress),
              February 2014.

   [GNU]      Grothoff, C., Wachs, M., Wolf, H., and J. Applebaum,
              "Special-Use Domain Names of Peer-to-Peer Systems", draft-
              iesg-special-use-p2p-names (work in progress), December
              2013.

   [RFC1034]  Mockapetris, P., "Domain names - concepts and facilities",
              STD 13, RFC 1034, November 1987.

   [RFC4034]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "Resource Records for the DNS Security Extensions",
              RFC 4034, March 2005.

   [RFC4627]  Crockford, D., "The application/json Media Type for
              JavaScript Object Notation (JSON)", RFC 4627, July 2006.

   [RFC6303]  Andrews, M., "Locally Served DNS Zones", BCP 163, RFC
              6303, July 2011.

   [RFC6761]  Cheshire, S. and M. Krochmal, "Special-Use Domain Names",
              RFC 6761, February 2013.

   [ReserveTLD]
              Chapin, L. and M. McFadden, "Additional Reserved Top Level
              Domains", draft-chapin-additional-reserved-tlds (work in
              progress), January 2014.

Appendix A.  Document history

   [RFC Editor: Please remove this section before publication ]

   00 Initial version

Author's Address




Gudmundsson              Expires August 18, 2014                [Page 5]

Internet-Draft      Another way to use new namespaces      February 2014


   Olafur Gudmundsson
   Shinkuro Inc.
   4922 Fairmont Av, Suite 250
   Bethesda, MD  20814
   USA

   Email: ogud@ogud.com












































Gudmundsson              Expires August 18, 2014                [Page 6]