国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 網(wǎng)絡(luò)通信 > 正文

主機(jī)擴(kuò)展用于IP多點傳送

2019-11-04 10:50:53
字體:
供稿:網(wǎng)友

1.備忘錄狀態(tài)
該備忘錄說明了為了支持多播而對互聯(lián)網(wǎng)協(xié)議(ip)的主機(jī)實現(xiàn)的擴(kuò)展。它是互聯(lián)網(wǎng)上
IP多播的推薦標(biāo)準(zhǔn)。該備忘錄可以任意發(fā)布。
2.簡介
IP多播是指一個IP數(shù)據(jù)報向一個主機(jī)組的傳送,該主機(jī)組是由一個單獨的IP目的地址
標(biāo)記的多個或零個主機(jī)。一個多播數(shù)據(jù)報被盡可能地傳遞給它的目的主機(jī)組的所有成員,就
像常規(guī)的單播IP數(shù)據(jù)報一樣。也就是說,不能保證數(shù)據(jù)報能完好無損的到達(dá)目的組所有成
員,也不能保證它以相對于其它數(shù)據(jù)報同樣的順序到達(dá)。
主機(jī)組的成員是動態(tài)變化的;也就是說,主機(jī)可以隨意加入和離開組。對一個主機(jī)組的
位置和組成員的數(shù)量并沒有限制。一個主機(jī)可以同時是一個或多個組的成員。不是某一組的
成員的主機(jī)也能向該組發(fā)送數(shù)據(jù)報。
主機(jī)組可以是永久的或是暫時的。永久組是一個眾所周知的,由Internet治理機(jī)構(gòu)分配
的IP地址,它的地址是永久的,而該組的成員是可以改變的。在任意時刻,一個永久組可
以有任意數(shù)量的成員,甚至沒有成員。另外一些不是為永久組保留的IP多播地址是為暫時
組動態(tài)分配的地址,這些暫時組只有當(dāng)它們有成員時才存在。
IP多播數(shù)據(jù)報的網(wǎng)間傳遞是通過“多播路由器”實現(xiàn)的,多播路由器可以駐留在互聯(lián)
網(wǎng)網(wǎng)關(guān)上,也可以與互聯(lián)網(wǎng)網(wǎng)關(guān)分離。主機(jī)以本地網(wǎng)絡(luò)多播的方式傳送IP多播數(shù)據(jù)報,這
些數(shù)據(jù)報只到達(dá)目的主機(jī)組中所有與該主機(jī)直接鄰近的成員。假如數(shù)據(jù)報的IP首部中的生
存時間(TTL)字段大于1,則在本地網(wǎng)絡(luò)上的一個或多個多播路由器負(fù)責(zé)將它傳遞到有目的
主機(jī)組的成員的其他網(wǎng)絡(luò)上。在那些可以在IP生存時間為零以前到達(dá)的其它成員網(wǎng)絡(luò)里,
當(dāng)?shù)匾粋€多播路由器以本地多播的方式傳遞該數(shù)據(jù)報來完成傳送。
該備忘錄說明了為了支持IP多播而對主機(jī)的IP實現(xiàn)的擴(kuò)展,這里的“主機(jī)”是除了用
作多播路由器以外的任何互聯(lián)網(wǎng)主機(jī)和網(wǎng)關(guān)。用在多播路由器內(nèi)和之間的算法和協(xié)議對主機(jī)
是透明的,將在獨立的文檔中說明。該備忘錄也不說明本地網(wǎng)絡(luò)多播是如何在所有不同類型
的網(wǎng)絡(luò)中實現(xiàn)的,盡管它說明了任意的本地網(wǎng)絡(luò)所需的服務(wù)界面,并給出了一個以太網(wǎng)技術(shù)
要求說明作為例子。其他類型的網(wǎng)絡(luò)技術(shù)說明將會在將來的備忘錄中說明。
3.一致性等級
這個規(guī)范有三個一致性等級:

0級:不支持IP多播。

在這一等級中不需要所有的IP實現(xiàn)支持IP多播。0級主機(jī)一般不受多播活動的影響。
在一些類型的本地網(wǎng)中,由于1級和2級主機(jī)的存在可能導(dǎo)致多播IP數(shù)據(jù)報錯誤遞交到0
級主機(jī)上,這就出現(xiàn)了唯一的異常。因為這些數(shù)據(jù)報目的地址字段中出現(xiàn)D類IP地址,所
以它們能被很輕易地被檢測出來。它們會被不支持IP多播的主機(jī)毫無聲息的丟棄。D類地
址在本備忘錄的第四部分說明。

1級:能發(fā)送但不能接收多播IP數(shù)據(jù)報。

1級主機(jī)可以參加一些基于多播的服務(wù),諸如資源定位或狀態(tài)報告,但它不答應(yīng)主機(jī)加
入任何主機(jī)組。IP實現(xiàn)可以非常輕易地從0級升到1級,僅需增加少量的代碼。在本備忘
錄中僅僅第4、5、6部分適用于1級的實現(xiàn)。

2級:完全支持IP多播。

2級主機(jī)可以加入或離開主機(jī)組,以及發(fā)送數(shù)據(jù)報給主機(jī)組。它要求Internet組治理協(xié)
議(IGMP)的實現(xiàn)和在主機(jī)內(nèi)對IP和本地網(wǎng)服務(wù)接口的擴(kuò)展。本備忘錄中以下所有部分都
適用于2級的實現(xiàn)。
4.主機(jī)組地址
主機(jī)組由D類IP地址標(biāo)記,即高四位為“1110”的那些IP地址。E類IP地址,即那
些高四位為“1111”的IP地址,是為了將來的編址方式而保留的。
在Internet標(biāo)準(zhǔn)的點分十進(jìn)制表示中,主機(jī)組地址的范圍是從244.0.0.0到
239.255.255.255。地址224.0.0.0被保證不分配給任何組(包括網(wǎng)關(guān))。它被用于標(biāo)記在直接
相連的網(wǎng)絡(luò)中所有多播主機(jī)。沒有多播地址(或其它IP地址)用來標(biāo)記Internet上的所有主
機(jī)。其它眾所周知的地址、永久組將在“已分配編號”(AssignedNumbers)文檔中公布。
附錄2包括與主機(jī)組地址相關(guān)的一些問題的背景的討論。
5.主機(jī)IP實現(xiàn)模型
對主機(jī)IP實現(xiàn)的多播擴(kuò)展將在下面的層次模型圖中說明。在這種模型中,ICMP和IGMP
(對于2級主機(jī))應(yīng)在IP模塊中實現(xiàn),IP地址到本地網(wǎng)絡(luò)地址的映射應(yīng)由本地網(wǎng)絡(luò)模塊負(fù)
責(zé)。這種模型僅用于說明目的,而不應(yīng)該認(rèn)為它限制了實際的實現(xiàn)。


高層協(xié)議模塊
__________________________________________________________

---------------------IP服務(wù)接口-----------------------
__________________________________________________________

ICMPIGMP
IP____________________________
模塊

__________________________________________________________

----------------本地網(wǎng)絡(luò)接口-----------------
__________________________________________________________

本地網(wǎng)絡(luò)IP到本地物理地址映射
模塊(例如,ARP)
(例如,以太網(wǎng))_____________________________


為了達(dá)到1級多播,主機(jī)實現(xiàn)必須支持多播IP數(shù)據(jù)報的傳送。為了達(dá)到2級多播,主
機(jī)必須還需支持多播數(shù)據(jù)報的接收。這兩個新服務(wù)將在以下各自獨立的章節(jié)中分別講述。對
于每種服務(wù),將分別在IP服務(wù)接口、IP模塊、本地網(wǎng)絡(luò)服務(wù)接口、以太網(wǎng)本地網(wǎng)絡(luò)模塊中
說明需要的擴(kuò)展。對于非以太網(wǎng)的本地網(wǎng)絡(luò)模塊的擴(kuò)展只是簡要地提及,而不具體說明。
6.發(fā)送多播IP數(shù)據(jù)報
6.1IP服務(wù)接口的擴(kuò)展
多播IP數(shù)據(jù)報的發(fā)送和單播IP數(shù)據(jù)報的發(fā)送一樣的,都使用“發(fā)送IP”操作;高層協(xié)
議模塊僅僅指定一個IP主機(jī)組地址,而不是單個IP地址,作為目的地址。然而,許多擴(kuò)展
可能是必須或是可取的。
首先,服務(wù)接口必須提供一種方式,讓高層協(xié)議能夠指定要送出的多播數(shù)據(jù)報的IP生
存時間(TTL)字段的值,假如這種能力以前并不存在的話。假如高層協(xié)議沒有指定生存時
間,那么對所有多播IP數(shù)據(jù)報,生存時間(TTL)缺省為1。因此,要讓多播跨過單個網(wǎng)絡(luò),
就必須明確指定生存時間。
第二,對于那些屬于多個網(wǎng)絡(luò)的主機(jī),服務(wù)接口必須提供一種方式,能讓高層協(xié)議標(biāo)記
哪個網(wǎng)絡(luò)接口將被用于多播傳送。僅有一個接口用于初始傳送;假如需要的話,多播路由器
負(fù)責(zé)向所有其它網(wǎng)絡(luò)傳遞。假如高層協(xié)議沒有標(biāo)記一個外出接口,缺省接口將被使用,這可
由系統(tǒng)治理來控制。
第三(這僅用于2級實現(xiàn)),假如發(fā)送數(shù)據(jù)報的主機(jī)本身是它發(fā)向的主機(jī)組的成員,那
么服務(wù)接口應(yīng)該提供一種方式,讓高層協(xié)議禁止這個數(shù)據(jù)報的本地傳送;缺省情況下,該數(shù)
據(jù)報的一個拷貝被回送。這對于限制了組成員關(guān)系只能是每個主機(jī)一個進(jìn)程(例如路由選擇
協(xié)議)的高層協(xié)議,或?qū)τ谠诟邊f(xié)議上處理組通信回送(例如多播傳輸協(xié)議)的高層協(xié)議,
這是一種性能優(yōu)化。
6.2IP模塊的擴(kuò)展
為了支持多播IP數(shù)據(jù)報的發(fā)送,IP模塊必須被擴(kuò)展以在為外出數(shù)據(jù)報選擇路由時識別
IP主機(jī)組地址。大多數(shù)IP實現(xiàn)包括以下邏輯:
ifIP目的地在同樣的本地網(wǎng)絡(luò)上
在本地發(fā)送數(shù)據(jù)報給IP目的地
else
在本地發(fā)送數(shù)據(jù)報給網(wǎng)關(guān)(IP目的地)
為了達(dá)到多播傳送,路由選擇邏輯必須改為:
ifIP目的地在同樣的本地網(wǎng)絡(luò)上
orIP目的地是一個主機(jī)組
在本地發(fā)送數(shù)據(jù)報給IP目的地
else
在本地發(fā)數(shù)據(jù)報給網(wǎng)關(guān)(IP目的地)
假如發(fā)送主機(jī)本身是外出接口上目的主機(jī)組的成員,則外出數(shù)據(jù)報一個拷貝必須回送來
達(dá)到本地傳送,除非由發(fā)送者禁止。(僅用于2級實現(xiàn))
外出數(shù)據(jù)報的源地址必須是與外出接口相對應(yīng)的單個地址中的一個。
主機(jī)組地址一定不會出現(xiàn)在外出IP數(shù)據(jù)報的源地址字段,和源路由或記錄路由選項中
的任何地方。
6.3本地網(wǎng)絡(luò)服務(wù)接口的擴(kuò)展
為了支持多播IP數(shù)據(jù)報的發(fā)送,對本地網(wǎng)絡(luò)服務(wù)接口沒有任何改變。當(dāng)IP模塊調(diào)用現(xiàn)
存的“sendlocal"操作時,只不過指定一個IP主機(jī)組目的地址,而不是單個IP目的地址。
6.4以太網(wǎng)本地網(wǎng)絡(luò)模塊的擴(kuò)展
通過答應(yīng)多播地址出現(xiàn)在以太網(wǎng)分組中的目的地址字段,以太網(wǎng)就能支持本地多播分組
的發(fā)送。為了支持多播IP數(shù)據(jù)報的發(fā)送,所需的是一個將IP主機(jī)組地址映射到以太網(wǎng)多播
地址的過程。
IP主機(jī)組地址映射到以太網(wǎng)多播地址,是通過將IP地址的低23位放在以太網(wǎng)多播地址
01-00-5E-00-00-00(十六進(jìn)制)的低23位上。因為在IP主機(jī)組地址上有28個有意義的位,所
以多個主機(jī)組地址可以映射到相同的以太網(wǎng)多播地址上。
6.5非以太網(wǎng)的本地網(wǎng)絡(luò)模塊的擴(kuò)展
其它的那些本身就支持多播的網(wǎng)絡(luò),例如符合IEEE802.2標(biāo)準(zhǔn)的環(huán)和總線網(wǎng)絡(luò)。它們
可以像以太網(wǎng)那樣達(dá)到發(fā)送多播IP數(shù)據(jù)報的目的。對于那些支持廣播而不支持多播的網(wǎng)絡(luò),
例如實驗性以太網(wǎng),所有的IP主機(jī)組地址可以被映射為單個本地廣播地址(以增加所有本
地主機(jī)費用為代價)。對于連接兩個主機(jī)(或者一個主機(jī),一個多播路由器)的一個的點對
點連接,多播應(yīng)該完全像單播那樣傳遞。對于像ARPANET這樣的存儲轉(zhuǎn)發(fā)網(wǎng)絡(luò),或公共的
X.25網(wǎng)絡(luò),所有IP主機(jī)組地址必須映射為IP多播路由器的眾所周知的本地地址;在這些網(wǎng)
絡(luò)上路由器負(fù)責(zé)完成在一個網(wǎng)絡(luò)內(nèi)或所有網(wǎng)絡(luò)中的多播傳遞。
7.接收多播IP數(shù)據(jù)報
7.1對IP服務(wù)接口的擴(kuò)展
高層協(xié)議使用與接收標(biāo)準(zhǔn)的單播數(shù)據(jù)報一樣的“ReceiveIP”操作,接收到來的多播IP
數(shù)據(jù)報。目的高層協(xié)議的選擇由IP首部的協(xié)議字段決定,而與目的IP地址無關(guān)。然而,在
屬于一個特定組的任意數(shù)據(jù)報被接收之前,高層協(xié)議必須請求IP模塊加入該組。因此,必
須擴(kuò)展IP服務(wù)接口,提供以下兩個操作:
JoinHostGroup(group-address,interface)
LeaveHostGroup(group-address,interface)
JoinHostGroup操作要求本主機(jī)在給定的本地網(wǎng)絡(luò)接口上成為以“group-address”標(biāo)記的
主機(jī)組中的成員。LeaveGroup操作要求本主機(jī)在給定的本地網(wǎng)絡(luò)接口上離開以
“group-address”標(biāo)記的主機(jī)組。假如主機(jī)只有一個接口,則interface參數(shù)可以省略。對于
屬于多個網(wǎng)絡(luò)的主機(jī),高層協(xié)議可以不指明interface,這要求使用缺省的interface發(fā)送多播
數(shù)據(jù)報(參看6.1節(jié))。
答應(yīng)在多個interface上加入一個相同的組,這種情況下可能會有重復(fù)的多播數(shù)據(jù)報被接
收;也答應(yīng)多個高層協(xié)議要求加入同一個組。
這兩種操作都立即返回(即它們是非阻塞操作),表示成功或是失敗。每種操作都可能因
為無效的組地址或接口標(biāo)識符而出錯。JoinHostGroup操作可能由于缺少本地資源而失敗。
LeaveHostGroup可能因為本主機(jī)不屬于在給定接口上的某一組而失敗。LeaveHostGroup如
果成功,組成員關(guān)系可能還存在,因為可能有多個高層協(xié)議是同一個組的成員。
7.2IP模塊的擴(kuò)展
為了能夠接收多播IP數(shù)據(jù)報,必須擴(kuò)展IP模塊,維持一個與每個網(wǎng)絡(luò)接口相關(guān)的主機(jī)
組成員列表。在到來的數(shù)據(jù)報中,目的地屬于這些組地址中某一個的數(shù)據(jù)報的處理方式與目
的地屬于主機(jī)的單播地址中某一個數(shù)據(jù)報的處理方式相同。
假如主機(jī)接收到目的地址是組地址的數(shù)據(jù)報,而該主機(jī)不屬于該組,則這個數(shù)據(jù)報將被
丟棄而不生成任何錯誤或日志記錄。在有多個網(wǎng)絡(luò)接口的主機(jī)上,假如目的地屬于某一組的
數(shù)據(jù)報經(jīng)由一個接口到達(dá),而該主機(jī)只在另一個網(wǎng)絡(luò)接口上屬于這個組,則這個數(shù)據(jù)報將被
毫無聲息的丟棄。(出現(xiàn)這種情況的唯一原因是本地網(wǎng)絡(luò)模塊的多播地址過濾功能不完
善。)
假如到來的數(shù)據(jù)報的IP生存時間(TTL)為1,則該數(shù)據(jù)報不會被拒收(即,假如到來
的數(shù)據(jù)報不會再被轉(zhuǎn)發(fā),則它的生存時間字段不會自動減少)。假如到來的數(shù)據(jù)報的源地址
字段出現(xiàn)了IP主機(jī)組地址,則該數(shù)據(jù)報將被毫無聲息的丟棄。ICMP出錯信息(目的主機(jī)
不可達(dá),超時,參數(shù)問題,源站被抑制,重定向)不會因為目的地為IP主機(jī)組的數(shù)據(jù)報而
產(chǎn)生。
主機(jī)組成員列表根據(jù)高層協(xié)議的JoinHostGroup和LeaveHostGroup操作要求而更新。每
個成員應(yīng)該有一個相應(yīng)的參照數(shù)或其它同樣的機(jī)制,來處理加入和離開同一組的多個要求。
當(dāng)?shù)谝粋€要求加入和最后一個要求離開在給定接口上的某個組時,那個接口的網(wǎng)絡(luò)模塊就被
告知,去更新它的多播接收過濾器(參看7.3部分)。
IP模塊也必須擴(kuò)展,實現(xiàn)在附錄1中說明的IGMP協(xié)議。IGMP是用來讓鄰近的多播路
由器獲知在一個特定的本地網(wǎng)絡(luò)中出現(xiàn)的主機(jī)組成員。為了支持IGMP,每個2級主機(jī)必須
在初始化時加入“所有主機(jī)”組(地址為224.0.0.1),而且只要主機(jī)是開著的,它都要是這
個組的成員。
(地址是所有主機(jī)組的數(shù)據(jù)報會被多播路由器當(dāng)成一個非凡情況,不管它的生存時間是
多少,它不會被傳遞出單一的網(wǎng)絡(luò)。因此,所有主機(jī)地址不用于互聯(lián)網(wǎng)范圍上的廣播地址。
為了達(dá)到IGMP的目的,屬于所有主機(jī)組的這項要求僅僅在主機(jī)屬于至少一個其它組時才真
正是必須的。然而,要求主機(jī)在任何時候是一個所有主機(jī)組的成員的原因是(1)簡單,(2)接
收不必要的IGMP請求的頻率應(yīng)足夠的低,以使開銷可以忽略不計。(3)所有主機(jī)地址可以
用于其它面向路由選路的目的,例如通知網(wǎng)關(guān)的存在或解析本地地址)
7.3對本地網(wǎng)絡(luò)服務(wù)接口的擴(kuò)展
把到來的本地網(wǎng)絡(luò)多播分組傳遞給IP模塊使用的方式與處理本地網(wǎng)絡(luò)單播分組時一
樣,都是使用“ReceiveLocal”操作。為了答應(yīng)IP模塊通知本地網(wǎng)絡(luò)模塊它要接收哪種多
播分組,必須擴(kuò)展本地網(wǎng)絡(luò)服務(wù)接口,以提供以下兩個新操作:
JoinLocalGroup(group-address)
LeaveLocalGroup(group-address)
“group-address”是IP主機(jī)組地址,JoinLocalGroup操作要求本地網(wǎng)絡(luò)模塊接收和向上傳遞
目的地為給定IP主機(jī)組地址的分組。LeaveLocalGroup操作要求本地網(wǎng)絡(luò)模塊停止向上遞交
目的地為給定IP主機(jī)組地址的分組。本地網(wǎng)絡(luò)模塊應(yīng)該能夠映射IP主機(jī)組地址到本地網(wǎng)絡(luò)
地址,
這是更新本地網(wǎng)絡(luò)模塊的多播接收過濾器所要求的。任何本地網(wǎng)絡(luò)模塊都可以忽略
LeaveLocalGroup操作的要求。假如它不能充分過濾到來的分組,也可以向上傳遞超出
JoinLocalGroup操作所要求的更多的多播地址的分組。
本地網(wǎng)絡(luò)模塊不會向上傳遞任何從該模塊出發(fā)的多播分組;多播回送是在IP層或更高
層處理。
7.4對以太網(wǎng)本地網(wǎng)絡(luò)模塊的擴(kuò)展
為了支持多播IP數(shù)據(jù)報的接收,以太網(wǎng)模塊必須能接收地址是與主機(jī)的IP主機(jī)組地址
相關(guān)的以太網(wǎng)多播地址的分組。利用以太網(wǎng)硬件接口可能具有的地址過濾能力是非常可取
的,這樣主機(jī)只接收目的地指向它的那些分組。
不幸的是,許多當(dāng)前的以太網(wǎng)接口對硬件能識別的地址數(shù)目有很少的限制。而且,一個
具體的實現(xiàn)必須能偵聽任意數(shù)目的以太網(wǎng)多播地址,這意味著當(dāng)?shù)刂窋?shù)目超過過濾器的限制
時,“打開”地址過濾器以接收所有的多播分組。
對于那些硬件地址過濾能力不強(qiáng)的接口,為了性能的原因,在以太網(wǎng)模塊的軟件中執(zhí)行
以太網(wǎng)地址過濾可能要好一些。然而,這并不是強(qiáng)制性的,因為IP模塊基于IP目的地址執(zhí)
行它自己的過濾。
7.5對以太網(wǎng)以外的本地網(wǎng)絡(luò)模塊的擴(kuò)展
像IEEE802.2網(wǎng)絡(luò)這樣的其它多播網(wǎng)絡(luò),為了達(dá)到接收多播IP數(shù)據(jù)報的目的而進(jìn)行的
處理方式與以太網(wǎng)相同。對于純廣播網(wǎng)絡(luò),如實驗性以太網(wǎng),所有到達(dá)的廣播分組能夠被接
收并傳遞給IP模塊以實現(xiàn)IP層過濾。在點對點或存儲轉(zhuǎn)發(fā)網(wǎng)絡(luò),多播IP數(shù)據(jù)報以本地網(wǎng)
絡(luò)單播的形式到達(dá),所以沒有必要修改本地網(wǎng)絡(luò)模塊。
附錄1INTERNET組治理協(xié)議(IGMP)
Internet組治理協(xié)議(IGMP)用于IP主機(jī)向所有緊鄰的多播路由器報告它們的主機(jī)組
成員關(guān)系。IGMP是不對稱的協(xié)議,將從主機(jī)的視角而不是從多播路由器的視角描述它。
(IGMP也可以在多播路由器之間對稱或非對稱的使用。這樣的用法這里沒有指定。)
像ICMP一樣,IGMP是IP的一個組成部分。要在所有符合IP多播規(guī)范的2級主機(jī)上
實現(xiàn)。IGMP報文封裝在IP數(shù)據(jù)報中,數(shù)據(jù)報的IP協(xié)議字段為2。所有與主機(jī)相關(guān)的IGMP
報文具有如下格式:
0123
01234567890123456789012345678901
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
版本類型未用校驗和
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
組地址
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
版本
本備忘錄說明IGMP版本1。版本0在RFC-988中說明,它現(xiàn)在已經(jīng)廢棄。
類型
有兩種與主機(jī)相關(guān)的IGMP報文:
1=主機(jī)成員請求
2=主機(jī)成員報告
未用
未用字段,在發(fā)送時為零,接收時被忽略。
組地址
主機(jī)成員請求報文在被發(fā)送時組地址字段為零,被接收時忽略該字段。
主機(jī)成員報告報文中,組地址字段為被報告組的IP主機(jī)組地址。

