[homenet] Configuration must not be carried by the routing protocol
Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr> Tue, 25 June 2013 16:31 UTC
Return-Path: <jch@pps.univ-paris-diderot.fr>
X-Original-To: homenet@ietfa.amsl.com
Delivered-To: homenet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 08EE921F9CEB for <homenet@ietfa.amsl.com>; Tue, 25 Jun 2013 09:31:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.35
X-Spam-Level:
X-Spam-Status: No, score=0.35 tagged_above=-999 required=5 tests=[HELO_EQ_FR=0.35]
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 L2x3msxcjL+M for <homenet@ietfa.amsl.com>; Tue, 25 Jun 2013 09:31:16 -0700 (PDT)
Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) by ietfa.amsl.com (Postfix) with ESMTP id 0B24E21F9980 for <homenet@ietf.org>; Tue, 25 Jun 2013 09:30:46 -0700 (PDT)
Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/38117) with ESMTP id r5PGUjOT009485 for <homenet@ietf.org>; Tue, 25 Jun 2013 18:30:45 +0200
Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id CEF684F013 for <homenet@ietf.org>; Tue, 25 Jun 2013 18:30:45 +0200 (CEST)
X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr
Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id mE4mA-PhiJAO for <homenet@ietf.org>; Tue, 25 Jun 2013 18:30:43 +0200 (CEST)
Received: from pirx.pps.jussieu.fr (dra38-1-82-225-44-56.fbx.proxad.net [82.225.44.56]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 9F29E4F011 for <homenet@ietf.org>; Tue, 25 Jun 2013 18:30:43 +0200 (CEST)
Received: from localhost ([127.0.0.1] helo=pirx.pps.jussieu.fr) by pirx.pps.jussieu.fr with esmtp (Exim 4.80) (envelope-from <jch@pps.univ-paris-diderot.fr>) id 1UrW8j-0001BO-3j for homenet@ietf.org; Tue, 25 Jun 2013 18:30:45 +0200
Date: Tue, 25 Jun 2013 18:30:45 +0200
Message-ID: <878v1yqhje.wl%jch@pps.univ-paris-diderot.fr>
From: Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr>
To: "homenet@ietf.org Group" <homenet@ietf.org>
User-Agent: Wanderlust/2.15.9
MIME-Version: 1.0 (generated by SEMI 1.14.7 - "Harue")
Content-Type: text/plain; charset="US-ASCII"
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [194.254.61.138]); Tue, 25 Jun 2013 18:30:45 +0200 (CEST)
Subject: [homenet] Configuration must not be carried by the routing protocol
X-BeenThere: homenet@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <homenet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/homenet>, <mailto:homenet-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/homenet>
List-Post: <mailto:homenet@ietf.org>
List-Help: <mailto:homenet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/homenet>, <mailto:homenet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Jun 2013 16:31:21 -0000
Dear editors, dear group, After the recent thread on this list, and a number of private mail exchanges, I'm under the impression that there might be a consensus that configuration information should not be carried over the routing protocol. In this mail, I argue that configuration information should be carried by a protocol separate from the routing protocol. We should therefore make serious efforts to ensure that nothing in the arch documents prevents carrying configuration information in a separate protocol. Ideally, we should include language in the arch document that encourages such a separate implementation, but I'm not sure if we can build consensus at this point. This mail is structured as follows: 1. advantages of carrying configuration information over the routing protocol; 2. advantages of carrying configuration information over a separate protocol; 3. possible configuration protocols; 4. conclusions. 1. Advantages of carrying configuration information over the routing protocol I've heard the following advantages claimed for conflating the two functions: (i) it is not necessary to implement a new flooding protocol, which saves space on resource-limited routers; (ii) all routers participate in the routing protocol, while a new configuration protocol requires ensuring that all routers forward the configuration information. As I've shown with AHCP[1,2], however, a reasonably efficient, purely user-space, increasing diameter flooding protocol can be implemented in a hundred lines of C code or so, and takes just a few kB of flash and a few bytes of memory; this is why I find point (i) above unconvincing. Additionally, since homenet is planning to mandate the implementation of a new routing protocol on all home routers, mandating a configuration forwarding daemon does not break compatibility any further. 2. Advantages of separating configuration from routing There are significant advantages to distributing configuration information over a separate protocol. (i) distributing configuration information on a simple dedicated protocol makes monitoring and trouble-shooting easier; (ii) the architecture is more robust -- issues with the routing protocol do not prevent configuration information from being distributed; (iii) should new requirements arise, it is possible to reuse most of the homenet architecture with a new routing protocol; (iv) should new requireent arise, it is possible to reuse most of the homenet architecture while running multiple routing protocols. Point (i) is important -- experience with DHCPv4 and RA shows how easy it is to run into issues with configuration protocols, and how useful it is to be able to identify and decode configuration packets without having a full understanding of a complex routing protocol. Point (ii) is probably of secondary interest, since all implemen- tations of link-state protocols are perfectly robust and completely debugged. However, we all know the pain of recovering a router that has lost its IP addresses, anything that avoids such pain should be welcome. Points (iii) and (iv) are very important to me. I firmly believe that once homenet starts being deployed, smart amateurs are going to start building topologies that we don't even dream of, using link technologies that we never heard of. Most probably, the homenet routing protocol can then be extended to deal with the new topologies; but before this happens it will be important that people can reuse the homenet architecture with a different protocol. Hence, it is vitally important that the homenet architecture be modular enough to allow switching routing protocols. 3. Possible configuration protocols 3.1 RA RAs are ignored by routers, and rightly so -- RAs have no loop avoidance mechanism, and using RAs to configure routers leads to a number of problems that I believe to be unsolvable. Extending the RA protocol to be suitable for configuring routers is probably not worth the hassle, and will lead to confusion. 3.2 DHCPv6 There is an IETF standard configuration protocol, and that's DHCPv6. Other people on this list are more knowledgeable about DHCPv6, so I'll refrain from making a fool of myself; however, I'll take the risk of claiming that DHCPv6 (probably with extensions) looks like an eminently suitable protocol for configuring homenet routers. 3.3 A new protocol In the Babel experiment, I have designed a new protocol, which I called AHCP[1,2]. Since AHCP is designed to run before routing is functional, it makes minimal assumptions about the network -- it only requires each interface to have a link-local IPv6 address and to be able to participate in link-local multicast traffic. An AHCP client implements an increasing diameter search for an AHCP server. The full AHCP implementation (client+server+forwarder, with support for Linux and BSD Unix), consists of 3500 lines of C and 350 lines of bourne shell code, and compiles to less than 40 kB. Subset implemen- tations are possible. We have found AHCP to be very robust and reasonably fast even in the presence of massive packet loss. The traffic generated is very reasonable, even when simultaneously rebooting the whole network. I am not pushing AHCP as the homenet configuration protocol, since I have good hope that a variant of DHCPv6 can be used. However, I do hope that the results of the AHCP experiment can serve as useful input for this group. 4. Conclusions For the reasons outlined above, it is my firm opinion that configuration information should not be carried by the Homenet routing protocol. Homenet routers should either be configured by a variant of DHCPv6, or a new protocol should be designed. The arch document should be carefully reviewed, and anything that risks impeding such a solution must be eliminated. Ideally, the arch document should encourage separating configuration distribution from routing. Should DHCPv6 be finally chosen, I will be glad to collaborate on writing a tiny DHCPv6 daemon suitable for homenet. (And I have a fair amount of experience with writing tiny network daemons to run on 8MB routers.) [1] http://tools.ietf.org/html/draft-chroboczek-ahcp [2] http://www.pps.univ-paris-diderot.fr/~jch/software/ahcp/
- Re: [homenet] Configuration must not be carried b… ietfdbh
- Re: [homenet] Configuration must not be carried b… Acee Lindem
- Re: [homenet] Configuration must not be carried b… Leddy, John
- Re: [homenet] Configuration must not be carried b… Michael Richardson
- Re: [homenet] Configuration must not be carried b… Juliusz Chroboczek
- [homenet] Configuration must not be carried by th… Juliusz Chroboczek
- Re: [homenet] Configuration must not be carried b… Michael Richardson
- Re: [homenet] Configuration must not be carried b… Dave Taht
- Re: [homenet] Configuration must not be carried b… Tim Chown
- Re: [homenet] Configuration must not be carried b… Juliusz Chroboczek
- Re: [homenet] Configuration must not be carried b… Juliusz Chroboczek
- Re: [homenet] Configuration must not be carried b… Teco Boot
- Re: [homenet] Configuration must not be carried b… Lorenzo Colitti
- Re: [homenet] Configuration must not be carried b… Mark Townsley
- Re: [homenet] Configuration must not be carried b… Mikael Abrahamsson
- Re: [homenet] Configuration must not be carried b… Michael Thomas
- Re: [homenet] Configuration must not be carried b… Teco Boot
- Re: [homenet] Configuration must not be carried b… Teco Boot
- Re: [homenet] Configuration must not be carried b… Ted Lemon
- Re: [homenet] Configuration must not be carried b… Henning Rogge
- Re: [homenet] Configuration must not be carried b… Mark Townsley
- Re: [homenet] Configuration must not be carried b… Michael Thomas
- Re: [homenet] Configuration must not be carried b… Ted Lemon
- Re: [homenet] Configuration must not be carried b… David R Oran
- Re: [homenet] Configuration must not be carried b… Michael Thomas
- Re: [homenet] Configuration must not be carried b… Ole Troan
- Re: [homenet] Configuration must not be carried b… Jim Gettys
- Re: [homenet] Configuration must not be carried b… Juliusz Chroboczek
- Re: [homenet] Configuration must not be carried b… Juliusz Chroboczek
- Re: [homenet] Configuration must not be carried b… Juliusz Chroboczek
- Re: [homenet] Configuration must not be carried b… Michael Thomas
- Re: [homenet] Configuration must not be carried b… Henning Rogge
- Re: [homenet] Configuration must not be carried b… Teco Boot