什麼是組播轉發演算法?定義、運作方式
組播演算法用於建立通過網路的路徑。這些路徑允許組播流量有效地到達所有組成員。
每個演算法都應滿足以下一組需求:
演算法必須只將資料遞送至群組成員。
演算法必須最佳化從來源到目的地的路徑。
演算法必須維護無迴圈路由。
該演算法必須提供用於建立和維護群組成員資格的可擴展訊號函式。
演算法不得將流量集中在鏈路子集上。
已經開發了幾種用於組播路由協定的演算法。
這些演算法在滿足這些設計要求方面取得了不同程度的成功。我們將在以下各節中回顧兩種演算法。
反向路徑轉送演算法
反向路徑轉送 (RPF) 演算法使用組播傳遞樹狀結構,將資料包從來源轉送至組播群組中的每個成員。如下圖所示,資料包僅在傳送樹中的必要分支處複製。
反向路徑轉送演算法
為了追蹤個別群組的成員資格,會動態計算和更新樹狀結構。
該算法維護一個反向路徑表,用於到達每個源。此表將每個已知源網路對映到用於到達源的首選介面。轉送資料時,如果資料包透過用來將資料包傳輸回來源的介面到達,則資料包會透過每個適當的下游介面轉送。否則,資料包會透過次優路徑到達,並捨棄。使用此過程,過濾由網路環路引起的重複資料包。
使用 RPF 提供兩個優點:
RPF保證組播資料的最快傳輸速度。在此組態中,流量遵循從來源到每個目的地的最短路徑。
會針對每個來源節點計算不同的樹狀結構。封包傳遞會分散在多個網路鏈路上。這可以更有效地利用網路資源。
基於中心的樹演算法
中心型樹狀結構 (CBT) 演算法描述另一種方法,以決定多點傳送群組成員之間的最佳路徑。
該算法描述了以下步驟:
選擇網路中的中心點。此固定點代表組播群組的中心。
每個收件者都會傳送指向中心點的加入請求。這是使用該組的 IGMP 成員資格報告來完成的。
請求由位於多點傳送接收者和中心點之間的所有中間裝置處理。如果接收請求的路由器已經是樹的成員,則它會將另一個介面標籤為屬於該組。如果這是第一個加入請求,路由器會將請求進一步轉發到源。
此程序會為每個組播群組建立傳遞樹狀結構。所有來源的樹都是相同的。每個路由器為整個組維護一個樹。
這與 RPF 演算法中使用的過程形成鮮明對比。RPF演算法為組播組中的每個發送方構建一個樹狀結構。
由於源不需要是組的成員,因此來自源的組播資料包將轉發到中心點,直到它們到達屬於樹的路由器。在此階段,使用基於中心的樹的組播處理轉發資料包。
基於中心的樹演算法的缺點是它可能會為某些來源和接收器建立次優路徑。
組播路由協定
已使用以下演算法開發了許多組播路由協定:
距離向量組播路由協定(DVMRP)
組播OSPF(MOSPF)
協定獨立組播(PIM)
我們的目標是在單獨的文章中開發這些算法中的每一個。