7 廣播和多播,IGMP協議

2022-05-26 14:48:15 字數 2655 閱讀 1720

1.1.單播(unicast)

單播是說,對特定的主機進行資料傳送。例如給某乙個主機傳送ip資料報。這時候,資料鏈路層給出的資料頭裡面是非常具體的目的位址,對於乙太網來 說,就是具體網絡卡的mac位址(不是ff-ff-ff-ff-ff-ff,這是廣播位址)。現在的具有路由功能的主機應該可以將單播資料定向**,而目的主機的網絡卡可以過濾掉和自己mac位址不一致的資料。

1.2.廣播(broadcast)

廣播是主機針對某乙個網路上的所有主機傳送資料報。這個網路可能是網路,可能是子網,還可能是所有的子網。如果是網路,例如a類**的廣播就是 netid.255.255.255,如果是子網,對應的廣播位址是將子網的網路位址的主機位全部置1;如果是所有的子網(以b類ip位址為例)則是則是 netid.netid.255.255。廣播所用的mac位址ff-ff-ff-ff-ff-ff。網路內所有的主機都會收到這個廣播資料,網絡卡只要把 mac位址為ff-ff-ff-ff-ff-ff的資料交給核心就可以了。一般說來arp,或者路由協議rip應該是以廣播的形式播發的。

1.3.多播(multicast)

可以說廣播是多播的特例,多播就是給一組特定的主機(多播組)傳送資料,這樣,資料的播發範圍會小一些(實際上播發的範圍一點也沒有變小),多播的mac位址是最高位元組的低位為一,例 如01-00-00-00-00-00。多播組的位址是d類ip,規定是224.0.0.0-239.255.255.255。

*多播位址分類:

224.0.0.1   所有組播主機

224.0.0.2   所有組播路由器

224.0.0.4    drmrp路由器

224.0.0.5    所有ospf的路由器

224.0.0.6    ospf指派路由器

224.0.0.9    rpiv2路由器

224.0.0.10  eigrp路由器

224.0.0.13  pim路由器

224.0.0.22   igmpv3

224.0.0.25   rgmp

224.0.1.1      ntp網路時間協議

使用同乙份ip多播位址接收多播資料報的所有主機構成了乙個主機組(多播組),他們之間進行一對多的通訊。

多播ip位址和mac位址的對應關係如下:

與ip多播相對應的乙太網位址範圍從01:00:5e:00:00:00到01:00:5e:7f:ff:ff。

多播組的位址是d類ip,規定是224.0.0.0-239.255.255.255。

這種位址分配將使乙太網多播位址中的23bit與ip多播組號對應起來,通過將多播組號中的低位23bit對映到乙太網位址中的低位23bit實現,如下圖所示:

可以看到,ip位址和mac位址的對應不是一一對應的,主機還是要對多播資料進行過濾。

這些實驗並不是很複雜,我們只是要ping一下一般的ip和乙個廣播位址。首先我ping一下自己所在的子網的某一台主機:

reply from 192.168.11.1: bytes=32 time<1ms ttl=255

reply from 192.168.11.1: bytes=32 time<1ms ttl=255

reply from 192.168.11.1: bytes=32 time<1ms ttl=255

reply from 192.168.11.1: bytes=32 time=1ms ttl=255

可以看到,機器返回的是一台主機的回應結果,進而推測,如果我ping乙個廣播位址呢?結果如下

reply from 192.168.11.9: bytes=32 time=1ms ttl=255

reply from 192.168.11.174: bytes=32 time<1ms ttl=64

reply from 192.168.11.174: bytes=32 time<1ms ttl=64

reply from 192.168.11.174: bytes=32 time<1ms ttl=64

reply from 192.168.11.218: bytes=32 time<1ms ttl=64

reply from 192.168.11.174: bytes=32 time<1ms ttl=64

可以看到,ping返回了一些隨機的ip的結果,這些ip都是與主機在同一子網內的ip。我們可以看到,廣播實際上是給處於子網內的所有ip發出資料。

igmp的作用在於,讓其他所有需要知道自己處於哪個多播組的主機和路由器知道自己的狀態。一般多播路由器根本不需要知道某乙個多播組裡面有多少個主機,而只要知道自己的子網內還有沒有處於某個多播組的主機就可以了。只要某乙個多播組還有一台主機,多播路由器就會把資料傳輸出去,這樣,接受方就會通過網絡卡過濾功能來得到自己想要的資料。為了知道多播組的資訊,多播路由器需要定時的傳送igmp查詢,igmp報文封裝在ip資料報中,各個多播組裡面的主機要根據查詢來回覆自己的狀態。路由器來確定有幾個多播組,自己的**操作如何進行。

這種查詢回應資料報的ttl一般是1,資料報被限定在子網內,而且不產生icmp超時差錯。

廣播和多播與IGMP協議介紹

廣播和多播與igmp協議介紹 1.單播,多播,廣播的介紹 1.1.單播 unicast 單播是說,對特定的主機進行資料傳送。例如給某乙個主機傳送ip資料報。這時候,資料鏈路層給出的資料頭裡面是非常具體的目的位址,對於乙太網來 說,就是網絡卡的mac位址 不是ff ff ff ff ff ff這樣的位...

廣播和多播

1.1.單播 unicast 單播是說,對特定的主機進行資料傳送。例如給某乙個主機傳送ip資料報。這時候,資料鏈路層給出的資料頭裡面是非常具體的目的位址,對於乙太網來說,就是網絡卡的mac位址 不是ff ff ff ff ff ff這樣的位址 現在的具有路由功能的主機應該可以將單播資料定向 而目的主...

廣播和多播

廣播和多播僅應用於udp資料報,而tcp是面向連線的協議,它分別執行於兩主機 由ip位址確定 的兩程序 由埠號確定 間的一條連線,因而不可能使用廣播或者多播 主機對通道傳送過來的幀地過濾過程 1.網絡卡檢視由通道傳送過來的幀,確定是否接收該幀,如果接收就傳遞給裝置驅動程式 如果幀檢驗和出錯,網絡卡就...