在ASIX OS上實現(xiàn)VVDTU的DNS功能
由DNS協(xié)議的要求知道:一個域名服務器負責一個或多個區(qū)域,而每個區(qū)域的管理者必須為該區(qū)域提供一個主域名服務器和至少一個從域名服務器,且兩者必須是獨立和冗余的。在實際使用中,由于受條件、實用性、成本等的限制,不使用主、從服務器。如果直接接入以太網(wǎng),則沒有可用的DNS服務器,那么就使得第一級的域名解析不能進行,從而使最終的域名解析失敗。而本設計是基于無線網(wǎng)絡的,網(wǎng)絡接口層是通過串行通信協(xié)議:PPP(點對點協(xié)議)接入運營商的服務中心,再接入互聯(lián)網(wǎng)。
PPP協(xié)議本身分為3個子協(xié)議:LCP(Link ControlProtocol)、NCP(Net Control Protocol)、PPP擴展協(xié)議(用于身份驗證),而與網(wǎng)絡設置相關的主要是NCP協(xié)議。NCP協(xié)議用于終端設備連接到運營商的中心服務器,若終端設置了固定的有效IP,則終端將設定的IP封裝在配置請求數(shù)據(jù)包里,告知運營商端的服務器,建立連接;否則將IP設為全0,則服務器端隨機為WDTU終端設備分配一個動態(tài)IP,該IP每次復位后將改變。NCP的一個獨特之處是,它可以向服務器申請動態(tài)分配DNS服務器。由于沒有人工添加DNS解析的服務器,所以正是利用NCP的該功能,獲得實現(xiàn)DNS功能必需的DNS解析服務器。這也正是本設計的一大特點。本文引用地址:http://www.biyoush.com/article/157839.htm
3 DNS功能的實現(xiàn)
3.1 必要的初始化
系統(tǒng)首先要完成一系列必要的初始化,包括協(xié)議棧和設備的初始化。對DNS的初始化主要包括:一,創(chuàng)建DNS服務器鏈表(服務器鏈表的大小可以根據(jù)實際需要開辟,本設計中使用5個),此時該鏈表是空的;二,創(chuàng)建DNS主機緩存,可以將一些常用的域名與IP映射信息存放在緩存中,供終端設備直接查找。
當完成上述的初始化以后,接下來進行PPP撥號,向運營商的服務中心發(fā)送LCP、NCP連接配置請求的數(shù)據(jù)包。其中NCP向服務中心發(fā)送請求分配DNS解析服務器的配置請求數(shù)據(jù)包,根據(jù)NCP的幀格式進行封裝。代碼實現(xiàn)的流程如圖2所示。
3.2 域名解析的實現(xiàn)
最終WDTU連接到登錄花生殼客戶端的主機,與之實現(xiàn)數(shù)據(jù)傳輸。花生殼客戶端會將登錄主機的IP與申請的該域名的映射信息返回給花生殼公司的DNS服務器。而運營商與這些提供域名解析服務的公司之間建立聯(lián)系,提供DNS服務的公司通過直接或間接的連接,將本公司的DNS服務器域名信息系統(tǒng)與運營商的服務中心相連接,這樣,運營商就使得移動終端實現(xiàn)了域名的解析。DNS功能有多種類型,但主要的是兩種:由域名得到IP地址和根據(jù)IP地址得到相映射的域名。實際應用中主要是需要根據(jù)域名查找到與之相對應的IP地址。因此,本設計也是針對這種類型介紹的。
評論