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

DNSv6代理技術在網絡中的應用研究

2016-02-23 04:53:35王文軍
計算機技術與發展 2016年3期

王文軍

(貴州民族大學 信息工程學院,貴州 貴陽 550025)

DNSv6代理技術在網絡中的應用研究

王文軍

(貴州民族大學 信息工程學院,貴州 貴陽 550025)

隨著IPv6開始普及,針對IPv6地址信息不便記憶的問題,需要借助IPv6域名解析技術。為簡化網絡的管理,加快解析速度,提升解析效率,提高網絡穩定性和安全性,文中闡述通過DNSv6代理技術建立網絡中DNS客戶端發送的DNSv6查詢請求和DNS服務器響應的應答之間的映射關系,正確解析和轉發DNSv6查詢和應答報文,緩存查詢結果,為用戶提供域名與IPv6地址之間的轉換服務。通過DNSv6代理技術還可以在DNS代理服務器上配置多臺DNS服務器實現容災功能。文中簡要闡述了DNSv6代理的概念、工作原理和DNSv6三類主要查詢的格式,研究了DNSv6代理技術在網絡中的應用,完成了DNSv6代理特性的架構設計、相關數據表項的設計,并描述了具體的實現。

IPv6;DNSv6;代理;查詢

0 引 言

隨著電子技術及網絡技術的發展,計算機網絡進入了人們的日常生活,未來可能身邊的每一樣東西都需要接入互聯網。而由于IPv4地址資源數量有限,嚴重地制約了各國互聯網的應用和發展。在這樣的環境下,IPv6應運而生[1]。網絡中的每臺主機都可以由IPv6地址來標識,用戶只有獲得待訪問主機的IPv6地址才能夠成功實現訪問操作。然而對于用戶來講,記住主機的IPv6地址無異是相當困難的,為了解決IPv6地址信息不便于記憶的問題,就勢必離不開域名解析。網絡中的DNS客戶端可以通過網絡設備上的DNSv6代理技術來完成域名與IPv6地址之間的轉換,實現域名的解析。使用DNSv6代理技術,如果DNS服務器地址等信息發生變化時,也只需改變DNSv6代理上的配置,無需改變局域網內每個DNS客戶端的配置,從而可以簡化網絡的管理,提高網絡的穩定性。另外,利用DNSv6代理中的Cache不僅可以大大地節省域名解析的時間,提高網站訪問的速度和效率,而且可以減少網絡中的傳輸流量,提高網絡傳輸速度,降低網絡訪問費用。除此之外,通過DNSv6代理技術,真實的DNS服務器對DNS客戶端便不可見,這樣還可以保護真實DNS服務器的安全,提高網絡的安全性。

1 DNSv6代理技術

1.1 DNSv6查詢介紹

DNSv6查詢是指與IPv6地址相關的DNS查詢,主要包括:AAAA查詢、A6查詢和IPv6 PTR查詢。其中,AAAA查詢和A6查詢主要目的是通過域名正向解析得到IPv6地址,而IPv6 PTR查詢則是通過IPv6地址反向解析得到域名[2]。

1.1.1 正向解析

IPv4的地址正向解析的資源記錄是“A”,而IPv6地址的正向解析目前有兩種資源記錄,即“AAAA”和“A6”[3]。其中,“AAAA”提出較早,它是對IPv4協議“A”記錄的簡單擴展,由于IP地址由32位擴展到128位,擴大了4倍,所以資源記錄由“A”擴大成4個“A”。但“AAAA”用來表示域名和IPv6地址的對應關系,并不支持地址的層次性[4]。

“A6”是在RFC2874基礎上提出,它是把一個IPv6地址與多個“A6”記錄建立聯系,每個“A6”記錄都只包含了IPv6地址的一部分,結合后拼裝成一個完整的IPv6地址。“A6”記錄支持一些“AAAA”所不具備的新特性,如地址聚集、地址更改(Renumber)等[5]。

1.1.2 反向解析

IPv6反向解析的記錄和IPv4一樣,是“PTR”,通過地址反向獲取域名,但地址表示形式有兩種。一種是用“.”分隔的半字節16進制數字格式(Nibble Format),低位地址在前,高位地址在后,域后綴是“IP6.INT.”或“IP6.ARPA.”[4]。另一種是二進制串(Bit-string)格式,以“[”開頭,16進制地址(無分隔符,高位在前,低位在后)居中,地址后加“]”,域后綴是“IP6.ARPA.”[5]。

半字節16進制數字格式與“AAAA”對應,是對IPv4的簡單擴展。二進制串格式與“A6”記錄對應,地址也像“A6”一樣,可以分成多級地址鏈表示,每一級的授權用“DNAME”記錄。和“A6”一樣,二進制串格式也支持地址層次特性。

