999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于雙重檢索修正域名系統(tǒng)的最長匹配規(guī)則

2023-09-18 02:23:52趙寶康李安藝
計算機(jī)工程與科學(xué) 2023年9期
關(guān)鍵詞:規(guī)則用戶系統(tǒng)

周 聰,陶 靜,趙寶康,李安藝

(國防科技大學(xué)計算機(jī)學(xué)院,湖南 長沙 410073)

1 引言

隨著互聯(lián)網(wǎng)的快速發(fā)展,為了方便人們利用域名形式訪問網(wǎng)絡(luò)中的主機(jī),域名服務(wù)系統(tǒng)DNS(Domain Name System)應(yīng)運(yùn)而生。RFC1034[1]取代之前的RFC882系統(tǒng)地描述了DNS的基本思想(標(biāo)志著DNS的誕生),其原理是客戶端根據(jù)查詢得到的資源記錄類型和關(guān)聯(lián)數(shù)據(jù)進(jìn)行下一步的通信。

Linux系統(tǒng)的DNS服務(wù)由BIND (Berkeley Internet Name Domain)軟件實(shí)現(xiàn),目前95%以上的DNS服務(wù)器都是由其搭建的[2]。中小型企業(yè)也可以選擇微軟公司的Windows server系列搭建域名服務(wù)器。目前對域名解析系統(tǒng)的研究主要集中在安全性方面[3-6],也有文獻(xiàn)將其與大數(shù)據(jù)方法結(jié)合后實(shí)現(xiàn)數(shù)據(jù)可視化[7],還有去中心化架構(gòu)的DNS系統(tǒng)設(shè)計[8]。

在安全性方面,針對隱私保護(hù)問題,由于DNS基于明文傳輸數(shù)據(jù),使用加密技術(shù)將DNS請求與響應(yīng)的數(shù)據(jù)包進(jìn)行加密,從而保證數(shù)據(jù)包不被監(jiān)聽和利用,其代表性技術(shù)包括DoT(DNS-over-TLS)[9]、DoH(DNS-over-HTTPS)[10]、DNS-over-QUIC(Quick UDP Internet Connections)[11]和DNSCrypt[12]。在性能優(yōu)化設(shè)計方面,張偉等[13]設(shè)計了一種支持多進(jìn)程共享的高效哈希表,用于存儲域名數(shù)據(jù)、實(shí)現(xiàn)域名快速查詢和解決緩存大量域名時的哈希沖突問題;還依據(jù)域名和資源記錄類型預(yù)先構(gòu)建應(yīng)答數(shù)據(jù),對重復(fù)域名數(shù)據(jù)進(jìn)行壓縮,加快DNS請求處理時構(gòu)建應(yīng)答報文的速度,提高緩存服務(wù)器的處理性能。秦豐林等[14]根據(jù)雙棧環(huán)境的特點(diǎn),設(shè)計了IPv6協(xié)議的地址自動配置機(jī)制,為用戶終端無感知地自動配置DNSv6服務(wù)器,通過增加DNS配置的冗余方式來提高DNS服務(wù)的可靠性。

DNSSEC(Domain Name System SECurity extensions)[15]協(xié)議引入了數(shù)字簽名技術(shù),通過對響應(yīng)數(shù)據(jù)進(jìn)行簽名可以驗(yàn)證響應(yīng)結(jié)果的正確性。針對實(shí)施條件中存在的安全隱患,Bau等[16]模擬了DNSSEC中的加解密操作并成功發(fā)現(xiàn)了一些偽造的漏洞。Herzberg等[17]分析了DNSSEC面臨的挑戰(zhàn)和存在的不足。Goldberg等[18]的研究表明DNSSEC部署很容易受到區(qū)域枚舉攻擊。

