《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 在移動IP網(wǎng)絡(luò)中實現(xiàn)Anycast服務(wù)的一種通信模型

在移動IP網(wǎng)絡(luò)中實現(xiàn)Anycast服務(wù)的一種通信模型

2008-07-21
作者:王曉楠1,2, 錢煥延1

??? 摘 要: 提出了一種建立在移動IP網(wǎng)絡(luò)中的Anycast通信模型" title="通信模型">通信模型,深入分析和討論了該模型的可行性及其有效性,并論證此模型可以支持在移動IP網(wǎng)絡(luò)中建設(shè)大規(guī)模的Anycast組。
??? 關(guān)鍵詞: IPv6? Anycast? 移動IP? 代理

?

??? Anycast是IPv6所提供的一種特殊網(wǎng)絡(luò)服務(wù),它允許服務(wù)申請者訪問共享同一Anycast 地址所標識的一組接口中最近的一個(這里的最近是按路由協(xié)議的距離量度來計算的)。Anycast 有廣泛的應(yīng)用,它在許多應(yīng)用領(lǐng)域都發(fā)揮著重要作用。隨著網(wǎng)絡(luò)新應(yīng)用、新服務(wù)的不斷涌現(xiàn),對它的需求也在不斷增長。
IPv6提供的另外一種服務(wù)就是移動IP服務(wù),它是隨著Internet的飛速發(fā)展與移動計算機應(yīng)用的日益廣泛隨之孕育而生的技術(shù)。因為IPv6可以提供龐大的地址空間,這一優(yōu)勢給移動IP技術(shù)的應(yīng)用帶來了無限大的應(yīng)用空間?,F(xiàn)在的問題則是客戶如何在移動IP網(wǎng)絡(luò)中獲取高質(zhì)量的網(wǎng)絡(luò)服務(wù)。毫無疑問,在移動IP網(wǎng)絡(luò)中采用Anycast通信模型來提供網(wǎng)絡(luò)服務(wù)是一種行之有效的解決辦法。
1 相關(guān)工作
??? 參考文獻[4]和[5]首先提出了在移動IP網(wǎng)絡(luò)中實現(xiàn)Anycast通信模型的方案。但是這兩種方案的提出都是建立在Mobile IPv6協(xié)議的早期版本基礎(chǔ)之上的,而且它們僅給出了理論性的描述,并沒有給出具體的實現(xiàn)過程。
??? 在這種情況下,本文針對移動IPv6網(wǎng)絡(luò)提出了一種Anycast通信模型,本模型具有如下優(yōu)點與特點:
??? (1) 本模型提出將一個子網(wǎng)內(nèi)的所有移動代理都作為一個Anycast組的成員,并且此Anycast組被賦予一個知名Anycast地址方案,此方案具有如下優(yōu)點:
??? ① 當一個主機發(fā)送一個Anycast地址轉(zhuǎn)換請求時,此請求會被路由到距離自己最近的擁有Anycast移動成員的歸屬代理上,然后此歸屬代理按照最優(yōu)原則選擇一個最優(yōu)的Anycast移動成員提供Anycast服務(wù),這樣就可以保證所提供服務(wù)質(zhì)量最高、響應(yīng)時間" title="響應(yīng)時間">響應(yīng)時間最短。
??? ② Anycast服務(wù)代理/移動節(jié)點" title="移動節(jié)點">移動節(jié)點無需多播或者廣播Router Advertisement/Solicitation Advertisement,而移動節(jié)點則可以通過知名Anycast地址直接申請加入Anycast成員或者注冊操作,這樣做既解決了Router Advertisement/Solicitation Advertisement帶來的資源消耗問題,同時也大大提高了整個通信模型的性能和效率;
??? (2)它允許移動節(jié)點動態(tài)地加入或離開某個Anycast組,不受任何物理位置的限制,真正地提供了高質(zhì)量、響應(yīng)速度快的移動Anycast服務(wù);
??? (3)在本模型中,Anycast距離的度量標準可以根據(jù)不同的服務(wù)進行相應(yīng)的變化,從而增加了Anycast服務(wù)的靈活性以及高效性;
??? (4)在本模型中不同客戶端" title="客戶端">客戶端發(fā)出的服務(wù)請求會被不同的最優(yōu)Anycast移動節(jié)點處理,這就保證了Anycast服務(wù)請求可以均衡地分布在Anycast移動成員之間而得到高效處理,從而實現(xiàn)負載平衡;
??? (5) 此外,本模型中的加入消息、離開消息的數(shù)據(jù)傳輸只需要跨越很小的物理網(wǎng)絡(luò)并且此類消息的數(shù)據(jù)傳輸量也非常小,因此,對網(wǎng)絡(luò)性能基本沒有影響。
??? 下面對此通信模型進行詳細的討論和分析。
2 Anycast服務(wù)在移動IP網(wǎng)絡(luò)中的通信
2.1通信模型

