Internet DRAFT - draft-lemon-homenet-review
draft-lemon-homenet-review
Network Working Group T. Lemon
Internet-Draft Nibbhaya Consulting
Intended status: Informational March 11, 2019
Expires: September 12, 2019
Homenet vs. the Market: Gap Analysis
draft-lemon-homenet-review-00
Abstract
This document discusses the homenet problem space and tries to
compare what we have both with what the market is now providing, and
also with what we need.
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."
This Internet-Draft will expire on September 12, 2019.
Copyright Notice
Copyright (c) 2019 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.
Lemon Expires September 12, 2019 [Page 1]
Internet-Draft Homenet Review March 2019
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Finding the Gaps . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Connectivity between hosts on the homenet . . . . . . . . 4
2.2. Connectivity from hosts on the homenet to hosts on the
internet (single egress) . . . . . . . . . . . . . . . . 5
2.3. Connectivity from hosts on the internet to hosts on the
homenet . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4. Support for multi-homing (more than one egress) . . . . . 5
2.5. Service discovery . . . . . . . . . . . . . . . . . . . . 6
2.6. Roaming between APs . . . . . . . . . . . . . . . . . . . 6
2.7. IPv4 Connectivity within the home . . . . . . . . . . . . 6
2.8. Connectivity from hosts on IoT leaf networks to hosts on
the internet . . . . . . . . . . . . . . . . . . . . . . 6
2.9. Connectivity from hosts on the Internet to hosts on IoT
leaf networks . . . . . . . . . . . . . . . . . . . . . . 7
2.10. Connectivity between hosts on the same IoT leaf network . 7
2.11. Connectivity between hosts on different IoT leaf networks
within the same home . . . . . . . . . . . . . . . . . . 7
2.12. Connectivity from hosts on the homenet to hosts on the
IoT network . . . . . . . . . . . . . . . . . . . . . . . 7
2.12.1. Connectivity from hosts on the IoT network to hosts
on the homenet . . . . . . . . . . . . . . . . . . . 7
2.13. Isolation between hosts that shouldn't be communicating
on the homenet . . . . . . . . . . . . . . . . . . . . . 8
3. Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
The Homenet working group has been developing a set of specifications
for some years with the goal of providing a self-configuring home
network with potentially multiple routers. Since Homenet began, the
market has changed significantly, and it is worth spending some time
looking at how it has changed and how that changes what, if anything,
the Homenet working group should be doing.
Homenet originally set out to provide for a multi-homed network with
a layer 3 routing topology that would isolate individual subnets in
the hope of better performance, while preserving end-to-end service
and allowing for service discovery throughout the home.
At the time, a typical home network either had a single router, or
several routers connected together with one or more layers of network
address translation. Each router provided an isolated "LAN" link,
connected to a "WAN" upstream. Service discovery was restricted to
Lemon Expires September 12, 2019 [Page 2]
Internet-Draft Homenet Review March 2019
individual LAN links. Some routers provided "air-to-air bridging" or
"Wi-Fi range extension" service.
In recent years, several competing technologies have shown up.
First, there are access points that provide a hub-and-spoke
infrastructure service. Each access point provides service, and
there is a single layer two with no layer three routing topology.
Either a single wired switch is used as an edge router, or one of the
access points acts as an edge router, bridging air-to-air to the
others.
A second technology that has gained market share is wifi mesh.
IEEE's 802.11s was not a success when it was initially introduced,
but private changes to 802.11s have allowed for deployment of layer
two mesh networks using Wi-Fi access points. This functions
similarly to infrastructure network, except that all traffic is sent
over the Wi-Fi mesh. As with Wi-Fi infrastructure routers, the
network appears to the host as a single layer two.
There are some significant advantages to the layer 2 approach.
First, it means that a host can roam from AP to AP without needing to
renumber. Second, at least in principle, service discovery can be
accomplished using multicast. Third, if there are multiple egress
routes, these can be presented to hosts using router advertisements,
allowing the hosts to choose between routes without any new protocol
infrastructure as is required by homenet.
What homenet provides is a layer three topology with a lot of new
protocol infrastructure. Roaming from one AP to another will always
result in renumbering, which means that the user experience will be
less than ideal. Service discovery is a solved problem at this
point, and in fact probably works better than multicast service
discovery on a large network.
However, by and large, homenets are a lot of work for not much
return. We don't have any field experience with them, so we don't
know what they look like in terms of customer support load, but it's
easy to conjecture that they will be orders of magnitude more
expensive to support than layer two mesh networks.
Looking at this from the perspective of the IETF, an SDO that deals
mostly with layer 3 and above, the question is, what value do we add,
or can we add? What should a home network look like? Is layer 2
actually the right solution? What gaps exist?
Lemon Expires September 12, 2019 [Page 3]
Internet-Draft Homenet Review March 2019
2. Finding the Gaps
If we look at the anatomy of a home network, there are some clear
problems that any home network needs to solve (or fails to solve):
o Connectivity between hosts on the home network
o Connectivity from hosts on the home network to hosts on the
Internet (single egress)
o Connectivity from hosts on the internet to hosts on the homenet
network
o Support for multi-homing (more than one egress)
o Service discovery
o Roaming between APs
o IPv4 Connectivity within the home
o IoT connectivity, specifically:
* Connectivity from hosts on IoT leaf networks to hosts on the
internet
* Connectivity from hosts on the internet to hosts on IoT leaf
networks
* Connectivity between hosts on the same IoT leaf network
* Connectivity between hosts on different IoT leaf networks
within the same home
* Connectivity from hosts on the homenet to hosts on the IoT
network
* Connectivity from hosts on the IoT network to hosts on the
homenet
o Isolation between hosts that shouldn't be communicating on the
homenet
If we consider each type of network, we can see how each of these
applies. In the sections below, we analyze each case.
2.1. Connectivity between hosts on the homenet
The problem here is twofold: there needs to be numbering, and there
needs to be routing. That is, every host on the homenet needs to
have a unique IP address, and every subnet has to be reachable--there
has to be a routing in both directions. Additionally, the numbering
has to be stable; if when the upstream ISP goes away, the prefix goes
away, that doesn't count. For the unique IP address:
Single NAT specified
Multi-NATted not specified
Flat layer 2 specified
Homenet specified, but optional for v4
For routing:
Lemon Expires September 12, 2019 [Page 4]
Internet-Draft Homenet Review March 2019
Single NAT not needed
Multi-NATted not specified, no workaround
Flat layer 2 not needed
Homenet specified
2.2. Connectivity from hosts on the homenet to hosts on the internet
(single egress)
In order for this to work, there just has to be a default route to
the internet. Since this is the most-needed use case, it's not
surprising that it works in all cases. "Specified" here is a bit
wrong for NAT, but the problem is sufficiently well-understood that
we can say there is a clear spec.
Single NAT specified
Multi-NATted specified
Flat layer 2 specified
Homenet specified
2.3. Connectivity from hosts on the internet to hosts on the homenet
This works in a variety of ways. If the host has a global IP address
and there is no firewall, or there is a hole in the firewall that was
set up manually or using PCP, then it's reachable. NATted hosts can
be reached if they are able to set up a port forward in the NAT
either manually or using PCP. Most home gateways will let you set up
a manual forward, but this is technically challenging. Support for
PCP is nearly nonexistent; in principle it's specified, and works
well, but in practice it's not available to most users. In all non-
NAT cases, IPv6 support works if it is supported on the router, but
only if there is no firewall, PCP is supported, or the user sets it
up manually.
Single NAT PCP or manual
Multi-NATted PCP or manual
Flat layer 2 PCP or manual
Homenet Specified; optional for v4
2.4. Support for multi-homing (more than one egress)
With NAT, multi-egress support is possible, but there is no standard
way of doing it, and this is not generally supported. Flat Layer 2
networks can support multi-homing with IPv6 simply by connecting more
than one egress router up to the layer 2 and having each one
advertise routes. For IPv4 it's just like the Single NAT case.
Single NAT not likely
Multi-NATted not likely
Lemon Expires September 12, 2019 [Page 5]
Internet-Draft Homenet Review March 2019
Flat layer 2 v6 only
Homenet specified, optional for v4
2.5. Service discovery
Service Discovery generally works on single links using multicast, so
whether it works depends on whether multicast works. Some routers
disable multicast because of its performance characteristics,
particularly in the flat layer 2 case. Ad hoc workarounds exist for
some use cases, and solutions are specified for homenet-like
environments. Service discovery protocols like UPnP work when
multicast works. While specifications do exist for multi-link UPnP,
it's a safe assumption that no home network routers implement them.
Single NAT DNS-SD, UPnP
Multi-NATted Not specified
Flat layer 2 DNS-SD, UPnP
Homenet DNS-SD is specified, but UPnP isn't
2.6. Roaming between APs
Single NAT Not specified, doesn't work
Multi-NATted Not specified, doesn't work
Flat layer 2 Specified
Homenet Specified, bad user experience
2.7. IPv4 Connectivity within the home
Single NAT Specified
Multi-NATted Specified
Flat layer 2 Specified
Homenet Specified, optional
2.8. Connectivity from hosts on IoT leaf networks to hosts on the
internet
In all of these cases, there is a specification for how an IoT
network can get routing using HNCP on a homenet, but as far as I know
there is no specification for an IoT gateway to translate from
compressed IP headers to regular IP headers.
Single NAT Double NAT
Multi-NATted Triple NAT
Flat layer 2 Double NAT
Homenet Specified (HNCP)
Lemon Expires September 12, 2019 [Page 6]
Internet-Draft Homenet Review March 2019
2.9. Connectivity from hosts on the Internet to hosts on IoT leaf
networks
Single NAT PCP
Multi-NATted PCP
Flat layer 2 PCP
Homenet specified (HNCP)
2.10. Connectivity between hosts on the same IoT leaf network
Single NAT works
Multi-NATted works
Flat layer 2 works
Homenet works
2.11. Connectivity between hosts on different IoT leaf networks within
the same home
Single NAT not specified
Multi-NATted not specified
Flat layer 2 not specified
Homenet specified (HNCP)
2.12. Connectivity from hosts on the homenet to hosts on the IoT
network
Single NAT not specified
Multi-NATted not specified
Flat layer 2 not specified
Homenet specified (HNCP)
2.12.1. Connectivity from hosts on the IoT network to hosts on the
homenet
In this case, it's possible for an IoT host to connect to a NAT host
if the IoT edge router does NAT, but in that case there is no
guarantee that there won't be an address conflict.
Single NAT not specified
Multi-NATted not specified
Flat layer 2 not specified
Homenet specified (HNCP)
Lemon Expires September 12, 2019 [Page 7]
Internet-Draft Homenet Review March 2019
2.13. Isolation between hosts that shouldn't be communicating on the
homenet
There are some devices that really shouldn't be able to connect to
everything on the network, and to which everything on the network
shouldn't be able to connect. This can be managed using MUD
profiles, at least in principle, but only if there is a way to
isolate the devices. It's common nowadays for people to set up
isolated IoT-only networks in the home, but this is of limited value,
and requires manual configuration. There is no reason in principle
why this type of isolation couldn't be done for homenets or for Flat
Layer 2 solutions. It can also be done in principle on legacy home
networks. But at present, how to do this automatically is an
unsolved or at best partially-solved problem.
Single NAT not specified
Multi-NATted not specified
Flat layer 2 not specified
Homenet not specified
3. Themes
One of the common themes here is that it's no surprise that Flat
Layer 2 networks are gaining in popularity. Things work better with
a flat layer 2 than with a multi-layer NAT, and even a single NAT is
too limited for a lot of use cases.
It seems to be the case that a lot of the work we have done in
Homenet is applicable to FL2 networks. HNCP and routing are useful
because they provide end-to-end connectivity to and between IoT leaf
networks. Even though an FL2 network can in principle support
multicast, the more L2 segments there are, the worse this scales. So
in practice, the solution's we've been working on for Homenet Naming
are likely applicable in the FL2 use case.
The bit about isolation of hosts may seem like a non-sequitur in this
analysis but I bring it up because I think it's applicable in two
ways. First, it's applicable to the multicast scaling problem. With
our DNS-SD solutions for homenet, we can specify a multicast-like
service discovery framework that works reliably, but doesn't spray
multicasts everywhere. And the problem of isolation of IoT nodes is
likely to be something that needs to be addressed; while it's not
specifically a homenet problem, my suspicion is that there is
interest here.
Lemon Expires September 12, 2019 [Page 8]
Internet-Draft Homenet Review March 2019
Author's Address
Ted Lemon
Nibbhaya Consulting
P.O. Box 958
Brattleboro, Vermont 05301
United States of America
Email: mellon@fugue.com
Lemon Expires September 12, 2019 [Page 9]