DNS技術(shù)旨在幫忙用戶以容易記憶的方式檢索網(wǎng)絡(luò)資源,從互聯(lián)網(wǎng)出現(xiàn)之初使用IP地址通信,到目前的計算機(jī)網(wǎng)絡(luò)尋訪定位方式,該項(xiàng)技術(shù)已取得了很大的發(fā)展,DNS域名服務(wù)被應(yīng)用于更多的領(lǐng)域。彭巍等[19]基于Hadoop技術(shù)分析運(yùn)營商的DNS海量數(shù)據(jù),并對分析的結(jié)果進(jìn)行闡述,通過報表、圖形等多種方式進(jìn)行呈現(xiàn),實(shí)現(xiàn)DNS數(shù)據(jù)多維度分析。蔡榮彥等[20]提出了基于域名關(guān)聯(lián)的惡意移動應(yīng)用檢測方法,以DNS域名為檢測分析對象識別網(wǎng)絡(luò)流量中的惡意域名,利用DNS請求流量的時間特征尋找惡意域名的關(guān)聯(lián)域名,并將關(guān)聯(lián)域名與文本分類樣本庫進(jìn)行對比,確定惡意移動應(yīng)用的名稱。Cui等[21]利用數(shù)據(jù)挖掘的方法對域名的日志數(shù)據(jù)進(jìn)行分析,從而檢測出異常。

在DNS去中心化設(shè)計方面,朱國庫等[22]設(shè)計了根域去中心化的方案,從而形成聯(lián)盟來對根服務(wù)器的數(shù)據(jù)進(jìn)行解析;朱建明等[23]提出了利用區(qū)塊鏈來構(gòu)建數(shù)據(jù)動態(tài)認(rèn)證的模型;趙赫等[24]提出用區(qū)塊鏈來保護(hù)數(shù)據(jù)。

ENUM(Electronic Numbers to URI Mapping)是電話號碼映射工作組制定的協(xié)議[25,26],它定義了將E.164號碼映射為域名的規(guī)則,以及在互聯(lián)網(wǎng)DNS系統(tǒng)中存儲該域名信息的方法。每個E.164號碼轉(zhuǎn)化成的域名對應(yīng)系統(tǒng)的唯一資源標(biāo)識,從而使其成為可以在互聯(lián)網(wǎng)中使用的網(wǎng)絡(luò)地址。采用ENUM技術(shù),通過電話號碼可以獲得用戶郵件、IP傳真和個人網(wǎng)頁等多種信息。

ENUM技術(shù)是當(dāng)前計算機(jī)網(wǎng)絡(luò)資源尋址方式的熱點(diǎn),在三網(wǎng)融合中被大量應(yīng)用[27]。該技術(shù)的核心分為3部分:電話號碼預(yù)處理、DNS配置和ENUM解析。

在電話號碼預(yù)處理階段:當(dāng)用戶輸入的號碼為“+86-01-234567”時,去掉數(shù)字以外的其它符號,并在數(shù)字之前加“.”,得到“8.6.0.1.2.3.4.5.6.7”,將其反轉(zhuǎn)并添加后綴得到符號串“7.6.5.4.3.2.1.0.6.8.e164.arpa”。在DNS配置階段:上述字符串按NAPTR(Naming Authority PoinTeR)記錄[1]的格式存儲于區(qū)域文件。在ENUM解析階段:當(dāng)用戶使用支持ENUM技術(shù)的設(shè)備輸入電話號碼后,該設(shè)備完成號碼預(yù)處理,并將字符串按DNS協(xié)議發(fā)出,從DNS服務(wù)器得到與此ENUM相應(yīng)的唯一資源標(biāo)識集合,用戶根據(jù)自身的需求選擇相關(guān)的資源,繼續(xù)執(zhí)行相應(yīng)的協(xié)議完成操作。如:用戶在Outlook Express輸入“+86-01-234567”,DNS服務(wù)器將對應(yīng)的“Sip:xxx”和“Mailto:xxx”等資源標(biāo)識給用戶,用戶若選擇“Mailto:xxx”,可與電話號碼為“+86-01-234567”的使用者進(jìn)行郵件溝通。

2 最長匹配規(guī)則

ENUM支持在NAPTR記錄中使用符號“*”,以實(shí)現(xiàn)解析過程模糊匹配。模糊匹配過程依據(jù)最長匹配策略,如下所示:

以BIND(版本9.7.3)為例,在DNS配置階段,使用4個號碼:1*,12,13*,141。注冊NAPTR記錄如下:

*.1.e164.arpa.IN NAPTR 1 1 “U” “sip+E2U” “resolving result:A”

2.1.e164.arpa.IN NAPTR 1 1 “U” “sip+E2U” “resolving result:B”

*.3.1.e164.arpa.IN NAPTR 1 1 “U” “sip+E2U” “resolving result:C”

1.4.1.e164.arpa.IN NAPTR 1 1 “U” “sip+E2U” “resolving result:D”

