在網路管理上,Zeroconf指的是用來將各種相關組態設定管理作業予以自動化的技術。具體來說,涉及的技術與協定標準包含很多層面,例如DHCP、設定IP位址、設定電腦名稱等,本文將講解該技術在位址指派與名稱解析方面的運作方式與設定技巧。
自動產生的位址
另外比較有趣的是,IPv4和IPv6都還會自動產生一些IP位址,這些IP位址會包含與所處的網路設備相關的硬體資訊。以IPv6來說,在自動產生的IP位址的前64位元包含MAC位址。
MAC技術運作於OSI網路七層模型中的第二層,也就是Data Link Layer。MAC的主要用途,是在不同設備與網路的環境中,提供統一個定址和存取方式,以便於讓所有設備都能互相存取。MAC的產生,比IP的產生還要早。不過,MAC和IP一樣,都是提供「定址」的方式,好讓各個設備了解網路資料應該要往什麼地方來發送。
MAC的位址都是唯一的,所有的網路卡都有一個MAC位址,而這個位址不會與世界上其他的網路卡的MAC位址相同,除非是手動去更改。MAC位址一共有48個位元,也就是6個位元組。以16進位的方式來表示,以下是一個簡單的MAC位址範例:
在這樣一個MAC位址中,前半部由IEEE組織來決定,基本上,同廠商的網路卡的MAC位址,前半部大多都是一樣的,而後半部則是由各家廠商自己決定。
IPv6包含偵測重複定址的技術,所以大家不會採用重複的IPv6位址。IPv4的部分也有這樣的技術,IPv4在這方面的技術稱為Link-local Address Auto-configuration。微軟則把這樣的技術歸類於APIPA或是IPAC,也就是Automatic Private IP Addressing以及Internet Protocol Automatic Configuration的縮寫,這些技術在微軟的作業系統大約是從Windows 98開始支援。
名稱解析
名稱解析的部分最主要當然就是DNS(Domain Name System),主要的目的在於解析人類可讀的網址(例如www.gooogle.com)轉換成電腦或是網路設備要連線所使用的IP位址,這是一個很重要的功能,因為IP位址很難記下來,而IPv6的位址更難記憶。
要做到這樣的功能,一般來說,必須在每一台電腦或網路設備設定好DNS伺服器的IP位址,這樣才知道這些名稱解析的需求動作要傳送到哪一台伺服器,早期是這樣的做法。
不過後來的網路系統,尤其是廣域網路或是一般人家中跟電信業者申請的網路,上網設備都已經自動從電信業者(例如中華電信)那邊取得DNS的各種資料,因此在家中上網時已經不再需要設定DNS等資訊。
而DNS的設計,會沒有辦法自動更正錯誤的設定值,也就是說任何相關服務的設定之改變,都必須人工去做相對應的修改。舉例來說,如果更動一個印表機或是網路服務到不同的樓層或是給予不同的IP,則這些服務的IP與對應的名稱解析服務就必須手動更改。
也因此,出現一些可以自動化的服務或協定,例如微軟在1992年的Windows 3.11作業系統中提供了NetBIOS Name Service服務,這個NetBIOS Name Service服務可以在單一子網路的範圍中完成Zero-configuration動作。NetBIOS也可以與WINS伺服器一同使用,或是與支援自動註冊位址的DNS伺服器一起運作。
結語
看過這篇文章之後,應該對於位址指派有一個基本的認知,這在管理網路上是一個必須具備的知識。由於篇幅有限,所以這篇比較多著重在位址指派方面,以及講述一些名稱解析的部分,以後有機會再為各位介紹名稱解析以及服務搜尋的設定自動化細節。
<本文作者:胡凱智,目前在美商Mozilla擔任全球技術專案總監,同時擔任全球開放式網路設備(Open Web Device)協議審查董事會(Compliance Review Board)的技術主席(Technical Committee Chairman)。曾於趨勢科技任職七年多,有兩年美國矽谷工作經驗,在美國專利局擁有軟體專利。讀者交流建議:https://www.facebook.com/khu.page>