朱國庫+++蔣文保



【 摘 要 】 域名服務器提供域名和IP地址的轉換服務,是Internet中最為關鍵的基礎設施之一。目前根域名服務器集中式的管理和組織方式無法避免地對世界上大多數國家的網絡造成安全威脅。針對集中式的組織方式存在用戶隱私被監控、訪問重定向、服務中斷等安全問題,論文提出了一種去中心化的網絡域名服務系統模型DDNS(Decentralized Domain Name System),在此模型基礎上設計了分布式一致性算法。分布式一致性算法用于根域名服務器的去中心化和狀態同步,集群內的事務請求通過投票方式決定,該事務通過后會在各節點上提交。
【 關鍵詞 】 根域名服務器;域名解析;去中心化;分布式一致性;網絡安全;網絡主權
A Decentralized Domain Name System for the Network
Zhu Guo-ku Jiang Wen-bao
(School of Information Management, Beijing Information Science and Technology University Beijing 100192)
【 Abstract 】 DNS is an essential component of the functionality of the Internet, and it provides a distributeddirectoryservice to translate domain names to the numerical IP addresses. The centralized management of the root servers takes an inevitable security risk to the most of the countries connected to the Internet where personal online privacy is being monitored by the root server, and the visitcan be redirected,also the service can be terminated. In this paper, adecentralized domain name system named DDNS(DecentralizedDomain Name System) is proposed, and in this model a consensus algorithm is designed to decentralize the master server, andthe transaction request on the cluster need to be voted by all the nodes instead of updating from the masters resource records. While the proposal is admitted by more than half of the active nodes, the transaction will be accomplished on each of them.
【 Keywords 】 root dns server; address resolution; decentralized system; distributed consensus; network security; network sovereignty
1 引言
Internet根域名服務器通常有三類:主根域名服務器、從根域名服務器和鏡像根域名服務器[2]。從根域名服務器定期從隱藏主根域名服務器同步根區文件[1],鏡像根域名服務器是從根域名服務器的鏡像。編號為A~M的13個根域名服務器,其中10個在美國,2個在歐洲,1個在日本。根域名服務器一旦停止服務、發布虛假信息或者篡改消息實現訪問的重定向,大量Internet用戶將無法正常訪問域名[2]。我國于2003年起開始引入鏡像根,分別于2003年、2005年和2007年引入了F根、I根和J根三個鏡像根[1],鏡像根域名服務器提升域名解析效率的同時,還需將解析的細節傳送到根域名服務器上,網絡用戶的信息私密無法得到保護[3]。另外,主根域名服務器如果屏蔽指定的域名,則它們的地址將無法解析。據報道,伊拉克、利比亞的頂級域名曾經先后被從根域名服務服務器中抹掉了數天,這樣即可讓世界各國都無法訪問這個國家域名下的網站,在這種情況下,該域名的多層解析體系也會跟著土崩瓦解[6]。根域名服務器集中式的組織和管理方式無法擺脫美國的控制,無法避免地對世界上大多數國家的網絡造成潛在的安全威脅。
中國工程院方濱興院士提出的一個“域名對等擴散”的方法,讓各個頂級域名所有者向其他國家級根域名掌握者報告其頂級域名服務器的地址信息,文獻[6]中比較了“應急根域名解析”模式和“自主根域名解析”模式,“應急”模式缺乏平時的運行考驗,而且所采取的技術過于復雜,很難保證在需要的時候能夠有效使用;而“自主”模式作為常態運行,根域名解析服務器的負載能力可以在日常運行的監控中不斷擴充,可以使得運行過程得到長期有效的考驗[6]。本文認為在國際根域名服務器客觀存在的情況下,“域名對等擴散”體系下的“自主根”和國際根域名服務器處于一種混合的工作模式,“自主根域名解析”將目前由中心式的根域名解析體系引起的管理權問題轉移到了頂級域名服務器,如果.com一類的國際頂級域名服務器不將權威的信息交換給“自主根域名解析”模式下的自主根,自主根會受到很大的限制;另外,在“自主”模式下,如果國際根域名服務器對部分地址信息封殺,文獻[6]中提到的“利比亞式風險”也還是存在的,因此我們認為這也只是一種過渡性改良方案。所以,從長遠角度考慮,本文提出了一種能真正維護主權、體現各國平等的理想方案,就是使用一種去中心化的域名解析系統,這樣才能真正落實主權在我、不受制于人的原則。
本文以DNS(Domain Name System)為研究背景,在層次樹狀結構的基礎上進一步研究,提出了一種去中心化的網絡域名服務系統DDNS(Decentralized Domain Name System)模型和相應算法,在Paxos[4]算法的基礎上設計分布式一致性算法組織根域名服務器,分級分區域地管理所有的域名。根區的事務請求要得到過半根節點的投票才能通過,從而不再依賴于主根域名服務器,DDNS可以支持國家網絡主權的理念,確保各個根域名服務器掌握者的網絡獨立權。
2 設計思路
首先,為了便于區分DDNS網絡域名服務系統的自組織網絡部分和被管理網絡部分,本文將DDNS劃分為一個骨干區域和若干非骨干區域。骨干區域由根域名服務器組成,去除主根的綁定,采用去中心化的設計思路;被管理網絡由域名解析過程查詢時依賴于根域名服務器的頂級域名服務器和權限域名服務器組成。域名解析過程保持現有體系下遞歸查詢和迭代查詢。在域名注冊管理上,各個國家可以建立平等的域名注冊管理機構和根域名服務器運行機構。這種去中心的分層管理模式依賴于本國的根域名服務器,各個根域名服務器之間保持狀態一致性。
Leslie Lamport提出的Paxos算法是一種一致性算法,世界上其他的分布一致性算法都是Paxos算法的改進或者簡化版本[5]。首先,本文在Paxos算法基礎上設計了分布式一致性算法用于骨干區根域名服務器的事務更新。骨干區的每一次事務請求要先發起操作提議,提議要通知到每一個根域名服務器節點上。當本次提議收到過半根節點的投票同意后,本次事務請求會在每一個根域名服務器上提交,即每一次的提議要么在所有根域名服務器上都應用,要么都不應用。為了保證各個根節點上執行的事務是順序一致的,每一次的提議都會有編號pId(Proposal Id),編號是逐次遞增的。假設當前已通過的最大提議編號是N,則之后進入投票表決的提議編號一定是大于N的。
第二步,當骨干區域有多個根域名服務器節點同時對同一條記錄發起事務請求時,并且它們將要操作的對象的value值不相同,這里會產生沖突。因此引入一個Leader的概念,每個根節點的提議都要先發送到Leader的隊列當中,再由Leader順序地對每個提議向其他根節點(Follower)發起投票。在Leader收到過半根節點的同意回復后,Leader再將該提議的確認通知發送到每一個根節點上,再由各根節點來提交該事務。集群初始化時最先啟動的節點作為Leader,如果出現Leader宕機,存活的根節點會依據提議編號的大小和根節點唯一標識(ID)的大小兩個因素來投票選舉出新的Leader。
以上兩步都是要保證每一個操作事務和事務提交的順序是一致的,保證各根節點的副本和狀態的一致性。客戶端連接到任意一臺根域名服務器,查詢到的頂級域名信息都是一致的,即客戶端單一視圖。
上述兩個步驟將是本文的研究重點。
為了確保域名的自主可控,本文考慮在DDNS框架的基礎上設計規則來限制根域名服務器對頂級域名的操作權限,國家頂級域名和本國的底層域名的操作提議只能在本國的域名注冊管理和運行機構上提交,各個根域名服務器節點都不會同意和接受某個根節點對其管轄范圍外的域名的操作提議。針對.com、
.org這類的國際頂級域名,也按照DDNS的去中心化思路來組織國際頂級域名服務器。
3 框架設計
3.1 相關概念
骨干區域:DDNS的中心區域,該區域由非骨干區域中深度最小的根域名服務器組成。骨干區域內所有的域名服務器組成一張無向圖。所有的域名服務器之間都存在物理鏈路并且可以相互通信。如圖1中的A、B、C、D所示的根域名服務器節點組成了骨干區域。
非骨干區域:骨干區域以外的區域稱為非骨干區域。各非骨干區域內部的拓撲結構為一棵樹,該樹的根節點就是本非骨干區域連接骨干區域的根域名服務器。如圖1所示,頂級域名服務器和權限域名服務器等節點組成了非骨干區域A。本文使用骨干域名服務節點名稱+“”的方式描述非骨干區域。
Leader:骨干區域內所有操作提議的唯一調度者和處理者,在任一時刻不存在多于1個的Leader,Leader角色并不與某個骨干節點永久綁定,在Leader無法連通后,骨干區會重新選舉出新的Leader。
Follower:骨干區域內除Leader外存活的節點,接收來自客戶端的操作請求,并將請求轉發給Leader,還參與Leader發起的提議投票,在檢測不到Leader心跳后投票重選Leader。
3.2 DDNS模型建模
下面將給出DDNS模型的相關定義。
定義1. 域名服務器節點D,節點的屬性可以用一個五元組來表示:
D=
其中,id是節點D唯一標識;n是D節點名稱; isBackbone標識該D節點是否為根域名服務器節點,isBackbone取值1標識骨干節點,取值0標識非骨干節點;role取值L標識Leader,取值F標識Follower;pid是節點上最新的提議編號。
定義2. 提議Proposal,其數據結構為以下三元組:
Proposal=
其中,pId為提議編號;key為操作對象;value為操作對象的值。
定義3. Proposal選票,其數據結構為以下二元組:
VOTE_Proposal=
其中,id為當前節點的全局唯一數字標識;vote取值Y表示同意,vote取值N表示否定。
定義4. Leader選票,其數據結構為以下三元組:
VOTE_LEADER=
其中,id為當前節點的全局唯一數字標識;pId為當前節點最新的提議編號;electionId為當前節點進行投票的輪次。
4 主要功能和流程
骨干區域內,Follower的提議只能發給Leader,Leader對提議可以發起全體的投票,Leader發起的提議的編號為當前pId加1,各節點只會同意大于當前pId的提議,包括已表決通過的和未來的,每個節點的pId會隨著提議的通過不斷地更新,處理流程如下:
①骨干節點接收到客戶端的操作請求后,向Leader提交編號為(pId+1)的事務操作提議;
②Leader檢查沒有收到過編號大于pId+1的請求后向所有Follower節點通知該提議,并獲得Follower的投票;
③在Leader收到過半骨干節點的同意票后,Leader向所有Follower節點發出該提議的事務提交通知;
④Follower收到Leader的事務提交通知后,在本節點上執行該提議,并將本機的pId更新為(pId+1),并通知Leader已提交事務。
上述流程舉例如下:假設有5個根節點<1, A, 1, F, 8>,<2, B, 1, L, 8>,<3, C, 1, F, 8>,<4, D, 1, F, 7>,<5, E, 1, F, 7>,B節點為Leader。客戶端向C發起將com的地址改為ip1的請求,步驟如圖2所示。
Follower和Leader之間的心跳檢測是基于超時機制的。當一個Follower超過一定的時間沒有收到Leader的響應,它就懷疑Leader發生故障并啟動選舉過程。Leader出現故障后,整個骨干區域進入恢復模式,暫停對外服務,在重新選舉出新的Leader后,并當骨干區域內有過半的根節點與新的Leader完成狀態同步,結束恢復模式,處理流程如下:
①節點初始化選票,將選票
②每個節點從本機的接收隊列讀取選票,記為vote2
③本機選票,記為vote1
④當P1小于P2時,更新本節點的選票為
⑤統計本機的選票集合,如果有節點獲得過半的相同選票,終止投票,否則轉②;
⑥確定投票終止后,根據表決結果,更新D中的role值,退出恢復模式。
某一時刻,A和B發生故障,骨干區重選Leader,選舉示意圖如圖3所示。
從實時性角度來看,骨干節點間的數據同步并不是強一致性,是一種偽實時性。骨干節點之間是由物理的媒介進行連接的,節點間傳遞數據存在延時。因此,在某一個時間片內可能存在節點間數據的不一致,只能保證順序一致性和最終一致性。
5 結束語
去中心化的域名服務器組織和管理方式可以保證各個根域名服務器的狀態一致,并且有效地避免了目前DNS集中式的工作中存在的各種弊端。DDNS模型的域名解析方案不受主根域名服務器的限制,保證了根域名服務器的自主可控,即骨干區域內任一骨干D出現宕機、重啟或者遭受攻擊等問題,不影響其他骨干D連接成網絡。這種去中心化域名系統可以保證國家網絡信息安全不受任何單方面的骨干D的管理和控制。DDNS確保國家網絡主權的同時保護了網絡用戶的信息隱私,從根本上防止了中心式的域名解析體系對國家網絡安全造成的威脅。
參考文獻
[1] 李原,曹慧海,王安平.我國根域名解析服務監測與分析[A].中國通信學會.第十七屆全國青年通信學術年會論文集[C].中國通信學會,2012:5.
[2] 曹薊光.互聯網域名系統管理新機制的研究[J].電信網技術,2005,10:8-12.
[3] 楊劍.中國根域名鏡像服務器到底帶來了什么?[N].電腦報,2007-01-01A08.
[4] Leslie Lamport.The Part-Time Parliament. ACM Transactions on Computer Systems 16,2 (May 1998),133-169.
[5] 楊平安.基于Paxos算法的HDFS高可用性的研究與設計[D].華南理工大學,2012.
[6] 方濱興.從“國家網絡主權”談基于國家聯盟的自治根域名解析體系[J].信息安全與通信保密,2014,12:35-38.
基金項目:
國家自然科學基金資助項目(61540020):“基于多維證據的信任評估理論、模型與關鍵機制研究”。
作者簡介:
朱國庫(1992-),男,浙江人,碩士研究生;主要研究方向和關注領域:網絡與信息安全。
蔣文保(1969-),男,湖南人,畢業于清華大學,博士后,北京信息科技大學信息管理學院副院長,信息系統研究所副所長,教授,碩士生導師;主要研究方向和關注領域:網絡與信息安全領域的科學研究、產品開發、教學和管理。