Zeroconf

Zeroconf全稱為Zero configuration networking,中文名則為零配置網路服務規範,是一種用於自動生成可用IP位址的網路技術,不需要額外的手動配置和專屬的配置伺服器。

zeroconf

Zeroconf全稱為Zeroconfigurationnetworking,中文名則為零配置網路服務規範,是一種用於自動生成可用IP位址的網路技術,不需要額外的手動配置和專屬的配置伺服器。有點類似於mdns
“零配置網路服務”的目標,是讓非專業用戶也能便捷的連線各種網路設備,例如計算機,印表機等。整個搭建網路的過程都是通過程式自動化實現。如果沒有
zeroconf,用戶必須手動配置一些服務,例如DHCPDNS,計算機網路的其他設定等。這些對非技術用戶和新用戶們來說是很難的事情。
使用例子來形象地說明:
用戶擁有一台appletv和一台iPhone4s,那之只要都連入到同一個無線區域網路內,iphone4s就會自動找出appletv,那么在播放音樂或者視頻時候,用戶只要點擊推送,就可以講音樂和視頻推送到appletv上播放。

zeroconf協定的實現

zeroconf是協定,因此對應的是各種產品的實現,現在最主要的實現是apple的Bonjour和開源的Avahi
這兩套實現在程式接口上是可以兼容的,因此可以對zeroconf技術依賴的產品,可以使用兼容的開發接口,而不需要考慮到底是使用了Bonjour還是avahi。


開源的zeroconf協定技術實現 – Avahi

Avahi是Zeroconf規範的開源實現,基本是使用在LinuxFreeBSD上。包含了一整套多播DNS(multicastDNS)/DNS-SD網路服務的實現,使用的發布授權是LGPL。
在程式接口上,它使用DNSD與apple的Bonjour進行兼容,方便原來使用Bonjour的產品進行遷移。
目前在絕大多數的Linux發行版本中,都講avahi作為系統啟動進程,並且大量的服務也依賴於avahi。
Avahi也是用純C編寫的,同樣也可以使用諸如Java的語言去調用使用開發產品或者服務。

Apple的zeroconf協定技術實現 – Bonjour

Bonjour是由apple實現的zeroconf協定的技術產品,Bonjour來源於法語,意思為你好。
使用了zeroconf技術的產品和服務,在網路中自動傳播它們自己的服務信息並聆聽其它設備的服務信息,設備之間就象在打招呼,這也是命名為Bonjour(法語:你好)的原因。
Bonjour是一套跨平台的產品,可以使用在Mac,Linux和Winows,以及是兼容POSIX的作業系統上,並且apple已經將其開源,所以也可以方便套用於各個產品。
Bonjour是由純C編寫的,同時也提供了Java的接口,目前如python或者ruby語言也可以很方便地調用使用它。

嵌入式中的zeroconf – WiSe-Zeroconf

Wise-Zeroconf是Wise公司基於開源的Bonjour的基礎上,提供給嵌入式產品的zeroconf技術實現。
由於是商業產品,詳細資訊不知,但是基本功能與Bonjour應該基本相同。

zeroconf最基礎原理

zerconf協定主要是定義了三個層次:

1.不需利用dhcpserver取得設備地址如IP的相關資料
RFC3927,DynamicConfigurationofIPv4Link-LocalAddresses
http://www.ietf.org/rfc/rfc3927.txt
2.不需要通過DNSserver就轉換domainname和IP的關係
MulticastDNS
http://files.multicastdns.org/draft-cheshire-dnsext-multicastdns.txt
3.利用DNS-SD來取得設備服務,而不需通過directoryserver
DNS-basedServiceDiscovery,orDNS-SD.
http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txt

zeroconf的未來分析

雖然zeroconf協定名聲不大,即使是計算機專業開發人員也知之甚少,但是其實由於這幾年apple發展的強勢,其套用已經越來越廣。
比如在iOS4.2推出時候的airplay,以及airprint都是在這基礎上實現的,甚至iOS5.0後的airmirroing技術,也是在zeroconf技術上實現的。
可以預想在未來,zeroconf和DLNA將會有激烈的競爭關係。
ps:XBMC中有AirplayServer的相關代碼,值得好好看看!

相關詞條

相關搜尋

熱門詞條

聯絡我們