一、引言
在一開始的IP層介紹的時(shí)候就已經(jīng)提供了三種IP地址:單播地址,廣播地址,多播地址。對于這些通訊方式的理解是:單播地址是一對一的通訊,廣播是一對多的通訊,多播是一對多的通訊。多播是對一個(gè)特定的通訊主體集合的通訊。廣播與多播僅僅應(yīng)用于UDP協(xié)議。單播的典型方式是TCP協(xié)議。
二、廣播
有時(shí)一個(gè)主機(jī)要向網(wǎng)上的所有其他主機(jī)發(fā)送幀,這就是廣播。廣播有四種地址類型如下:
- 受限的廣播地址:255.255.255.255。該地址用于主機(jī)配置過程中IP數(shù)據(jù)包的目的地址,此時(shí),主機(jī)可能還不知道它所在網(wǎng)絡(luò)的網(wǎng)絡(luò)掩碼,甚至連它的IP地址也不知道。
- 指向網(wǎng)絡(luò)的廣播:主機(jī)號為全1的地址。
- 指向子網(wǎng)的廣播:主機(jī)號為全1且有特定子網(wǎng)號的地址。
- 指向所有子網(wǎng)的廣播:所有子網(wǎng)的廣播地址的子網(wǎng)號及主機(jī)號為全1。
三、多播
多播出現(xiàn)的原因是需要向多個(gè)目的地址傳送數(shù)據(jù)。目前,大多數(shù)的網(wǎng)卡經(jīng)過配置都能接收目的地址為多播地址或某些子網(wǎng)多播地址的幀。對于以太網(wǎng),當(dāng)?shù)刂分凶罡咦止?jié)的最低位設(shè)置為1時(shí)表示該地址是一個(gè)多播地址,用十六進(jìn)制可表示為 01:00:00:00:00:00(以太網(wǎng)廣播地址ff:ff:ff:ff:ff:ff可看作是以太網(wǎng)多播地址的特例)。
1. 多播組地址
多播的IP地址即D類IP地址,如圖1:

??不像其他三類IP地址(A、B、C),分配的28bit均用作多播組號而不再表示其他.多播的IP范圍為:從224.0.0.0到239.255.255.255。
??能夠接收發(fā)往一個(gè)特定多播組地址數(shù)據(jù)的主機(jī)集合稱為主機(jī)組 (host group)。一個(gè)主機(jī)組可跨越多個(gè)網(wǎng)絡(luò)。主機(jī)組中成員可隨時(shí)加入或離開主機(jī)組。主機(jī)組中對主機(jī)的數(shù)量沒有限制,同時(shí)不屬于某一主機(jī)組的主機(jī)可以向該組發(fā)送信息。
對于多播IP地址到多播物理地址(MAC)轉(zhuǎn)換如下:
- IANA擁有一個(gè)以太網(wǎng)地址塊,即高位24bit為00:00:5e(十六進(jìn)制表示),這意味著該地址塊所擁有的地址范圍從00:00:5e:00:00:00到00:00:5e:ff:ff:ff。IANA將其中的一半分配為多播地址。為了指明一個(gè)多播地址,任何一個(gè)以太網(wǎng)地址的首字節(jié)必須是 01,這意味著與IP多播相對應(yīng)的以太網(wǎng)地址范圍從 01:00:5e:00:00:00到01:00:5e:7f:ff:ff
- 這種地址分配將使以太網(wǎng)多播地址中的23bit與IP多播組號對應(yīng)起來,通過將多播組號中的低位23bit映射到以太網(wǎng)地址中的低位23bit實(shí)現(xiàn)。
-
由于多播組號中的最高 5 bit在映射過程中被忽略,因此每個(gè)以太網(wǎng)多播地址對應(yīng)的多播組是不唯一的。
圖2.多播IP與物理地址映射關(guān)系
單個(gè)物理網(wǎng)絡(luò)的多播是簡單的。多播進(jìn)程將目的 I P地址指明為多播地址,設(shè)備驅(qū)動程序?qū)⑺D(zhuǎn)換為相應(yīng)的以太網(wǎng)地址,然后把數(shù)據(jù)發(fā)送出去。
2.原理
“多播”亦稱“多點(diǎn)傳送”(multicast),也就是一臺主機(jī)發(fā)出的包可以同時(shí)被其他多個(gè)有資格的主機(jī)接收,這臺主機(jī)和那些有資格的主機(jī)就形成了一個(gè)組,他們在組內(nèi)的通信是廣播式的。多播的工作原理是,將一個(gè)網(wǎng)絡(luò)上的某些主機(jī)的網(wǎng)卡設(shè)置成多播傳送工作模式,指定其不過濾以某一個(gè)多播傳送地址作為目的物理地址的數(shù)據(jù)幀,這樣,這些主機(jī)的驅(qū)動程序中就可以同時(shí)接收以該多播傳送地址作為目的物理地址的數(shù)據(jù)幀,而其他主機(jī)的驅(qū)動程序卻接收不到,這些主機(jī)在邏輯上便形成了一個(gè)“多播”組。采用這種技術(shù),相對廣播而言,可有效減輕網(wǎng)絡(luò)上“多播”組之外的其他主機(jī)的負(fù)擔(dān),因?yàn)榘l(fā)送給“多播”組的數(shù)據(jù)不會被傳送到它們的驅(qū)動程序中去處理,避免資源的無謂浪費(fèi)。
3.IGMP協(xié)議
IGMP(Internet Group Management Protocol Internet組管理協(xié)議)用于管理網(wǎng)路協(xié)議多播組成員的一種通信協(xié)議。IP主機(jī)和相鄰的路由器利用IGMP來創(chuàng)建多播組的組成員。像ICMP用于單播連接一樣,IGMP也是IP多播說明的一個(gè)完整部分。 IGMP為互聯(lián)網(wǎng)協(xié)議的一種,屬于開放系統(tǒng)鏈接(OSI) 模塊的第三層協(xié)議,IP主機(jī)用它將主機(jī)的多點(diǎn)發(fā)送成員人數(shù)報(bào)告給臨近的多點(diǎn)發(fā)送路由器。

- 這是版本為1的IGMP
- IGMP類型:為1說明是由多播路由器發(fā)出的查詢報(bào)文,為 2說明是主機(jī)發(fā)出的報(bào)告報(bào)文;
- 校驗(yàn)和:同ICMP協(xié)議
都看到這里了,要不要掃二維碼關(guān)注一下微信公眾號林灣村龍貓。