1.2 DNSv6代理工作原理

DNSv6代理基本工作過程如圖1所示。DNS客戶端通過DNSv6代理轉發報文,獲取IPv6地址或域名等。

DNSv6代理的工作交互過程如下[6]:

(1)DNS客戶端將DNSv6查詢請求報文發送給DNSv6代理,即查詢報文的目的地址為DNSv6代理的本機地址。

(2)DNSv6代理收到查詢報文后,查找本地的域名解析緩存表,如果存在請求的信息,則DNSv6代理直接將域名解析結果返回給DNS客戶端。如果不存在請求的信息,則DNSv6代理將報文轉發給DNS服務器,通過DNS服務器進行域名解析。

圖1 DNSv6代理工作原理圖

(3)DNSv6代理收到DNS服務器的應答報文后,記錄域名解析的結果至本地的域名解析緩存表。

(4)DNSv6代理將應答報文轉發給DNS客戶端,DNS客戶端解析報文獲取結果,實現域名解析。

2 網絡中的DNSv6代理技術研究

網絡中實現DNSv6代理的典型組網圖如圖2所示。

圖2 DNSv6代理的典型組網圖

企業內網與DNSv6代理相連,DNSv6代理通過互聯網分別與IPv4網絡中的DNS服務器和IPv6網絡中的DNS服務器相連。企業內網用戶訪問外網服務器時,企業內用戶端首先作為DNS客戶端,發出DNS查詢請求報文,目的地址為DNSv6代理[7]。

當DNS請求到達DNSv6代理后,DNSv6代理根據接收到的查詢請求類型,如果是與IPv6地址相關的DNS查詢,則會優先選擇發送給IPv6地址的DNS服務器,若未收到響應,再發送給IPv4地址的DNS服務器[8]。IPv6網絡中的DNS與IPv4網絡中的DNS在體系結構上是一致的,IPv4和IPv6共同擁有統一的域名空間[9],即IPv4地址的DNS服務器同時會存在IPv6相關的DNS資源記錄。

2.1 DNSv6代理特性架構

DNSv6代理特性主要包括5個模塊(見圖3):命令行、映射轉發、DNSv6 Spoofing、編解碼和報文收發模塊。

圖3 DNSv6代理模塊分解圖

每個模塊主要功能如下:

(1)命令行模塊:提供DNS服務器、DNS動態解析和DNS代理開關等命令的配置和刪除,保存相關命令配置數據。

(2)映射轉發模塊:通過記錄查詢報文的域名、DNS Packet ID、源端口、目的端口、源地址以及DNSv6代理轉發查詢新生成的DNS Packet ID,來建立DNS客戶端發送的請求和DNS服務器響應的應答之間的映射關系。

(3)DNSv6 Spoofing模塊:當DNSv6代理上沒有配置DNS服務器地址或不存在到達DNS服務器的路由,設備不會轉發DNS服務器的域名解析請求,此時若DNSv6代理同時配置DNSv6 Spoofing功能,則DNSv6代理會利用配置的IPv6地址作為域名解析結果,欺騙性地應答客戶端的域名解析請求[10]。

(4)編解碼模塊:負責DNSv6查詢報文的編解碼和DNSv6應答報文的編解碼。

(5)報文收發模塊:通過Socket監聽端口號為53的DNS報文,進行報文的接收[11],同時也通過Socket的發送接口進行報文的發送。

2.2 DNSv6代理數據表項

2.2.1 映射轉發表

當DNSv6代理接收到DNS客戶端的查詢報文,且本地的域名解析緩存表中無對應的域名解析結果,此時DNSv6代理會生成映射轉發表項,記錄查詢報文中的域名、查詢類型、客戶側DNS Packet ID、源端口、源地址和DNSv6代理轉發查詢報文時使用的新生成的DNS Packet ID(注:分配DNS Packet ID時,需確保生成ID的唯一性。當刪除映射轉發表表項時,需釋放DNS Packet ID。),以及DNSv6代理轉發查詢報文的內容(可以用于報文的超時重傳)。映射轉發表數據結構如下:

#define UCHAR unsigned char

#define USHORT unsigned short

#define ULONG unsigned long

/*映射轉發表項節點*/

typedef struct DNSv6ForwardEntry

