• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于GPU的域名快速解析技術(shù)研究與設(shè)計(jì)*

      2014-12-21 02:40:58陳康先陳文杰康書芳ChenKangxianChenWenjieKangShufangLiuXia
      互聯(lián)網(wǎng)天地 2014年11期
      關(guān)鍵詞:共享內(nèi)存域名互通

      陳康先,陳文杰,康書芳,劉 霞/Chen Kangxian,Chen Wenjie,Kang Shufang,Liu Xia

      (1.華南理工大學(xué) 廣州510640;2.廣州杰賽科技股份有限公司技術(shù)中心 廣州510310;3.廣州軍區(qū)空軍指揮自動(dòng)化工作站 廣州510071)

      1 引言

      隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,智能終端的數(shù)量呈爆發(fā)式增長,加速了IPv4 地址的枯竭,使人們對(duì)IPv6的期待日益迫切。為了保護(hù)既有的投資,實(shí)現(xiàn)從IPv4到IPv6的跨越還需要較長的過渡期。在過渡期內(nèi),為保障IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)之間的互通,互通網(wǎng)關(guān)設(shè)備將會(huì)扮演非常重要的角色。

      目前主流設(shè)備商普遍采用高速網(wǎng)絡(luò)處理器和高性能通用計(jì)算平臺(tái)組成硬件平臺(tái),在高速網(wǎng)絡(luò)處理器上實(shí)現(xiàn)大吞吐量的IPv4 和IPv6網(wǎng)絡(luò)數(shù)據(jù)的收發(fā),在高性能通用計(jì)算平臺(tái)上運(yùn)行IPv4、IPv6 互通協(xié)議和一些應(yīng)用網(wǎng)關(guān)、網(wǎng)絡(luò)管理等功能的軟件,從而形成IPv4/IPv6 互通網(wǎng)關(guān)。為了實(shí)現(xiàn)高可用性和高效性,目前網(wǎng)關(guān)都采取多計(jì)算板的方式進(jìn)行冗余備份以及均衡負(fù)載設(shè)計(jì)。IPv4 和IPv6 互通網(wǎng)關(guān)架構(gòu)如圖1所示。

      IPv4/IPv6 互通網(wǎng)關(guān)的DNS 服務(wù)器和普通的純IPv4 或IPv6 服務(wù)器不同,其需要在解析或者逆解析時(shí)對(duì)IP 地址進(jìn)行特殊處理,所以一般轉(zhuǎn)換協(xié)議的DNS服務(wù)器都會(huì)部署在網(wǎng)關(guān)上。目前IPv4/IPv6 互通網(wǎng)關(guān)普遍采用單個(gè)或多個(gè)CPU 進(jìn)行計(jì)算,CPU的單計(jì)算能力雖然強(qiáng)大,但其同時(shí)支持的線程數(shù)不多,而IPv4/IPv6互通網(wǎng)關(guān)經(jīng)常有大流量并發(fā)的情況,所以一般IPv4/IPv6 互通網(wǎng)關(guān)在部署轉(zhuǎn)換協(xié)議和其需要的DNS 服務(wù)器時(shí),為了高效率地處理多用戶的并發(fā)情況,一般采用分布式部署(即轉(zhuǎn)換協(xié)議在一塊計(jì)算板上,其所需要的DNS 服務(wù)器在另外一塊計(jì)算板上)。如果要實(shí)現(xiàn)網(wǎng)關(guān)的高可用性,則需要另外2 塊計(jì)算板作為轉(zhuǎn)換協(xié)議和DNS 服務(wù)器的備份,占用較多的硬件資源。

      圖1 IPv4 和IPv6 互通網(wǎng)關(guān)架構(gòu)

      另外,IPv4/IPv6 互通網(wǎng)關(guān)在過渡協(xié)議運(yùn)算過程中,需要進(jìn)行大量計(jì)算,如果是多用戶并發(fā)的情況下,需要同時(shí)耗費(fèi)大量的計(jì)算資源,而通用CPU 采用的是串行計(jì)算方式,處理能力有限,導(dǎo)致同時(shí)支持的連接數(shù)量有限。當(dāng)今互聯(lián)網(wǎng)接入設(shè)備眾多,加上各類需要高數(shù)據(jù)流量的業(yè)務(wù)應(yīng)用,網(wǎng)絡(luò)上通過的數(shù)據(jù)流量每年都在急劇增加,必然導(dǎo)致IPv4 和IPv6 互通網(wǎng)關(guān)需要進(jìn)行大量DNS 解析和轉(zhuǎn)換計(jì)算,在網(wǎng)關(guān)CPU 處理能力不足的情況下,將導(dǎo)致網(wǎng)絡(luò)擁塞,降低服務(wù)質(zhì)量。

      針對(duì)這些問題,本文基于GPU 資源及其并發(fā)運(yùn)算的能力,在保證轉(zhuǎn)換協(xié)議和DNS 解析協(xié)議性能的情況下,將原本需要2 塊計(jì)算板進(jìn)行的工作集合在一塊計(jì)算板上,降低了網(wǎng)關(guān)設(shè)備的硬件成本,在同樣的硬件資源下,可以做更多冗余備份工作,提高設(shè)備的總體可用性。應(yīng)用GPU 在降低CPU的計(jì)算負(fù)載的同時(shí),提高了IPv4/IPv6 互通網(wǎng)關(guān)單片計(jì)算板的并發(fā)處理能力,可以更好地應(yīng)對(duì)并發(fā)數(shù)據(jù)。

      2 域名快速解析技術(shù)設(shè)計(jì)

      本文提出的解決方案可用于IPv4/IPv6 互通網(wǎng)關(guān)或類似裝置中,該互通網(wǎng)關(guān)在網(wǎng)絡(luò)中的位置如圖1所示,其一端連接IPv4網(wǎng)絡(luò),另一端連接IPv6網(wǎng)絡(luò),IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)可以通過該網(wǎng)關(guān)實(shí)現(xiàn)互通的功能。IPv4/IPv6 互通網(wǎng)關(guān)或類似裝置主要是由高性能計(jì)算平臺(tái)和網(wǎng)絡(luò)處理平臺(tái)構(gòu)成,硬件平臺(tái)上部署多塊高性能計(jì)算板,交換板主要用于內(nèi)部對(duì)外的數(shù)據(jù)交換。

      基于此,為解決現(xiàn)有的IPv4/IPv6 互通網(wǎng)關(guān)DNS解析存在的問題,本文提出一種基于GPU的DNS 解析方法,利用GPU的并行運(yùn)算能力,在多用戶并發(fā)的情況下,通過GPU 進(jìn)行IPv4/IPv6 互通網(wǎng)關(guān)的DNS 解析運(yùn)算。

      在獲取DNS 查詢報(bào)文后,首先對(duì)其進(jìn)行預(yù)處理,生成GPU 可識(shí)別的DNS 查詢數(shù)據(jù)。然后將這些DNS查詢數(shù)據(jù)按并行隊(duì)列寫入CPU 與GPU的第一共享內(nèi)存中。通過GPU 從第一共享內(nèi)存中讀取DNS 查詢數(shù)據(jù),并利用GPU 根據(jù)DNS 查詢數(shù)據(jù)進(jìn)行DNS 解析,生成DNS 解析數(shù)據(jù)分組,將DNS 解析數(shù)據(jù)分組按并行隊(duì)列寫入CPU 與GPU的第二共享內(nèi)存中。最后,從第二共享內(nèi)存中讀取DNS 解析數(shù)據(jù)分組,合并處理DNS解析數(shù)據(jù)分組,重整為網(wǎng)絡(luò)格式數(shù)據(jù)并發(fā)送??傮w框架與流程如圖2所示。

      具體流程如下:

      ①網(wǎng)卡將接收到的報(bào)文放入網(wǎng)卡緩存隊(duì)列中,CPU 會(huì)從該緩存隊(duì)列中過濾出DNS 查詢報(bào)文,并放入DNS 報(bào)文接收隊(duì)列;

      ②將DNS 報(bào)文接收隊(duì)列中的報(bào)文取出并進(jìn)行預(yù)處理,將報(bào)文整理成GPU 可識(shí)別格式。因?yàn)榫W(wǎng)卡報(bào)文的數(shù)據(jù)都是一維的,為了提高GPU的運(yùn)算效率,GPU處理格式一般是多維格式,所以需要預(yù)先將網(wǎng)絡(luò)報(bào)文處理成多維數(shù)據(jù)格式;

      ③將預(yù)處理完的報(bào)文放入并行隊(duì)列,等待寫入CPU 和GPU的共享內(nèi)存中,由于CPU 和GPU 在處理數(shù)據(jù)時(shí)的區(qū)別是單核CPU 采用串行的方式而GPU 采用多線程并行的方式,因此,為了充分利用GPU的優(yōu)勢(shì),將需要處理的數(shù)據(jù)報(bào)文并行排列;

      ④將已經(jīng)預(yù)處理好的并行隊(duì)列統(tǒng)一寫入CPU 與GPU的共享內(nèi)存中,由于CPU 和GPU 數(shù)據(jù)交互部分在整個(gè)過程中會(huì)占用較多時(shí)間,所以會(huì)把數(shù)據(jù)緩沖區(qū)填滿后才進(jìn)行寫入操作;

      ⑤CPU 將數(shù)據(jù)寫入共享內(nèi)存后,就可以執(zhí)行其他任務(wù),DNS 解析和轉(zhuǎn)換的工作則交由GPU 并行處理,可以有效地利用GPU 空閑資源并節(jié)省CPU 資源;

      ⑥GPU 獲取到共享內(nèi)存中的隊(duì)列信息后,并行對(duì)各隊(duì)列的DNS 進(jìn)行解析,已經(jīng)解析過的DNS 信息會(huì)預(yù)先保存在GPU 自身的內(nèi)存中,可以提高查詢效率;

      圖2 總體框架與流程

      ⑦對(duì)于還未解析過的DNS 信息,則會(huì)詢問上一級(jí)DNS 進(jìn)行查詢,并將接收到的IPv4 地址根據(jù)轉(zhuǎn)換協(xié)議的轉(zhuǎn)換規(guī)則生成對(duì)應(yīng)的IPv6 地址,并以一定格式保存在GPU的DNS 緩存中。以過渡協(xié)議中的Nat64 和百度域名為例,域名信息和IPv4、IPv6 地址對(duì)應(yīng)關(guān)系見表1 所列。

      表1 域名信息和IPv4、IPv6 地址對(duì)應(yīng)關(guān)系

      ⑧將已經(jīng)處理完成的DNS 解析結(jié)果放入并行隊(duì)列中,并寫入CPU 和GPU的第二塊共享內(nèi)存中;

      ⑨CPU 在共享內(nèi)存中讀取已處理的結(jié)果,將GPU處理后的數(shù)據(jù)重整為網(wǎng)絡(luò)報(bào)文格式,合并隊(duì)列中的數(shù)據(jù)寫入待發(fā)送隊(duì)列;

      ⑩網(wǎng)卡接口讀取發(fā)送隊(duì)列中的信息,根據(jù)路由路徑將各數(shù)據(jù)分組通過物理網(wǎng)卡分發(fā)出去。

      GPU 在進(jìn)行DNS 解析運(yùn)算時(shí),優(yōu)先在自身GPU內(nèi)存中的DNS 列表中進(jìn)行查詢,若查詢到對(duì)應(yīng)的DNS信息,直接生成解析結(jié)果;若未查詢到對(duì)應(yīng)的DNS 信息時(shí),則訪問上一級(jí)的DNS 服務(wù)器,在上一級(jí)服務(wù)器中獲取DNS 信息,由該DNS 信息生成DNS 解析數(shù)據(jù)分組。DNS 信息通常保存在GPU 內(nèi)存的DNS 列表中,以方便下一次解析運(yùn)算。

      GPU 處理流程如圖3所示。

      ①判斷DNS 請(qǐng)求的類型(如A、AAAA、PTR 等),A表示IPv4 正向解析,即由域名查詢IPv4 地址;AAAA表示IPv6 正向解析,即由域名查詢IPv6 地址;PTR 為方向解析請(qǐng)求。

      ②判斷DNS 請(qǐng)求是正向解析還是反向解析,然后根據(jù)域名或者IP 地址對(duì)GPU中已有緩存DNS 進(jìn)行查詢。

      ③如果在緩存中沒有查詢到DNS 記錄,則向上一級(jí)DNS 進(jìn)行請(qǐng)求并將獲取到的DNS 根據(jù)過渡協(xié)議的規(guī)則進(jìn)行轉(zhuǎn)換,并保存到緩存中。如NAT64中的DNS規(guī)則為前綴為2001:da8:ff::/96,則將180.97.33.67 轉(zhuǎn)換為2001:da8:ff::b461:2143。

      ④根據(jù)類型返回相應(yīng)的處理結(jié)果,并將處理完的數(shù)據(jù)分組放入并行隊(duì)列中。

      ⑤等隊(duì)列緩沖區(qū)滿后,將處理后的信息寫入共享內(nèi)存中。

      3 結(jié)束語

      IPv4/IPv6 互通網(wǎng)關(guān)上的GPU 資源,通過GPU 編程接口將網(wǎng)關(guān)或類似裝置的DNS 放置到GPU 上運(yùn)行,因?yàn)镚PU 采用的是多線程并行處理的方式,這些方法可以提高IPv4/IPv6 互通網(wǎng)關(guān)在應(yīng)對(duì)多用戶并發(fā)時(shí)的處理能力。

      同時(shí),利用了GPU 自身的內(nèi)存資源(顯示內(nèi)存),將DNS 列表放置在顯示內(nèi)存中,在不影響計(jì)算機(jī)CPU所占用內(nèi)存的情況下提高DNS的查詢速度。在保證轉(zhuǎn)換協(xié)議和DNS 解析協(xié)議性能的情況下,將原本需要2 塊計(jì)算板進(jìn)行的工作集合在一塊計(jì)算板上,降低了網(wǎng)關(guān)設(shè)備的硬件成本,在同樣硬件資源的條件下可以做更多冗余備份工作,進(jìn)而提高設(shè)備的總體可用性。

      圖3 GPU 處理流程

      1 Despres R.IPv6 Rapid Deployment on IPv4 Infrastructures(6rd).http://www.rfc-editor.org/rfc/rfc5569.txt,2010

      2 Bao C,Huitema C,Bagnulo M,et al.IPv6 Addressing of IPv4/IPv6 Translators.http://www.rfc-editor.org/rfc/rfc6052.txt,2010

      3 Durand A,Droms R,Woodyatt J,et al.Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion.http://www.rfc-editor.org/rfc/rfc6333.txt,2011

      4 Li X,Bao C,Chen M,et al.The China Education and Research Network (CERNET) IVI Translation Design and Deployment for the IPv4/IPv6 Coexistence and Transition.http://www.rfc-editor.org/rfc/rfc6219.txt,2011

      5 Bagnulo M,Matthews P,Van Beijnum,et al.Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers.http://www.rfc-editor.org/rfc/rfc6146.txt,2011

      6 Bi Jun,Wu Jianping,Leng Xiaoxiang.IPv4/IPv6 Transition Technologies and Univer6 Architecture.Internation Journal of Computer Science and Network Security,2007,7(1):232~242

      7 吳賢國,劉敏,李忠誠.面向NAT用戶的IPv6 隧道技術(shù)研究.計(jì)算機(jī)學(xué)報(bào),2007(1):1~9

      8 田野,張玉軍,張瀚文等.移動(dòng)IPv6網(wǎng)絡(luò)基于身份的層次化接入認(rèn)證機(jī)制.計(jì)算機(jī)學(xué)報(bào),2007(6):905~909

      9 馬同杰,陳蜀宇,陳孝文.基于層次化管理的移動(dòng)IPv6網(wǎng)絡(luò)接入認(rèn)證研究.計(jì)算機(jī)技術(shù)與發(fā)展,2009(10):22~25

      10 吳建平,崔勇,李星等.基于軟件線的互聯(lián)網(wǎng)IPv6 過渡技術(shù)構(gòu)架.電信科學(xué),2008(10):23~29

      猜你喜歡
      共享內(nèi)存域名互通
      編讀互通
      中日ETF互通“活水來”
      中國外匯(2019年12期)2019-10-10 07:27:00
      編讀互通
      通過QT實(shí)現(xiàn)進(jìn)程間的通信
      如何購買WordPress網(wǎng)站域名及綁定域名
      基于PCI總線的多處理器協(xié)同機(jī)制研究
      面向VDC組網(wǎng)的VXLAN控制面互通方案探討
      騰訊八百萬美元收購域名
      QNX下PEX8311多路實(shí)時(shí)數(shù)據(jù)采集的驅(qū)動(dòng)設(shè)計(jì)
      電子世界(2014年21期)2014-04-29 06:41:36
      一種高效RTAI 共享內(nèi)存管理層的研究與實(shí)現(xiàn)*
      唐海县| 南木林县| 祁门县| 福贡县| 嘉禾县| 道真| 张家港市| 满洲里市| 北碚区| 乌拉特前旗| 玛曲县| 眉山市| 山阴县| 南京市| 谢通门县| 凌云县| 台南县| 方城县| 莎车县| 青阳县| 甘洛县| 张掖市| 军事| 七台河市| 孟津县| 汉川市| 汕头市| 洪湖市| 贵阳市| 广水市| 石门县| 祁门县| 普安县| 永寿县| 望都县| 山阳县| 平邑县| 故城县| 天门市| 沈丘县| 屏东市|