引言
WDTU是一種實現(xiàn)無線數(shù)據(jù)傳輸?shù)慕K端設(shè)備,目前在工業(yè)控制、監(jiān)控、安保等領(lǐng)域應(yīng)用廣泛?,F(xiàn)有的WDTU實現(xiàn)了將采集到的數(shù)據(jù)通過GPRS/CDMA網(wǎng)絡(luò)接入到Internet,最終將數(shù)據(jù)傳送到以太網(wǎng)內(nèi)的數(shù)據(jù)中心。但是對數(shù)據(jù)中心有特別的要求:該數(shù)據(jù)中心必須具有公網(wǎng)的IP或是被上一級路由器/交換機映射成具有特定的端口。這使該設(shè)備的適用要求提高,降低了產(chǎn)品的適用范圍。為了提高產(chǎn)品的實用性,更加方便用戶使用,在原有系統(tǒng)上,利用ASIX OS豐富的協(xié)議資源,對當中的DNS協(xié)議部分作適當?shù)囊浦埠托薷?,基于ASIX OS設(shè)計和添加了DNS功能。本文將重點介紹DNS實現(xiàn)的相關(guān)內(nèi)容,其他部分只作簡單說明。
1 背景知識
WDTU系統(tǒng)主要有處理器、串口、電源、無線模塊、以太網(wǎng)口等組成。以太網(wǎng)口是為了功能擴展的需要而設(shè)置的,便于接入以太網(wǎng)。在本設(shè)計中只簡單說明以太網(wǎng)DNS,目的是為了與無線設(shè)備的DNS功能相區(qū)別。本設(shè)計重點討論無線DNS功能的實現(xiàn)。系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。
UART2是數(shù)據(jù)接收端口,與外設(shè)數(shù)據(jù)源設(shè)備相連。而UART1是作為無線模塊的接口,與無線模塊的子板相連。系統(tǒng)的工作原理是:系統(tǒng)上電啟動以后,使用 PPP協(xié)議撥號上線,與運營商服務(wù)中心建立連接,然后服務(wù)中心的網(wǎng)關(guān)連接到指定IP或域名的數(shù)據(jù)中心主機上,此時就可以實現(xiàn)UART 2與以太網(wǎng)上的數(shù)據(jù)中心的數(shù)據(jù)傳輸。ASIX OS是基于μITRON3.0,為16/32位Garfield微處理器家族開發(fā)的實時操作系統(tǒng)。它包含了豐富的操作系統(tǒng)內(nèi)核和協(xié)議簇的多種API,能滿足用戶基本的網(wǎng)絡(luò)應(yīng)用需求。
2 DNS功能的設(shè)計方案
DNS(Domain Name Server)用于實現(xiàn)Internet上IP地址與域名的一一對應(yīng)。域名使用方便,而計算機內(nèi)部只處理IP地址,所以必須由域名服務(wù)器來進行兩者的轉(zhuǎn)換,這一過程就稱為域名解析。本設(shè)計中使用的是花生殼(Peanut Hull)的一款完全免費的客戶端軟件,它提供了桌面域名管理和動態(tài)域名解析的功能。首先在花生殼網(wǎng)站上注冊域名,然后在主機上運行該客戶端軟件,這樣就將用戶注冊的域名與該主機的IP地址綁定,形成映射。該軟件實現(xiàn)了特定的域名與變化的主機IP地址間的實時映射,為網(wǎng)外設(shè)備方便地訪問該主機提供了可能。
由DNS協(xié)議的要求知道:一個域名服務(wù)器負責一個或多個區(qū)域,而每個區(qū)域的管理者必須為該區(qū)域提供一個主域名服務(wù)器和至少一個從域名服務(wù)器,且兩者必須是獨立和冗余的。在實際使用中,由于受條件、實用性、成本等的限制,不使用主、從服務(wù)器。如果直接接入以太網(wǎng),則沒有可用的DNS服務(wù)器,那么就使得第一級的域名解析不能進行,從而使最終的域名解析失敗。而本設(shè)計是基于無線網(wǎng)絡(luò)的,網(wǎng)絡(luò)接口層是通過串行通信協(xié)議:PPP(點對點協(xié)議)接入運營商的服務(wù)中心,再接入互聯(lián)網(wǎng)。
PPP協(xié)議本身分為3個子協(xié)議:LCP(Link ControlProtocol)、NCP(Net Control Protocol)、PPP擴展協(xié)議(用于身份驗證),而與網(wǎng)絡(luò)設(shè)置相關(guān)的主要是NCP協(xié)議。NCP協(xié)議用于終端設(shè)備連接到運營商的中心服務(wù)器,若終端設(shè)置了固定的有效IP,則終端將設(shè)定的IP封裝在配置請求數(shù)據(jù)包里,告知運營商端的服務(wù)器,建立連接;否則將IP設(shè)為全0,則服務(wù)器端隨機為WDTU終端設(shè)備分配一個動態(tài)IP,該IP每次復位后將改變。NCP的一個獨特之處是,它可以向服務(wù)器申請動態(tài)分配DNS服務(wù)器。由于沒有人工添加DNS解析的服務(wù)器,所以正是利用NCP的該功能,獲得實現(xiàn)DNS功能必需的DNS解析服務(wù)器。這也正是本設(shè)計的一大特點。
3 DNS功能的實現(xiàn)
3.1 必要的初始化
系統(tǒng)首先要完成一系列必要的初始化,包括協(xié)議棧和設(shè)備的初始化。對DNS的初始化主要包括:一,創(chuàng)建DNS服務(wù)器鏈表(服務(wù)器鏈表的大小可以根據(jù)實際需要開辟,本設(shè)計中使用5個),此時該鏈表是空的;二,創(chuàng)建DNS主機緩存,可以將一些常用的域名與IP映射信息存放在緩存中,供終端設(shè)備直接查找。
當完成上述的初始化以后,接下來進行PPP撥號,向運營商的服務(wù)中心發(fā)送LCP、NCP連接配置請求的數(shù)據(jù)包。其中NCP向服務(wù)中心發(fā)送請求分配DNS解析服務(wù)器的配置請求數(shù)據(jù)包,根據(jù)NCP的幀格式進行封裝。代碼實現(xiàn)的流程如圖2所示。
3.2 域名解析的實現(xiàn)
最終WDTU連接到登錄花生殼客戶端的主機,與之實現(xiàn)數(shù)據(jù)傳輸?;ㄉ鷼た蛻舳藭⒌卿浿鳈C的IP與申請的該域名的映射信息返回給花生殼公司的DNS服務(wù)器。而運營商與這些提供域名解析服務(wù)的公司之間建立聯(lián)系,提供DNS服務(wù)的公司通過直接或間接的連接,將本公司的DNS服務(wù)器域名信息系統(tǒng)與運營商的服務(wù)中心相連接,這樣,運營商就使得移動終端實現(xiàn)了域名的解析。DNS功能有多種類型,但主要的是兩種:由域名得到IP地址和根據(jù)IP地址得到相映射的域名。實際應(yīng)用中主要是需要根據(jù)域名查找到與之相對應(yīng)的IP地址。因此,本設(shè)計也是針對這種類型介紹的。
該過程分為兩個階段:查找終端的緩存,如果終端本身的緩存中已經(jīng)有該域名的信息,則該過程完成,不需要后續(xù)的操作;若沒有該域名的信息,則需要進一步向上一級的DNS解析服務(wù)器查詢該域名的信息,即DNS解析(resolve)。域名解析的核心正是在于向上一級的DNS解析器發(fā)出解析請求,解析器得到相匹配的IP以后,返回給終端設(shè)備,從而整個過程完成。由DNS協(xié)議的特點可知,為了方便后續(xù)域名查詢,提高后續(xù)的域名解析的效率,該協(xié)議規(guī)定,將新解析到的映射信息加入到高速緩存中。下列部分代碼說明了。DNS解析的過程:
DNS解析的功能是向上一級的DNS服務(wù)器(運營商服務(wù)中心動態(tài)分配的DNS服務(wù)器)發(fā)出請求,令其幫助查找該域名的映射信息。在DNS協(xié)議里,查詢信息的方法有兩種:遞歸查詢和迭代查詢。大多數(shù)情況下,為了使用上的方便,默認的都是遞歸查詢。這樣對于運營商的DNS服務(wù)器而言,其解析域名的過程跟 WDTU終端查詢域名的方法相同:先查詢服務(wù)器自身的緩存,若查到則過程完成,否則再向服務(wù)器的上一級DNS服務(wù)器查詢域名信息。而花生殼公司的服務(wù)器地址會直接或間接地存放在運營商的服務(wù)器鏈表中(這一部分由運營商和花生殼公司合作實現(xiàn)),從而可以從花生殼公司的服務(wù)器數(shù)據(jù)系統(tǒng)中得到該域名的映射IP。運營商的DNS服務(wù)器得到花生殼返回的數(shù)據(jù)包以后,過程完成。最后再從運營商動態(tài)分配的DNS服務(wù)器返回的DNS應(yīng)答數(shù)據(jù)包中提取IP地址信息。DNS系統(tǒng)整體的工作原理如圖3所示。
結(jié)語
由于工業(yè)對于借助無線網(wǎng)絡(luò)實現(xiàn)遠距離數(shù)據(jù)傳輸?shù)囊蠛蛻?yīng)用越來越多,而傳統(tǒng)的數(shù)據(jù)傳輸必須有固定的公網(wǎng)IP,這使得成本要求較高,限制了產(chǎn)品的使用范圍。本設(shè)計的創(chuàng)新點在于,使WDTU無線終端實現(xiàn)了DNS功能,這樣任意一臺主機都可作為“具有公網(wǎng)IP”的傳統(tǒng)數(shù)據(jù)中心主機使用,使產(chǎn)品的應(yīng)用成本降低,對于提高產(chǎn)品的整體功能,促進產(chǎn)品的推廣具有重要的現(xiàn)實意義。
責任編輯:gt
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5343瀏覽量
170804 -
交換機
+關(guān)注
關(guān)注
20文章
2610瀏覽量
99104 -
數(shù)據(jù)中心
+關(guān)注
關(guān)注
16文章
4632瀏覽量
71888
發(fā)布評論請先 登錄
相關(guān)推薦
評論