?? rfc1112.txt
字號:
組織:中國互動出版網(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:田金勇( tany tjy308@263.net)
譯文發布時間:2001-6-15
版權:本中文翻譯文檔版權歸中國互動出版網所有。可以用于非商業用途自由轉載,但必須
保留本文檔的翻譯及版權信息。
Network Working Group S. Deering
Request for Comments: 1112 Stanford University
Obsoletes: RFCs 988 , 1054 August 1989
主機擴展用于IP多點傳送
(RFC1112 Host Extensions for IP Multicasting)
1. 備忘錄狀態
該備忘錄說明了為了支持多播而對互聯網協議(IP)的主機實現的擴展。它是互聯網上
IP多播的推薦標準。該備忘錄可以任意發布。
2. 簡介
IP多播是指一個IP數據報向一個主機組的傳送,該主機組是由一個單獨的IP目的地址
標記的多個或零個主機。一個多播數據報被盡可能地傳遞給它的目的主機組的所有成員,就
像常規的單播IP數據報一樣。也就是說,不能保證數據報能完好無損的到達目的組所有成
員,也不能保證它以相對于其它數據報同樣的順序到達。
主機組的成員是動態變化的;也就是說,主機可以隨意加入和離開組。對一個主機組的
位置和組成員的數量并沒有限制。一個主機可以同時是一個或多個組的成員。不是某一組的
成員的主機也能向該組發送數據報。
主機組可以是永久的或是暫時的。永久組是一個眾所周知的,由Internet管理機構分配
的IP地址,它的地址是永久的,而該組的成員是可以改變的。在任意時刻,一個永久組可
以有任意數量的成員,甚至沒有成員。另外一些不是為永久組保留的IP多播地址是為暫時
組動態分配的地址,這些暫時組只有當它們有成員時才存在。
IP多播數據報的網間傳遞是通過“多播路由器”實現的,多播路由器可以駐留在互聯
網網關上,也可以與互聯網網關分離。主機以本地網絡多播的方式傳送IP多播數據報,這
些數據報只到達目的主機組中所有與該主機直接鄰近的成員。如果數據報的IP首部中的生
存時間(TTL)字段大于1,則在本地網絡上的一個或多個多播路由器負責將它傳遞到有目的
主機組的成員的其他網絡上。在那些可以在IP生存時間為零以前到達的其它成員網絡里,
當地一個多播路由器以本地多播的方式傳遞該數據報來完成傳送。
該備忘錄說明了為了支持IP多播而對主機的IP實現的擴展,這里的“主機”是除了用
作多播路由器以外的任何互聯網主機和網關。用在多播路由器內和之間的算法和協議對主機
是透明的,將在獨立的文檔中說明。該備忘錄也不說明本地網絡多播是如何在所有不同類型
的網絡中實現的,盡管它說明了任意的本地網絡所需的服務界面,并給出了一個以太網技術
要求說明作為例子。其他類型的網絡技術說明將會在將來的備忘錄中說明。
3. 一致性等級
這個規范有三個一致性等級:
0級:不支持IP多播。
在這一等級中不需要所有的IP實現支持IP多播。0級主機一般不受多播活動的影響。
在一些類型的本地網中,由于1級和2級主機的存在可能導致多播IP數據報錯誤遞交到0
級主機上,這就出現了唯一的異常。因為這些數據報目的地址字段中出現D類IP地址,所
以它們能被很容易地被檢測出來。它們會被不支持IP多播的主機毫無聲息的丟棄。D類地
址在本備忘錄的第四部分說明。
1級:能發送但不能接收多播IP數據報。
1級主機可以參加一些基于多播的服務,諸如資源定位或狀態報告,但它不允許主機加
入任何主機組。IP實現可以非常容易地從0級升到1級,僅需增加少量的代碼。在本備忘
錄中僅僅第4、5、6部分適用于1級的實現。
2級:完全支持IP多播。
2級主機可以加入或離開主機組,以及發送數據報給主機組。它要求Internet組管理協
議(IGMP)的實現和在主機內對IP和本地網服務接口的擴展。本備忘錄中以下所有部分都
適用于2級的實現。
4. 主機組地址
主機組由D類IP地址標記,即高四位為“1110”的那些IP地址。E類IP地址,即那
些高四位為“1111”的IP地址,是為了將來的編址方式而保留的。
在Internet標準的點分十進制表示中,主機組地址的范圍是從244.0.0.0到
239.255.255.255。地址224.0.0.0被保證不分配給任何組(包括網關)。它被用于標記在直接
相連的網絡中所有多播主機。沒有多播地址(或其它IP地址)用來標記Internet上的所有主
機。其它眾所周知的地址、永久組將在“已分配編號”(Assigned Numbers)文檔中公布。
附錄2 包括與主機組地址相關的一些問題的背景的討論。
5. 主機IP實現模型
對主機IP實現的多播擴展將在下面的層次模型圖中說明。在這種模型中,ICMP和IGMP
(對于2級主機)應在IP模塊中實現,IP地址到本地網絡地址的映射應由本地網絡模塊負
責。這種模型僅用于說明目的,而不應該認為它限制了實際的實現。
| |
| 高層協議模塊 |
|__________________________________________________________|
--------------------- IP服務接口 -----------------------
__________________________________________________________
| | | |
| | ICMP | IGMP |
| IP |______________|______________|
| 模塊 |
| |
|__________________________________________________________|
----------------本地網絡接口-----------------
__________________________________________________________
| | |
| 本地網絡 | IP到本地物理地址映射 |
| 模塊 | (例如,ARP) |
| (例如,以太網) |_____________________________|
| |
為了達到1級多播,主機實現必須支持多播IP數據報的傳送。為了達到2級多播,主
機必須還需支持多播數據報的接收。這兩個新服務將在以下各自獨立的章節中分別講述。對
于每種服務,將分別在IP服務接口、IP模塊、本地網絡服務接口、以太網本地網絡模塊中
說明需要的擴展。對于非以太網的本地網絡模塊的擴展只是簡要地提及,而不詳細說明。
6. 發送多播IP數據報
6.1 IP服務接口的擴展
多播IP數據報的發送和單播IP數據報的發送一樣的,都使用“發送IP”操作;高層協
議模塊僅僅指定一個IP主機組地址,而不是單個IP地址,作為目的地址。然而,許多擴展
可能是必須或是可取的。
首先,服務接口必須提供一種方式,讓高層協議能夠指定要送出的多播數據報的IP生
存時間(TTL)字段的值,如果這種能力以前并不存在的話。如果高層協議沒有指定生存時
間,那么對所有多播IP數據報,生存時間(TTL)缺省為1。因此,要讓多播跨過單個網絡,
就必須明確指定生存時間。
第二,對于那些屬于多個網絡的主機,服務接口必須提供一種方式,能讓高層協議標記
哪個網絡接口將被用于多播傳送。僅有一個接口用于初始傳送;如果需要的話,多播路由器
負責向所有其它網絡傳遞。如果高層協議沒有標記一個外出接口,缺省接口將被使用,這可
由系統管理來控制。
第三(這僅用于2級實現),如果發送數據報的主機本身是它發向的主機組的成員,那
么服務接口應該提供一種方式,讓高層協議禁止這個數據報的本地傳送;缺省情況下,該數
據報的一個拷貝被回送。這對于限制了組成員關系只能是每個主機一個進程(例如路由選擇
協議)的高層協議,或對于在更高協議上處理組通信回送(例如多播傳輸協議)的高層協議,
這是一種性能優化。
6.2 IP模塊的擴展
為了支持多播IP數據報的發送,IP模塊必須被擴展以在為外出數據報選擇路由時識別
IP主機組地址。大多數IP實現包括以下邏輯:
if IP目的地在同樣的本地網絡上
在本地發送數據報給IP目的地
else
在本地發送數據報給網關(IP目的地)
為了達到多播傳送,路由選擇邏輯必須改為:
if IP目的地在同樣的本地網絡上
or IP目的地是一個主機組
在本地發送數據報給IP目的地
else
在本地發數據報給網關(IP目的地)
如果發送主機本身是外出接口上目的主機組的成員,則外出數據報一個拷貝必須回送來
達到本地傳送,除非由發送者禁止。(僅用于2級實現)
外出數據報的源地址必須是與外出接口相對應的單個地址中的一個。
主機組地址一定不會出現在外出IP數據報的源地址字段,和源路由或記錄路由選項中
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -