?? rfc1112.txt
字號:
要注意的是,多播路由器接收所有IP多播數(shù)據(jù)報,因此不需要明確的指明它的地址。還要
注意的是,路由器不需知道哪些主機屬于一個組,而僅需知道是否至少有一個主機屬于在特
定網(wǎng)絡(luò)上的一個組。
對以上描述的特性有兩個例外。第一,如果在請求收到以前,已經(jīng)有一個報告延時定
時器在為一個組成員運行,則該定時器不會重置為一個新的隨機值,而允許以它的當前值運
行。第二,報告定時器不會因為主機是所有主機組(224.0.0.1)的成員而生成,這個成員關(guān)
系不會被報告。
如果主機使用偽隨機數(shù)生成器計算報告延遲時間,主機的單個IP地址之一應(yīng)用作生成
器種子的一部分,以減少多宿主機生成相同的延遲序列的可能性。
主機應(yīng)該確保接收到的報告的IP目的地址字段和IGMP組地址字段有相同的IP組地
址。以保證主機自己的報告不會因為錯誤的接收報告而取消。主機應(yīng)該丟棄除了主機成員請
求或主機成員報告類型以外的任何IGMP報文。
多播路由器周期性地發(fā)送請求,以更新它所知的,在特定網(wǎng)絡(luò)上目前的成員關(guān)系情況。
如果在幾次請求之后,沒有接收到特定組的報告,則路由器假設(shè)這個組已經(jīng)沒有本地成員,
它們就不需轉(zhuǎn)發(fā)從遠端傳來的那個組的多播數(shù)據(jù)報到本地網(wǎng)絡(luò)上。正常情況下,請求被發(fā)送
的頻率很低(每分鐘不超過一次),因此IGMP對主機和網(wǎng)絡(luò)的開銷非常小。然而,當多播
路由器啟動時,它可以發(fā)出幾個時間間隔很小的請求,以便盡快獲知本地成員的情況。
當主機加入一個新的組時,它應(yīng)該立即發(fā)送一個那個組的報告,而不是等待一個請求,
以防萬一它是這個網(wǎng)絡(luò)上該組的第一個成員。考慮到初始的報告可能丟失或損壞,建議在一
個短的延遲后重復(fù)報告一到兩次。(達到這一目的的一種簡單的方式是好像僅僅那個組的請
求被接收,設(shè)置組隨機報告延遲定時器。以下的狀態(tài)變換圖解釋了這種方法。)
要注意的是,在一個沒有多播路由器的網(wǎng)絡(luò)上,當有主機加入一個新組時,唯一的IGMP
通信量是一個或多個報告的傳送。
狀態(tài)變換圖
通過下面的狀態(tài)轉(zhuǎn)換圖,將更加正式地說明IGMP特性。每個主機可能處于三種可能
的狀態(tài)中的一種,這與在任意的單個網(wǎng)絡(luò)接口上的一個單獨的IP主機組有關(guān)。
—非成員狀態(tài),當主機不屬于這個接口上的組時。這是所有網(wǎng)絡(luò)接口上所有成員的初
始狀態(tài);它不需要主機的存儲空間。
—延時成員狀態(tài),當主機屬于那個接口上的組時,需要為這個成員關(guān)系運行一個報告
延時定時器。
—空閑成員狀態(tài),當主機屬于那個接口上的組時,不需要為這個成員關(guān)系運行一個報
告延時定時器。
有五種重大的事件能使IGMP狀態(tài)變換:
—當主機決定加入這個接口的組時,出現(xiàn)“加入組”事件。這只能出現(xiàn)在非成員狀態(tài)。
—當主機決定離開這個接口的組時,出現(xiàn)“離開組”事件。這只能出現(xiàn)在延遲成員和
空閑成員狀態(tài)。
—當主機收到一個有效的IGMP主機成員請求報文時,出現(xiàn)“請求收到”事件。要達
到有效狀態(tài),請求報文必須至少有8字節(jié)長,有一個正確的IGMP校驗和和地址為224.0.0.1
的IP目的地址。單一的請求適合于收到請求的接口的所有成員關(guān)系。這里不考慮非成員狀
態(tài)或延遲成員狀態(tài)的情況。
—當主機接收到一個有效的IGMP主機成員報告報文時,出現(xiàn)“報告收到”狀態(tài)。要達
到有效狀態(tài),報告報文必須至少有8字節(jié)長,有一個正確的IGMP校驗和,而且在它的IP
目的地址字段和IGMP組地址字段有相同的IP組地址。報告僅用于在接收到報告的接口上,
由報告標識的組組成員。這里不考慮非成員狀態(tài)或空閑成員狀態(tài)的情況。
—當接口上的組的報告延遲定時器超時時,出現(xiàn)“定時器超時”事件。它只出現(xiàn)在延遲
成員狀態(tài)。
所有其它的事件,如收到無效的IGMP報文,或收到除請求或報告之外的IGMP報文,
被忽略了。
有三種可能的動作,可以用來響應(yīng)以上事件:
—為那個接口上的組“發(fā)送報告”。
—為那個接口上的組“打開定時器”,使用在0到D秒之間的隨機延時值。
—為那個接口上的組“停止定時器”。
在下面的圖表中,每個狀態(tài)轉(zhuǎn)換弧由促使轉(zhuǎn)換的事件標記,在圓括號中的是在轉(zhuǎn)換過程
中所執(zhí)行的動作。
________________
| |
| |
| |
| |
--------->| 非成員 |<---------
| | | |
| | | |
| | | |
| |________________| |
| | |
| 離開組 | 加入組 | 離開組
| (停止定時器) | (發(fā)送報告, |
| | 打開定時器) |
________|________ | ________|________
| |<--------- | |
| | | |
| |<-------------------| |
| | 接收到請求 | |
| 延遲成員 | (開始定時器) | 空閑成員 |
| |------------------->| |
| | 接收到報告 | |
| | (停止定時器) | |
|_________________|------------------->|_________________|
定時器超時
(發(fā)送報告)
所有主機組(地址為224.0.0.1)的處理屬于特殊情況。主機開始時是每個接口上的那個
組的空閑成員狀態(tài),不會變換到其它狀態(tài),也不會為那個組發(fā)送報告。
協(xié)議參數(shù)
最大報告延時D為10秒。
附錄2 主機組地址問題
本附錄不是IP多播規(guī)范的一部分,但提供了有關(guān)IP主機組地址的一些問題的背景討論。
組地址綁定
IP主機組地址到物理主機地址的綁定可以被認為是IP單播地址綁定的推廣。一個IP單
播地址靜態(tài)地綁定到一個單一的IP網(wǎng)絡(luò)上的一個單一的本地網(wǎng)絡(luò)地址接口上。一個IP主機
組地址動態(tài)地綁定到一個IP網(wǎng)絡(luò)集合上的本地網(wǎng)絡(luò)接口集合上。
IP主機組地址不會綁定到IP單播地址集合上,理解這一點很重要。多播路由器不會維
持每個主機組的單個成員的列表。例如,屬于一個以太網(wǎng)的多播路由器僅需有一個與有本地
成員的每個主機組對應(yīng)的單一的以太網(wǎng)多播地址,而不是那些成員的單個IP或以太網(wǎng)地址
列表。
臨時主機組地址的分配
本備忘錄沒有說明暫時的組地址是如何分配的。預(yù)期是IP暫時主機組地址空間的不同
部分的分配使用不同的技術(shù)。例如,可能有許多服務(wù)器聯(lián)系在一起獲得一個新的暫時組地址。
一些高層協(xié)議(比如VMTP,在RFC-1045中說明)可以生成高層暫時“進程組”或“實體
組”地址,這些地址會在算法中映射到IP暫時主機組地址的子集中,這與IP主機組地址映
射到以太網(wǎng)多播地址上類似。IP組地址空間的一部分可以留給一些應(yīng)用程序隨機分配,這
些應(yīng)用程序能容忍和其它多播用戶偶爾沖突,在發(fā)現(xiàn)一個合適的“安靜”地址之前,一直生
成新的地址。
一般來說,主機不能假設(shè)被送到主機組地址的數(shù)據(jù)報將僅僅到達目的主機,或作為暫時
主機組的一個成員接收數(shù)據(jù)報的目的就是為了接受。在IP層以上,使用高層標識符或認證
標志來檢測錯誤投遞。如果發(fā)送者不想讓不必要的用戶收到,則傳遞給主機組地址的信息應(yīng)
該被加密或用路由管理控制方法進行控制。
作者地址
Steve Deering
Stanford University
Computer Science Department
Stanford, CA 94305-2140
Phone: (415) 723-9427
EMail: deering@PESCADERO.STANFORD.EDU
RFC1112 Host Extensions for IP Multicasting RFC 主機擴展用于IP多點傳送
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -