基本思想
HSR協定不僅根據節點的物理位置使用分散式分群思想劃分物理分群,動態生成節點的物理層次地址,以決定數據分組的轉發路徑,而且還根據節點的邏輯地址對其位置進行管理。在每個邏輯子網內至少存在一個歸屬代理,負責管理本子網內節點邏輯地址與當前物理地址之間的對應關係,並為所管理的節點轉發數據分組。節點需要向歸屬代理進行註冊,通告最新的物理地址。關鍵技術

HSR協定可以根據節點的地理位置關係,維護一個物理的多層分群結構,底層選出的群首成為高一層1群的成員,高一層群的成員又選出新的群首,形成新的群,如此反覆,形成一個多層的分群結構,可以採用多種不同的方法動態生成群及選出群首。圖1-1為一個物理多層分群的例子,在最底層有4個物理的群,其4個群首形成第二層的群,第二層的群首又構成最高層的群。
(1)物理多層分群結構下的節點分類
一個群中通常有3類節點:群首、網關及內部節點,圖1-1中第一層群首節點為1、2、3和4,網關節點6、7、8和11,內部節點為5、9、10、12。群首是群內部傳輸的協調者。
(2)物理層次地址HID
網路中的每個節點都有一個唯一的物理地址(如MAC地址)作為自己的標識NodeID。由於路由的需要,HSR中的每個節點還有一個動態的物理層次地址HID。HID反映節點的物理層次拓撲信息,它是指從最高層群到節點本身的層次化路徑上的節點的NodeID(MAC地址)序列。如在圖1-1中節點12的HID為<3,2,12>,它由從最高層到達節點12的路徑上所經過節點的MAC地址序列組成,節點3為節點12的最高層代表,節點2為節點12的次高層代表。
(3)物理多層分群結構下數據分組的轉發方法
配合使用HSR路由表,節點可以根據HID地址將一個分組從源傳送到目的。如圖1-1所示,節點5將一個數據分組傳送到節點10,節點5的HID為<1,1,5>,節點10的HID為<3,3,10>,節點5首先將分組沿層次向上傳送到節點1,節點1通過一條虛擬鏈路(1,6,2,8,3),將分組轉發至節點3,節點3再沿著向下的層次路徑將分組轉發至節點10.
使用層次地址的好處在於節點一旦收到從高層發來的路由更新分組,可以局部動態地該變自己的HID,無需中央控制。
(4)物理多層分群結構的優缺點
採用物理多層分群結構,可以大大降低路由表維護和存儲的相關開銷。假設網路中有N個節點,如果採用非層次化網路結構,則節點路由表的空間複雜度為O(N);而HSR路由表的空間複雜度僅為O(M*N)。HSR物理多層分群結構的主要缺點是需要動態地維護分群結構及節點的HID地址,既造成很大的開銷,又使得對節點的跟蹤和定位變得非常困難。另外,節點地址用多個層次的物理地址來標識,與其他路由方式相比,節點地址加長了。
邏輯子網和節點位置管理

(1)節點的邏輯地址
每個節點具有一個類似於IP位址的邏輯地址,地址形式為,其中,subnet欄位表示節點的歸屬邏輯子網號,host表示主機號。邏輯地址在全網範圍內是唯一的。由於一個邏輯子網可以跨越多個物理分群,邏輯地址與物理層次地址HID並無確定的對應關係,二者之間的動態映射由歸屬代理負責維護。傳輸層使用節點的邏輯地址傳送數據分組,網路層必須能夠正確地將邏輯地址解析為物理層次地址HID。
(2)歸屬代理HID的獲得方法
歸屬代理也是邏輯子網的節點,出於位置註冊和轉發數據分組的需要,每個節點需要知道自己和通信目的節點歸屬代理的HID。歸屬代理HID的獲得方式如下:歸屬代理將自己的HID通告給網路的頂層節點,然後頂層節點通過分層信息逐級向下傳播,這樣一來,每個節點就可以獲得每個歸屬代理HID與它代表的邏輯子網的子網號之間的一一映射。
路由協定
信息種類(1)存儲的訊息
每個節點均存儲物理層次拓撲信息和邏輯子網歸屬代理的相關信息。
(2)交換的訊息
鏈路狀態信息
最底層為群內的物理鏈路信息,高層均為群內的虛擬鏈路信息。
邏輯組的維護信息
包括邏輯子網中的歸屬代理髮布其HID訊息、節點向主代理註冊當前HID訊息等。
工作過程
(1)各層鏈路狀態信息的傳遞過程
在一個物理群(層次1)內部,每個節點監視與鄰節點之間鏈路的狀態(如是否連線、頻寬等)並在群內廣播,群首收集歸納群內節點的鏈路狀態信息,並把它通過網關節點傳遞給相鄰群首。這樣一來,每個群首都可以了解與鄰居群首的虛擬連線情況,這種連線關係構成了高一層次的分群(層次2)。層次2節點路由表存儲的鏈路狀態信息,為相鄰兩個群首之間的虛擬鏈路狀態信息。如圖1-1所示,第2層中節點1和節點2之間的虛擬鏈路計算方法:網關6將鏈路6-2的更新訊息傳播至群首1,群首1根據本地鏈路1-6的信息和接收到的鏈路6-2的信息,計算出路徑1-6-2的信息,作為群首1和2之間虛擬鏈路的鏈路狀態信息。虛擬鏈路可以看作一條由低層鏈路組成的隧道。如此反覆,每層都選出群首作為更高層次群的成員,構成更高層次的群。
在高層群內部,節點之間交換虛擬鏈路信息和群成員信息,然後再向低層群節點廣播這些群成員,最終使得每個最底層群中的節點,都存有一個層次的拓撲信息,與普通的鏈路狀態協定的非層次全局拓撲不同。
(2)數據分組的轉發方法
如果一個節點需要向目的節點傳送數據分組,路由過程將分兩個階段進行:從源節點到目的節點的歸屬代理:從目的節點的歸屬代理到目的節點。在第一階段,源節點首先根據目的節點的邏輯地址中的邏輯子網號,通過查詢自己的列表或向最高層節點請求獲得目的節點的歸屬代理HID,然後依據該HID將數據分組向目的節點的歸屬代理髮送。在第二階段,歸屬代理根據目的節點的邏輯地址查詢目的節點當前的註冊HID,並依據該HID將數據分組向目的節點轉發。兩個階段的轉發都依據物理多層分群結構下的數據分組轉發方法進行。如果源節點和目的節點都獲得了對方的HID,則它們之間可以直接傳遞數據分組,而不在需要經過歸屬代理。