??? 摘 要: 提出了一種建立在移動IP網絡中的Anycast通信模型" title="通信模型">通信模型,,深入分析和討論了該模型的可行性及其有效性,并論證此模型可以支持在移動IP網絡中建設大規(guī)模的Anycast組。
??? 關鍵詞: IPv6? Anycast? 移動IP? 代理
?
??? Anycast是IPv6所提供的一種特殊網絡服務,,它允許服務申請者訪問共享同一Anycast 地址所標識的一組接口中最近的一個(這里的最近是按路由協議的距離量度來計算的),。Anycast 有廣泛的應用,,它在許多應用領域都發(fā)揮著重要作用,。隨著網絡新應用、新服務的不斷涌現,,對它的需求也在不斷增長,。
IPv6提供的另外一種服務就是移動IP服務,它是隨著Internet的飛速發(fā)展與移動計算機應用的日益廣泛隨之孕育而生的技術,。因為IPv6可以提供龐大的地址空間,,這一優(yōu)勢給移動IP技術的應用帶來了無限大的應用空間。現在的問題則是客戶如何在移動IP網絡中獲取高質量的網絡服務,。毫無疑問,,在移動IP網絡中采用Anycast通信模型來提供網絡服務是一種行之有效的解決辦法。
1 相關工作
??? 參考文獻[4]和[5]首先提出了在移動IP網絡中實現Anycast通信模型的方案,。但是這兩種方案的提出都是建立在Mobile IPv6協議的早期版本基礎之上的,,而且它們僅給出了理論性的描述,并沒有給出具體的實現過程。
??? 在這種情況下,,本文針對移動IPv6網絡提出了一種Anycast通信模型,,本模型具有如下優(yōu)點與特點:
??? (1) 本模型提出將一個子網內的所有移動代理都作為一個Anycast組的成員,并且此Anycast組被賦予一個知名Anycast地址方案,,此方案具有如下優(yōu)點:
??? ① 當一個主機發(fā)送一個Anycast地址轉換請求時,,此請求會被路由到距離自己最近的擁有Anycast移動成員的歸屬代理上,然后此歸屬代理按照最優(yōu)原則選擇一個最優(yōu)的Anycast移動成員提供Anycast服務,,這樣就可以保證所提供服務質量最高,、響應時間" title="響應時間">響應時間最短。
??? ② Anycast服務代理/移動節(jié)點" title="移動節(jié)點">移動節(jié)點無需多播或者廣播Router Advertisement/Solicitation Advertisement,,而移動節(jié)點則可以通過知名Anycast地址直接申請加入Anycast成員或者注冊操作,這樣做既解決了Router Advertisement/Solicitation Advertisement帶來的資源消耗問題,,同時也大大提高了整個通信模型的性能和效率,;
??? (2)它允許移動節(jié)點動態(tài)地加入或離開某個Anycast組,不受任何物理位置的限制,,真正地提供了高質量,、響應速度快的移動Anycast服務;
??? (3)在本模型中,,Anycast距離的度量標準可以根據不同的服務進行相應的變化,,從而增加了Anycast服務的靈活性以及高效性;
??? (4)在本模型中不同客戶端" title="客戶端">客戶端發(fā)出的服務請求會被不同的最優(yōu)Anycast移動節(jié)點處理,,這就保證了Anycast服務請求可以均衡地分布在Anycast移動成員之間而得到高效處理,,從而實現負載平衡;
??? (5) 此外,,本模型中的加入消息,、離開消息的數據傳輸只需要跨越很小的物理網絡并且此類消息的數據傳輸量也非常小,因此,,對網絡性能基本沒有影響,。
??? 下面對此通信模型進行詳細的討論和分析。
2 Anycast服務在移動IP網絡中的通信
2.1通信模型
??? 本模型的目的在于在移動IP網絡中實現Anycast服務,。通過上述分析可知,,實現移動IP技術的關鍵在于如何高效地實施上述五個主要功能,因為這五個功能的實現可能會消耗大量的資源,,而成為在移動IP網絡中實現Anycast服務模型的瓶頸,。因此,本模型提出將一個子網內的所有移動代理都作為一個Anycast組的組成員,,并且此Anycast組被賦予一個知名Anycast地址,,記做AgentA。如圖1所示。
?
??? 在此模型中,,每個移動節(jié)點都可以申請加入一個Anycast組以提供相應的Anycast服務,。這樣,由于本模型將所有移動代理都作為一個知名Anycast組的成員,,因此,,代理/移動節(jié)點無需多播或者廣播Router Advertisement/Solicitation Advertisement,而移動節(jié)點無論是在本地還是在外區(qū),,都可以直接通過知名Anycast地址申請加入Anycast組或者注冊操作,,這樣做既解決了傳輸Router Advertisement/Solicitation Advertisement等消息帶來的資源消耗問題,同時也大大提高了整個通信模型的性能和效率,。
2.2 Anycast組成員的加入和注銷
??? 在本模型中,,移動成員可以自由地申請加入或者離開一個Anycast組。一個移動節(jié)點申請加入一個Anycast組的過程可以描述如下:
??? (1) 移動節(jié)點首先發(fā)送一個Join消息,,此消息包括本身的Unicast地址以及申請加入的Anycast地址,,此消息的目的地址為AgentA,這樣此消息會被路由到距離(本模型采用跳為度量單位)此移動節(jié)點最近的代理上,;
??? (2) 距離最近的代理接收到此Join消息之后,,首先對此消息進行身份認證,如果認證通過,,則分成如下兩種情況來處理:①如果此代理為移動節(jié)點的歸屬代理,,則檢查其本身是否已經具有此Anycast地址的相關紀錄,如果有,,就將此移動節(jié)點的相關信息加入到該Anycast地址的相關記錄中,,否則,它首先創(chuàng)建有關此Anycast地址的相關記錄,,然后再將此移動節(jié)點的相關信息加入到新創(chuàng)建的Anycast地址的相關記錄中去,,同時它還要通知其他Anycast路由器這個新Anycast組成員的加入以便其及時更新Anycast路由信息;②如果此代理為外區(qū)代理,,則它首先和此移動節(jié)點的歸屬代理建立連接,,在驗證其身份之后,它會將Join消息轉發(fā)給歸屬代理進行處理,,歸屬代理的處理過程同a;
??? (3) 最后,,移動節(jié)點的歸屬代理會發(fā)送一個Accept消息給它,此時,,該移動節(jié)點具有了Anycast組移動成員的身份,。
至此,一個移動節(jié)點申請成為一個Anycast組移動成員的過程結束,。
??? 下面再討論Anycast移動成員如何從Anycast組注銷,。一個Anycast移動成員從某個Anycast組注銷的過程可以描述如下:
??? (1) Anycast移動成員首先發(fā)送一個Leave消息,,此消息包括本身的Unicast地址以及申請注銷的Anycast地址,此消息的目的地址為AgentA,,這樣此消息會被路由到距離此移動節(jié)點最近的代理上,;
??? (2) 距離最近的代理接收到此Leave消息之后,首先對此消息進行身份認證,,如果認證通過,,則分成如下兩種情況來處理:①如果此代理為Anycast移動成員的歸屬代理,則檢查其本身是否已經具有此Anycast地址的相關記錄,,如果有,,則從其相關記錄中刪除此Anycast移動節(jié)點的相關信息,并且檢查此時Anycast地址的相關記錄是否為空,,如果為空,,則通知其他Anycast路由器它現在已經沒有關于此Anycast組成員的相關信息,這樣,,這些Anycast路由器就可以及時地更新Anycast路由信息,;②如果此代理為外區(qū)代理,則它首先與此Anycast移動成員的歸屬代理建立連接,,在驗證其身份之后,它會將Leave消息轉發(fā)給歸屬代理進行處理,,歸屬代理的處理過程同①;
??? (3) 最后,,歸屬代理會發(fā)送一個OK消息給Anycast移動成員,此時,,此移動成員已經注銷了Anycast組成員的身份,。
??? 至此,一個Anycast移動成員從某個Anycast組注銷的過程結束,。
2.3 路由分析
??? 當一個客戶端申請Anycast服務時,,它首先需要發(fā)送一個地址轉換請求,即將提供Anycast服務的Anycast地址轉換為某個Anycast移動成員的Unicast地址,,此地址轉換請求的源地址為客戶端的Unicast地址,,目的地址為提供此Anycast服務的Anycast地址。此請求通過Anycast路由,,會被距離客戶端最近的擁有此Anycast組成員的歸屬代理截獲,,歸屬代理接收到此地址轉換請求后,首先查詢此Anycast地址的相關記錄,,按照最優(yōu)原則選擇一個位于本地的Anycast移動成員,,然后將此地址轉換請求轉發(fā)給此最優(yōu)Anycast移動成員,此移動成員接收到此請求后,,將自身的Unicast地址返回給客戶端,。
??? 客戶端在接收到最優(yōu)Anycast移動成員的Unicast地址后,,利用這個Unicast地址與此移動成員之間建立連接,其方式同正常的移動IP通信相同,,這里不再贅述,。
??? 由于移動節(jié)點可能在不同的網絡之間頻繁移動,因此,,當一個正在提供Anycast服務的Anycast移動成員移動到其他區(qū)域上時,,它會發(fā)送一個Register消息,其消息的目的地址是AgentA,,這樣此Register消息會被它所在區(qū)域內的距離最近的外區(qū)代理所截獲,。此代理截獲該消息之后,它會與此移動成員的歸屬代理建立連接,,并驗證其身份,,如果身份驗證通過,它會記錄下此移動成員的Visitor身份,,同時,,與移動成員的歸屬代理建立一個隧道以便傳輸發(fā)送到此移動成員的數據包。
3 性能分析
??? 為了驗證本通信模型的有效性以及高效性,,筆者在IPv6模擬移動網絡中實現了此模型,,并將從此模型中獲取Anycast服務的TRT與隧道模式下移動IPv6網絡中獲取Anycast服務的TRT進行了比較與分析。
??? 在IPv6模擬移動網絡中,,將48個節(jié)點(IBM X Series PC機)連接到百兆以太網上,,同時利用Modelnet來模仿廣域網物理拓撲結構。在試驗中,,每個節(jié)點都是一個路由器,,并且都與若干臺移動主機相連,其中一個路由器要與多于6臺移動主機相連,,用于完成在本模型以及隧道模式下移動IPv6通信模型中的Anycast服務,,這些移動主機的處理能力都相同,它們可以自由地從一個網段移動到另外一個網段,。設定一個Anycast組包括6個成員,,為了有效地測試網絡擁塞情況,設路由器(代理)之間鏈路層通信能力為10Mb/s,,客戶端與路由器以及Anycast移動組成員與路由器(代理)之間的鏈路層通信能力為5Mb/s,。
??? 在上述的實驗環(huán)境中,實現了本模型以及隧道模式下移動IPv6網絡中的Anycast服務,。在初始狀態(tài)下,,這兩種移動IPv6通信模型中的歸屬區(qū)域內都包括6個Anycast移動組成員,這些組成員都是彼此的鏡像,,它們都可以處理客戶的服務請求,。在隧道模式下,,筆者采用跳數作為距離度量單位,即把當前距離歸屬代理最近(即跳數最?。┑腁nycast移動組成員作為最優(yōu)Anycast移動組成員,。
??? 本模型的性能分析" title="性能分析">性能分析是通過在IPv6模擬環(huán)境下比較客戶在本模型以及隧道模式下移動IPv6模型中獲取同樣Anycast服務(如文件服務)的TRT值來實現的。因為從用戶角度來看,,所提供服務的TRT值越小,,用戶認為服務質量越好。這樣,,得到圖2所示的TRT性能分析圖(R=TRTNormal/TRT),。
?
??? 其中,R為在本模型中與隧道模式下移動IPv6通信模型中客戶獲取同樣Anycast服務的TRT值的比值,,TRTNormal為在隧道模式下移動IPv6通信模型中客戶獲取Anycast服務的TRT值,,TRT為在本模型中客戶端獲取Anycast服務的TRT值。從上圖可以看出,,R的比值趨于1.125,。這個試驗結果表明,在本模型中Anycast移動組成員提供Anycast服務的整體響應時間優(yōu)于在隧道情況下提供Anycast服務的響應時間,。
??? Anycast與移動IP網絡都是IPv6的新特性,,它們可以支持許多服務。本文在IPv6的模擬環(huán)境下,,提出了一種新的通信模型,,用以實現移動IP網絡中的Anycast服務。這兩種技術的結合具有廣泛的應用前景,,但是它還存在一些問題,有待進一步探討和研究,。
參考文獻
[1] KATABI D, WROCLAWSKI J. A framework for scalable global IP-Anycast(GIA)[C]. Proceeding of SIGCOMM. New York: ACM Press, 2000:3-15.
[2] ?CASTRO M, DRUSCHEL P, KERMARREC A M, et al. Scalable application-level anycast for highly dynamic groups[D]. Prentice Hall, 2003.
[3] ?LI Z, WEI Y, LI Xiao Ming. Anycast——another communication model for IP[J]. Journal of Computer Research and Development, 2003,40(6):784-790(Ch).
[4] ?HABERMAN B, NORDMARK. IPv6 anycast binding using return routability[J]. Internet Draft, 2002.
[5] ?AFERGAN M, WEIN J, LAMEYER A. Experience with ??some principles for building an internet-scale reliable system[C]. In Proceeding of Second Workshop on Real, Large Distributed System, Dec. 2005.
[6] ?BALLANI H, FRANCIS P. Towards a global IP anycast Service[C]. In Proceeding of the 2005 conference on Applications, Technologies, Architectures, and protocols for ?computer communications. Aug. 2005.