對(duì)TTL字段我們將在本節(jié)的后面介紹 。
13.3.3 實(shí)現(xiàn)細(xì)節(jié)
為改善該協(xié)議的效率,有許多實(shí)現(xiàn)的細(xì)節(jié)要考慮 。首先,當(dāng)一個(gè)主機(jī)首次發(fā)送IGMP報(bào)告(當(dāng)?shù)谝粋€(gè)進(jìn)程加入一個(gè)多播組)時(shí),并不保證該報(bào)告被可靠接收(因?yàn)槭褂玫氖荌P交付服務(wù)) 。下一個(gè)報(bào)告將在間隔一段時(shí)間后發(fā)送 。這個(gè)時(shí)間間隔由主機(jī)在0 ~ 1 0秒的范圍內(nèi)隨機(jī)選擇 。
其次,當(dāng)一個(gè)主機(jī)收到一個(gè)從路由器發(fā)出的查詢后,并不立即響應(yīng),而是經(jīng)過一定的時(shí)間間隔后才發(fā)出一些響應(yīng)(采用“響應(yīng)”的復(fù)數(shù)形式是因?yàn)樵撝鳈C(jī)必須對(duì)它參加的每個(gè)組均發(fā)送一個(gè)響應(yīng)) 。既然參加同一多播組的多個(gè)主機(jī)均能發(fā)送一個(gè)報(bào)告,可將它們的發(fā)送間隔設(shè)置為隨機(jī)時(shí)延 。在一個(gè)物理網(wǎng)絡(luò)中的所有主機(jī)將收到同組其他主機(jī)發(fā)送的所有報(bào)告,因?yàn)槿鐖D1 3 - 3所示的報(bào)告中的目的地址是那個(gè)組地址 。這意味著假如一個(gè)主機(jī)在等待發(fā)送報(bào)告的過程中,卻收到了發(fā)自其他主機(jī)的相同報(bào)告,則該主機(jī)的響應(yīng)就可以不必發(fā)送了 。因?yàn)槎嗖ヂ酚善鞑⒉魂P(guān)心有多少主機(jī)屬于該組,而只關(guān)心該組是否還至少擁有一個(gè)主機(jī) 。的確,一個(gè)多播路由器甚至不關(guān)心哪個(gè)主機(jī)屬于一個(gè)多播組 。它僅僅想知道在給定的接口上的多播組中是否還至少有一個(gè)主機(jī) 。
;;;;在沒有任何多播路由器的單個(gè)物理網(wǎng)絡(luò)中,僅有的IGMP通信量就是在主機(jī)加入一個(gè)新的多播組時(shí),支持IP多播的主機(jī)所發(fā)出的報(bào)告 。
13.3.4 生存時(shí)間字段
在圖1 3 - 3中,我們注重到IGMP報(bào)告和查詢的生存時(shí)間(TTL)均設(shè)置為1,這涉及到IP首部中的TTL字段 。一個(gè)初始TTL為0的多播數(shù)據(jù)報(bào)將被限制在同一主機(jī) 。在默認(rèn)情況下,待傳多播數(shù)據(jù)報(bào)的TTL被設(shè)置為1,這將使多播數(shù)據(jù)報(bào)僅局限在同一子網(wǎng)內(nèi)傳送 。更大的TTL值能被多播路由器轉(zhuǎn)發(fā) 。
回顧6 . 2節(jié),對(duì)發(fā)往一個(gè)多播地址的數(shù)據(jù)報(bào)從不會(huì)產(chǎn)生ICMP差錯(cuò) 。當(dāng)TTL值為0時(shí),多播路由器也不產(chǎn)生ICMP“超時(shí)”差錯(cuò) 。
在正常情況下,用戶進(jìn)程不關(guān)心傳出數(shù)據(jù)報(bào)的TTL 。然而,一個(gè)例外是Traceroute程序(第8章),它主要依據(jù)設(shè)置TTL值來完成 。既然多播應(yīng)用必須能夠設(shè)置要傳送數(shù)據(jù)報(bào)的TTL值,這意味著程序設(shè)計(jì)接口必須為用戶進(jìn)程提供這種能力 。
通過增加TTL值的方法,一個(gè)應(yīng)用程序可實(shí)現(xiàn)對(duì)一個(gè)特定服務(wù)器的擴(kuò)展環(huán)搜索(eXPandingring search) 。第一個(gè)多播數(shù)據(jù)報(bào)以TTL等于1發(fā)送 。假如沒有響應(yīng),就嘗試將TTL設(shè)置為2,然后3,等等 。在這種方式下,該應(yīng)用能找到以跳數(shù)來度量的最近的服務(wù)器 。
從224.0.0.0到224.0.0.255的非凡地址空間是打算用于多播范圍不超過1跳的應(yīng)用 。不管TTL值是多少,多播路由器均不轉(zhuǎn)發(fā)目的地址為這些地址中的任何一個(gè)地址的數(shù)據(jù)報(bào) 。
13.3.5 所有主機(jī)組
在圖1 3 - 3中,我們看到了路由器的IGMP查詢被送到目的IP地址224.0.0.1 。該地址被稱為所有主機(jī)組地址 。它涉及在一個(gè)物理網(wǎng)絡(luò)中的所有具備多播能力的主機(jī)和路由器 。當(dāng)接口初始化后,所有具備多播能力接口上的主機(jī)均自動(dòng)加入這個(gè)多播組 。這個(gè)組的成員無需發(fā)送IGMP報(bào)告 。
13.4 一個(gè)例子
現(xiàn)在我們已經(jīng)了解了一些IP多播的細(xì)節(jié),再來看看所包含的信息 。我們使sun主機(jī)能夠支持多播,并將采用一些多播軟件所提供的測(cè)試程序來觀察具體的過程 。
首先,采用一個(gè)經(jīng)過修改的netstat命令來報(bào)告每個(gè)接口上的多播組成員情況(在3.9節(jié)顯示了netstat-ni命令的輸出結(jié)果) 。在下面的輸出中,用黑體表示有關(guān)的多播組 。
(點(diǎn)擊查看原圖)
其中, - n參數(shù)將以數(shù)字形式顯示IP地址(而不是按名字來顯示它們),- i參數(shù)將顯示接口的統(tǒng)計(jì)結(jié)果,- a參數(shù)將顯示所有配置的接口 。
推薦閱讀
- 肉羊四季放牧管理及注意事項(xiàng)
- 因特網(wǎng)子網(wǎng)
- 獵豹清理大師如何管理系統(tǒng)進(jìn)程
- 基于TCP/IP網(wǎng)絡(luò)的管理結(jié)構(gòu)和標(biāo)記
- 意蜂飼養(yǎng)管理要點(diǎn)
- IOTP Internet開放貿(mào)易協(xié)議HTTP 補(bǔ)充
- 802.2分組在IPX網(wǎng)絡(luò)上傳輸?shù)臉?biāo)準(zhǔn)
- 實(shí)時(shí)傳輸協(xié)議管理信息庫(kù)
- Internet電子郵件保密增強(qiáng):Part1-消息編碼和鑒別過程
- HTTP 超文本傳輸協(xié)議狀態(tài)管理的應(yīng)用