??? 本模型的目的在于在移動IP網(wǎng)絡(luò)中實現(xiàn)Anycast服務(wù)。通過上述分析可知,實現(xiàn)移動IP技術(shù)的關(guān)鍵在于如何高效地實施上述五個主要功能,因為這五個功能的實現(xiàn)可能會消耗大量的資源,而成為在移動IP網(wǎng)絡(luò)中實現(xiàn)Anycast服務(wù)模型的瓶頸。因此,本模型提出將一個子網(wǎng)內(nèi)的所有移動代理都作為一個Anycast組的組成員,并且此Anycast組被賦予一個知名Anycast地址,記做AgentA。如圖1所示。

?


??? 在此模型中,每個移動節(jié)點都可以申請加入一個Anycast組以提供相應(yīng)的Anycast服務(wù)。這樣,由于本模型將所有移動代理都作為一個知名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é)點的歸屬代理,則檢查其本身是否已經(jīng)具有此Anycast地址的相關(guān)紀錄,如果有,就將此移動節(jié)點的相關(guān)信息加入到該Anycast地址的相關(guān)記錄中,否則,它首先創(chuàng)建有關(guān)此Anycast地址的相關(guān)記錄,然后再將此移動節(jié)點的相關(guān)信息加入到新創(chuàng)建的Anycast地址的相關(guān)記錄中去,同時它還要通知其他Anycast路由器這個新Anycast組成員的加入以便其及時更新Anycast路由信息;②如果此代理為外區(qū)代理,則它首先和此移動節(jié)點的歸屬代理建立連接,在驗證其身份之后,它會將Join消息轉(zhuǎn)發(fā)給歸屬代理進行處理,歸屬代理的處理過程同a;
??? (3) 最后,移動節(jié)點的歸屬代理會發(fā)送一個Accept消息給它,此時,該移動節(jié)點具有了Anycast組移動成員的身份。
至此,一個移動節(jié)點申請成為一個Anycast組移動成員的過程結(jié)束。
??? 下面再討論Anycast移動成員如何從Anycast組注銷。一個Anycast移動成員從某個Anycast組注銷的過程可以描述如下:
??? (1) Anycast移動成員首先發(fā)送一個Leave消息,此消息包括本身的Unicast地址以及申請注銷的Anycast地址,此消息的目的地址為AgentA,這樣此消息會被路由到距離此移動節(jié)點最近的代理上;
??? (2) 距離最近的代理接收到此Leave消息之后,首先對此消息進行身份認證,如果認證通過,則分成如下兩種情況來處理:①如果此代理為Anycast移動成員的歸屬代理,則檢查其本身是否已經(jīng)具有此Anycast地址的相關(guān)記錄,如果有,則從其相關(guān)記錄中刪除此Anycast移動節(jié)點的相關(guān)信息,并且檢查此時Anycast地址的相關(guān)記錄是否為空,如果為空,則通知其他Anycast路由器它現(xiàn)在已經(jīng)沒有關(guān)于此Anycast組成員的相關(guān)信息,這樣,這些Anycast路由器就可以及時地更新Anycast路由信息;②如果此代理為外區(qū)代理,則它首先與此Anycast移動成員的歸屬代理建立連接,在驗證其身份之后,它會將Leave消息轉(zhuǎn)發(fā)給歸屬代理進行處理,歸屬代理的處理過程同①;
??? (3) 最后,歸屬代理會發(fā)送一個OK消息給Anycast移動成員,此時,此移動成員已經(jīng)注銷了Anycast組成員的身份。
??? 至此,一個Anycast移動成員從某個Anycast組注銷的過程結(jié)束。
2.3 路由分析
??? 當一個客戶端申請Anycast服務(wù)時,它首先需要發(fā)送一個地址轉(zhuǎn)換請求,即將提供Anycast服務(wù)的Anycast地址轉(zhuǎn)換為某個Anycast移動成員的Unicast地址,此地址轉(zhuǎn)換請求的源地址為客戶端的Unicast地址,目的地址為提供此Anycast服務(wù)的Anycast地址。此請求通過Anycast路由,會被距離客戶端最近的擁有此Anycast組成員的歸屬代理截獲,歸屬代理接收到此地址轉(zhuǎn)換請求后,首先查詢此Anycast地址的相關(guān)記錄,按照最優(yōu)原則選擇一個位于本地的Anycast移動成員,然后將此地址轉(zhuǎn)換請求轉(zhuǎn)發(fā)給此最優(yōu)Anycast移動成員,此移動成員接收到此請求后,將自身的Unicast地址返回給客戶端。
??? 客戶端在接收到最優(yōu)Anycast移動成員的Unicast地址后,利用這個Unicast地址與此移動成員之間建立連接,其方式同正常的移動IP通信相同,這里不再贅述。
??? 由于移動節(jié)點可能在不同的網(wǎng)絡(luò)之間頻繁移動,因此,當一個正在提供Anycast服務(wù)的Anycast移動成員移動到其他區(qū)域上時,它會發(fā)送一個Register消息,其消息的目的地址是AgentA,這樣此Register消息會被它所在區(qū)域內(nèi)的距離最近的外區(qū)代理所截獲。此代理截獲該消息之后,它會與此移動成員的歸屬代理建立連接,并驗證其身份,如果身份驗證通過,它會記錄下此移動成員的Visitor身份,同時,與移動成員的歸屬代理建立一個隧道以便傳輸發(fā)送到此移動成員的數(shù)據(jù)包。
3 性能分析
??? 為了驗證本通信模型的有效性以及高效性,筆者在IPv6模擬移動網(wǎng)絡(luò)中實現(xiàn)了此模型,并將從此模型中獲取Anycast服務(wù)的TRT與隧道模式下移動IPv6網(wǎng)絡(luò)中獲取Anycast服務(wù)的TRT進行了比較與分析。
??? 在IPv6模擬移動網(wǎng)絡(luò)中,將48個節(jié)點(IBM X Series PC機)連接到百兆以太網(wǎng)上,同時利用Modelnet來模仿廣域網(wǎng)物理拓撲結(jié)構(gòu)。在試驗中,每個節(jié)點都是一個路由器,并且都與若干臺移動主機相連,其中一個路由器要與多于6臺移動主機相連,用于完成在本模型以及隧道模式下移動IPv6通信模型中的Anycast服務(wù),這些移動主機的處理能力都相同,它們可以自由地從一個網(wǎng)段移動到另外一個網(wǎng)段。設(shè)定一個Anycast組包括6個成員,為了有效地測試網(wǎng)絡(luò)擁塞情況,設(shè)路由器(代理)之間鏈路層通信能力為10Mb/s,客戶端與路由器以及Anycast移動組成員與路由器(代理)之間的鏈路層通信能力為5Mb/s。
??? 在上述的實驗環(huán)境中,實現(xiàn)了本模型以及隧道模式下移動IPv6網(wǎng)絡(luò)中的Anycast服務(wù)。在初始狀態(tài)下,這兩種移動IPv6通信模型中的歸屬區(qū)域內(nèi)都包括6個Anycast移動組成員,這些組成員都是彼此的鏡像,它們都可以處理客戶的服務(wù)請求。在隧道模式下,筆者采用跳數(shù)作為距離度量單位,即把當前距離歸屬代理最近(即跳數(shù)最?。┑腁nycast移動組成員作為最優(yōu)Anycast移動組成員。
??? 本模型的性能分析" title="性能分析">性能分析是通過在IPv6模擬環(huán)境下比較客戶在本模型以及隧道模式下移動IPv6模型中獲取同樣Anycast服務(wù)(如文件服務(wù))的TRT值來實現(xiàn)的。因為從用戶角度來看,所提供服務(wù)的TRT值越小,用戶認為服務(wù)質(zhì)量越好。這樣,得到圖2所示的TRT性能分析圖(R=TRTNormal/TRT)。

?


??? 其中,R為在本模型中與隧道模式下移動IPv6通信模型中客戶獲取同樣Anycast服務(wù)的TRT值的比值,TRTNormal為在隧道模式下移動IPv6通信模型中客戶獲取Anycast服務(wù)的TRT值,TRT為在本模型中客戶端獲取Anycast服務(wù)的TRT值。從上圖可以看出,R的比值趨于1.125。這個試驗結(jié)果表明,在本模型中Anycast移動組成員提供Anycast服務(wù)的整體響應(yīng)時間優(yōu)于在隧道情況下提供Anycast服務(wù)的響應(yīng)時間。
??? Anycast與移動IP網(wǎng)絡(luò)都是IPv6的新特性,它們可以支持許多服務(wù)。本文在IPv6的模擬環(huán)境下,提出了一種新的通信模型,用以實現(xiàn)移動IP網(wǎng)絡(luò)中的Anycast服務(wù)。這兩種技術(shù)的結(jié)合具有廣泛的應(yīng)用前景,但是它還存在一些問題,有待進一步探討和研究。
參考文獻
[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.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。