Avahi (software)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Avahi
Avahi-logo.svg
Avahi.png
Avahi Discovery GUI showing discovered services
Developer(s) Lennart Poettering, Trent Lloyd, Sjoerd Simons
Stable release 0.6.31 / February 15, 2012; 14 months ago (2012-02-15)
Written in C
Operating system Cross-platform
Type Networking
License LGPL
Website avahi.org

Avahi is a free zeroconf implementation, including a system for multicast DNS/DNS-SD service discovery. It is licensed under the GNU Lesser General Public License (LGPL).

Avahi allows programs to publish and discover services and hosts running on a local network with no specific configuration. For example, a user can plug their computer into a network and Avahi automatically finds printers to print to, files to look at and people to talk to, as well as advertising the network services running on the machine.

Contents

[edit] Technical details

Architectural overview of the Avahi software framework

Avahi implements the Apple Zeroconf specification, mDNS, DNS-SD and RFC 3927/IPv4LL. Other implementations include Apple's Bonjour framework (the mDNSResponder component of which is licensed under the Apache License).

Avahi provides a set of language bindings (Python, Mono, etc.) and ships with most Linux and *BSD distributions. Because of its modularized architecture, major desktop components like GNOME's Virtual File System and the KDE input/output architecture already integrate Avahi.

[edit] Avahi vs. Bonjour

The Avahi project started because Apple's Zeroconf implementation, Bonjour, used the GPL-incompatible Apple Public Source License. Subsequently parts of Bonjour have been relicensed under the Apache License. However, Avahi had already[when?] become the de facto standard implementation of mDNS/DNS-SD on open-source operating systems such as GNU/Linux[citation needed].

Avahi's performance resembles that of Bonjour, sometimes exceeding it; however Avahi can lose services when managing large numbers of requests simultaneously.[1]

[edit] History

Avahi has been developed by Lennart Poettering and Trent Lloyd. It is the result of a merger of Poettering's original mDNS/DNS-SD implementation called "FlexMDNS", and Lloyd's original code called "Avahi" that happened in 2005. While most of today's code originates from the former project, the name of the latter was used for the joint project. Development on "FlexMDNS" started in late 2004, and work on the original "Avahi" began in early 2004.

Avahi was originally developed under the freedesktop.org umbrella, but has now become a separate project. Avahi, however, makes use of freedesktop.org's D-Bus IPC layer.

The name Avahi is the Malagasy native name and scientific Latin name of a genus of woolly lemur, a family of primates indigenous to Madagascar. Trent Lloyd found the name, liked it, and it stuck. The logo reflects this.[2]

[edit] See also

Standards

  • Zeroconf - the standard upon which Avahi is based.

Other Implementations

Protocols providing similar functionality

Other Links

[edit] References

[edit] External links