梁 勇,劉承啟
(南昌大學,江西 南昌 330031)
各類網絡的使用范圍與規模日益擴大,傳統的Ipv4[1]已經無法滿足當今技術需求,因此,Ipv4地址大幅度縮減,也因此推動了Ipv4向Ipv6轉變。由于初期的Ipv6網絡地址設計與Ipv4網絡地址為不兼容狀態,因此,基于所有的映射規則與技術,能夠完成Ipv4到Ipv6的過渡并實現互聯網雙向通信的有效手段為無狀態通信機制。根據Ipv4地址與Ipv6地址內存在的映射規則,互聯網服務提供商[2]統一管理并控制Ipv4與Ipv6網絡的用戶。在Ipv4到Ipv6的演變過程中,不僅需要過渡時間,還要達成與Ipv6的互聯通信。當前的NAT64翻譯策略雖然可以令Ipv6訪問Ipv4,但卻不是直接式訪問。
目前針對Ipv4與Ipv6網絡的雙向通信研究數量較多,并得到一些研究成果。例如,文獻[3]針對支持Ipv6的嵌入式設備進行了研究,分析了嵌入式設備基于Ipv6網絡互聯的關鍵方式之一的地址自動配置,通過對無狀態與有狀態兩種自動配置方式的運作機理和過程進行分析,在嵌入式協議棧中設計并實現了兩種地址的自動配置。但是該方法存在網絡狀態要求較高問題,實用性較差。文獻[4]借助WMware Workstation以及Wireshark等軟件,設計Ipv6地址自動配置實驗,將Ipv6工程配置和協議分析相結合,為Ipv6實驗體系的構建提供了一定參考。但是該方法存在應用效率較低問題。
為解決以上傳統方法存在的應用問題,依據互聯網接入策略,提出新的Ipv6遠程監控網絡無狀態雙向通信方法。通過在Ipv6遠程監控網絡無狀態雙向通信模型中嵌入具有雙協議的代理服務器,達成Ipv6與Ipv4間服務器轉化,實現Ipv6遠程監控網絡的無狀態雙向通信。實驗中處理時長與沖突頻率為對比測試指標。實驗結果驗證了所提方法應用性能的優勢。
無狀態通信是指在Ipv6遠程監控網絡報文頭部的所有字段間,實現算法中映射關系的構建,以確保在未存儲、未追蹤動態映射關系的前提下,翻譯網關也能夠從報文[5]含有的信息里完成翻譯處理。
根據翻譯機制中的核心技術標準RFC6052,制定Ipv6網絡與Ipv4互聯網雙向通信狀態下的地址映射規則,如圖1、圖2所示。

圖1 Ipv6網絡與Ipv4互聯網無狀態地址映射模型

圖2 Ipv6與Ipv4網絡無狀態地址映射模型
由于總體Ipv4地址空間能夠無狀態對應映射一個Ipv6子網[6],因此,映射規則在Ipv6的前綴后加入Ipv4地址,并用補零的方式處理其余空位,則得到的Ipv6地址屬于Ipv4的轉換地址,無法應用于實際的Ipv6計算機應用中?;ヂ摼W服務提供商將特殊的Ipv6地址分配給遠程監控網絡的計算機,以實現Ipv6地址與Ipv4地址空間的無狀態映射,該特殊地址也叫作Ipv4可譯地址。利用Ipv6地址集合與Ipv4地址空間的部分子網[7],完成一對一或者多對一的無狀態映射關系架構,則Ipv4地址空間中Ipv6地址的映像為Ipv4地址,無法用于實際的Ipv4計算機應用中。
基于網絡地址映射規則,設定Cipv6為Ipv6任意計算機地址,Ipv4互聯網的任意計算機地址為Cipv4,如果兩計算機進行無狀態雙向通信,則Cipv6的通信對端為計算機Cipv4在Ipv6里的映像;如果Cipv4通過訪問Cipv6在Ipv4內所映射的ivi4地址,達成Cipv6的訪問,則Cipv4的通信對端即為訪問地址。
互聯網服務提供商通過接入Ipv6網絡,為用戶提供Ipv4與Ipv6互聯網訪問服務,而網絡內容服務商則通過升級Ipv6網絡,為用戶提供Ipv6與Ipv4互聯網服務,因此,Ipv6遠程監控網絡的無狀態雙向通信模型,對Ipv4到Ipv6的過渡階段起到有效的促進作用。
為使Ipv6遠程監控網絡的無狀態雙向通信效果更加理想,應令代理服務器的協議棧[8]內存在支持Ipv4與Ipv6的雙協議,并具有Ipv6子網與Ipv4子網的同步訪問權限,從而進一步實現內外網Ipv6與Ipv4之間的代理服務器[9]轉化,因此,通信網關應符合協議的協商機制。Ipv6協議棧示意圖如圖3所示。

