From owner-freebsd-net@FreeBSD.ORG Mon Aug 21 18:21:18 2006 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 584DA16A605 for ; Mon, 21 Aug 2006 18:21:17 +0000 (UTC) (envelope-from fli+freebsd-net@shapeshifter.se) Received: from mx1.h3q.net (manticore.shapeshifter.se [212.37.5.30]) by mx1.FreeBSD.org (Postfix) with ESMTP id DB56B43D46 for ; Mon, 21 Aug 2006 18:21:14 +0000 (GMT) (envelope-from fli+freebsd-net@shapeshifter.se) Received: from localhost (localhost [127.0.0.1]) by mx1.h3q.net (Postfix) with ESMTP id 3E1911A78D for ; Mon, 21 Aug 2006 20:21:12 +0200 (CEST) Received: from mx1.h3q.net ([127.0.0.1]) by localhost (mx1.h3q.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 57784-07 for ; Mon, 21 Aug 2006 20:21:09 +0200 (CEST) Received: from [192.168.1.100] (217-208-33-252-o926.tbon.telia.com [217.208.33.252]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.h3q.net (Postfix) with ESMTP id 458FB1A72A for ; Mon, 21 Aug 2006 20:21:09 +0200 (CEST) Message-ID: <44E9F991.7020309@shapeshifter.se> Date: Mon, 21 Aug 2006 20:21:05 +0200 From: Fredrik Lindberg User-Agent: Thunderbird 1.5.0.4 (X11/20060727) MIME-Version: 1.0 To: freebsd-net@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: amavisd-new at h3q.net Subject: Zeroconfig and Multicast DNS X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Aug 2006 18:21:18 -0000 Hi all, A while ago I started hacking on a zeroconfig and multicast DNS implementation for FreeBSD. In short, zeroconfig allows a host to automatically negotiate a collision free ip-address with other hosts on the network in the absence of a DHCP-server. It's suitable for small ad-hoc networks, or in embedded solutions. Multicast DNS is DNS without a server, you can think of it as mixing P2P and DNS. There are no authoritative server, instead all peers co-operate to resolve queries. This also means that any host can choose any name (collision detect is a part of the protocol). The end result is that hosts on a local network can communicate with each other by name without the need of a central DNS-server and without the need of having prior knowledge of each other (/etc/hosts etc). Suitable in networks without a dedicated name server and of course in embedded solutions (ie. communicate directly with that "black box" using a name instead of some pre-configured ip-address). I've now reached a point where the daemons/libraries/tools actually do what they are supposed (at least more or less...). zeroconfd is more or less complete and should work just fine. responderd is able to do most of the critical things it's suppose to do (resolve/cache names), however there are some things left such as TCP fall back for unicast queries, INET6 needs to be implemented properly (the framework has support for INET6, just needs some work), also, the probe/collision routines are currently missing. More information, code and some quick starting hints are available at http://shapeshifter.se/projects/freebsd/zeroconfig/ Fredrik Lindberg