{

UCHAR *pszDomainName; /*查詢報文中的域名*/

USHORT usSrcPkID; /*查詢報文ID標識*/

USHORT usQueryType; /*查詢類型*/

in6_addr stSrcIPv6Addr; /*查詢報文源IPv6地址*/

USHORT usSrcPort; /*查詢報文源端口*/

USHORT usFwdPkID; /*轉發報文的ID標識,與查詢報文的ID標識存在對應關系*/

UCHAR *pszBuf; /*修改ID標識后的查詢報文內容*/

}DNSv6_Forward_Entry_S;

/*映射轉發表*/

DNSv6_Forward_Entry_S *g_pstDNSv6ForwardEntry;

DNSv6代理將查詢報文中的usSrcPkID修改為usFwdPkID,并將查詢報文發送給DNS服務器。當DNSv6代理接收到DNS服務器響應的應答后,通過應答報文中的域名和DNS Packet ID作為索引,查找映射轉發表,如果命中,就獲取對應表項里客戶端的相關信息,如查詢請求的DNS Packet ID、源端口、源地址等,查找到對應的客戶端,修改應答報文中的DNS Packet ID、端口、地址等信息,將修改后的應答報文轉發給對應的客戶端,完成相應的域名解析。因此,映射轉發表的作用主要是用于建立DNS客戶端發送的請求和DNS服務器響應的應答之間的映射關系。

2.2.2 動態緩存表

當DNSv6代理接收到DNS客戶端的查詢報文,會首先遍歷查找本地的域名解析動態緩存表中有無對應的域名解析結果,如果有,則直接使用動態緩存表中的結果應答DNS客戶端[12]。動態緩存表數據結構如下:

/*動態緩存表項節點*/

typedef struct DNSv6DynamicCacheEntry

{

UCHAR *pszDomainName; /*域名*/

USHORT usQueryType; /*查詢類型*/

UCHAR szRcv[2]; /*保留位*/

in6_addr *pstIPv6AddrList; /*IPv6地址鏈*/

ULONG ulTTL; /*生存周期,定時遞減*/

UCHAR *pszBuf; /*應答報文的內容*/

}DNSv6_Cache_Entry_S;

DNSv6_DynamicCache_Entry_S *g_pstDNSv6DynamicCacheEntry; /*動態緩存表*/

其中,pstIPv6AddrList為域名對應的IPv6地址鏈,因為一個域名可能對應多個IPv6地址。另外DNSv6代理會創建1 s的定時器,動態緩存表會定時老化,當表項中的TTL降到0時,刪除該緩存表項[13]。

2.3 DNSv6代理實現流程

2.3.1 查詢報文處理

實現DNSv6代理,處理DNSv6查詢報文的主要流程如下:

(1)企業內客戶端發出的DNSv6查詢請求報文進入DNSv6代理時,首先查看是否開啟DNSv6代理,如果沒有開啟,則直接丟棄。反之,進入下一步;

(2)解析DNSv6查詢報文頭,獲取查詢的域名,根據域名遍歷靜態DNSv6表項,如果查找到,則使用靜態表項信息,構造應答報文響應DNS客戶端。反之,進入下一步;

(3)判斷動態域名解析是否開啟,如果沒有開啟,則直接丟棄。反之,進入下一步;

(4)根據域名遍歷DNSv6動態緩存表項,如果查找到,則使用動態緩存信息,響應DNS客戶端[14]。反之,進入下一步;

(5)判斷DNS服務器地址是否配置或通過DHCP或ND等其他模塊動態獲取到,如果均沒有,則進入第7步。反之,則分配一個新的DNS Packet ID,并生成映射轉發表,建立客戶端發送的查詢報文和轉發后的查詢報文之間的映射關系,同時進入下一步;

(6)如果查詢報文成功轉發,則處理結束。反之,進入下一步;

(7)判斷DNSv6 Spoofing是否開啟,如果沒有開啟,則直接丟棄。反之,使用配置的IPv6地址,構造應答報文欺騙DNS客戶端。

對應流程見圖4。

圖4 DNSv6代理處理查詢報文的主要流程圖

2.3.2 響應報文處理

實現DNSv6代理,處理DNSv6應答報文的主要流程如下:

(1)外網DNS服務器發出的DNS應答報文進入DNSv6代理時,首先查看是否開啟動態域名解析,如果沒有開啟,則直接丟棄。反之,進入下一步;

(2)解析DNS報文頭,獲取域名和DNS Packet ID,根據域名和DNS Packet ID遍歷應用請求查詢表(此表用于DNS客戶端特性),如果查找到,則解析整個應答報文,獲取查詢結果,并告知上層業務模塊,同時將結果添加至緩存。反之,進入下一步;

(3)判斷DNSv6代理是否開啟,如果沒有開啟,則直接丟棄。反之,進入下一步;

