複製鏈接
請複製以下鏈接發送給好友

任播

鎖定
任播(Anycast),又稱為選播、泛播或任意播,是IPv6中定義的一種新型通信服務,是IPv6中三大通信方式之一,該定義最早由C Partridge在RFC 1546中首次提出,但是RFC1546對任播的描述僅僅是一個實驗性的服務 [1] 
中文名
任播
外文名
Anycasting
類    別
計算機技術
傳    播
IP網絡

目錄

任播簡介

目前任播技術的定義不是十分清楚,但是終端主機通過路由器是被基於包交換所決定。任播技術的概念並不侷限於網絡層,它也可以在其他層實現(例如:應用層),網絡層和應用層的任播技術均有優點和缺點。根據RFC2526(Reserved IPv6 Subnet Anycast Addresses, March 1993),任播地址是“IPv6中保留的地址,指定給一個或多個可能屬於不同物理節點的網絡接口。其屬性為發送到任播地址的數據分組會按照路由選擇協議的距離方法,被路由選擇到有該地址的最近接口。”另一特點是,任播地址與常規單播地址相似。向單播地址發送數據分組的節點並不需要知道它是單播地址。

任播任播

Anycasting最初是在RFC1546中提出並定義的,它的最初語義是,在IP網絡上通過一個Anycast地址標識一組提供特定服務的主機,同時服務訪問方並不關心提供服務的具體是哪一台主機(比如DNS或者鏡像服務),訪問該地址的報文可以被IP網絡路由到這一組目標中的任何一台主機上,它提供的是一種無狀態的、盡力而為的服務。
在RFCl546(Host Anycasting Service, November 1993)中,論述了任播的目的;但那時還沒有開發IPv6尋址。理由是客户端需要兩個或多個服務器提供的服務。客户端不介意哪個服務器提供服務,重要的一點是使客户端的查找服務更容易。例如,客户可以鍵入請求並被連接到最近的服務器,而不必從信息服務器列表中選擇。任播也提供容錯,因為如果有服務器出現故障,服務器組中的其他服務器可以提供服務。
RFC2373(IP Version 6 Addressing Architecture, July 1998)提供了較新的説明和動機:任播地址的一個期望應用是標識屬於某個提供互聯網服務的機構的路由器集合。這種地址可以用作IPv6路由標題的中間地址,使數據分組通過某一聚合或聚合序列傳遞。其他可能的用途是標識屬於某一子網路由器組或提供進入某一路由範圍入口的路由器組。
RFC2373標準對任播的定義是,當一個單播地址被分配到多於一個的接口上時,發到該接口的報文被網絡路由到由路由協議度量的“最近”的目標接口上。與Unicast和Multicast類似,Anycast也是IP網絡的一種通信模式。Unicast允許源結點向單一目標結點發送數據報,Multicast允許源結點向一組目標結點發送數據報,而Anycast則允許源結點向一組目標結點中的一個結點發送數據報,而這個結點由路由系統選擇,對源結點透明;同時,路由系統選擇“最近”的結點為源結點提供服務,從而在一定程序上為源結點提供了更好的服務也減輕了網絡負載。
目前,任意點傳送地址僅被用做目標地址,且僅分配給路由器。任意點傳送地址是從單點傳送地址空間中分配的,使用了單點傳送地址格式中的一種。
子網-路由器任意點傳送地址必須經過預定義,該地址從子網前綴中產生。為構造一個子網-路由器任意點傳送地址,子網前綴必須固定,餘下的位數置為全“0”。一個子網內的所有路由器接口均被分配該子網的子網-路由器任意點傳送地址。子網-路由器任意點傳送地址用於一組路由器中的一個與遠程子網的通信。
對任意的任播地址,都有最長的地址前綴P,它限定了一個拓撲區域,所有屬於該任播地址的接口都處在這個區域中。在P所限定的這個區域中,屬於該任播地址集合的每一個成員都必須作為尋經系統中的單獨入口而被廣告;在該區域之外,該任播地址也許會聚集到對該前綴P的尋經廣告中。
一個任播地址有一個拓撲區域,屬於該任播地址的所有成員都位於其中。在該區域內,每個成員必須作為路由選擇系統中的一個獨立項公佈,但在區域外,這些成員作為單一的聚合任播地址存在。
RFC1546論述了一些潛在的問題。例如,IP是無國界的,而且並不記錄較早的數據報是在哪裏傳遞的。如果客户端向任播地址發送兩個數據報,一個可能會發送到某一服務器上,而另一個可能會發送到另一個服務器上。若要確保選定任播服務器後,所有以後的數據分組都傳輸到該服務器,需要一種機制。任播數據報還有可能會被髮送到服務於該任播地址的所有主機上。鑑於這些問題,RFC提供了IP任播較正確的定義,即“向服務於任播地址的至少一個主機,最好僅一個主機提供任播數據報的無國界最佳效果傳遞的服務。
RFC認為解決方法是,在第一次數據報交換中瞭解客户端地址並將其用在所有以後的對話中,要求應用程序保持狀態。有關任播尋址、其體系結構、在應用程序中的使用、安全性考慮以及其他細節的RFC2526提供了更多有關如何與IPv6一起實現任播的最新建議。

