亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于.Net平臺的DNS域名解析仿真實驗教學(xué)設(shè)計

        2019-04-23 12:52:18奚婧胡文驊
        中國信息技術(shù)教育 2019年8期

        奚婧 胡文驊

        摘要:本文主要介紹了基于.Net平臺的DNS域名解析仿真實驗在計算機網(wǎng)絡(luò)課程教學(xué)中的具體應(yīng)用。作者在闡述DNS服務(wù)器工作原理及域名解析過程的同時,以C#高級編程語言編寫基于非阻塞通信框架下的DNS仿真服務(wù)器,實現(xiàn)了Server-Server、Client-Server雙向通信,從而模擬了客戶端DNS查詢報文構(gòu)建、DNS查詢報文發(fā)送、DNS服務(wù)器端報文接收和解析、DNS響應(yīng)報文的回傳等功能。通過仿真編程實踐可以讓學(xué)生全面透徹理解DNS域名解析原理并有效鍛煉實際動手能力。

        關(guān)鍵詞:DNS;分布式數(shù)據(jù)庫;.Net框架;權(quán)威域名服務(wù)器;報文解析;C#;非阻塞通信

        中圖分類號:G434 文獻標(biāo)識碼:A 論文編號:1674-2117(2019)08-0106-04

        引言

        在《計算機網(wǎng)絡(luò)》及《組網(wǎng)和網(wǎng)絡(luò)管理》等相關(guān)課程教學(xué)中,學(xué)生對核心網(wǎng)絡(luò)協(xié)議的理解掌握一直存在薄弱環(huán)節(jié)。因此,網(wǎng)絡(luò)協(xié)議的講解要注重兩個層面的剖析,一個從整體角度出發(fā)介紹協(xié)議的作用、格式標(biāo)準(zhǔn)、流程步驟、所屬類別,另一個講述協(xié)議如何編碼實現(xiàn)。通過具體的編碼實踐,可以讓學(xué)生對協(xié)議的各個知識點有較為直觀具象的認識,與傳統(tǒng)的純理論式授課相比,實踐操作模式更能夠激發(fā)學(xué)生的學(xué)習(xí)主動性。

        本文以DNS域名解析仿真實驗為例,闡述計算機網(wǎng)絡(luò)課程中網(wǎng)絡(luò)協(xié)議章節(jié)如何配套進行實驗教學(xué)設(shè)計。DNS系統(tǒng)是提供域名到IP地址這種映射服務(wù),方便訪問因特網(wǎng)上的各個主機。其協(xié)議主要環(huán)節(jié)由四個方面組成:DNS查詢報文構(gòu)建、DNS查詢報文發(fā)送、DNS服務(wù)器端報文接收和解析、DNS響應(yīng)報文回傳。

        實驗?zāi)康暮蛢?nèi)容

        本實驗旨在在教學(xué)過程中讓學(xué)生自主搭建起真實有效的環(huán)境平臺,模擬一個基于TCP/IP應(yīng)用程序及分布式數(shù)據(jù)庫的采用客戶-服務(wù)器(C/S)架構(gòu)模式的DNS域名解析系統(tǒng);提供主機名稱和IP地址之間的轉(zhuǎn)換及有關(guān)電子郵件的選路信息服務(wù),使大多數(shù)名字都在本地進行解析,僅少量解析需要在因特網(wǎng)(本地仿真)上通信,提高服務(wù)效率;模擬仿真開發(fā)平臺選用微軟.Net Framework,開發(fā)環(huán)境為Visual Studio,關(guān)系數(shù)據(jù)庫系統(tǒng)使用SQL Server 2008 Express,學(xué)生通過C#編程語言完成DNS客戶端和服務(wù)端組件的開發(fā)工作,并能實現(xiàn)雙向通信。

        DNS仿真實驗總體概述

        1.DNS工作原理解析

        域名系統(tǒng)(DNS)是一種用于TCP/IP應(yīng)用程序的分布式數(shù)據(jù)庫,它提供主機名字和IP地址之間的轉(zhuǎn)換及有關(guān)電子郵件的選路信息。這里提到的分布式是指在Internet上的單個站點不能擁有所有的信息。DNS提供了允許服務(wù)器和客戶程序相互通信的協(xié)議。

        當(dāng)某一個應(yīng)用程序進程需要把主機名解析為IP地址時,該應(yīng)用進程就調(diào)用解析程序,并成為DNS的一個客戶,把待解析的域名放在DNS請求報文中,以UDP用戶數(shù)據(jù)報方式發(fā)給本地服務(wù)器。本地域名服務(wù)器在查找域名后,把對應(yīng)的IP地址放在回答報文中返回。應(yīng)用進程獲得目的主機的IP地址后即可進行通信。若本地域名服務(wù)器不能回答該請求,則此域名服務(wù)器就暫時成為DNS中的另一個客戶,并向其他域名服務(wù)器發(fā)出查詢請求。

        域名解析過程分為兩種類型:遞歸查詢和迭代查詢。一般主機向本地域名服務(wù)器的查詢采用遞歸查詢,而本地域名服務(wù)器向根域名服務(wù)器的查詢通常采用迭代查詢。

        所謂遞歸查詢,就是如果主機所詢問的本地域名服務(wù)器不知道被查詢域名的IP地址,那么本地域名服務(wù)器就以DNS客戶的身份,向其他根域名服務(wù)器繼續(xù)發(fā)出查詢請求報文(替主機完成查詢請求),而不是讓該主機自己向根域名發(fā)出查詢請求。因此,遞歸查詢返回的查詢結(jié)果或者是所要查詢的IP地址信息,或者是返回?zé)o法查詢到結(jié)果提示信息。

        而迭代查詢是指當(dāng)本地域名服務(wù)器向根域名服務(wù)器發(fā)送查詢報文后,根域名服務(wù)器要么直接給出IP,要么給出管理所要查詢域名的頂級域名的權(quán)限服務(wù)器地址,讓其轉(zhuǎn)向管理頂級域的服務(wù)器繼續(xù)查詢,而不是替本地域名服務(wù)器進行后續(xù)查詢(如上頁圖1)。同理,當(dāng)頂級域名服務(wù)器收到查詢報文后,要么直接給出IP地址,要么給出管理二級域名的權(quán)限服務(wù)器地址,讓其轉(zhuǎn)向查詢。最后,知道了所要解析的域名的IP地址之后把這個結(jié)果返回給發(fā)起查詢的主機。

        2.系統(tǒng)通信框架結(jié)構(gòu)分析設(shè)計

        正如前面所述,當(dāng)主機向本地域名服務(wù)器發(fā)送查詢請求后,若本地域名服務(wù)器不能回答該請求,則此域名服務(wù)器就暫時成為DNS中的另一個客戶,并向其他域名服務(wù)器發(fā)出查詢請求。所以在DNS系統(tǒng)當(dāng)中,域名服務(wù)器在充當(dāng)“服務(wù)器”角色的同時,也可以擔(dān)當(dāng)“客戶端”角色,因此通信模型的設(shè)計是基于點對點的網(wǎng)狀通信模型(如上頁圖2)。

        3.系統(tǒng)功能模型分析設(shè)計

        本文所說的DNS仿真系統(tǒng)核心功能模塊由四項組成:基于TCP協(xié)議的非阻塞通信模塊、報文封裝構(gòu)建模塊、報文解析查詢模塊、數(shù)據(jù)庫訪問模塊。

        非阻塞通信模塊:完成基本的服務(wù)器與服務(wù)器之間的連接通信,包括端口監(jiān)聽、連接建立、信息收發(fā)等功能。

        報文封裝構(gòu)建模塊:主要完成DNS查詢報文或者響應(yīng)報文的格式封裝。

        報文解析查詢模塊:完成報文的解析,以及根據(jù)報文包含的信息進行查詢工作,如查詢A記錄、PTR指針信息。該模塊的運行需要依賴通信模塊及報文封裝構(gòu)建模塊。

        數(shù)據(jù)庫訪問模塊:該模塊利用ADO.NET 2.0技術(shù),實現(xiàn)對SQL Server 2008 Express中數(shù)據(jù)庫的數(shù)據(jù)訪問功能,在本系統(tǒng)中,所有的Transact-SQL語句運行均采用存儲過程形式,并通過ADO.NET組件將結(jié)果集以SqlDataReader或者DataSet形式返回。之所以利用存儲過程,一方面是因為已編譯的SQL語句可以有效提高數(shù)據(jù)查詢效率,另一方面也保證了數(shù)據(jù)訪問的安全性。

        DNS仿真實驗詳細構(gòu)成

        1.數(shù)據(jù)庫設(shè)計

        頂級域名表,存放于根域名服務(wù)器(如表1);二級域名表,存放于管理一級域的權(quán)限域名服務(wù)器(如表2);三級域名表,存放于管理二級域的權(quán)限域名服務(wù)器(如表3);域名-IP映射緩存表,存放于本地DNS服務(wù)器(如上頁表4)。

        2.數(shù)據(jù)訪問接口設(shè)計

        在數(shù)據(jù)庫訪問方面,筆者采用了ADO.NET組件,ADO.NET是一種新的數(shù)據(jù)庫訪問技術(shù),是.NET Framework中用以操作數(shù)據(jù)庫的類庫的總稱,提供對Microsoft SQL Server、Oracle以及OLE DB和XML數(shù)據(jù)源的一致訪問。具體來說,通過ADO.NET,應(yīng)用程序不但能夠連接到指向數(shù)據(jù)庫的數(shù)據(jù)源,檢索、操作和更新數(shù)據(jù),而且還能實現(xiàn)對其他數(shù)據(jù)格式的訪問。

        3.通信模塊實現(xiàn)

        在通信解決方案中筆者通過線程池來提供線程,線程池中預(yù)先創(chuàng)建了一些工作線程,它們不斷從工作隊列中取出任務(wù),然后執(zhí)行該任務(wù),當(dāng)工作線程執(zhí)行完一個任務(wù)后,就會繼續(xù)執(zhí)行工作隊列中下一個任務(wù),從而減少了創(chuàng)建和銷毀線程的次數(shù),每個工作線程都可以一直被重用,提高了并發(fā)性,減緩了系統(tǒng)資源開銷。

        另外,本模塊的非阻塞通信構(gòu)架,是指當(dāng)線程執(zhí)行這些方法時,如果操作還沒有就緒,并不會繼續(xù)等待,而是立即返回。具體在.Net中,可以通過委托進行方法的異步調(diào)用來實現(xiàn)非阻塞,就是說程序在異步調(diào)用方法時,本身并不會因為方法的調(diào)用而中斷,而是從線程池中抓取一個線程去執(zhí)行該方法,自身線程(主線程)在完成抓取線程這一過程之后,繼續(xù)執(zhí)行下面的代碼,這樣就實現(xiàn)了代碼的并行執(zhí)行。

        4.DNS報文查詢模塊實現(xiàn)

        查詢模塊DnsQuery是本系統(tǒng)最為核心的一個類,在設(shè)計時,將其設(shè)定為靜態(tài)類。靜態(tài)類與非靜態(tài)類基本相同,但存在一個區(qū)別,即靜態(tài)類不能實例化,也就是說,不能使用new關(guān)鍵字創(chuàng)建靜態(tài)類類型的變量。因為沒有實例變量,所以要使用類名本身訪問靜態(tài)類的成員。

        之所以將DnsQuery類設(shè)定為靜態(tài)類,是因為對于只對輸入?yún)?shù)進行運算而不獲取或設(shè)置任何內(nèi)部實例字段的方法集,靜態(tài)類可以方便地用作這些方法集的容器。靜態(tài)構(gòu)造函數(shù)僅調(diào)用一次,在程序駐留的應(yīng)用程序域的生存期內(nèi),靜態(tài)類一直保留在內(nèi)存中。使用靜態(tài)類的優(yōu)點在于,編譯器能夠執(zhí)行檢查以確保不致偶然地添加實例成員。

        5.用戶接口

        在用戶接口設(shè)計方面,使用的是Windows窗體應(yīng)用程序形式。Windows窗體特別適合于豐富圖形用戶界面并非最重要任務(wù)的應(yīng)用程序快速開發(fā)方案。

        總結(jié)

        通過DNS域名解析仿真實驗,學(xué)生對DNS域名系統(tǒng)有了較為深入的了解。在具體實驗過程中,通過對DNS域名層次空間、報文封裝、解析、查詢流程的認真設(shè)計分析和編碼開發(fā),學(xué)生可以逐個步驟還原DNS域名解析過程。仿真實驗教學(xué)的介入,很大程度上彌補了傳統(tǒng)計算機網(wǎng)絡(luò)教學(xué)過程中知識點抽象、晦澀,學(xué)生難以理解的問題,詳細豐富的實驗設(shè)計也讓學(xué)生在動手實踐中有章可循并能觸類旁通,既提升了解決具體問題時綜合利用各類計算機編程工具的水平,也對鞏固所學(xué)理論知識形成良好的正向反饋。

        參考文獻:

        [1]劉廣鐘,高軍,劉旻,等.報文分析技術(shù)在計算機網(wǎng)絡(luò)教學(xué)中的應(yīng)用[J].計算機教育,2014(1):76-80.

        [2]謝希仁.計算機網(wǎng)絡(luò)(第五版)[M].北京:電子工業(yè)出版社,2008.

        [3](美)W. Richard Stevens.TCP/IP Illustrated, Volume 1: The Protocols[M].北京:機械工業(yè)出版社,2002.

        [4]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第四版)[M].北京:高等教育出版社,2006.

        [5]李俊民.SQL結(jié)構(gòu)化查詢語言詳解(第二版)[M].北京:人民郵電出版社,2008.

        日韩产的人妻av在线网| 日本强好片久久久久久aaa| 伊人精品无码AV一区二区三区| 精品久久日产国产一区| 国产成人精品一区二三区孕妇| 亚洲性无码一区二区三区| 久久久久久久99精品国产片| 美女黄频视频免费国产大全 | 精品亚洲国产亚洲国产| 男吃奶玩乳尖高潮视频| 亚洲а∨天堂久久精品2021| 国产精品99精品一区二区三区∴| 久久青青草原亚洲av| 欧美亅性猛交内射| 国产影片中文字幕| 精品一区二区三区久久久| 中文字幕日本在线乱码| 特黄aaaaaaaaa毛片免费视频| 97精品伊人久久大香线蕉| 精品丝袜国产在线播放| 国产精品黑丝美腿美臀| 妺妺窝人体色www聚色窝| 日韩欧美专区| 国产av一区仑乱久久精品| 亚洲youwu永久无码精品| 好大好深好猛好爽视频免费| 久久婷婷是五月综合色狠狠| av网站不卡的av在线| 国产精品无码v在线观看| 亚洲视频在线看| 日韩成精品视频在线观看| 99国产精品久久99久久久| 国产无遮挡裸体免费视频| 久久久久综合一本久道| 国产激情在线观看免费视频| 中文字幕aⅴ人妻一区二区| 欧美三级免费网站| 国产又色又爽的视频在线观看91| 亚洲av一二三区成人影片| 国产午夜福利短视频| 久久亚洲精品一区二区|