(4)根據域名和DNS Packet ID遍歷映射轉發表,如果沒有查找到,則直接丟棄。反之,進入下一步;

(5)修改應答報文的DNS Packet ID和目的Port,轉發應答報文響應DNS客戶端,同時解析整個應答報文,獲取查詢結果,并將結果添加至緩存。

對應流程見圖5。

圖5 DNSv6代理處理應答報文的主要流程圖

3 結束語

為了解決IPv4地址資源數量不足以滿足現有互聯網應用和發展的問題,互聯網工程任務組(IETF)設計了用于替代現行版本IP協議IPv4的下一代IP協議IPv6。與IPv4相比,IPv6具有地址空間更大、路由表更小、安全性更高等多項優勢。因此隨著當前及未來IPv6網絡的普及,IPv6地址勢必將逐漸取代IPv4地址。但是IPv6地址由128位二進制數碼表示,相對于IPv4地址卻更加難以記憶。為了能夠使用戶更方便地訪問互聯網,而不用去記住那些能夠被機器直接讀取的IPv6地址數字串,解決IPv6地址信息不便于記憶的問題,網絡中離不開IPv6的域名解析技術(即DNSv6技術)。通過主機名,最終得到該主機名對應的IPv6地址[15]。

DNSv6代理技術生成映射轉發表,建立客戶端發起的DNSv6請求和服務器響應的DNSv6應答之間的映射,通過正確轉發DNSv6請求和應答,使客戶端最終獲取DNS查詢結果,完成域名解析,而且實現過程簡單。

DNSv6代理技術具有如下優點:

(1)簡化網絡管理。使用DNSv6代理,如果DNS服務器地址等信息發生變化,只需改變DNSv6代理上的配置,無需改變局域網內每個DNS客戶端的配置,從而簡化了網絡的管理,提高了網絡的穩定性。

(2)減少網絡傳輸流量,提高解析效率。利用DNSv6代理中的緩存可以大大地節約域名解析的時間,減少DNSv6代理上行網絡中的傳輸流量,提升網絡傳輸速度,同時利用緩存快速完成域名解析,也可提高網站的訪問速度。

(3)避免真實服務器遭受攻擊。客戶往往會使用域名來訪問網站資源,通過DNSv6代理技術,真實的DNS服務器便對DNS客戶端不可見,這樣可以避免真實的DNS服務器遭受客戶端的惡意攻擊,達到保護真實DNS服務器安全的目的,提高網絡的安全性。

[1] 百度百科.IPv6[DB/OL].2015-02-27.http://baike.baidu.com/link?url=HCQ7hhqOmptyjQojI6UZyf0bB8VoF3 Rg2np3yEaacrc20JGCyC9Avo43wkaSCQ4J2HQn7UNU9ECY0 iNmymswJa.

[2] 王大阜.基于Linux平臺下的IPv6 DNS系統的實現[J].計算機與信息技術,2009(4):72-73.

[3] Thomson S,Huitema C.DNS extensions to support IP version 6[S].RFC 1886,1995.

[4] Crawford M,Huitema C.DNS extensions to support IPv6 address aggregation and renumbering[S].RFC 2874,2000.

[5] 華為技術有限公司.AR150&AR160&AR200&AR1200&AR2 200&AR3200產品文檔[EB/OL].2014.http://support.huawei.com/ehedex/hdx.do?docid=DOC1000043775& lang=zh.

[6] 武浦軍,余鎮危,張 英,等.IPv6 DNS代理軟件的設計與實現[J].計算機工程,2005,31(11):211-213.

[7] 馮中華.VFP系統動態數據報表程序設計[J].計算機工程與應用,2003,39(2):194-195.

[8] 蓋一凡,吳國升.IPv6地址以及IPv6 DNS[J].通信管理與技術,2005(1):50-50.

[9] 張惠姝.DNS安全防護關鍵技術研究[J].電信技術,2015(9):99-104.

[10] 孔 政,姜秀柱.DNS欺騙原理及其防御方案[J].計算機工程,2010,36(3):125-127.

[11] 楊驌宇.高并發環境中路由器平臺上DNS代理的設計與實現[D].武漢:華中科技大學,2012.

[12] 孫文芳,馮 堅.智能DNS系統建設[J].有線電視技術,2015(7):35-37.

[13] Cisco Systems,Inc.IP addressing:DNS configuration guide,Cisco IOS release 12.4T[EB/OL].2011.http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dns/configuration/12-4t/dns-12-4t-book.pdf.

[14] 百度百科.DNS(域名系統)[DB/OL].2014-12-25.http://baike.baidu.com/link?url=E0XaYtVkbmIeQjC3 pKsPr9j5t6JqsEj45YS7srRVpnbQ0OYUVVJhmiIYX9PzBbb68

