距離矢量組播路由選擇協議

距離矢量組播路由選擇協議

距離矢量組播路由選擇協議(DVMRP:Distance Vector Multicast Routing Protocol)是一種網際網路路由協議,為網際網路路的主機組提供了一種面向無連接信息組播的有效機制。 DVMRP 是一個“內部網關路由協議”;適合在自治系統內的使用,不適合在不同的自治系統之間使用。當前開發的 DVMRP 不能用於為非組播數據報路由,因此要想一個路由器既能為多播數據報又能為單播數據報路由,則它必須運行兩個不同的路由選擇進程。DVMRP 數據包封裝於 IP 數據報中,使用的 IP 協議號為 2 ,這點與 Internet 組管理協議(IGMP)相同。

概述


DVMRP 的開發基於路由選擇信息協議(RIP)。 DVMRP DVMRP 整合 RIP 中的許多特性和截斷方向路徑廣播(TRPB : Truncated Reverse Path Broadcasting)演演算法。另外,為了試驗跨越不支持多播的網路可行性,開發了一種叫“隧道”的機制。 DVMRP 和 RIP 的主要不同之處在於:RIP 路由和轉發數據包到明確的目的地。 DVMRP 的目的是為了跟蹤到組播數據包出發地的返迴路徑。

協議結構


DVMRP 通過 IGMP 交換路由選擇數據報。DVMRP 數據報由兩部分組成:一個小型定長的 IGMP 頭和一個標誌數據流。
________________________________________________________________
|4 | 8 | 16 | 24 | 32bit |
|--------|------------|--------------|---------------------------|
|Version | Type | Sub-Type | Checksum |
|--------|------------|--------------|---------------------------|
| DVMRP Data stream |
Version ― 版本號為1。
Type ― DVMRP 類型為3。
Sub-Type ― 子類型有:1 = Response,提供一些目的地路線。2 = Request,請求到達目的地的路線。3 = Non-Membership Report,提供非會員報告。4 = Non-Membership Cancellation,取消先前的非會員報告。
Checksum ― Checksum必須基於傳輸進行計算並且基於數據包的接收而生效。DVMRP 信息的 Checksum 計算前提是 Checksum 欄位設置為0。

DVMRP包類型


DVMRP Probe
DVMRP Report
DVMRP Prune
DVMRP Graft
DVMRP Graft Acknowledgement
DVMRP Ask Neighbors
DVMRP Neighbors
所有包的目的地址都是224.0.0.4