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
主站蜘蛛池模板: 免费三A级毛片视频| 欧美色视频日本| 国产欧美精品一区aⅴ影院| 国产精品黑色丝袜的老师| 人妻无码中文字幕一区二区三区| 亚洲欧洲天堂色AV| 四虎在线观看视频高清无码| 欧美激情视频一区二区三区免费| 国产免费网址| 久久成人国产精品免费软件| 2024av在线无码中文最新| 91青青草视频在线观看的| 99国产精品一区二区| 欧美一区二区三区国产精品| 超碰aⅴ人人做人人爽欧美 | 久久夜夜视频| 香蕉在线视频网站| 成人免费网站在线观看| 91在线激情在线观看| 青草91视频免费观看| 亚洲中文字幕国产av| 亚洲va视频| 亚洲国产成人自拍| 亚洲日本中文字幕天堂网| 青青极品在线| 日本www在线视频| 91外围女在线观看| 四虎影视8848永久精品| 日韩一级二级三级| 国产av一码二码三码无码| 亚洲成人黄色在线| 一区二区三区四区日韩| 亚洲精品无码高潮喷水A| 精品久久综合1区2区3区激情| 国产精品成人第一区| 亚洲人成影院在线观看| 欧美一级视频免费| 国产综合另类小说色区色噜噜| 久久永久精品免费视频| 久操中文在线| 高清欧美性猛交XXXX黑人猛交| 国产精品自在拍首页视频8| www.91在线播放| 亚洲天堂日韩av电影| 中文无码精品a∨在线观看| 久青草免费视频| 毛片久久网站小视频| 免费可以看的无遮挡av无码| 国产永久在线观看| 67194成是人免费无码| 久爱午夜精品免费视频| 四虎在线高清无码| 久久久久亚洲AV成人人电影软件| 在线看片免费人成视久网下载| 凹凸国产分类在线观看| 欧美乱妇高清无乱码免费| 日本人妻一区二区三区不卡影院| 国产网友愉拍精品| 亚洲伊人电影| 熟妇丰满人妻av无码区| 又黄又爽视频好爽视频| 国产精品永久在线| 亚洲无线视频| 五月天福利视频| 亚洲无码高清一区| 精品亚洲国产成人AV| 欧美不卡视频在线观看| 一区二区三区成人| 国产精品白浆在线播放| 无码粉嫩虎白一线天在线观看| 毛片视频网址| 亚洲欧美日本国产综合在线| 国产99热| 国产欧美在线| 亚洲人妖在线| 久久99国产视频| 久久国产V一级毛多内射| 少妇人妻无码首页| 精品国产成人高清在线| 日本免费福利视频| 99国产精品免费观看视频| 亚洲三级影院|