KCQohFlx_TZfb1qYZVFs-mLoEySii0OK5tJYtFGA4i.

[15] 百度文庫.代理服務器的作用[DB/OL].2012-08-25.http://wenku.baidu.com/view/a97bda345a8102d276a22f21.html.

Research on Application of DNSv6 Proxy Technology in Network

WANG Wen-jun

(College of Information Engineering,Guizhou Minzu University,Guiyang 550025,China)

With the popularity of IPv6,it needs to use IPv6 domain name resolution technology to resolve the problem that it is hard to memory IPv6 address information for people.DNSv6 proxy technology provides the conversion between the domain name and IPv6 address for users by creating a mapping between the DNSv6 query from DNS client and the DNSv6 response from DNS server and forwarding the DNS query and response between DNS client and DNS server,and caches the query results.So it is able to reach the purpose of simplifying the management of network,accelerating the speed of resolution,improving the efficiency of resolution,and making the network more stable and safer.It also can configure multiple DNS servers on the DNS proxy server by DNSv6 proxy technology to realize disaster recovery.In this paper,the concept,operational principle of DNSv6 proxy technology and the formats of three major types of DNSv6 query are introduced briefly,the application of the DNSv6 proxy technology in the network is studied,the structure design of DNSv6 proxy feature and data tables is completed,and the concrete implementation is discussed.

IPv6;DNSv6;proxy;query

2015-05-22

2015-08-26

時間:2016-02-18

貴州省科技計劃聯合基金項目(黔科合LH字[2014]7379);貴州民族大學科研基金資助項目(校科研2014(53)號)

王文軍(1984-),男,工程師,講師,碩士,研究方向為網絡軟件、嵌入式軟件。

http://www.cnki.net/kcms/detail/61.1450.TP.20160218.1619.012.html

TP393

A

1673-629X(2016)03-0185-05

10.3969/j.issn.1673-629X.2016.03.043

主站蜘蛛池模板: 多人乱p欧美在线观看| 国产一区成人| 国产精品一区不卡| 毛片大全免费观看| 欧美亚洲欧美| 亚洲一区二区视频在线观看| 欧美国产日产一区二区| 怡春院欧美一区二区三区免费| 无遮挡一级毛片呦女视频| 亚洲精品福利网站| 亚洲国产综合自在线另类| 91视频国产高清| 亚洲91在线精品| 黑人巨大精品欧美一区二区区| 成人午夜久久| 东京热av无码电影一区二区| 久久一本日韩精品中文字幕屁孩| 国产综合日韩另类一区二区| 久久人人妻人人爽人人卡片av| 精品久久高清| 熟妇丰满人妻| 久久久久国色AV免费观看性色| a级毛片毛片免费观看久潮| 久久久久国色AV免费观看性色| 国产精品lululu在线观看| 欧美色伊人| 999国产精品| 色综合天天视频在线观看| 亚洲热线99精品视频| 国产精品无码在线看| 日韩欧美国产成人| 高潮爽到爆的喷水女主播视频 | 成人欧美日韩| 亚洲性视频网站| 色精品视频| 激情在线网| 亚洲娇小与黑人巨大交| 欧美国产精品不卡在线观看| 黄片一区二区三区| 国产网友愉拍精品| 黄片一区二区三区| 国产福利小视频在线播放观看| 亚洲成A人V欧美综合| 亚洲AV永久无码精品古装片| 亚洲精品无码高潮喷水A| 欧美综合在线观看| 在线精品视频成人网| 亚洲性网站| 久草视频福利在线观看| 国产成人无码久久久久毛片| 在线精品亚洲国产| 三区在线视频| 国产精品深爱在线| 先锋资源久久| 国产免费自拍视频| 国产精品乱偷免费视频| 亚洲视频色图| 国产精品亚欧美一区二区| 免费高清a毛片| 久久精品亚洲热综合一区二区| www.国产福利| 日韩国产欧美精品在线| 欧美日本一区二区三区免费| 日韩成人在线一区二区| 亚洲一区国色天香| 99在线国产| 尤物视频一区| 在线观看免费国产| 日韩美毛片| 成人无码区免费视频网站蜜臀| 一区二区三区四区在线| 亚洲浓毛av| 日韩精品一区二区三区大桥未久 | 无码aⅴ精品一区二区三区| 无码丝袜人妻| 亚洲精品制服丝袜二区| 欧美午夜在线视频| 在线观看亚洲天堂| 在线免费不卡视频| 青青草原国产av福利网站| 日韩激情成人| 国产女人综合久久精品视|