當(dāng)用戶需要查詢號碼1311時,按最長匹配規(guī)則,域名系統(tǒng)BIND返回解析結(jié)果C;當(dāng)用戶查詢號碼13,14或者142時,域名系統(tǒng)BIND返回“無結(jié)果”,以號碼142為例,按最長匹配規(guī)則,用戶應(yīng)該收到解析結(jié)果A。

為進(jìn)一步驗(yàn)證RFC關(guān)于最長匹配規(guī)則的定義,在Windows server 2003上注冊相同號碼進(jìn)行解析,兩者的解析結(jié)果之間存在差異,詳細(xì)如表1所示。由此可知:BIND系統(tǒng)的最長匹配規(guī)則功能不符合RFC描述。

Table 1 BIND and Windows server’s domain name resolution

通過比較不同的版本BIND-9.8、BIND-9.9和BIND-9.17.18,其解析的結(jié)果與BIND-9.7.3的一致,即后續(xù)版本的最長匹配規(guī)則功能亦不符合RFC描述。

3 雙重檢索規(guī)則

根據(jù)表1的解析過程,可將結(jié)果分為4類:

(1)Ⅰ類(表1的第2個和第8個用例):在DNS系統(tǒng)中明確注冊的記錄,如號碼12和141,BIND與Windows server均能得到正確的解析結(jié)果。

(2)Ⅱ類(表1的第6個和第7個用例):在DNS系統(tǒng)中注冊通配符“*”記錄,可匹配變長的號碼,如果已注冊13*,則131和1311將被解析為其結(jié)果。

(3)Ⅲ類(表1的第3個、第4個和第9個用例):按RFC1034關(guān)于通配符的定義,當(dāng)出現(xiàn)“*”時,解析結(jié)果應(yīng)滿足模糊檢索的要求,但BIND與Windows server的解析結(jié)果存在差異。

從用戶的角度來看,最長匹配規(guī)則更趨向于認(rèn)同Windows server的解析結(jié)果,與RFC1034的描述一致。

(4)Ⅳ類(表1的第1個和第5個用例):不滿足上述3種場景,即未注冊的記錄。

針對第Ⅲ類情況,本文提出了雙重檢索匹配算法,即:在BIND系統(tǒng)中,當(dāng)號碼E無法獲得解析結(jié)果時,系統(tǒng)生成一個新的號碼E′,以E′重新進(jìn)行檢索,最終結(jié)果返回至用戶,具體流程如圖1所示。

Figure 1 Search process comparison

圖1a為原BIND系統(tǒng)的檢索流程,圖1b為改進(jìn)后的檢索流程。從圖1可知,當(dāng)號碼E的解析結(jié)果不存在時,將生成新號碼E′再次檢索,故稱為雙重檢索規(guī)則。

由于系統(tǒng)在檢索前,需要保存檢索的內(nèi)容,所以在第2次檢索時,需要先保持原號碼的檢索條件,重置新的檢索狀態(tài),執(zhí)行新號碼檢索后,恢復(fù)原號碼的檢索條件,并返回給用戶。

為提高2次檢索的效率,本文設(shè)計新號碼生成算法,如算法1所示。

算法1生成雙重檢索號碼E′

輸入:待檢測的號碼E。

輸出:新的號碼E′。

步驟1若號碼E不包含*,退出;否則執(zhí)行步驟2。

步驟2根據(jù)號碼E獲取區(qū)域文件名。

步驟3獲取區(qū)域文件中所有記錄,形成2個鏈表ts與tn,其中ts以“*” 開頭,tn以數(shù)字開頭。若ts為*.1和*.3.1,則分別對應(yīng)號碼1*和13*;若tn為2.1和1.4.1,則分別對應(yīng)號碼12和141。

步驟4若tn不為空,依次刪除號碼E的最低位,并與鏈表tn各項(xiàng)比較,如若存在相同項(xiàng),則置E′為空,跳轉(zhuǎn)至步驟6。若號碼E為123*,則與tn比較的字符串依次為2.1和1。

步驟5若ts不為空,依次將號碼E的最低位置為“*”,并與鏈表ts各項(xiàng)比較,若存在相同項(xiàng),則置E′為ts的當(dāng)前值,跳轉(zhuǎn)至步驟6。若號碼E為123*,則與ts比較的字符串依次為*.2.1和*.1。

