文/郭峰 吳回 李樹軍
IPv6動態域名系統的設計與實現
文/郭峰 吳回 李樹軍
通過在IPv6環境下動態域名系統的設計方案,可以對Web服務端子系統、DNS更新子系統和DNS服務器子系統的設計與實現提供幫助,有利于對IPv6應用在校園網絡上的推廣與部署。
下一代互聯網技術日趨成熟,在發達國家已經成功進入商用領域。我國的下一代互聯網建設也在如火如荼地進行中,CNGI骨干網絡已經建設成功,IPv4向IPv6網絡過渡已是大勢所趨。在享受IPv6網絡帶來的高質量服務的同時,我們也碰到一些新問題,比如IPv6的地址比IPv4的地址更難記憶。
對于采用無狀態自動配置IPv6地址的環境,RFC3041引入了一種隨機地址配置機制,網絡內的主機根據路由器通告的路由前綴和一組隨機的數字生成自己的IPv6地址,該地址具有一定的生存周期,隨著生存周期的結束,該地址會自動更換,這對普通用戶來說也存在諸多不便。比如用戶需要遠程訪問自己的主機,或者臨時提供服務給別人訪問的時候,往往不知道或者不記得自己的IPv6地址,因此設計一個功能完善的動態域名系統就顯得尤為重要。利用動態域名系統提供的服務,用戶可以把動態的IPv6地址綁定在一個固定的域名上,通過簡短好記的域名來進行網絡訪問。
總體設計思想
本系統是一套基于三層或多層的C/S和B/S架構的域名綜合服務系統,它包含用戶端、Web前臺、Web管理后臺和DNS服務器四個字系統。系統總體設計思想如下:
(1)Web服務端通過網頁方式為系統管理員提供注冊用戶管理、域名管理和DNS服務器參數配置功能;
(2)用戶通過瀏覽器訪問Web服務器端,注冊和管理屬于自己的賬號,注冊和管理屬于自己的域名;相應信息通過Web服務器保存到數據庫服務器;
(3)DNS更新客戶端軟件實時監測用戶的IP地址信息,把IP信息提交到Web服務器并最終保存到數據庫服務器中;
(4)DNS服務器接受來自網絡的DNS查詢,DNS服務器通過查詢數據庫服務器,取得和域名對應的IP地址,把結果反饋給查詢者。
開發工具與支撐環境
本系統Web服務端采用ASP開發,運行在Windows 2008 Server IIS7.0環境下;DNS更新客戶端程序采用.NET開發;數據庫服務器采用MS SQL Server 2005,DNS服務器參照BIND,采用C++進行開發。

圖1 IPv6動態域名系統架構

圖2 Web服務子系統功能設計
Web服務子系統設計與實現的技術要點
作為動態域名系統的重要組成部分之一,Web服務子系統直接面向用戶,在功能完善的基礎上,要求界面美觀大方,操作簡潔、人性化。

