Does it matter which way you plug in your home networking device? Can you use multiple Internet connections? Or add any number of devices?
Last week at the Atlanta IETF meeting, we tested new technology to help future home networks configure themselves automatically. In the spirit of IETF’s “running code” focus, the first two implementations of this technology started working together for the first time during the standards meeting on this topic.
The dream is that you can have any number of routers and hosts and connect them in any way you see fit. And the network comes alive automatically, all parts of the network shall have address space, routers shall know where to send packets, names shall resolve to addresses, and services throughout the network shall be ready to be discovered and used. And all this should happen without any human contact, when there is no Internet connectivity or when there is any number of connections to the Internet.
The simple case is easy when there is one router and network behind it. The necessary IPv4 NAT devices and IPv6 routers are well understood, but what about when you have many different networks and routers? Home networks often grow by adding new routers to reach additional areas in the house, for instance. And as home networking is starting to address various household objects and appliances, new types of networks have to be taken into use that often cannot be directly bridged with the existing Ethernet and Wireless LAN networks.
The HOMENET working group is trying to address these requirements by creating a solution that supports multiple routers, multiple subnets, automatic prefix-configuration, automatic routing, and across-the-home name resolution. The working group is currently designing the architecture. Various solutions exist as individual proposals. The group’s recommendations build on existing, widely deployed technologies such as router advertisements, routing protocols, DNS discovery, and DHCP prefix delegation. But these technologies have not always been turned on in typical home routers, and in some cases the technologies themselves need small extensions. For instance, routing protocols have not traditionally been entirely self-configuring, as they have been used in enterprise networks where network administrators can be trusted to configure the routers. In home networks, however, we expect that everything has to be fully automated.
At the IETF meeting, we organized an interop event that allowed Ericsson and Cisco to test two early implementations of this technology. We got support for the interop from the IP Smart Objects Alliance (IPSO) who gave us a room, the IETF who provided the network, and from Comcast who allowed the team to demonstrate at their “Bits-n-Bites” demo table.
The basic test was about having a set of home routers auto-configure themselves. This involves auto-configuring routing protocols, DNS configuration information, acquiring and assigning IPv6 address space for all networks, and determining correct routing paths in the network. More advanced functionality included the ability to employ multiple ISPs simultaneously in a multi-homing configuration and support for IPv4 routing instead of NATs.
The implementations are early and, as noted, it was during the meeting when the different implementations started interoperating for the first time. It was an interesting feeling to see a half dozen different routers be able to continue providing working Internet connectivity, even when someone kept randomly plugging in and out Ethernet cables between them. Automatic routing and configuration can be a powerful tool!
These tests are important for a number of reasons. An obvious reason is to test the software and find out if the are any remaining implementation bugs. It is usual to find some. For instance, we found a number of byte order problems that could only be demonstrated when different implementations work with each other. Another reason for running a test is to align the implementations so that common code points can be used for options and other parameters necessary in the protocols. But the tests are also an important opportunity to exchange new ideas and see how exciting new functionality can be built. Sometimes a basic communications capability opens up many new possibilities. In HOMENET, the ability of routers to communicate with each other and flood information through the network is not just useful in order to get the routing to work, it also holds promise for other things to come, be it the ability to set up a naming service, security, multihoming, or other advanced features.
Jari Arkko, Ericsson (email@example.com)
Markus Stenberg, Cisco (firstname.lastname@example.org)