步驟6清空鏈表ts和tn,關(guān)閉區(qū)域文件,返回E′。

4 雙重檢索過程實(shí)現(xiàn)

圖1b中的陰影部分通過調(diào)用原系統(tǒng)函數(shù)實(shí)現(xiàn),其它部分均在BIND系統(tǒng)的函數(shù)query_find中實(shí)現(xiàn)。

(1)存在記錄判斷。

此處為雙重檢索的入口,判斷記錄是否存在的標(biāo)志為變量result與type。第1次檢索完成后,result變量返回檢索結(jié)果。經(jīng)實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)值為196611(針對141注冊后無法解析142的場景)或65628(針對141注冊后無法解析14的場景),且變量type的值為35(ENUM記錄類型的值)時,需進(jìn)入圖1b的雙重檢索流程。

(2)保護(hù)號碼E的檢索條件。

號碼E的內(nèi)容(變量名為client→query.qname→ndate)與長度(變量名為client→query.qname→length)分別存入臨時變量數(shù)據(jù)組t中。

(3)重置檢索狀態(tài)。

①清空第1次的檢索結(jié)果,將變量fname→ndata,fname→length,fname→label和fname→attributes置空或置零。

②將號碼E′的內(nèi)容和長度分別賦值檢索變量client→query.qname→ndate和client→query.qname→length。

③為檢索數(shù)量(變量名為segment)、標(biāo)識位(變量名為client→query.qname→label)、偏移量(變量名為client→query.qname→offsets)賦初值。

(4)以號碼E′執(zhí)行檢索。

調(diào)用原BIND的檢索方法dns_db_find(),但當(dāng)前狀態(tài)下檢索的內(nèi)容從第1次的號碼E變成為E′。

(5)恢復(fù)號碼E檢索狀態(tài)。

以E′完成檢索,恢復(fù)至號碼E時的狀態(tài),將臨時變量t的內(nèi)容分別賦值給lient→query.qname→ndate和client→query.qname→length。

雙重檢索實(shí)際上是通過算法1找到了與號碼E最長匹配的另一個新號碼E′,重新調(diào)用BIND的檢索方法得到新的結(jié)果,并恢復(fù)到原號碼E的情景返回給用戶,這一過程對用戶透明。

為了滿足BIND系統(tǒng)應(yīng)用DNSSEC[15]的要求,在重置初始化檢索狀態(tài)過程中將2個變量置為NULL即可,即node與rdateset→methods;其它變量與非DNSSEC處理過程一致。

5 實(shí)驗(yàn)驗(yàn)證

本文在BIND-9.7.3基礎(chǔ)上完成雙重檢索修改最長匹配規(guī)則,對比前后2次的解析結(jié)果,如表2所示。

Table 2 Domain name resolutions of BIND after being modified

從表2可知,使用雙重檢索修正后,BIND的解析結(jié)果與Windows server 2003的解析結(jié)果一致,同時符合標(biāo)準(zhǔn)文獻(xiàn)RFC1034對通配符最長匹配的定義。

使用DNS性能測試工具dnsperf對雙重檢索修正后的BIND服務(wù)進(jìn)行測試,其每秒查詢次數(shù)(并發(fā)數(shù))、響應(yīng)時間2項(xiàng)指標(biāo)與修正前的基本一致,因此,修正過程對性能影響可忽略不計,詳細(xì)數(shù)據(jù)如表3所示。

Table 3 Performance of BIND before and after being modified

表3的前1~6列為dnsperf配置的參數(shù):C指定客戶端數(shù)量;Q限制每秒查詢數(shù)量;i指定查詢的間隔;符號“√”表示當(dāng)前參數(shù)值有效,且值為表頭第2行的方框內(nèi)容。表3的后2列為dnsperf測試結(jié)果,在上述3個參數(shù)選定的前提下,每個場景運(yùn)行100次,分別計算查詢消耗時間和每秒查詢次數(shù)的平均值。由于某些場景的查詢消耗時間為0,符號“/”表示查詢結(jié)果無法計算。

從表3可以看出,基于修改后的雙重檢索BIND服務(wù)與原服務(wù)性能在同一個量級,兩者數(shù)值相差不大。

通過計算每秒查詢次數(shù)的兩者之差與兩者之和的比值,比較兩者在每秒查詢次數(shù)上的相對偏差,其結(jié)果如圖2所示。