圖3 DNS更新客戶端功能設計
Web服務子系統可以看成是一個具有特殊功能的網站系統,相關技術要點如下:
(1)采用JQuery框架與微軟的ASP(Active Server Page)進行具體實現;
(2)在編碼時,在代碼安全性方面要特別注意,防止Web注入攻擊和跨站腳本攻擊。此外,要特別注意域名更新頁面和用戶D N S更新客戶端程序信息交換時的安全,相關信息要用提前預置的密鑰進行加密傳輸;
(3)要考慮到程序的可擴展性和可移植性,程序部署要簡單;
(4) 注意程序的執行邏輯與效率,代碼的優化,降低Web程序執行時對服務器資源的消耗,能承受大量用戶的并發訪問。
DNS更新客戶端程序設計與實現的技術要點
DNS更新程序運行在用戶端,要求它能隨用戶電腦的啟動而自動運行,能監測到用戶IPv6地址的變化,及時把最新的IPv6地址提交到服務器。
在實際實現時,域名更新功能單獨設計成一個服務器程序,在用戶電腦注冊為系統服務,達到開機即可自動運行的效果(即使用戶還沒有登錄系統)。它的功能也比較單一,讀取保存在注冊表里面的參數,提取用戶IPv6地址信息,利用密鑰對相關信息加密后,提交到Web服務器。其它功能模塊通過一個托盤程序實現(用戶登錄系統后,程序自動運行并最小化在任務欄右側,用戶單擊圖標,則彈出程序界面)。相關技術要點如下:
(1)程序采用.NET框架實現。利用.N E T框架強大的應用快速開發能力,可以很方便的進行服務器程序和托盤程序的開發;
(2) 當前用戶接入IPv6網絡存在多種形式,用戶是通過隧道方式還是直接接入IPv6網絡的,要分情況對待。此外,在提取用戶IPv6地址的時候要特別注意,提交給服務器的應該是全局地址,而不是鏈路本地地址或者站點本地地址;
(3)在無狀態自動配置IPv6地址的網絡,如果用戶操作系統是Windows XP,系統會存在多個IPv6地址的情況(多個地址都為有效地址),建議不要一得到新地址就提交給服務器;
(4) 為了減輕服務器的壓力,應該把客戶的當前地址保存下來,只有客戶地址有變化的情況下才提交給服務器。
DNS服務器設計
作為服務于IPV6環境下里的動態域名系統,和別的DNS服務器軟件相比較,功能相對簡單。有開源的程序參考,實現較為容易,相關技術要點如下:
(1)能支持標準AAAA類型的域名查詢即可;
(2)服務器收到來自網絡的查詢請求后,從數據庫進行查詢,然后把結果反饋回去。為了提高服務器的查詢與響應效率,在數據庫上通過擴展存儲過程進行查詢;
(3) 動態域名系統想要發揮作用,每個域名的TTL(生存期)值必須設置得很小,一般以秒為單位,這種機制就決定了不能通過域名緩存方式來提高效率。為了能承受大量用戶的并發查詢,除了對數據庫建立合適的索引和優化外,程序應該采用多線程方式。
此系統由江蘇省大學生創新項目——“IPv6環境下動態域名系統設計與實現”小組設計完成。通過此項工作,學生對IPv6相關協議有了較為深入的了解,提高了學生對IPv6新知識的學習與應用能力。
(作者單位為鹽城師范學院信息科學與技術學院)
未來數據中心需高性能基因
云計算已經成為一種勢不可擋的IT大趨勢,變革整體IT服務和計算模式已經迫在眉睫。由于云計算將一系列IT概念,如網絡計算、SaaS、效用計算和網格計算等納入到一個單一的抽象服務中來,因此其依賴于一個復雜的網絡基礎架構,才能對各種服務進行大量有效處理。為了實現云計算服務,服務商不僅需要一個大型數據中心,更需要一種強大的網絡支撐平臺。
瞻博網絡QFabric是該公司面向未來10年數據中心發展的網絡架構。基于此,該公司提出 “3-2-1”的數據中心簡化策略,最終使用戶實現一層網絡架構。瞻博網絡亞太區副總裁Matt Kolo指出,QFabric可以將整個數據中心的延遲控制在5微秒以內。這一測試假定采用了最長互聯線纜,此外該測試還假設因為光速的原因額外增加了1微秒的延遲。但如果在使用較短電纜的情況下,測量的延遲將只有3.7微妙。QFabric比以往任何基于機架的以太網交換機的速度都要快,并且能夠持續保持高速傳輸。同時瞻博網絡已經證明了,QFabric能夠以線性方式,從數十個端口擴展至6000多個萬兆以太網端口,并且在未來,還將提供能夠擴展至數萬個端口的巨型fabric。
QFabric由三個Fabric的組件組成。QF節點是該Fabric的分布式決策引擎,QF互連(QF Interconnect)是傳輸設備,而QF引導器(QF Director)是一個公共窗口,將所有設備作為一個設備來控制。Matt Kolo提到,“QFX3500是一臺物理交換機,同時它也是QFabric的一個重要部件。在傳統的網絡架構中,企業開始可以使用其他廠商的產品,與QFX3500一起組建網絡。”