非正式的協(xié)議描述
多播路由器發(fā)送主機(jī)成員請求報文(在下文叫做請求),以發(fā)現(xiàn)哪些主機(jī)組在它們所屬
的本地網(wǎng)絡(luò)上有成員。請求的目的地址為所有主機(jī)組(224.0.0.1),攜帶的IP生存時間為1。
主機(jī)為了響應(yīng)一個請求,生成主機(jī)成員報告報文,報告它們在接到請求的網(wǎng)絡(luò)接口上
所屬的每個主機(jī)組。為了避免并發(fā)報告“爆炸”,減少被傳送的報告的總數(shù),使用了兩種技
術(shù):
1.當(dāng)主機(jī)接收到一個請求,不是立即發(fā)送報告,而是為到達(dá)請求的網(wǎng)絡(luò)接口上每個組
成員啟動一個報告延時定時器。每個定時器被設(shè)置為在0到D秒之間的一個不同的、隨機(jī)
選擇的值。當(dāng)一個定時器超時,會為相應(yīng)的主機(jī)組產(chǎn)生一個報告。因此,報告的產(chǎn)生時間分
散在D秒的間隔內(nèi),而不是都立即產(chǎn)生。
2.被發(fā)送的報告的IP目的地址等于它要報告的主機(jī)組的地址,它的IP生存時間為1,
所以在同一網(wǎng)絡(luò)上這一組的其它成員能偵聽到該報告。假如主機(jī)聽到在那個網(wǎng)絡(luò)上它所屬的
組的報告,則主機(jī)停止那個組的定時器,不再產(chǎn)生那個組的報告。因此,在通常情況下,僅
僅為出現(xiàn)在網(wǎng)絡(luò)上的每個組生成一個報告,這是由延遲定時器最先超時的成員主機(jī)生成的。
要注重的是,多播路由器接收所有IP多播數(shù)據(jù)報,因此不需要明確的指明它的地址。還要
注重的是,路由器不需知道哪些主機(jī)屬于一個組,而僅需知道是否至少有一個主機(jī)屬于在特
定網(wǎng)絡(luò)上的一個組。
對以上描述的特性有兩個例外。第一,假如在請求收到以前,已經(jīng)有一個報告延時定
時器在為一個組成員運行,則該定時器不會重置為一個新的隨機(jī)值,而答應(yīng)以它的當(dāng)前值運
行。第二,報告定時器不會因為主機(jī)是所有主機(jī)組(224.0.0.1)的成員而生成,這個成員關(guān)
系不會被報告。
假如主機(jī)使用偽隨機(jī)數(shù)生成器計算報告延遲時間,主機(jī)的單個IP地址之一應(yīng)用作生成
器種子的一部分,以減少多宿主機(jī)生成相同的延遲序列的可能性。
主機(jī)應(yīng)該確保接收到的報告的IP目的地址字段和IGMP組地址字段有相同的IP組地
址。以保證主機(jī)自己的報告不會因為錯誤的接收報告而取消。主機(jī)應(yīng)該丟棄除了主機(jī)成員請
求或主機(jī)成員報告類型以外的任何IGMP報文。
多播路由器周期性地發(fā)送請求,以更新它所知的,在特定網(wǎng)絡(luò)上目前的成員關(guān)系情況。
假如在幾次請求之后,沒有接收到特定組的報告,則路由器假設(shè)這個組已經(jīng)沒有本地成員,
它們就不需轉(zhuǎn)發(fā)從遠(yuǎn)端傳來的那個組的多播數(shù)據(jù)報到本地網(wǎng)絡(luò)上。正常情況下,請求被發(fā)送
的頻率很低(每分鐘不超過一次),因此IGMP對主機(jī)和網(wǎng)絡(luò)的開銷非常小。然而,當(dāng)多播
路由器啟動時,它可以發(fā)出幾個時間間隔很小的請求,以便盡快獲知本地成員的情況。
當(dāng)主機(jī)加入一個新的組時,它應(yīng)該立即發(fā)送一個那個組的報告,而不是等待一個請求,
以防萬一它是這個網(wǎng)絡(luò)上該組的第一個成員。考慮到初始的報告可能丟失或損壞,建議在一
個短的延遲后重復(fù)報告一到兩次。(達(dá)到這一目的的一種簡單的方式是似乎僅僅那個組的請
求被接收,設(shè)置組隨機(jī)報告延遲定時器。以下的狀態(tài)變換圖解釋了這種方法。)
要注重的是,在一個沒有多播路由器的網(wǎng)絡(luò)上,當(dāng)有主機(jī)加入一個新組時,唯一的IGMP
通信量是一個或多個報告的傳送。

