張 華
?
局域網(wǎng)自動域名系統(tǒng)更新機制研究
張 華
(阜陽職業(yè)技術(shù)學(xué)院 實訓(xùn)中心,安徽 阜陽 236031)
互聯(lián)網(wǎng)中某一個節(jié)點的名字叫做域名,計算機系統(tǒng)中使用域名互聯(lián)網(wǎng)協(xié)議(IPv4/IPv6)來完成節(jié)點之間的通信。但IP地址這樣的數(shù)串更適合于計算系統(tǒng)的數(shù)據(jù)處理,而不適合計算機用戶的日常使用,用戶想要更加方便地訪問互聯(lián)網(wǎng)還需要選擇使用域名。域名系統(tǒng)(DNS)提供了IP到域名的映射方案,但尚且存在一些配置缺陷。本文設(shè)想了一種自動配置DNS和動態(tài)更新域名的方案,以期解決域名系統(tǒng)更新較慢的問題。
DNS;IPv6;計算機網(wǎng)絡(luò);域名解析
在計算機網(wǎng)絡(luò)中,域名代表唯一不同的節(jié)點。因IP地址數(shù)串比較難記,用戶會更傾向于使用域名而不是IP地址來識別節(jié)點,但在計算機的數(shù)據(jù)處理系統(tǒng)也使用域名是不現(xiàn)實的,因此我們需要建立起IP和域名之間的映射,即域名系統(tǒng)(DNS)。
本文將設(shè)想一個局域網(wǎng)自動域名系統(tǒng)(Local Area Network automatic Domain name System,LANDS)來解決DNS的數(shù)據(jù)更新延遲問題。在這個系統(tǒng)中,LANDS將主機文件作為數(shù)據(jù)庫,采取一種新的更新機制對其文件進行解析和配置,并及時上傳計算機域名和IP地址的映射。與使用集中服務(wù)器的BIND和采取全網(wǎng)傳播的DNS不同, LANDS以權(quán)限分散的方式進行工作并對局域網(wǎng)進行限制。LANDS的主要目的是提供一個易于使用和配置的域名解析器對局域網(wǎng)中所有的主機地址進行學(xué)習(xí)記憶,并通過專用端口進行通信。
2.1 主機文件
主機文件[1]是域名與IP地址的映射文件。主機文件由斯坦福研究院(SRI)維護并通過文件共享提供給阿帕網(wǎng)用戶。而用戶則需通過這種文件共享機制首先從系統(tǒng)服務(wù)器上下載主機文件以進行域名解析(見圖1)。
2.2 BIND
BIND(Berkeley Internet name domain service)[2]是加利福尼亞大學(xué)伯克利設(shè)計的最廣泛使用的域名系統(tǒng),90%以上的域名解析都使用此系統(tǒng)。BIND由3個主要組件組成:域名解析器、域名授權(quán)服務(wù)器和用于測試服務(wù)器的工具(圖2)。
圖1 主機系統(tǒng)工作模式
圖2 BIND組成
圖2中named進程是BIND授權(quán)服務(wù)器算法中的關(guān)鍵進程,通過識別和記憶named.conf進行初始化啟動并配置數(shù)據(jù)文件,域名解析服務(wù)的準備工作完成之后,根據(jù)BIND 配置做日志記錄。query.log是用于測試服務(wù)器的工具,通過發(fā)送大量的域名解析模擬請求對服務(wù)器進行壓力測試。
2.3 互聯(lián)網(wǎng)協(xié)議
2.3.1 IPv4
IPv4[3]是一個32位的唯一地址,在書寫方式上一般采用小數(shù)點將其分為4個相等的部分,每個部分從0到255進行取值。得到授權(quán)的終端可以在IPv4環(huán)境下向DNS服務(wù)器發(fā)送消息以完成映射的重置。如果用戶使用撥號、ADSL或DHCP cable連接網(wǎng)絡(luò)并且想實現(xiàn)網(wǎng)絡(luò)應(yīng)用服務(wù)器的架設(shè)(FTP、WEB、MAIL),使用IPv4就可以對DNS進行自動注冊。
2.3.2 IPv6
IPv6[4]是Internet Protocol Version 6的縮寫,是由IETF(互聯(lián)網(wǎng)工程任務(wù)組,Internet Engineering Task Force)設(shè)計以替代IPv4的新版本IP協(xié)議,解決了IPv4地址枯竭的問題。IPv6的地址長度為128b,是IPv4地址長度的4倍。這128b又分為8個部分,每個部分16b,使用的是十六進制值。在各部分的最小值為0000,最大值為FFFF。
在IPv6環(huán)境中,節(jié)點改變了網(wǎng)絡(luò)位置后會獲得新的IPv6地址,因此這種地址的改變要能及時地影響DNS服務(wù)器的數(shù)據(jù)更新,以實現(xiàn)用戶的正確訪問。通過節(jié)點對DNS的更新請求和DNS對請求的響應(yīng)可以實現(xiàn)所謂DNS的自動更新。通過這種自動配置機制,用戶對網(wǎng)絡(luò)管理尤其是局域網(wǎng)管理的體驗得到了提升。
現(xiàn)有的系統(tǒng)在配置、維護和使用上尚存在一些問題,列舉如下:
3.1 用戶直接使用不方便
雖然在局域網(wǎng)中IP能勝任FTP、文件共享、檢查連接、配置及其他網(wǎng)絡(luò)相關(guān)的任務(wù),但依然存在用戶使用不方便的問題。IPv4是十進制數(shù)字,相對還算容易記住,而IPv6是十六進制數(shù),使用起來更為不便?,F(xiàn)在IPv4和IPv6會共存一段時間,在不久的將來,所有的網(wǎng)絡(luò)都會用IPv6實現(xiàn),當(dāng)IPv6在全世界互聯(lián)網(wǎng)上實現(xiàn)時,網(wǎng)絡(luò)維護人員的工作將變得更加復(fù)雜,故本地域服務(wù)器的出現(xiàn)勢在必行。
3.2 主機文件的手工配置和維護滯后
網(wǎng)絡(luò)中的主機文件的更新和管理通常是由某一臺優(yōu)先級最高的主機集中負責(zé),所有其他主機將下載主機文件并保存在各自的文件夾中。該模式的主要問題在于,一方面如果主機文件中備份和更新域名數(shù)據(jù)不及時,可能導(dǎo)致系統(tǒng)中的通信失敗;另一方面當(dāng)網(wǎng)絡(luò)使用DHCP(動態(tài)主機配置協(xié)議)為其他主機提供IP時,可能會發(fā)生IP會動態(tài)改變而主機文件沒有自動更新。
3.3 BIND的配置和數(shù)據(jù)集中的實現(xiàn)較為困難
如果說上述兩個問題可以使用BIND來解決也是可行的,但BIND尚且存在初始配置和維護的困難。BIND工程就像服務(wù)器/客戶端結(jié)構(gòu),其中BIND充當(dāng)中央服務(wù)器。這種架構(gòu)決定了BIND需要一直高效運行。比如,如果BIND為了保存不斷更新的主機文件而啟用日志模式,就要面對龐大的域名訪問量以及繁雜的訪客情況的數(shù)據(jù)處理。在這個統(tǒng)計的過程中,BIND需對對日志文件進行反復(fù)的讀寫操作,這勢必會受到服務(wù)器硬件配置和系統(tǒng)流暢性的制約。為避免BIND負載過重、資源占用太多導(dǎo)致域名服務(wù)器流暢性和穩(wěn)定性降低, BIND的日志模式一般是停用的。這當(dāng)然又會影響到數(shù)據(jù)更新的及時性,此外,域名數(shù)據(jù)多級分層,手工修改系統(tǒng)參數(shù)和數(shù)據(jù)既繁瑣又易出錯,并且出錯后很難及時修復(fù)。因此需要提出一種更加先進的工作機制來優(yōu)化服務(wù)器的性能,解決此類問題。
LANDS是一個基于自動更新的DNS數(shù)據(jù)庫的系統(tǒng),能實現(xiàn)自動配置、域名自學(xué)習(xí)、地址自動匹配和權(quán)限分散。該系統(tǒng)使用主機文件作為數(shù)據(jù)庫并以此為基礎(chǔ)來解決所有的更新問題。LANDS只提供更新的主機文件,主機文件包括節(jié)點域名、密碼、地址、地址、節(jié)點狀態(tài)、域名有效期等,而域名和IP的映射關(guān)系由操作系統(tǒng)提供的機制轉(zhuǎn)換而成,它使用特定端口進行通信,端口信息僅向LANDS系統(tǒng)進行發(fā)送,系統(tǒng)中發(fā)送的信息類似于DHCP通信信息。此系統(tǒng)工作的關(guān)鍵要素之一就是權(quán)限分散,也就是說任何安裝LANDS軟件的系統(tǒng)都具有相同的優(yōu)先級。另外,因為LANDS的工作模式是基于局域網(wǎng)內(nèi)的信息廣播,故它不能解決局域網(wǎng)外的域名問題。
4.1 LANDS更新消息
LANDS使用3種類型的消息更新主機文件:
請求:在局域網(wǎng)發(fā)送消息以請求LANDS服務(wù)器中的主機文件信息,此消息為廣播消息,以期得到最新的主機文件信息。
回復(fù):系統(tǒng)發(fā)送單播消息到發(fā)送請求消息的系統(tǒng)。此回復(fù)攜帶主機文件信息。
確認:在收到回復(fù)消息和更新主機文件后由客戶端發(fā)送,LANDS接收到確認消息后將此客戶端主機文件屬性標記為已更新。
4.2 LANDS對主機文件更新的處理
LANDS提供一系列的機制來更新主機文件。更新可以是周期性的、手動的或者是由各種系統(tǒng)事件觸發(fā)的。以下是幾類觸發(fā)LANDS更新主機文件的系統(tǒng)事件:
4.2.1 系統(tǒng)啟動觸發(fā)事件
在所有的系統(tǒng)啟動觸發(fā)事件下LANDS都將更新主機文件并在局域網(wǎng)內(nèi)發(fā)送廣播信息,在此局域網(wǎng)內(nèi)安裝有LANDS的系統(tǒng)將響應(yīng)此信息并在驗證授權(quán)信息后更新主機文件中的IP和域名。
4.2.2 客戶端配置更改觸發(fā)事件
客戶端負責(zé)自動檢測本機IP地址是否改變,系統(tǒng)管理員可以根據(jù)局域網(wǎng)需求設(shè)置客戶端自檢頻率,當(dāng)網(wǎng)絡(luò)配置更改比如IP、域名等更改的情況下,則自動向LANDS服務(wù)器端發(fā)送觸發(fā)信號,服務(wù)器端驗證授權(quán)信息后,主機文件將會更新,LANDS將發(fā)送廣播消息,安裝有LANDS的客戶端將響應(yīng)此信息并更新主機文件中的IP和域名。這就可以實現(xiàn)當(dāng)某個節(jié)點的網(wǎng)絡(luò)配置發(fā)生改變時,主機文件會得到及時地更新。
4.2.3 LANDS服務(wù)器定期更新
LANDS服務(wù)器將定期更新主機文件。此屬性設(shè)置為檢查是否添加任何新系統(tǒng)到網(wǎng)絡(luò)中。定期檢測并統(tǒng)計主機文件,將其與系統(tǒng)已有的主機文件進行比較,若主機文件已經(jīng)改變,則自動在局域網(wǎng)內(nèi)發(fā)送廣播消息信息進行更新,安裝有LANDS的客戶端將響應(yīng)此信息并在驗證授權(quán)信息后更新主機文件中的IP和域名。此外在服務(wù)器的定期更新過程中,主機文件還會對節(jié)點域名進行有效期的更新,如果某節(jié)點域名超出了有效期,并且長期不使用,系統(tǒng)會實現(xiàn)刪除操作且記入主機文件一并廣播。故對于LANDS網(wǎng)絡(luò)中的節(jié)點來說,并不存在域名有效期更新滯后的問題。
4.2.4 手工強化更新
如果用戶感覺有更新主機文件的必要性,亦可以發(fā)起更新觸發(fā)事件。此類更新事件的優(yōu)先權(quán)等同于4.2.1所述系統(tǒng)啟動觸發(fā)事件。
在互聯(lián)網(wǎng)中,我們可以使用BIND或者改進的BIND,本文中設(shè)想的LANDS提供了局域網(wǎng)中主機文件更新的解決方案,考慮到其自動配置和自動學(xué)習(xí)域名的特點,LANDS為中小型局域網(wǎng)提供了更好的方案。本文只是提供了一個抽象的工作機制,在將來的工作中,需要測試出更清晰的發(fā)送消息、明確的端口號和支持系統(tǒng)運作的環(huán)境。
[1]王莉軍. 域名解析文件自動生成技術(shù)研究[J]. 計算機技術(shù)與發(fā)展,2013(6):19-22+26.
[2]王振宇,施東煒.基于BIND域名解析服務(wù)管理的設(shè)計[J]. 計算機工程,2007(15):134-136.
[3]蘭少華,楊余望.TCP/IP 網(wǎng)絡(luò)與協(xié)議[M].北京:清華大學(xué)出版社,2006.
[4]吳建平,吳茜,徐恪.下一代互聯(lián)網(wǎng)體系結(jié)構(gòu)基礎(chǔ)研究及探索[J].計算機學(xué)報,2008(9):1536-1548.
TP393.04
A
1672-4437(2017)03-0053-04
2017-03-28
張華(1980-),男,安徽阜陽人,阜陽職業(yè)技術(shù)學(xué)院實驗師,主要研究方向:分布式計算、網(wǎng)絡(luò)管理與安全。