Anycast-技術(shù)分析
Anycast 技術(shù)分析摘要 網(wǎng)絡(luò)技術(shù)在當(dāng)今時(shí)代占有舉足輕重的地位,所以對(duì)網(wǎng)絡(luò)及其相關(guān)技術(shù)和理論的研究也就必然成為計(jì)算機(jī)研究領(lǐng)域的主流。IPv6中定義了一種新型的服務(wù)Anycast 服務(wù)。它的主要作
Anycast 技術(shù)分析
摘要 網(wǎng)絡(luò)技術(shù)在當(dāng)今時(shí)代占有舉足輕重的地位,所以對(duì)網(wǎng)絡(luò)及其相關(guān)技術(shù)和理論的研究也就必然成為計(jì)算機(jī)研究領(lǐng)域的主流。IPv6中定義了一種新型的服務(wù)Anycast 服務(wù)。它的主要作用是提供這樣一種機(jī)制:允許客戶從一組具有相同地址的服務(wù)中選取對(duì)自己而言“最優(yōu)”的一個(gè)?;诠v6下的Anycast 服務(wù)能夠帶給網(wǎng)絡(luò)用戶前所未有的優(yōu)質(zhì)服務(wù),它在網(wǎng)絡(luò)負(fù)載均衡、主機(jī)自動(dòng)配置等方面的應(yīng)用都非常廣泛。因此,關(guān)于Anycast 的研究將變得越發(fā)重要。本文的目的是分析Anycast 技術(shù),討論定義獨(dú)立的Anycast 概念的獨(dú)立性并比較兩類Anycast 實(shí)現(xiàn)技術(shù),指出其優(yōu)缺點(diǎn)。
關(guān)鍵詞:Anycast ,需求分析,獨(dú)立
Abstract With the network teehniques having a more important role of current stage and the network serviees beecoming more and more popular and signifieant,The research on the network and its correlation techniques and theories ought to become the main current in the computer research field. Anycast is a new type of network service in ipv6. It provides a mechanism that allows clients choose the best service from a group of services which have the same service address for their own. Because Anycast service is prominent knight serviee based on ipv6,and it can be used widely in many fields such as DHCP,Load-balaneed between different links and so on, the research on the Anycast is beeoming important. The purpose of this paper is to analyze the Anycast technology, discuss the definition of the concept of the independence of the Anycast and compare two implementation techniques, pointing out its advantages and disadvantages.
Key Word:Anycast ,requirements analysis, independence
1、Anycast 應(yīng)用需求分析
Internet Protoeol Version6(Ipv6)是IETF(Internetl工程任務(wù)組) 繼IPv4后制定的用來(lái)取代IPv4的新一代Internet 協(xié)議,是目前計(jì)算機(jī)科學(xué)領(lǐng)域的研究熱點(diǎn)。隨著
,網(wǎng)絡(luò)技術(shù)的發(fā)展,在網(wǎng)絡(luò)上出現(xiàn)了大量更高要求的需求,即主機(jī)、應(yīng)用或用戶希望有這樣的一種服務(wù):有多個(gè)服務(wù)器可提供相同的服務(wù)(至少有一個(gè)) ,但并不關(guān)心真正提供服務(wù)的是哪一個(gè)服務(wù)器。Anycast 正是為滿足這種需求而提出的一種新型的網(wǎng)絡(luò)服務(wù)。
Anycast 是一種非常有用的服務(wù),可以在許多應(yīng)用領(lǐng)域中發(fā)揮重要的作用,它主要可以應(yīng)用在:最優(yōu)服務(wù)器的選擇、移動(dòng)IP 選路、主機(jī)自動(dòng)配置、DNS 自動(dòng)配置、負(fù)載均衡、P2P 節(jié)點(diǎn)發(fā)現(xiàn)等等很多方面。例如基于DNS 的Anycast 實(shí)現(xiàn):
應(yīng)用層Anycast 可以通過(guò)修改DNS(域名系統(tǒng)) 服務(wù)器來(lái)實(shí)現(xiàn),利用Anycast 域名ADN 來(lái)標(biāo)識(shí)Anycast 組。修改DNS 則是將Anycast 域名映射為一個(gè)或者多個(gè)單播地址來(lái)實(shí)現(xiàn)DNS 查詢,它的一個(gè)重要特點(diǎn)是無(wú)需修改網(wǎng)絡(luò)層通信機(jī)制,只需修改和增加DNS 服務(wù)功能,就可以利用現(xiàn)有的資源實(shí)現(xiàn)Anycast 服務(wù),避免了由于增加額外的構(gòu)成或服務(wù)所帶來(lái)的復(fù)雜性。其域名解析框架如下:
圖1 AND域名解析模型
本地ADN 維護(hù)本地的度量值列表,定期刷新這個(gè)列表,這個(gè)列表主要存放各個(gè)Anycast 服務(wù)器的IP 地址和其度量值,度量值反映連接到該服務(wù)器的網(wǎng)絡(luò)負(fù)載。客戶端向本地ADN 發(fā)出Anycast 連接請(qǐng)求,本地ADN 查詢自身的度量值列表,如果找到對(duì)應(yīng)滿足條件(條件實(shí)際上就是度量值的閾值,它可以事先設(shè)
定,也可以由客戶端提出)的IP 地址,則把該地址返回給客戶端。查詢的過(guò)程采用篩選機(jī)制,閾值以內(nèi)的可能會(huì)有多條記錄,根據(jù)體系的要求,可以給客戶端返回一個(gè)滿足要求的IP 地址集合,也可以只返回度量值最小即“最近”的IP 地址。如果在本地ADN 中查詢不到,則由本地ADN 向遠(yuǎn)程ADN 發(fā)出查詢請(qǐng)求。
正是由于越來(lái)越多的應(yīng)用需要Anycast 服務(wù),Pv6協(xié)議正式接納了Anycast 服務(wù),將其定義為一種標(biāo)準(zhǔn)服務(wù)模型,并定義了Anycast 地址。
2、 定義獨(dú)立的Anycast 概念的必要性
1998年的RFC2373規(guī)定了Ipv6尋址體系結(jié)構(gòu),在這個(gè)文檔中改進(jìn)了Anycast 的定義——發(fā)送到一個(gè)Anycast 地址的報(bào)文被傳送到由該地址標(biāo)識(shí)的接口之一(最近的一個(gè),根據(jù)路由協(xié)議的距離量度標(biāo)準(zhǔn)) 。Anycast 是IPv6中定義的一種新的通信服務(wù),作為一種新興的網(wǎng)絡(luò)服務(wù)模式越來(lái)越受到關(guān)注,原因是它能夠選擇對(duì)于客戶來(lái)說(shuō)最優(yōu)(或者說(shuō)最近) 的一個(gè)服務(wù)器。
1)Anycast 的特性使得它在UDP 以及DNS 請(qǐng)求這些非狀態(tài)連接應(yīng)用方面具有很大優(yōu)勢(shì)。實(shí)現(xiàn)主機(jī)自動(dòng)配置是提出Anycast 服務(wù)的一個(gè)主要目的,這個(gè)主要針對(duì)DNS 及其相關(guān)服務(wù)。有了Anycast 服務(wù),用戶在進(jìn)行DNS 解析時(shí),只需要向全球任意一個(gè)提供DNS 服務(wù)的Anycast 地址發(fā)送查詢請(qǐng)求即可得到相應(yīng)的地址解析結(jié)果。這樣可以容易地實(shí)現(xiàn)主機(jī)移動(dòng)入網(wǎng),即主機(jī)移動(dòng)到一個(gè)新的網(wǎng)絡(luò)也不再需要重新配置本地DNS 服務(wù)器地址就可以直接進(jìn)行DNS 解析。
2)Anycast 對(duì)優(yōu)化移動(dòng)網(wǎng)絡(luò)結(jié)構(gòu)有重要意義,對(duì)于現(xiàn)在的移動(dòng)商業(yè)和軍事網(wǎng)的一個(gè)難點(diǎn)是如何在動(dòng)態(tài)變化的環(huán)境下管理移動(dòng)節(jié)點(diǎn)和服務(wù),而Anycast 提供了這樣一種魯棒性方式來(lái)動(dòng)態(tài)地管理終端用戶。在移動(dòng)和無(wú)線環(huán)境下,服務(wù)定位變得很困難,Anycast 提供了在動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下分布式服務(wù)和應(yīng)用的解決方案,它能有效地簡(jiǎn)化管理負(fù)擔(dān)和簡(jiǎn)化配置。
3)Anycast 能夠有效地分?jǐn)偩W(wǎng)絡(luò)中不同鏈路的負(fù)載。隨著網(wǎng)絡(luò)新應(yīng)用、新服務(wù)的不斷涌現(xiàn),還會(huì)不斷出現(xiàn)對(duì)Anycast 的新需求,當(dāng)然同時(shí)也會(huì)對(duì)Anycast 提出新的要求,這些新的需求都需要我們繼續(xù)進(jìn)行更為深入的研究。
Anycast 與Multicast 、Broadcast 、Unicast 是四種通信方式,與之相比Anycast 有其獨(dú)特的優(yōu)點(diǎn)和應(yīng)用場(chǎng)景,其余三種通信方式無(wú)法替代,因此定義獨(dú)立的Anycast 概念并加緊對(duì)Anycast 技術(shù)的研究都具有重要的理論意義與現(xiàn)實(shí)意義。
,最初對(duì)Anycast 技術(shù)的研究集中在網(wǎng)絡(luò)層,在網(wǎng)絡(luò)層路由器自動(dòng)完成選路,而應(yīng)用層Anycast 通過(guò)客戶的參與帶來(lái)了更多的靈活性。利用Anycast 和Multicast 技術(shù)可以在分布式計(jì)算系統(tǒng)中實(shí)現(xiàn)高效的組通信機(jī)制,同時(shí)利用Anycast 技術(shù)還可以快速地進(jìn)行網(wǎng)絡(luò)路由,這對(duì)于提高網(wǎng)絡(luò)服務(wù)及其推廣應(yīng)用都具有重要意義。
3、 兩類Anycast 的比較
目前Anycast 研究主要集中在兩個(gè)方面:應(yīng)用層和網(wǎng)絡(luò)層,應(yīng)用層側(cè)重于把Anycast 通信與其他應(yīng)用結(jié)合起來(lái),利用Anycast 通信的優(yōu)點(diǎn)來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)通信。而網(wǎng)絡(luò)層Anycast 的關(guān)鍵就是設(shè)計(jì)高效安全的Anycast 路由,使它按照其定義完成相同地址多個(gè)主機(jī)最優(yōu)路徑的確定。在網(wǎng)絡(luò)層實(shí)現(xiàn)Anycast 服務(wù)是由路由器來(lái)決定最近的目的主機(jī), 路由選擇過(guò)程自動(dòng)完成, 不需要用戶干預(yù)。網(wǎng)絡(luò)層Anycast 服務(wù)判斷“ 最近”的服務(wù)器的標(biāo)準(zhǔn)依賴于網(wǎng)絡(luò)的拓?fù)? 例如路由器最小的跳數(shù), 最小的代價(jià)(不同的鏈路可能有不同的代價(jià)) 等。應(yīng)用層Anycast 服務(wù)不僅考慮網(wǎng)絡(luò)拓?fù)? 還綜合了目標(biāo)服務(wù)器當(dāng)前的負(fù)載、響應(yīng)時(shí)間、以及鏈路可預(yù)留的帶寬等QoS 標(biāo)準(zhǔn)。兩者的本質(zhì)區(qū)別在于網(wǎng)絡(luò)層Anycast 服務(wù)僅僅依靠網(wǎng)絡(luò)自身來(lái)選擇服務(wù)器, 而應(yīng)用層Anycast 服務(wù)依賴于外部的實(shí)體來(lái)選擇連接性能最好的服務(wù)器。僅僅依靠網(wǎng)絡(luò)自身來(lái)選擇服務(wù)器的問(wèn)題使客戶機(jī)不一定能選擇到性能最好的服務(wù)器, 因此應(yīng)用層的Anycast 服務(wù)則能帶來(lái)更多的靈活性和可規(guī)劃性。另外, 在應(yīng)用層上實(shí)現(xiàn)Anycast 服務(wù)不需要修改現(xiàn)有的路由協(xié)議, 實(shí)現(xiàn)起來(lái)比較容易。但是, 應(yīng)用層Anycast 服務(wù)也有其自身的缺點(diǎn), 周期收集Anycast 服務(wù)器的狀態(tài)信息,Anycast 域名解析等都會(huì)增加網(wǎng)絡(luò)中的流量??傊? 網(wǎng)絡(luò)層Anycast 服務(wù)體系結(jié)構(gòu)簡(jiǎn)單, 但是需要修改路由器配置, 在選擇標(biāo)準(zhǔn)方面缺乏靈活性;應(yīng)用層的選擇標(biāo)準(zhǔn)靈活, 但是會(huì)額外地增加網(wǎng)絡(luò)負(fù)擔(dān)。
參考文獻(xiàn)
[1] 張麗, 嚴(yán)偉, 李曉明.Anycast —IP 的又一通信模式[J].計(jì)算機(jī)研究與發(fā)
展.2003,40(6):785-790
[2] 張麗. 基于IPv6的選播組管理和路由的研究[R].北京大學(xué),2003
[3] 張麗, 賈維嘉, 嚴(yán)偉, 李曉明. 使用特殊復(fù)合距離的選播路由算法[J].計(jì)算機(jī)研究與發(fā)展.2005,42(1):252-258
,[4] 張麗, 王悅, 韓志楠, 劉永強(qiáng).IPv6框架下的選播原型系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程.2005,31(5):133-136,177
[5] 李曉明. 基于IPv6的anycast 路由的研究[R].國(guó)家自然科學(xué)基金項(xiàng)目(Grand No.60273002),2002.