1. 程式人生 > >分散式系統-命名系統(1)

分散式系統-命名系統(1)

1.名稱、識別符號、地址

名稱:是由位或字元組成的字串,用來指向一個實體。分散式系統的實體幾乎可以是任何事物,比如主機、印表機、磁碟和檔案等資源。

地址:訪問實體時需要通過一個訪問點訪問實體,因此訪問點的名稱稱為地址,一個實體的訪問點地址也可以簡稱為該實體的地址。訪問點是一種特殊型別的實體。一個實體可以提供多個訪問點,並且經過一段時間後實體的訪問點可能會發生變化,例如電話號碼可以看作是一個人的訪問點,電話號碼相當於訪問點,一個人可以擁有多個電話號碼;同時電話號碼可能會更換,即訪問點改變。

識別符號:唯一標識實體的名稱。

2.無層次命名

2.1 廣播和多播

廣播:主機在區域網內的廣播資料包,所有主機均能接收到資料包。這種方法佔用網路頻寬,效率低下。

多播:只有符合條件的主機才能接收到請求資料包,接收到訊息的主機回覆本機地址。

2.2  轉發指標

當實體從A移動到B時,它將在後面留下一個指標,這個指標指向它在B中的新位置。這種移動實體定位方法的優點是簡便:一旦找到實體以後,客戶就可以順著轉發指標形成的鏈來查詢實體的當前地址。本方法只適用於區域網。

2.3基於宿主位置的方法

這種方法持續跟蹤實體的當前位置位置,可以使用特殊的技術來預防網路故障或程序失效。在實踐中,通常選擇建立實體的位置作為其宿主位置。每個移動主機都使用一個固定的IP地址,所有與該IP地址進行的通訊一開始都被轉發到移動主機的宿主代理中。宿主代理位於區域網中,與包含在移動主機IP地址中的網路地址相對應。當一臺移動主機轉移到另一個網路中是,它會請求一個可以用來通訊的臨時地址。這種轉交地址要在宿主代理中註冊。當宿主代理接收到傳送給移動主機的資料包時,它會查詢主機的當前位置。如果主機是在當前本地網路中,那麼就只需轉發資料包。否則,它會建立一條通往主機當前位置的通道,也就是說,他會把資料組裝成IP包,然後傳送給轉交地址。同時,將把主機當前的位置告訴資料包的傳送者。下圖顯示了該原理:


參考書:分散式系統原理與範型  辛春生等譯