多播 組播 原理分析

2021-07-30 06:20:27 字數 1976 閱讀 5045

為什麼要使用多播:

網絡卡從網路上接收到目標實體地址對應的所有bit位都為1的資料報時,會收到這條訊息並將其上傳給驅動程式,網絡卡的這種工作模式稱為廣播模式,網絡卡的預設工作模式包含直接模式和廣播模式。利用這一特性,udp(使用者資料報協議)還提供了向多個目標位址傳送廣播資料報的能力。廣播資料即資料從乙個工作站上發出,

只要將資料報的目標實體地址對應的所有bit位都設為1,區域網內的所有工作站網絡卡都會收到這條訊息並將其上傳給驅動程式。這一特徵適用於無連線協議,因為區域網(lan)上的所有機器都可獲得並處理廣播訊息。使用廣播訊息的不利之處是每台機器都必須對該訊息進行處理。比如,一使用者在lan上廣播一條訊息,每台機器上的網絡卡都會收到這條訊息,並把它上傳到網路堆疊(驅動程式完成),然後,堆疊將這條訊息的目標埠號與該主機上執行的所有的網路應用程式中所指定的埠號依次比較,看它們是否相等,從而決定哪個網路應用程式應該接收這條訊息。通常,這個區域網上的多數機器對該訊息都不感興趣,草草地一棄了之。但是,各台機器在驅動程式中都仍需花時間來處理這個資料報,看是否有應用程式對它感興趣。結果,高廣播通訊流使lan上的機器陷入困境,因為每個工作站都要檢查這個資料報。

有一些特殊的實體地址,他們不能作為任何網絡卡的實際實體地址使用,但網絡卡能夠設定為不過濾從網路上接收到的乙個以這些實體地址中的乙個和若干個作為目的實體地址的幀。這些實體地址稱為多播傳送位址,

網絡卡的這種工作模式稱為多播傳送模式。 「

多播」亦稱「多點傳送」(multicast),也就是一台主機發出的包可以同時被其他多個有資格的主機接收,這台主機和那些有資格的主機就形成了乙個組,他們在組內的通訊是廣播式的。

多播的工作原理是,

將乙個網路上的某些主機的網絡卡設定成多播傳送工作模式,指定其不過濾以某乙個多播傳送位址作為目的實體地址的資料幀,這樣,這些主機的驅動程式中就可以同時接收以該多播傳送位址作為目的實體地址的資料幀,而其他主機的驅動程式卻接收不到,這些主機在邏輯上便形成了乙個「多播」組。採用這種技術,相對廣播而言,可有效減輕網路上「多播」組之外的其他主機的負擔,因為傳送給「多播」組的資料不會被傳送到它們的驅動程式中去處理,避免資源的無謂浪費。最開始的時候,設計這一技術的目的是彌補「廣播」(broadcasting)通訊的不足。

多播有兩種實現方式:

1.設定網絡卡為混雜模式,然後通過驅動對收到的所有資料報進行過濾,留下指定的多播位址的資料報。

這種方式效率比較低,適合不支援多播模式的網絡卡。

2.設定網絡卡為多播模式,網絡卡本身有多播過濾器,網絡卡自己能夠判斷進入的資料報是否屬於多播資料。

由於多播過濾是由硬體完成的,所以效率比較高。

網絡卡只接收目的位址為網絡卡自身實體地址和多播位址(廣播是多播的一種)的幀。對於乙太網,多播的位址的最高位元組的最低位為1(01:00:00:00:00:00)

對於ip多播,ip多播位址會轉換成乙太網多播位址,乙個乙太網多播位址可以對應多個ip多播位址。

因此,裝置驅動程式或ip層必須對資料報進行過濾,因為網絡卡可能收到主機不想接收的多播資料幀。當網絡卡不提供足夠多播資料幀過濾功能時,就必須把網絡卡設定成「混雜模式」,由驅動檢查收到的資料幀是否為主機需要的。

也就是說多播的兩種實現模式,都需要由驅動程式參與過濾,只不過如果先由網絡卡過濾,可以減輕驅動程式的工作量。

多播位址(multicast address)是一組主機的標示符,它已經加入到乙個多播組中。在乙太網中,多播位址是乙個48位的標示符,命名了一組應該在這個網路中應用接收到乙個分組的站點。在ipv4中,它歷史上被叫做d類位址,一種型別的ip位址,它的範圍從224.0.0.0到239.255.255.255。d類位址用於組播。

broadcast address(廣播位址)是專門用於同時向網路中所有工作站進行傳送的乙個位址。在使用tcp/ip 協議的網路中,主機

標識段host id 為全1 的ip 位址為廣播位址,廣播的分組傳送給host id段所涉及的所有計算機。例如,對於10.1.1.0 (255.255.255.0 )網段,其廣播位址為10.1.1.255 (255 即為2 進製的11111111 ),當發出乙個目的位址為10.1.1.255 的分組(封包)時,它將被分發給該網段上的所有計算機。

多播 組播 原理分析

為什麼要使用多播 網絡卡從網路上接收到目標實體地址對應的所有bit位都為1的資料報時,會收到這條訊息並將其上傳給驅動程式,網絡卡的這種工作模式稱為廣播模式,網絡卡的預設工作模式包含直接模式和廣播模式。利用這一特性,udp 使用者資料報協議 還提供了向多個目標位址傳送廣播資料報的能力。廣播資料即資料從...

多播和組播

1.多播 多播 也可以稱為 組播 這樣的多播應用tcp 2.廣播 廣播 在網路中的應用較多,如客戶機通過dhcp自動獲得ip位址的過程就是通過廣播來實現的。但是同單播和多播相比,廣播幾乎占用了子網內網路的所有頻寬。拿開會打乙個比方吧,在會場上只能有乙個人發言,想象一下如果所有的人同時都用麥克風發言,...

winsock 多播(組播)

組播,就是有一組主機,乙個主機傳送資料,組內其他的主機都會收到。首先,根據上圖講述組播的原理 我們把路由器192.168.0.1埠也看做一台主機,這樣就有四台主機連線到交換機上。根據乙太網的原理,交換機不知道ip位址的存在,只知道mac位址。交換機會根據資料中的目的mac位址把資料報 到某個埠上,保...