Internet DRAFT - draft-schaller-dnsop-lnp
draft-schaller-dnsop-lnp
lnp C. Schaller
Internet-Draft Schallsoft
Intended-Status: Elective February 11, 2019
Local Naming Protocol -- LNP (v.1.0)
draft-schaller-dnsop-lnp-00
Abstract
The Local (or Lightweight) Naming Protocol (LNP) is an application-
level protocol for local area networks. It is a distributed,
stateless protocol which intents in resolving hostnames to ip
addresses without the need of any Domain Name Server. In private
local area networks, ip addressses are often dynamically allocated
through DHCP. The LNP can be seen as a DNS extension, which uses
broadcast udp messages (similar to ARP on IP-MAC-level) to request
ip addresses for hosts with a given host- or domain-name. Thus it
will be possible in dynamic local area networks to access ip-based
services on hosts by their hostnames, without further management.
Comments are solicited and should be addressed to the working
group's mailing list at dnsop@ietf.org and/or the author(s).
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 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."
Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved.
Schaller Expires August 11, 2019 [Page 1]
Internet-Draft LNP (v.1.0) February 2019
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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Standalone LNP . . . . . . . . . . . . . . . . . . . . . 3
1.2. DNS extended LNP . . . . . . . . . . . . . . . . . . . . 3
2. Protocol version 1.0 . . . . . . . . . . . . . . . . . . . . 3
2.1. Wildcards . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Concurrent replies . . . . . . . . . . . . . . . . . . . 4
2.3. No host responding . . . . . . . . . . . . . . . . . . . 4
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
4. Security Considerations . . . . . . . . . . . . . . . . . . . 4
5. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5
1. Introduction
In private local area networks or wireless LANs, today mainly DHCP
[RFC2131] managed ip address allocation is used. Since the equip-
ment on the market does not ship with integrated DNS servers, which
update their records when hosts attach to or detach from the net-
work, there is less help for private users or user applications
trying to access devices services over ip addresses. Actually no
service is out of the box available for all operating systems.
Microsoft Windows ships with NetBios [RFC 1002], which allows name
based access, however first after activation of file-sharing.
Apples MacOS is delivered with bonjour [RFC 6763], which runs out
of the box. Linux and Unix systems can do both, however after
explicit installation setup. All those systems are able to use DNS
[RFC 1035] when connected to ip networks. So why not extend the
functionality of the distributed Domain Name System, which already
has the task to resolv hostnames to ip addresses.
Schaller Expires August 11, 2019 [Page 2]
Internet-Draft LNP (v.1.0) February 2019
1.1. Standalone LNP
The standalone implementation of LNP uses a UDP broadcast message to
query the ip address of a host. Therefore the message contains the
full qualified name of a host connected to the local network. All
receivers check if the requested hostname equals their own. Every
matching host then replies. In version 1.0 a replying host shall
append the ip-address, bound to the interface receiving the message,
as message data. The sender now has resolved the ip-address of his
well known communication partner and can in turn open tcp-streams
and communicate directly.
1.2. DNS extended LNP
Every networking software using sockets, that relies on name reso-
lution to determine destinations ip-address will probably use a sys-
tem call e.g. getHostByName() or getAddrInfo() to retrieve the ip-
address. When every standard DNS client would be able to provide
and use LNP, i.e. in case of no matching DNS record or hosts-file
entry found, then no software product has to be rewritten or up-
dated to be able to resolv hostnames in a dynamically allocated
local domain as well.
2. Protocol version 1.0
The protocol relies on two types of messages, a request and a reply
-message. Both messages contain two lines of human readable
character-data, which end with a line-feed. The first line describes
the protocol version used, i.e. "LNP v.1.0" and the second line
describes the exchanged information. The request-data shall be
interpreted as qualified domain name and therefore be compared by
any receiver with its own hostname. Every host, that matches iden-
tically should then immediateliy reply with one line of human-
readable character-data containing the desired ip-address of the
interface where the request message was received on. The version of
the ip-address used can be determined on either dotted-decimal-
notation (IPv4) or colon-separated-hex-values (IPv6) [draft-main-
ipaddr-text-rep-02]. The appended reply-data is just useful for user
interaction, i.e. using the protocol on a command line interface,
since the receiver of the reply gets the address information about
the replyer from ip-header in binary format as well.
Schaller Expires August 11, 2019 [Page 3]
Internet-Draft LNP (v.1.0) February 2019
2.1. Wildcards
Due to security reasons, in protocol version 1.0 no wildcards are
defined or accepted.
2.2. Concurrent replies
Is more than one host at a time using the same hostname in exactly
the same local network, there will be multiple replies when asking
for this hostname. Since it is not unique, this case must be re-
ported, either directly to the user or at least into systems log-
file. The protocol implementation 1.0 defines the following method.
The ip of the first reply will be returned with error code set to
NOT_UNIQUE. Further messages shall be discarded, i.e. the socket
is closed.
2.3. No host responding
A timeout shall be set in case of no reply. In this case no ip-
address can be returned and no statement can be made, except that
the target host is not existent or not responding. The timeout can
be chosen very short, since the broadcast domain is limited to the
local network.
3. IANA Considerations
There has to be a well known Port number for LNP. An assignment
request shall be made when this document gets accepted.
4. Security Considerations
Since there are no wildcards defined in protocol version 1.0, it is
not possible to query all hosts ip-addresses at once. Furthermore
the design of the protocol respects privacy, so that the name of the
desired host has to be known before a valid query result can be
achieved.
Schaller Expires August 11, 2019 [Page 4]
Internet-Draft LNP (v.1.0) February 2019
5. References
[RFC 1002] NetBIOS Working Group in the Defense Advanced
Research Projects Agency, Internet Activities Board,
End-to-End Services Task Force,"Protocol standard for a
NetBIOS service on a TCP/UDP transport: Detailed
specifications",DOI: 10.17487/RFC1002, March 1987,
<https://www.rfc-editor.org/rfc/rfc1002.txt>.
[RFC 1035] P.V. Mockapetris, "Domain names - implementation and
specification", DOI: 10.17487/RFC1035, November 1987,
<https://www.rfc-editor.org/rfc/rfc1035.txt>.
[RFC 2131] R. Droms, "Dynamic Host Configuration Protocol",
RFC 2131, DOI: 10.17487/RFC2131, March 1997,
<https://www.rfc-editor.org/rfc/rfc2131.txt>.
[RFC 6763] S. Cheshire, M. Krochmal, "DNS-Based Service Discovery",
DOI: 10.17487/RFC6763, February 2013,
<https://www.rfc-editor.org/rfc/rfc6763.txt>.
Author's Address
Christian Schaller
Schallsoft
Herderstrasse 13, 08525 Plauen
Germany
Phone: +49 3741 - 554 744
Email: christian.schaller@sprintmail.de
URI: http://www.schallsoft.de
Schaller Expires August 11, 2019 [Page 5]