TCP/IP筆記之多播與廣播


     三類IP地址:單播地址、廣播地址和多播地址。本文總結一下廣播和多播,廣播和多播僅應用於UDP。


單播、多播和廣播

    單播:通常每個以太網幀發往單個目的主機,任何兩個主機的通信不會干擾其他主機;

      多播:幀傳送給屬於多播組的多個主機;

      廣播:一個主機向網上所有的主機發送幀。

廣播

      四種廣播地址。受限的廣播:255.255.255.255,改地址用於主機配置過程IP數據報的目的地址,此時主機不知道它所在的網絡掩碼。任何情況下路由器都不轉發目的地址為受限廣播地址數據報。

      指向網絡的廣播:netid.255.255.255;

      指向子網的廣播:跟子網掩碼;

      指向所有子網的廣播地址:跟指向子網的廣播地址不一樣。

多播

    使用廣播的問題在於在增加了對廣播數據不感興趣主機的處理負荷。拿一個UDP廣播為例,網內有50個主機,可能只有20個主機參與,如果是廣播的話,其余30台主機就必須不得不處理這些廣播信息。

      主機對信道傳過來的幀過濾過程:(1)網卡查看信道傳過來的幀,確定是否接受該幀,若接受傳給驅動程序,通常網卡只接受那些目的地址為網卡物理地址或廣播地址的幀。 大多數網卡通過配置可接受多播幀。(2)設備驅動程序進行另外的幀過濾,檢查幀類型中指定的協議類型(IP,ARP,RARP);(3)多播過濾,檢測主 機是否屬於多播地址中說明的多播組;(4)網絡層對IP地址的源地址和目的地址過濾;(3)傳輸層對端口號進行過濾,即沒有相應的進程使用使用該端口丟棄 該幀,並產生一個ICMP不可達報文。

      D類地址中如下格式為多播地址:


能夠接收發往一個特定多播組地址數據的主機集合稱為主機組。一個主機組(host group)一個主機組可跨越多個網絡。主機的成員可隨時加入或離開主機組。主機組對主機的數量沒有限制,同時不屬於該主機組的成員也可以先該主機組發送 信息。一些多播地址被IANA確定為知名地址,它們被稱為永久主機組。224.0.0.1代表“該子網內的所有系統組”。

     多播地址向以太網地址的轉換:


     單個物理網絡的多播是簡單的。多播進程將目的 IP地址指明為多播地址,設備驅動程序將它轉換為相應的以太網地址,然后把數據發送出去。這些接收進程必須通知它們的 IP層,它們想接收的發往給定多播地址的數據報,並且設備驅動程序必須能夠接收這些多播幀。這個過程就是“加入一個多播組”(使用“接收進程”復數形式的 原因在於對一確定的多播信息,在同一主機或多個主機上存在多個接收者,這也是為什么要首先使用多播的原因)。當一個主機收到多播數據報時,它必須向屬於那個多播組的每個進程均傳送一個復制。這和單個進程收到單播UDP數據報的UDP不同。使用多播,一個主機上可能存在多個屬於同一多播組的進程。


IGMP

     Internet組管理協議( IGMP)。它讓一個物理網絡上的所有系統知道主機當前所在的多播組。IGMP封裝在IP數據報中發送。

     多播路由器使用IGMP報文來記錄與該路由器相連網絡中組成員的變化情況。使用規則如下:

   (1)當第一個進程加入一個組時,主機就發送一個 IGMP報告。如果一個主機的多個進程加入同一組,只發送一個IGMP報告。這個報告被發送到進程加入組所在的同一接口上。
   (2) 進程離開一個組時,主機不發送 IGMP報告,即便是組中的最后一個進程離開。主機知道在確定的組中已不再有組成員后,在隨后收到的 IGMP查詢中就不再發送報告報文。
   (3)多播路由器定時發送 IGMP查詢來了解是否還有任何主機包含有屬於多播組的進程。多播路由器必須向每個接口發送一個 IGMP查詢。因為路由器希望主機對它加入的每個多播組均發回一個報告,因此IGMP查詢報文中的組地址被設置為0。

   (4)主機通過發送 IGMP報告來響應一個 IGMP查詢,對每個至少還包含一個進程的組均要發回IGMP報告。

     多播路由器只關心組里面是否還有主機,而不關心組里有多少主機。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM