Avahi

Short description: Zero-configuration networking (zeroconf) implementation

Avahi

Avahi Discovery GUI showing discovered services

Developer(s)| Lennart Poettering, Trent Lloyd, Sjoerd Simons
Stable release|

0.8 / February 18, 2020; 6 years ago (2020-02-18)[1]

Written in| C
Operating system| Linux, BSD
Type|

* Networking
* Service discovery
* Linux on the desktop

License| LGPLv2.1
Website| www.avahi.org

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

Avahi is a system which enables programs to publish and discover services and hosts running on a local network. For example, a user can plug a computer into a network and have Avahi automatically advertise the network services running on its machine, facilitating user access to those services.

## Contents

* 1 Software architecture
* 2 Avahi vs. Bonjour
* 3 History
* 4 See also
* 5 References
* 6 External links

## Software architecture

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 Virtual file system and KDE input/output architecture already integrate Avahi.

## Avahi vs. Bonjour

The Avahi project started in 2004 because Apple's Zeroconf implementation, Bonjour, used the GPL-incompatible Apple Public Source License. In 2006 Apple relicensed parts of Bonjour under the Apache License.[2]

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

## History

Avahi was developed by Lennart Poettering and Trent Lloyd. It is the result of a merger in 2005 of Poettering's original mDNS/DNS-SD implementation called "FlexMDNS", and Lloyd's original code called "Avahi". 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.[4]

## See also

* Linux on the desktop
* Lightweight Directory Access Protocol
* Network Information Service
* OSGi Alliance

## References

1. ↑ "Avahi 0.8, the 'Dobro Jutro' release". https://github.com/lathiat/avahi/releases/tag/v0.8. Retrieved 11 April 2020.
2. ↑ Prabhakar, Ernest Prabhakar (2006-08-07). "Fwd: Apple Opens Up: Bonjour now under Apache license". bonjour-dev (Mailing list). Retrieved 18 March 2015.
3. ↑ Analysis of Peer-to-Peer Protocols Performance for Establishing a Decentralized Desktop Grid Middleware
4. ↑ Trent Lloyd, Lennart Poettering (2007). Using Avahi The "Right Way" (ogg) (Presentation). linux.conf.au.

## External links

* Talk and slides by Poettering/Lloyd at linux.conf.au 2007

* v
* t
* e

Free and open-source software projects hosted by freedesktop.org

OS components|

* Avahi
* Compiz
* D-Bus
* DRI
* Enchant
* Flatpak
* kmscon
* luit
* nouveau
* PackageKit
* Plymouth
* PulseAudio
* systemd
* Wayland
* X.Org Server
* Glamor
* Xephyr

Libraries|

* AppStream
* cairo
* Fontconfig
* GStreamer
* Mesa 3D
* HarfBuzz
* Pango
* Poppler
* Swfdec
* Video Acceleration API
* XCB
* Xft

Frameworks|

* CppUnit
* Galago
* Open Collaboration Services (OCS)
* Telepathy

Meetings|

* Create Project
* Portland Project

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Avahi&oldid=739311"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template