狀態(tài)變換圖
通過下面的狀態(tài)轉(zhuǎn)換圖,將更加正式地說明IGMP特性。每個主機(jī)可能處于三種可能
的狀態(tài)中的一種,這與在任意的單個網(wǎng)絡(luò)接口上的一個單獨的IP主機(jī)組有關(guān)。
—非成員狀態(tài),當(dāng)主機(jī)不屬于這個接口上的組時。這是所有網(wǎng)絡(luò)接口上所有成員的初
始狀態(tài);它不需要主機(jī)的存儲空間。
—延時成員狀態(tài),當(dāng)主機(jī)屬于那個接口上的組時,需要為這個成員關(guān)系運行一個報告
延時定時器。
—空閑成員狀態(tài),當(dāng)主機(jī)屬于那個接口上的組時,不需要為這個成員關(guān)系運行一個報
告延時定時器。
有五種重大的事件能使IGMP狀態(tài)變換:
—當(dāng)主機(jī)決定加入這個接口的組時,出現(xiàn)“加入組”事件。這只能出現(xiàn)在非成員狀態(tài)。
—當(dāng)主機(jī)決定離開這個接口的組時,出現(xiàn)“離開組”事件。這只能出現(xiàn)在延遲成員和
空閑成員狀態(tài)。
—當(dāng)主機(jī)收到一個有效的IGMP主機(jī)成員請求報文時,出現(xiàn)“請求收到”事件。要達(dá)
到有效狀態(tài),請求報文必須至少有8字節(jié)長,有一個正確的IGMP校驗和和地址為224.0.0.1
的IP目的地址。單一的請求適合于收到請求的接口的所有成員關(guān)系。這里不考慮非成員狀
態(tài)或延遲成員狀態(tài)的情況。
—當(dāng)主機(jī)接收到一個有效的IGMP主機(jī)成員報告報文時,出現(xiàn)“報告收到”狀態(tài)。要達(dá)
到有效狀態(tài),報告報文必須至少有8字節(jié)長,有一個正確的IGMP校驗和,而且在它的IP
目的地址字段和IGMP組地址字段有相同的IP組地址。報告僅用于在接收到報告的接口上,
由報告標(biāo)識的組組成員。這里不考慮非成員狀態(tài)或空閑成員狀態(tài)的情況。
—當(dāng)接口上的組的報告延遲定時器超時時,出現(xiàn)“定時器超時”事件。它只出現(xiàn)在延遲
成員狀態(tài)。
所有其它的事件,如收到無效的IGMP報文,或收到除請求或報告之外的IGMP報文,
被忽略了。
有三種可能的動作,可以用來響應(yīng)以上事件:
—為那個接口上的組“發(fā)送報告”。
—為那個接口上的組“打開定時器”,使用在0到D秒之間的隨機(jī)延時值。
—為那個接口上的組“停止定時器”。
在下面的圖表中,每個狀態(tài)轉(zhuǎn)換弧由促使轉(zhuǎn)換的事件標(biāo)記,在圓括號中的是在轉(zhuǎn)換過程
中所執(zhí)行的動作。















