单播、多播和广播详解
什么是單播、多播和廣播?
“單播”(Unicast)、“多播”(Multicast)和“廣播”(Broadcast)這三個(gè)術(shù)語(yǔ)都是用來(lái)描述網(wǎng)絡(luò)節(jié)點(diǎn)之間通訊方式的術(shù)語(yǔ)。那么這些術(shù)語(yǔ)究竟是什么意思?區(qū)別何在?且聽(tīng)下文分解。
——★單 播★——
網(wǎng)絡(luò)節(jié)點(diǎn)之間的通信就好像是人們之間的對(duì)話一樣。如果一個(gè)人對(duì)另外一個(gè)人說(shuō)話,那么用網(wǎng)絡(luò)技術(shù)的術(shù)語(yǔ)來(lái)描述就是“單播”,此時(shí)信息的接收和傳遞只在兩個(gè)節(jié)點(diǎn)之間進(jìn)行,參見(jiàn)圖1。
?
圖1 單播:一對(duì)一
單播在網(wǎng)絡(luò)中得到了廣泛的應(yīng)用,網(wǎng)絡(luò)上絕大部分的數(shù)據(jù)都是以單播的形式傳輸?shù)?#xff0c;只是一般網(wǎng)絡(luò)用戶不知道而已。例如,你在收發(fā)電子郵件、瀏覽網(wǎng)頁(yè)時(shí),必須與郵件服務(wù)器、Web服務(wù)器建立連接,此時(shí)使用的就是單播數(shù)據(jù)傳輸方式。但是通常使用“點(diǎn)對(duì)點(diǎn)通信”(Point to Point)代替“單播”,因?yàn)椤皢尾ァ币话闩c“多播”和“廣播”相對(duì)應(yīng)使用。
——★多 播★——
“多播”可以理解為一個(gè)人向多個(gè)人(但不是在場(chǎng)的所有人)說(shuō)話,這樣能夠提高通話的效率。如果你要通知特定的某些人同一件事情,但是又不想讓其他人知道,使用電話一個(gè)一個(gè)地通知就非常麻煩,而使用日常生活的大喇叭進(jìn)行廣播通知,就達(dá)不到只通知個(gè)別人的目的了,此時(shí)使用“多播”來(lái)實(shí)現(xiàn)就會(huì)非常方便快捷,但是現(xiàn)實(shí)生活中多播設(shè)備非常少。多播如圖2所示。
?
圖2 多播:一對(duì)多
“多播”也可以稱(chēng)為“組播”,在網(wǎng)絡(luò)技術(shù)的應(yīng)用并不是很多,網(wǎng)上視頻會(huì)議、網(wǎng)上視頻點(diǎn)播特別適合采用多播方式。因?yàn)槿绻捎脝尾シ绞?#xff0c;逐個(gè)節(jié)點(diǎn)傳輸,有多少個(gè)目標(biāo)節(jié)點(diǎn),就會(huì)有多少次傳送過(guò)程,這種方式顯然效率極低,是不可取的;如果采用不區(qū)分目標(biāo)、全部發(fā)送的廣播方式,雖然一次可以傳送完數(shù)據(jù),但是顯然達(dá)不到區(qū)分特定數(shù)據(jù)接收對(duì)象的目的。采用多播方式,既可以實(shí)現(xiàn)一次傳送所有目標(biāo)節(jié)點(diǎn)的數(shù)據(jù),也可以達(dá)到只對(duì)特定對(duì)象傳送數(shù)據(jù)的目的。
IP網(wǎng)絡(luò)的多播一般通過(guò)多播IP地址來(lái)實(shí)現(xiàn)。多播IP地址就是D類(lèi)IP地址,即224.0.0.0至239.255.255.255之間的IP地址。Windows 2000中的DHCP管理器支持多播IP地址的自動(dòng)分配。
——★廣 播★——
“廣播”可以理解為一個(gè)人通過(guò)廣播喇叭對(duì)在場(chǎng)的全體說(shuō)話,這樣做的好處是通話效率高,信息一下子就可以傳遞到全體,如圖3所示。
“廣播”在網(wǎng)絡(luò)中的應(yīng)用較多,如客戶機(jī)通過(guò)DHCP自動(dòng)獲得IP地址的過(guò)程就是通過(guò)廣播來(lái)實(shí)現(xiàn)的。但是同單播和多播相比,廣播幾乎占用了子網(wǎng)內(nèi)網(wǎng)絡(luò)的所有帶寬。拿開(kāi)會(huì)打一個(gè)比方吧,在會(huì)場(chǎng)上只能有一個(gè)人發(fā)言,想象一下如果所有的人同時(shí)都用麥克風(fēng)發(fā)言,那會(huì)場(chǎng)上就會(huì)亂成一鍋粥。
在網(wǎng)絡(luò)中不能長(zhǎng)時(shí)間出現(xiàn)大量的廣播包,否則就會(huì)出現(xiàn)所謂的“廣播風(fēng)暴”。廣播風(fēng)暴就是網(wǎng)絡(luò)長(zhǎng)時(shí)間被大量的廣播數(shù)據(jù)包所占用,正常的點(diǎn)對(duì)點(diǎn)通信無(wú)法正常進(jìn)行,外在表現(xiàn)為網(wǎng)絡(luò)速度奇慢無(wú)比。出現(xiàn)廣播風(fēng)暴的原因有很多,一塊有故障的網(wǎng)卡,就可能長(zhǎng)時(shí)間向網(wǎng)絡(luò)上發(fā)送廣播包而導(dǎo)致廣播風(fēng)暴。
?
圖3 廣播:一對(duì)全體
集線器由于其工作原理決定了不可能過(guò)濾廣播風(fēng)暴,一般的交換機(jī)也沒(méi)有這一功能,不過(guò)現(xiàn)在有的網(wǎng)絡(luò)交換機(jī)(如全向的QS系列交換機(jī))也有過(guò)濾廣播風(fēng)暴功能了,路由器本身就有隔離廣播風(fēng)暴的作用。
廣播風(fēng)暴不能完全杜絕,但是只能在同一子網(wǎng)內(nèi)傳播,就好像喇叭的聲音只能在同一會(huì)場(chǎng)內(nèi)傳播一樣,因此在由幾百臺(tái)甚至上千臺(tái)電腦構(gòu)成的大中型局域網(wǎng)中,一般進(jìn)行子網(wǎng)劃分,就像將一個(gè)大廳用墻壁隔離成許多小廳一樣,以達(dá)到隔離廣播風(fēng)暴的目的。
在IP網(wǎng)絡(luò)中,廣播地址用IP地址“255.255.255.255”來(lái)表示,這個(gè)IP地址代表同一子網(wǎng)內(nèi)所有的IP地址。
單播、多播和廣播是網(wǎng)絡(luò)技術(shù)的基礎(chǔ)性知識(shí),對(duì)網(wǎng)絡(luò)技術(shù)感興趣的讀者一定要搞懂喲!
?
單播”(Unicast)、“多播”(Multicast)和“廣播”(Broadcast)這三個(gè)術(shù)語(yǔ)都是用來(lái)描述網(wǎng)絡(luò)節(jié)點(diǎn)之間通訊方式的術(shù)語(yǔ)。那么這些術(shù)語(yǔ)究竟是什么意思?區(qū)別何在?.
1.單播:網(wǎng)絡(luò)節(jié)點(diǎn)之間的通信就好像是人們之間的對(duì)話一樣。如果一個(gè)人對(duì)另外一個(gè)人說(shuō)話,那么用網(wǎng)絡(luò)技術(shù)的術(shù)語(yǔ)來(lái)描述就是“單播”,此時(shí)信息的接收和傳遞只在兩個(gè)節(jié)點(diǎn)之間進(jìn)行。單播在網(wǎng)絡(luò)中得到了廣泛的應(yīng)用,網(wǎng)絡(luò)上絕大部分的數(shù)據(jù)都是以單播的形式傳輸?shù)?#xff0c;只是一般網(wǎng)絡(luò)用戶不知道而已。例如,你在收發(fā)電子郵件、瀏覽網(wǎng)頁(yè)時(shí),必須與郵件服務(wù)器、Web服務(wù)器建立連接,此時(shí)使用的就是單播數(shù)據(jù)傳輸方式。但是通常使用“點(diǎn)對(duì)點(diǎn)通信”(Point to Point)代替“單播”,因?yàn)椤皢尾ァ币话闩c“多播”和“廣播”相對(duì)應(yīng)使用。
2.多播:“多播”也可以稱(chēng)為“組播”,在網(wǎng)絡(luò)技術(shù)的應(yīng)用并不是很多,網(wǎng)上視頻會(huì)議、網(wǎng)上視頻點(diǎn)播特別適合采用多播方式。因?yàn)槿绻捎脝尾シ绞?#xff0c;逐個(gè)節(jié)點(diǎn)傳輸,有多少個(gè)目標(biāo)節(jié)點(diǎn),就會(huì)有多少次傳送過(guò)程,這種方式顯然效率極低,是不可取的;如果采用不區(qū)分目標(biāo)、全部發(fā)送的廣播方式,雖然一次可以傳送完數(shù)據(jù),但是顯然達(dá)不到區(qū)分特定數(shù)據(jù)接收對(duì)象的目的。采用多播方式,既可以實(shí)現(xiàn)一次傳送所有目標(biāo)節(jié)點(diǎn)的數(shù)據(jù),也可以達(dá)到只對(duì)特定對(duì)象傳送數(shù)據(jù)的目的。 IP網(wǎng)絡(luò)的多播一般通過(guò)多播IP地址來(lái)實(shí)現(xiàn)。多播IP地址就是D類(lèi)IP地址,即224.0.0.0至239.255.255.255之間的IP地址。Windows 2000中的DHCP管理器支持多播IP地址的自動(dòng)分配。
3.廣播:“廣播”在網(wǎng)絡(luò)中的應(yīng)用較多,如客戶機(jī)通過(guò)DHCP自動(dòng)獲得IP地址的過(guò)程就是通過(guò)廣播來(lái)實(shí)現(xiàn)的。但是同單播和多播相比,廣播幾乎占用了子網(wǎng)內(nèi)網(wǎng)絡(luò)的所有帶寬。拿開(kāi)會(huì)打一個(gè)比方吧,在會(huì)場(chǎng)上只能有一個(gè)人發(fā)言,想象一下如果所有的人同時(shí)都用麥克風(fēng)發(fā)言,那會(huì)場(chǎng)上就會(huì)亂成一鍋粥。集線器由于其工作原理決定了不可能過(guò)濾廣播風(fēng)暴,一般的交換機(jī)也沒(méi)有這一功能,不過(guò)現(xiàn)在有的網(wǎng)絡(luò)交換機(jī)(如全向的QS系列交換機(jī))也有過(guò)濾廣播風(fēng)暴功能了,路由器本身就有隔離廣播風(fēng)暴的作用。 廣播風(fēng)暴不能完全杜絕,但是只能在同一子網(wǎng)內(nèi)傳播,就好像喇叭的聲音只能在同一會(huì)場(chǎng)內(nèi)傳播一樣,因此在由幾百臺(tái)甚至上千臺(tái)電腦構(gòu)成的大中型局域網(wǎng)中,一般進(jìn)行子網(wǎng)劃分,就像將一個(gè)大廳用墻壁隔離成許多小廳一樣,以達(dá)到隔離廣播風(fēng)暴的目的。 在IP網(wǎng)絡(luò)中,廣播地址用IP地址“255.255.255.255”來(lái)表示,這個(gè)IP地址代表同一子網(wǎng)內(nèi)所有的IP地址。
?
當(dāng)前的網(wǎng)絡(luò)中有三種通訊模式:單播、廣播、組播(多播),其中的組播出現(xiàn)時(shí)間最晚但同時(shí)具備單播和廣播的優(yōu)點(diǎn),最具有發(fā)展前景。
一、單播:
主機(jī)之間“一對(duì)一”的通訊模式,網(wǎng)絡(luò)中的交換機(jī)和路由器對(duì)數(shù)據(jù)只進(jìn)行轉(zhuǎn)發(fā)不進(jìn)行復(fù)制。如果10個(gè)客戶機(jī)需要相同的數(shù)據(jù),則服務(wù)器需要逐一傳送,重復(fù)10次相同的工作。但由于其能夠針對(duì)每個(gè)客戶的及時(shí)響應(yīng),所以現(xiàn)在的網(wǎng)頁(yè)瀏覽全部都是采用IP單播協(xié)議。網(wǎng)絡(luò)中的路由器和交換機(jī)根據(jù)其目標(biāo)地址選擇傳輸路徑,將 IP單播數(shù)據(jù)傳送到其指定的目的地。
單播的優(yōu)點(diǎn):
1. 服務(wù)器及時(shí)響應(yīng)客戶機(jī)的請(qǐng)求
2. 服務(wù)器針對(duì)每個(gè)客戶不通的請(qǐng)求發(fā)送不通的數(shù)據(jù),容易實(shí)現(xiàn)個(gè)性化服務(wù)。
單播的缺點(diǎn):
1. 服務(wù)器針對(duì)每個(gè)客戶機(jī)發(fā)送數(shù)據(jù)流,服務(wù)器流量=客戶機(jī)數(shù)量×客戶機(jī)流量;在客戶數(shù)量大、每個(gè)客戶機(jī)流量大的流媒體應(yīng)用中服務(wù)器不堪重負(fù)。
2. 現(xiàn)有的網(wǎng)絡(luò)帶寬是金字塔結(jié)構(gòu),城際省際主干帶寬僅僅相當(dāng)于其所有用戶帶寬之和的5%。如果全部使用單播協(xié)議,將造成網(wǎng)絡(luò)主干不堪重負(fù)。現(xiàn)在的P2P應(yīng)用就已經(jīng)使主干經(jīng)常阻塞,只要有5%的客戶在全速使用網(wǎng)絡(luò),其他人就不要玩了。而將主干擴(kuò)展20倍幾乎是不可能。
二、 廣播:
主機(jī)之間“一對(duì)所有”的通訊模式,網(wǎng)絡(luò)對(duì)其中每一臺(tái)主機(jī)發(fā)出的信號(hào)都進(jìn)行無(wú)條件復(fù)制并轉(zhuǎn)發(fā),所有主機(jī)都可以接收到所有信息(不管你是否需要),由于其不用路徑選擇,所以其網(wǎng)絡(luò)成本可以很低廉。有線電視網(wǎng)就是典型的廣播型網(wǎng)絡(luò),我們的電視機(jī)實(shí)際上是接受到所有頻道的信號(hào),但只將一個(gè)頻道的信號(hào)還原成畫(huà)面。在數(shù)據(jù)網(wǎng)絡(luò)中也允許廣播的存在,但其被限制在二層交換機(jī)的局域網(wǎng)范圍內(nèi),禁止廣播數(shù)據(jù)穿過(guò)路由器,防止廣播數(shù)據(jù)影響大面積的主機(jī)。
廣播的優(yōu)點(diǎn):
1. 網(wǎng)絡(luò)設(shè)備簡(jiǎn)單,維護(hù)簡(jiǎn)單,布網(wǎng)成本低廉
2.?由于服務(wù)器不用向每個(gè)客戶機(jī)單獨(dú)發(fā)送數(shù)據(jù),所以服務(wù)器流量負(fù)載極低。
廣播的缺點(diǎn):
1.無(wú)法針對(duì)每個(gè)客戶的要求和時(shí)間及時(shí)提供個(gè)性化服務(wù)。
2. 網(wǎng)絡(luò)允許服務(wù)器提供數(shù)據(jù)的帶寬有限,客戶端的最大帶寬=服務(wù)總帶寬。例如有線電視的客戶端的線路支持100個(gè)頻道(如果采用數(shù)字壓縮技術(shù),理論上可以提供 500個(gè)頻道),即使服務(wù)商有更大的財(cái)力配置更多的發(fā)送設(shè)備、改成光纖主干,也無(wú)法超過(guò)此極限。也就是說(shuō)無(wú)法向眾多客戶提供更多樣化、更加個(gè)性化的服務(wù)。
3.?廣播禁止在Internet寬帶網(wǎng)上傳輸。
三、組播:
主機(jī)之間“一對(duì)一組”的通訊模式,也就是加入了同一個(gè)組的主機(jī)可以接受到此組內(nèi)的所有數(shù)據(jù),網(wǎng)絡(luò)中的交換機(jī)和路由器只向有需求者復(fù)制并轉(zhuǎn)發(fā)其所需數(shù)據(jù)。主機(jī)可以向路由器請(qǐng)求加入或退出某個(gè)組,網(wǎng)絡(luò)中的路由器和交換機(jī)有選擇的復(fù)制并傳輸數(shù)據(jù),即只將組內(nèi)數(shù)據(jù)傳輸給那些加入組的主機(jī)。這樣既能一次將數(shù)據(jù)傳輸給多個(gè)有需要(加入組)的主機(jī),又能保證不影響其他不需要(未加入組)的主機(jī)的其他通訊。
組播的優(yōu)點(diǎn):
1. 需要相同數(shù)據(jù)流的客戶端加入相同的組共享一條數(shù)據(jù)流,節(jié)省了服務(wù)器的負(fù)載。具備廣播所具備的優(yōu)點(diǎn)。
2. 由于組播協(xié)議是根據(jù)接受者的需要對(duì)數(shù)據(jù)流進(jìn)行復(fù)制轉(zhuǎn)發(fā),所以服務(wù)端的服務(wù)總帶寬不受客戶接入端帶寬的限制。IP協(xié)議允許有2億6千多萬(wàn)個(gè)(268435456)組播,所以其提供的服務(wù)可以非常豐富。
3. 此協(xié)議和單播協(xié)議一樣允許在Internet寬帶網(wǎng)上傳輸。
組播的缺點(diǎn):
1.與單播協(xié)議相比沒(méi)有糾錯(cuò)機(jī)制,發(fā)生丟包錯(cuò)包后難以彌補(bǔ),但可以通過(guò)一定的容錯(cuò)機(jī)制和QOS加以彌補(bǔ)。
2.現(xiàn)行網(wǎng)絡(luò)雖然都支持組播的傳輸,但在客戶認(rèn)證、QOS等方面還需要完善,這些缺點(diǎn)在理論上都有成熟的解決方案,只是需要逐步推廣應(yīng)用到現(xiàn)存網(wǎng)絡(luò)當(dāng)中
?
??????? 二層交換機(jī)是數(shù)據(jù)鏈路層的設(shè)備,它能夠讀取數(shù)據(jù)包中的MAC地址信息并根據(jù)MAC地址來(lái)進(jìn)行交換。交換機(jī)內(nèi)部有一個(gè)地址表,這個(gè)地址表標(biāo)明了MAC地址和交換機(jī)端口的對(duì)應(yīng)關(guān)系.二層交換機(jī)對(duì)廣播包是不做限制的,把廣播包復(fù)制到所有端口上。
?????廣播分二層廣播和三層廣播,二層廣播是FFFF.FFFF.FFFF(MAC地址),二層交換機(jī)遇到這種包就會(huì)泛洪到所有同VLAN的端口,不會(huì)過(guò)濾掉,因?yàn)槿绻咏粨Q機(jī)過(guò)濾這種包,arp廣播怎么正常工作呢?沒(méi)有arp,同網(wǎng)段的PC如何通信呢?路由器可以過(guò)濾二層廣播是因?yàn)槁酚善魇侨龑釉O(shè)備,如果路由器不過(guò)濾這種包,任何人發(fā)起的二層廣播包就會(huì)到達(dá)Internet的整個(gè)范圍,這樣還要路由器做什么呢?路由器就是為了劃分廣播域用的阿。
???? 對(duì)于三層廣播還有本地廣播255.255.255.255和特定子網(wǎng)廣播比如192.168.1.255/24之分,255.255.255.255這種本地廣播是肯定沒(méi)發(fā)跨越路由器的,因?yàn)橐坏┻@種廣播能跨越路由器的話,同樣任何人發(fā)起的這種廣播就會(huì)跑到Internet的任何角落。然而對(duì)于特定子網(wǎng)的廣播是可以配置為允許跨路由器或者不允許跨路由器的,如果允許的話,我就可以跨越路由器對(duì)特定的子網(wǎng)發(fā)起三層廣播。通常不要允許這類(lèi)廣播,因?yàn)槟阋坏┰试S了很容易造成icmp sumrf攻擊的。
???交換機(jī)或是路由器的復(fù)制功能猜想是:首先接收到數(shù)據(jù),進(jìn)行處理,再進(jìn)行相應(yīng)接口的轉(zhuǎn)發(fā),(存儲(chǔ)一份轉(zhuǎn)發(fā)多份即為復(fù)制)
?
三層交換機(jī)接收到數(shù)據(jù)的處理流程:
?
? 使用IP的設(shè)備A------------------------三層交換機(jī)------------------------使用IP的設(shè)備B
比如A要給B發(fā)送數(shù)據(jù),已知目的IP,那么A就用子網(wǎng)掩碼取得網(wǎng)絡(luò)地址,判斷目的IP是否與自己在同一網(wǎng)段。
如果在同一網(wǎng)段,但不知道轉(zhuǎn)發(fā)數(shù)據(jù)所需的MAC地址,A就發(fā)送一個(gè)ARP請(qǐng)求,B返回其MAC地址,A用此MAC封裝數(shù)據(jù)包并發(fā)送給交換機(jī),交換機(jī)起用二層交換模塊,查找MAC地址表,將數(shù)據(jù)包轉(zhuǎn)發(fā)到相應(yīng)的端口。
如果目的IP地址顯示不是同一網(wǎng)段的,那么A要實(shí)現(xiàn)和B的通訊,在流緩存條目中沒(méi)有對(duì)應(yīng)MAC地址條目,就將第一個(gè)正常數(shù)據(jù)包發(fā)送向一個(gè)缺省網(wǎng)關(guān),這個(gè)缺省網(wǎng)關(guān)一般在操作系統(tǒng)中已經(jīng)設(shè)好,對(duì)應(yīng)第三層路由模塊,所以可見(jiàn)對(duì)于不是同一子網(wǎng)的數(shù)據(jù),最先在MAC表中放的是缺省網(wǎng)關(guān)的MAC地址;然后就由三層模塊接收到此數(shù)據(jù)包,查詢路由表以確定到達(dá)B的路由,將構(gòu)造一個(gè)新的幀頭,其中以缺省網(wǎng)關(guān)的MAC地址為源MAC地址,以主機(jī)B的MAC地址為目的MAC地址。通過(guò)一定的識(shí)別觸發(fā)機(jī)制,確立主機(jī)A與B的MAC地址及轉(zhuǎn)發(fā)端口的對(duì)應(yīng)關(guān)系,并記錄進(jìn)流緩存條目表,以后的A到B的數(shù)據(jù),就直接交由二層交換模塊完成。這就通常所說(shuō)的一次路由多次轉(zhuǎn)發(fā)。
表面上看,第三層交換機(jī)是第二層交換器與路由器的合二而一,然而這種結(jié)合并非簡(jiǎn)單的物理結(jié)合,而是各取所長(zhǎng)的邏輯結(jié)合。其重要表現(xiàn)是,當(dāng)某一信息源的第一個(gè)數(shù)據(jù)流進(jìn)行第三層交換后,其中的路由系統(tǒng)將會(huì)產(chǎn)生一個(gè)MAC地址與IP地址的映射表,并將該表存儲(chǔ)起來(lái),當(dāng)同一信息源的后續(xù)數(shù)據(jù)流再次進(jìn)入交換環(huán)境時(shí),交換機(jī)將根據(jù)第一次產(chǎn)生并保存的地址映射表,直接從第二層由源地址傳輸?shù)侥康牡刂?#xff0c;不再經(jīng)過(guò)第三路由系統(tǒng)處理,從而消除了路由選擇時(shí)造成的網(wǎng)絡(luò)延遲,提高了數(shù)據(jù)包的轉(zhuǎn)發(fā)效率,解決了網(wǎng)間傳輸信息時(shí)路由產(chǎn)生的速率瓶頸。所以說(shuō),第三層交換機(jī)既可完成第二層交換機(jī)的端口交換功能,又可完成部分路由器的路由功能。即第三層交換機(jī)的交換機(jī)方案,實(shí)際上是一個(gè)能夠支持多層次動(dòng)態(tài)集成的解決方案,雖然這種多層次動(dòng)態(tài)集成功能在某些程度上也能由傳統(tǒng)路由器和第二層交換機(jī)搭載完成,但這種搭載方案與采用三層交換機(jī)相比,不僅需要更多的設(shè)備配置、占用更大的空間、設(shè)計(jì)更多的布線和花費(fèi)更高的成本,而且數(shù)據(jù)傳輸性能也要差得多,因?yàn)樵诤A繑?shù)據(jù)傳輸中,搭載方案中的路由器無(wú)法克服路由傳輸速率瓶頸。
?
????? ?主機(jī)開(kāi)機(jī)組播接收程序時(shí),會(huì)向TCP/IP協(xié)議注冊(cè)一個(gè)組播IP地址,所以當(dāng)收到目的IP地址是這個(gè)組播組的地址時(shí),主機(jī)就會(huì)接收。??同時(shí)它又向工作在數(shù)據(jù)鏈路層的網(wǎng)卡也注冊(cè)了一個(gè)二層MAC地址,這樣的話,當(dāng)主機(jī)接收到一個(gè)組播報(bào)文的時(shí)候,就可以
?直接現(xiàn)在網(wǎng)卡上判斷是否是自己所需要的組播報(bào)文。
?IGMP:Internet組管理協(xié)議,用于主機(jī)與路由器之間交互信息的一種協(xié)議。所有要加入組播組的主機(jī)和所有連接到有組播主機(jī)的子網(wǎng)中?的路由器都必須使用IGMP。IGMP消息不能被路由轉(zhuǎn)發(fā),只能限制在本地網(wǎng)段內(nèi)部。IGMP的TTL參數(shù)永遠(yuǎn)是1,保證了IGMP的使用
?范圍。
??????組播路由協(xié)議的主要功能是將組播數(shù)據(jù)從一臺(tái)路由器跨越一個(gè)網(wǎng)絡(luò)傳送到另外一臺(tái)路由器上。
?組播路由協(xié)議分為域內(nèi)組播路由協(xié)議及域間組播路由協(xié)議。
??????http://wenku.baidu.com/view/b30740553c1ec5da50e27015.html
?
?
組播的轉(zhuǎn)發(fā)技術(shù):
在單播里面,數(shù)據(jù)轉(zhuǎn)發(fā)的依據(jù)是數(shù)據(jù)包的目的地址,這個(gè)目的地址明確表示了一個(gè)主機(jī)的位置,但是組播數(shù)據(jù)包并不是基于ip數(shù)據(jù)包的目的地址的,它沒(méi)有唯一性,因此它需要采用一種叫RTF(Reverse Path Forwarding逆向路徑轉(zhuǎn)發(fā))的方式來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)包,它是針對(duì)轉(zhuǎn)發(fā)的時(shí)候做檢查,這個(gè)檢查會(huì)決定是否轉(zhuǎn)發(fā)還是丟棄輸入的信息包,那么它的檢查過(guò)程是什么樣的呢?
首先要了解的是,RPF跟單播協(xié)議密切相關(guān),所謂的逆向路徑轉(zhuǎn)發(fā)是基于察看有關(guān)組播源在什么地方,組播源是一個(gè)IP的單播地址,因此呢,路由器檢查到達(dá)的數(shù)據(jù)包的源地址,然后查看路由表,看這個(gè)源地址可以通過(guò)哪個(gè)接口可達(dá),如果信息包是在可返回原站點(diǎn)的接口上到達(dá),那就說(shuō)明這個(gè)組播數(shù)據(jù)流是從正確的方向過(guò)來(lái)的,則RPF檢查成功,信息包被轉(zhuǎn)發(fā),但如果說(shuō)這個(gè)數(shù)據(jù)包的原地址不是從這個(gè)接口到達(dá)的,那就說(shuō)明這個(gè)組播數(shù)據(jù)包不是從最佳路經(jīng)過(guò)來(lái)的,應(yīng)該丟棄該數(shù)據(jù)包。
因?yàn)镽PF是要結(jié)合單播路由表的,因此在構(gòu)件組播之前應(yīng)該事先完成有關(guān)IP單播路由表的實(shí)現(xiàn)。
無(wú)組播功能交換機(jī)轉(zhuǎn)發(fā)組播數(shù)據(jù)包:
對(duì)一些網(wǎng)橋,一些二層設(shè)備,他沒(méi)辦法實(shí)現(xiàn)路由,也沒(méi)辦法實(shí)現(xiàn)RPF,對(duì)于一個(gè)不能識(shí)別組播數(shù)據(jù)流的二層交換機(jī)來(lái)說(shuō),它收到一個(gè)組播數(shù)據(jù)包會(huì)按照廣播數(shù)據(jù)包得處理方法處理。
二層交換機(jī)的組播功能實(shí)現(xiàn):
因?yàn)?span style="color:rgb(255,0,0)">無(wú)組播功能的交換機(jī)在轉(zhuǎn)發(fā)組播數(shù)據(jù)包的時(shí)候是跟廣播一樣,這樣就達(dá)不到組播的目的了。因此,現(xiàn)在很多二層交換機(jī)增加了組播功能,增加了組播功能后就可以識(shí)別組播流,并且可以針對(duì)組播流來(lái)建立有關(guān)組播地址和端口的映射。
能識(shí)別組播的交換機(jī)在它的轉(zhuǎn)發(fā)表里面,都會(huì)增加一項(xiàng)MAC地址是組播地址,然后端口包含以希望接收組播數(shù)據(jù)的主機(jī)所相連的所有端口。
總結(jié)
以上是生活随笔為你收集整理的单播、多播和广播详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Windows 32位程序在64位操作系
- 下一篇: http、TCP/IP协议与socket