圖3 Ipv6協議棧示意圖
當用戶與代理服務器間經過認證協商,用戶發送請求數據包時,用戶將目的站點地址與端口發送至代理服務器,此時會出現以下兩種情況:
1)若發送的內容為域名與端口,代理服務器將進行域名解析。在用戶端無法獲知Ipv6站點是目的站點還是Ipv4站點是目的站點的情況下,代理服務器可以依據域名解析結果對目的站點進行判定。若目的站點為Ipv6地址,則采用目的機器與Ipv6協議棧完成連接建立;若目的站點為Ipv4地址,則采用目的機器與Ipv4協議棧完成連接建立。
2)若發送的內容為IP地址[10]與端口,那么,代理服務器能夠依據所請求的地址格式,實現地址種類判定,并利用不同的協議棧與目的機器創建連接。
基于支持Ipv4與Ipv6雙協議的代理服務器,不僅可以使Ipv4用戶實現Ipv4服務器的訪問,而且Ipv6用戶也能夠對Ipv4服務器進行訪問,用戶之間實施交叉訪問。但是大多數情況下,Ipv6用戶端的軟件必須要具備有效識別Ipv4目的地址的功能,Ipv4用戶端也要具備有效識別Ipv6目的地址[11]的功能,因此,要將Ipv4地址與Ipv6地址的轉換性能賦予代理服務器,或者通過與Ipv4兼容的Ipv6地址,實現Ipv6主機對Ipv4主機的訪問,最后,利用代理服務器的靜態映射表,進行Ipv4地址與Ipv6地址的靜態轉換。

圖4 代理服務器解析流程圖
代理服務器會生成兩個socket[12]對象,其主要功能是連接監聽Ipv4與Ipv6。如果用戶連接地址不同,則處理對象也不同,即每產生一對新的連接,就會形成對應的兩個socket對象實例,且不同的用戶來源與請求目的地址,所生成的對象也會發生相應改變。若均為Ipv4的socket對象,則用戶來源與請求目的地址也為Ipv4主機;若均為Ipv6的socket對象,則用戶來源與請求目的地址也為Ipv6主機;若分別為Ipv4與Ipv6的socket對象,則要對Ipv6與Ipv4間的節點建立連接。
代理服務器協議處理完成后,根據新產生對象實例間的對應關系,將網絡接口收到的數據傳輸給各對象,經過處理后再進行下一步發送。
Ipv6地址與Ipv4地址的雙協議代理服務器軟件,其開發平臺為Microsoft visual C++6.0版本,由面向對象法[13]與MFC類庫框架完成創建。為接收Ipv6與Ipv4雙協議的TCP連接請求,該代理服務器使用同一端口設置了兩種協議棧的TCP連接服務,令Ipv6與Ipv4的兩個目的地址均能夠支持雙協議,因此,所創建的代理服務器可以實現Ipv6遠程監控網絡的無狀態雙向通信。
對Ipv6進行升級的初始階段,會在海量的Ipv4網絡內形成Ipv6網絡“孤島”,通過創建的代理服務器,可以使網絡“孤島”與眾多互聯網節點間完成雙向通信,此時的網絡訪問形式為Ipv6主機對Ipv4網絡的訪問。
設置處理時長與沖突頻率兩個指標,并將兩個參數最小化作為最優目標,此外,如果網絡性能具有較低的反向查詢復雜度,則通信效率會更加理想。其中,Ipv6遠程監控網絡處理一次雙向通信的時長為時長參數,相同平臺的處理時長越短,雙向通信速率越快;沖突頻率指的是基于一組指定Ipv6遠程監控網絡地址集合,雙向通信階段內產生的Ipv4地址重復頻率,沖突頻率指標與雙向通信效果呈反比例關系。
已知Ipv6網絡地址集合中的Ipv6地址數量為N,值域S中的Ipv4地址數量為M,且N>M,假設Ipv6地址映射到第i個Ipv4地址的數量為Ni,當其超過一個時,沖突數量用Ni-1表示,那么,即可推導出下列沖突頻率表達公式