Figure 2 Relative deviation of query times per second

從圖2可知,3個場景的偏差非常小,如〈c,i,Q〉=〈1,10,1000〉、〈c,i,Q〉=〈100,1,1〉、〈c,i,Q〉=〈100,10,1〉;2個場景的偏差較大,如〈c,i,Q〉=〈100,1,1000〉、〈c,i,Q〉=〈100,10,1000〉。

在用戶并發(fā)數(shù)與查詢總量增加的情況下,由于基于二次檢索的BIND服務(wù)查詢次數(shù)增加,性能與原BIND的偏差有所增長,相應(yīng)的性能有所下降,但都處于15%以下,性能影響不大。

6 結(jié)束語

BIND軟件在域名服務(wù)系統(tǒng)中占比很高,但實(shí)現(xiàn)最長匹配功能時與RFC描述存在偏差,需要通過對比Windows server 解析結(jié)果進(jìn)一步確認(rèn)。本文在保持BIND原有架構(gòu)不變的基礎(chǔ)上,使用雙重檢索規(guī)則,修正后的BIND解析結(jié)果更符合RFC中關(guān)于最長匹配規(guī)則的定義,同時不影響軟件性能。這種修改策略將為標(biāo)準(zhǔn)服務(wù)更多定制化需求提供了一種可行的方案。同時,該系統(tǒng)已在實(shí)網(wǎng)中部署應(yīng)用。

猜你喜歡
規(guī)則用戶系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
撐竿跳規(guī)則的制定
數(shù)獨(dú)的規(guī)則和演變
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
讓規(guī)則不規(guī)則
Coco薇(2017年11期)2018-01-03 20:59:57
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
TPP反腐敗規(guī)則對我國的啟示
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 少妇露出福利视频| 亚洲国产91人成在线| 国产美女在线观看| 亚洲精品视频网| 综合五月天网| 国产一区三区二区中文在线| 亚洲国产成人久久精品软件| 免费啪啪网址| 无码免费视频| 亚洲成人网在线播放| 麻豆国产精品| 久久这里只有精品免费| 美女视频黄频a免费高清不卡| 又猛又黄又爽无遮挡的视频网站| 国产十八禁在线观看免费| 九九精品在线观看| 97久久免费视频| 国产精品9| 国产微拍一区二区三区四区| 中文精品久久久久国产网址 | 国产丰满大乳无码免费播放| 久久久久亚洲av成人网人人软件| 午夜精品区| 国产人前露出系列视频| 欧美色视频在线| 亚洲色图欧美在线| 好紧好深好大乳无码中文字幕| 国产白浆在线| 免费 国产 无码久久久| 丝袜久久剧情精品国产| 亚洲精品欧美日本中文字幕| 国内精自视频品线一二区| 亚洲欧美日韩精品专区| 国产成人喷潮在线观看| 中文字幕在线看视频一区二区三区| 国产大片喷水在线在线视频| 99久久免费精品特色大片| 日本高清在线看免费观看| 欧美国产日韩一区二区三区精品影视| 五月激激激综合网色播免费| 国产人碰人摸人爱免费视频| 乱人伦视频中文字幕在线| 免费国产好深啊好涨好硬视频| 在线看AV天堂| 亚洲色图另类| 综合色婷婷| 国内毛片视频| 亚洲美女一区| 亚洲AV成人一区国产精品| 中文字幕在线观| 一级香蕉人体视频| 日韩在线成年视频人网站观看| 性色生活片在线观看| 久久久精品无码一区二区三区| 日本中文字幕久久网站| 欧美高清三区| 国产精品一区不卡| 欧美在线国产| 萌白酱国产一区二区| 欧美午夜小视频| 亚洲精品777| 中文字幕不卡免费高清视频| 亚洲精品在线91| 丝袜无码一区二区三区| 亚洲国产精品无码AV| 91丝袜在线观看| 五月天在线网站| 香蕉伊思人视频| 久夜色精品国产噜噜| 久久久成年黄色视频| 美女扒开下面流白浆在线试听| 亚洲天堂视频在线观看免费| 毛片基地视频| 精品色综合| 综合色88| 又猛又黄又爽无遮挡的视频网站| 久久久久夜色精品波多野结衣| 日本欧美午夜| 在线观看国产一区二区三区99| 一边摸一边做爽的视频17国产| 久久免费视频6| 国产精品福利导航|