Avahi (软件)
Avahi是一套自由的零配置网络(zeroconf)解决方案,包含一套多播DNS/DNS-SD服务发现系统。它在GNU宽通用公共许可证(LGPL)许可下发行。
显示已发现设备的Avahi Discovery图形界面 | |
開發者 | 里纳特·珀特林、特伦特·劳埃德、Sjoerd Simons |
---|---|
当前版本 |
|
源代码库 | |
编程语言 | C语言 |
操作系统 | Linux, BSD |
类型 | |
许可协议 | LGPLv2.1 |
网站 | www |
Avahi是一套使应用程序能够公布或发现局域网上运行的服务和主机的系统。例如,一位用户将计算机接入网络,并让Avahi自动广播机器上运行的网络服务,使用户能够访问这些服务。
软件架构
Avahi提供与一系列编程语言(如Python, Mono)的绑定功能,且打包于众多Linux和BSD发行版中。由于它采用模块化的架构,GNOME虚拟文件系统、KDE输入/输出架构等主流桌面组件已经整合Avahi。
Avahi与Bonjour
Avahi项目始于2004年,因为苹果的零配置解决方案Bonjour采用不兼容GPL的苹果公共源代码许可证。2006年,苹果将Bonjour的部分组件在Apache许可证下再许可。[2]
Avahi的性能与Bonjour相仿,有时甚至比Bonjour更佳;然而Avahi在同时处理大量请求时可能停止响应。
历史
Avahi最早由里纳特·珀特林和特伦特·劳埃德开发。它诞生于2005年,由珀特林早期的mDNS/DNS-SD解决方案“FlexMDNS”与劳埃德的原始代码“Avahi”合并而来。虽然现今的代码绝大多数源于前一个项目,这个联合项目采用了后者的名字。 “FlexMDNS”的开发工作始于2004年下半期,而早期版本的“Avahi”开发工作始于2004年上半期。
Avahi最早在freedesktop.org的名义下开发,但现在它已成为一个独立的项目。 然而,Avahi利用了freedesktop.org的D-Bus IPC层。
Avahi这个名称是毛狐猴屬——原产于马达加斯加的一属灵长目动物的马达加斯加语本土名称及拉丁学名。特伦特·劳埃德发现并喜欢这个名字,于是这名字保留了下来。其图标反映了这一点。[3] 可能出于巧合的是,Avahi倒过来拼写是“I-hav-a”——一则探索广告的描述语。