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