(1)
式(1)中,階躍函數為ε(x),其條件式如下所示

(2)
通過上式可以看出,若想最小化沖突頻率,則要最大化Ni>0的Ipv4地址個數,即要使N個Ipv6地址與不同的N個Ipv4地址實現對應映射關系。
反向查詢復雜度是指經過映射Ipv6地址到Ipv4地址集S0,再根據S0內Ipv4地址對Ipv6地址進行反向查詢,其具有的期望時間復雜度即為反向查詢復雜度,反向查詢復雜度(即期望時間復雜度)越低,雙向通信效果優勢越顯著。將各Ipv6地址的發生概率設定成N-1,那么,采用下列條件式對第i個Ipv4地址所需查詢的期望次數進行界定

(3)
則整體期望查詢次數表達式如下所示


(4)
根據上式能夠發現,Ni方差σ2和沖突頻率p均與期望查詢次數為線性正相關關系,若沖突頻率一致,則期望查詢次數隨著方差σ2的增加而上升,故雙向通信的均衡性能可以通過方差參數進行表示。
采取文獻[3]、文獻[4]與本文方法進行對比以檢測本文方法的合理性。實驗環境采用內核為2.4.8版本的Linux操作系統,硬件環境為英特爾酷睿i7型號2.7GHz處理器,運行內存是4GB1333MHz。在某遠程監控網絡中抽取了大小分別為15萬、50萬、130萬、180萬以及250萬的獨立Ipv6地址集合。
利用哈希函數[14]獲取本文方法與文獻[3]、文獻[4]各獨立Ipv6地址集合的映射處理時長均值,所得結果如圖5所示。

圖5 不同方法處理時長對比圖
通過圖5可以看出,相較于另外兩種傳統方法,本文方法的處理時長增幅較小,最短處理時長僅有1.32μs,最長也只有1.76μs,增加比例為0.33%。說明Ipv6集合量的提升并沒有對處理時長指標產生太大的影響,本文方法的穩定性比較理想。這是因為在本次研究中設計了Ipv6網絡與Ipv4互聯網的地址映射規則,在代理服務器協議棧內引入支持Ipv4與Ipv6的雙協議,實現同步訪問權限。同步訪問大大減小了通信耗時。
經過各Ipv6網絡地址集合通信沖突頻率及其大小的對比,得出本文方法與文獻[3]、文獻[4]沖突頻率及其大小之間的關系曲線圖。

圖6 沖突頻率對比圖
根據圖6中實驗結果曲線的趨勢可以看出,如果Ipv4的集合數量為固定值,則通信沖突頻率與Ipv6集合數量呈正比例關系,若Ipv6集合數量為固定值,那么,Ipv4集合數量越多,沖突頻率越小。當Ipv6地址集合大小為15萬時,沖突頻率為最小值,當Ipv6地址集合大小為250萬時,沖突頻率得到最大值。另外從上圖可知,與文獻[3]、文獻[4]方法進行對比,本文方法在不同地址集合沖突頻率對比中的數值更低,盡管當Ipv6地址集合大小為250萬時,沖突頻率得到最大值,但該極大沖突頻率仍處于實際應用的可允許范圍內,符合Ipv6遠程監控網絡的理想通信需求。這是因為所提方法建立了不同協議棧與目的機器的連接,采用代理服務器靜態映射表完成Ipv4地址與Ipv6地址靜態轉換,該轉換過程有效避免了監控網絡通信沖突,提高了方法的實用性。
為使不同地址的總體通信機制結構體系的統一應用目的,設計新的Ipv6遠程監控網絡無狀態雙向通信方法?;诰W絡地址映射規則,判定出Ipv4與Ipv6網絡的通信對端;將支持Ipv4與Ipv6的雙協議嵌入代理服務器協議棧,采用生成的socket對象連接并監聽Ipv4與Ipv6,完成Ipv6與Ipv4雙協議的TCP連接請求,進而達成無狀態雙向通信,將處理時長、沖突頻率以及反向查詢復雜度設定為指標參數,對通信方法性能進行評估。該方法是技術解決策略的關鍵推動引擎之一,具有較好的擴展性與可溯源性,也為Ipv4到Ipv6網絡的過渡需求提供了理想且有效的路線與更加便捷的服務。