________________




--------->非成員<---------



________________

離開組加入組離開組
(停止定時器)(發(fā)送報告,
打開定時器)
________________________________
<---------

<-------------------
接收到請求
延遲成員(開始定時器)空閑成員
------------------->
接收到報告
(停止定時器)
_________________------------------->_________________
定時器超時
(發(fā)送報告)
所有主機(jī)組(地址為224.0.0.1)的處理屬于非凡情況。主機(jī)開始時是每個接口上的那個
組的空閑成員狀態(tài),不會變換到其它狀態(tài),也不會為那個組發(fā)送報告。

協(xié)議參數(shù)
最大報告延時D為10秒。
附錄2主機(jī)組地址問題
本附錄不是IP多播規(guī)范的一部分,但提供了有關(guān)IP主機(jī)組地址的一些問題的背景討論。

組地址綁定
IP主機(jī)組地址到物理主機(jī)地址的綁定可以被認(rèn)為是IP單播地址綁定的推廣。一個IP單
播地址靜態(tài)地綁定到一個單一的IP網(wǎng)絡(luò)上的一個單一的本地網(wǎng)絡(luò)地址接口上。一個IP主機(jī)
組地址動態(tài)地綁定到一個IP網(wǎng)絡(luò)集合上的本地網(wǎng)絡(luò)接口集合上。
IP主機(jī)組地址不會綁定到IP單播地址集合上,理解這一點很重要。多播路由器不會維
持每個主機(jī)組的單個成員的列表。例如,屬于一個以太網(wǎng)的多播路由器僅需有一個與有本地
成員的每個主機(jī)組對應(yīng)的單一的以太網(wǎng)多播地址,而不是那些成員的單個IP或以太網(wǎng)地址
列表。
臨時主機(jī)組地址的分配
本備忘錄沒有說明暫時的組地址是如何分配的。預(yù)期是IP暫時主機(jī)組地址空間的不同
部分的分配使用不同的技術(shù)。例如,可能有許多服務(wù)器聯(lián)系在一起獲得一個新的暫時組地址。
一些高層協(xié)議(比如VMTP,在RFC-1045中說明)可以生成高層暫時“進(jìn)程組”或“實體
組”地址,這些地址會在算法中映射到IP暫時主機(jī)組地址的子集中,這與IP主機(jī)組地址映
射到以太網(wǎng)多播地址上類似。IP組地址空間的一部分可以留給一些應(yīng)用程序隨機(jī)分配,這
些應(yīng)用程序能容忍和其它多播用戶偶然沖突,在發(fā)現(xiàn)一個合適的“安靜”地址之前,一直生
成新的地址。
一般來說,主機(jī)不能假設(shè)被送到主機(jī)組地址的數(shù)據(jù)報將僅僅到達(dá)目的主機(jī),或作為暫時
主機(jī)組的一個成員接收數(shù)據(jù)報的目的就是為了接受。在IP層以上,使用高層標(biāo)識符或認(rèn)證
標(biāo)志來檢測錯誤投遞。假如發(fā)送者不想讓不必要的用戶收到,則傳遞給主機(jī)組地址的信息應(yīng)
該被加密或用路由治理控制方法進(jìn)行控制。




發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 丰城市| 上饶县| 阿拉善盟| 正镶白旗| 宁都县| 绥宁县| 尉氏县| 银川市| 利辛县| 宝兴县| 怀远县| 英超| 广丰县| 确山县| 慈溪市| 墨江| 芦山县| 磐石市| 平利县| 彭泽县| 扶风县| 射阳县| 沂源县| 岚皋县| 安平县| 分宜县| 万山特区| 桓台县| 遂宁市| 红原县| 灵璧县| 盐亭县| 会泽县| 桐城市| 西青区| 宝兴县| 西盟| 屏边| 怀安县| 虹口区| 荆州市|