任播特點

任播通信模式的特點,使它在IP網絡中具有了一定程序的應用前景。首先,分佈的服務共享相同的IP地址,同時在IP層進行透明的服務定位,這使得各種網絡服務特別是應用層服務具有更強的透明性,比如DNS,在IPv6網絡中它可以共享一個熟知的IP地址,用户不需要特殊配置也不用關心訪問的是哪一台DNS服務器;其次,路由系統選擇了“最近”的服務,縮短了服務響應的時間,同時減輕了網絡負載;最後,相同的服務在網絡上冗餘分佈,路由系統可以提供機制選擇負載相對輕的帶寬相對高的路徑來轉發報文,這樣就給用户帶來了兩個方面的好處:
  1. 減弱了DDOS攻擊對用户帶來的影響。當任播組中某一個成員或者幾個成員受到攻擊時,負責報文轉發的路由器可以根據各個組成員的響應時間來決定報文應該轉發到哪個成員上,這樣受到攻擊的成員由於沒有響應,所以報文就不會被轉發到那裏,同時,由於任播提供的服務訪問透明性,組成員也相對較難受到DDOS攻擊。
  2. 減弱了網絡擁塞給用户帶來的影響。同上面的道理,當任播的某些組成員處在擁塞的網段時,它的響應時間就較長,報文可以被轉發到響應較好的成員那裏。
任播通信模式還具有以下一些特點 [2] 
  1. 透明的服務定位任播地址可以作為一項服務的標識,任播通信組組員共享相同的任播地址,同時在IP層進行透明的服務定位,使得各種網絡服務具有較強的透明性。比如DNS服務,各域名服務器可以共享一個任播地址,用户在接受域名服務時,無需特殊配置也無需知道具體是哪一台DNS服務器提供服務。
  2. 負載均衡當任播的某些組員擁塞時,其響應時間較長,這時數據包可以被轉發到當前響應較好的組員處(即當前最優組員)。因此,任播技術可以節約路由和鏈路資源,減少網絡擁塞給客户帶來的影響,增加資源利用效率和避免單點失效。
  3. 彈性服務如果正在提供服務的任播組員由於移動或者其它某種原因斷開,可通過任播路由在其它組員中找到離用户最近的組員繼續提供服務,這樣很大地保證了服務的可靠性。(4)主機自動配置只要把某一任播地址分配給DNS服務器,當客户從一個網絡移動到其它網絡時,無需為客户重新配置本地DNS服務器,客户可以使用任播地址與任何網絡的DNS服務器進行通信。
雖然任播在以上方面有一定的優勢,但是目前任播的應用並不如期待中的一樣。應用層對任播的使用主要有服務器自動選擇、服務自動定位,服務器自動選擇可以使用在需要對某種應用層服務提供多個鏡像服務器的情況,比如FTP服務、在線遊戲服務等。服務自動定位可以使用在主機不需要特別配置而使用一種知名服務的情況,典型的如DNS。網絡層實現任播主要是依據任播路由表對報文進行透明轉發,向上層提供服務,這樣應用層就不需要專門的任播程序模塊。任播路由表記錄了一個任播組所有成員的Unicast地址,當路由器收到一個指向任播地址的報文時,首先搜索任播路由表找到相應的任播組,然後把報文轉發到這個組中的一個成員上。鑑於應用層對全球範圍內的任播的需求,所以促成了對網絡層全球任播機制的研究。
參考資料