<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
1. 概述
單播(unicast):每一個以太網幀包含源主機和目的主機的以太網地址(48bit)。每個以太網幀僅發往單個目的的主機,目的地址指明單個接收接口,因而稱爲單播。在該方式下任意兩個主機的通訊不會干擾網內其它主機。
廣播(broadcast):一個主機向網上的所有主機發送幀這就是廣播。
多播(multicast):處於廣播和單播之間的就是多播,主機僅傳鬆給屬於多播組的多個主機。
廣播和多播僅應用與UDP。
使用廣播其增加了對廣播數據不感興趣主機的處理負荷,而使用多播則減少了對應用不感興趣主機的處理負荷。
2. 廣播
受限的廣播地址爲:255.255.255.255,該地址用於主機配置過程中IP數據報的目的地址。任何情況下路由器都不轉發目的地址爲受限的管波地址的數據報。
指向網絡的廣播地址:(A類)netid.255.255.255,其中netid爲A類網絡的網絡號。指向網絡的廣播路由器必須轉發。
指向子網的廣播:指向子網的廣播地址爲主機號爲全1且有特定子網號的地址。(需要了解子網掩碼)
3. 多播
多播提供兩類服務:
(1)、向多個目的地址傳送數據;
(2)、客戶對服務器的請求;
多播組地址:
即D類IP地址的格式,如下圖:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
多播組地址包括1110的最高4bit和多播組號。它們通常表示爲點分十進制數,範圍從224.0.0.0到239.255.255.255。能夠接收發往一個特定多播組地址數據的主機集合稱爲主機組(host group)。一個主機組可跨越多個網絡。主機組中成員可隨時加入或離開主機組。主機組中對主機的數量沒有限制,同時不屬於某一主機組的主機可以向該組發送信息。
多播組地址到以太網地址的轉換:
IANA擁有一個以太網地址塊,即高位24bit爲00:00:5e(十六進制表示),這意味着該地址塊所擁有的地址範圍從00:00:5e:00:00:00到00:00:5e:ff:ff:ff。IANA將其中的一半分配爲多播地址。爲了指明一個多播地址,任何一個以太網地址的首字節必須是01,這意味着與IP多播相對應的以太網地址範圍從01:00:5e:00:00:00到01:00:5e:7f:ff:ff。多播組地址到以太網地址的轉換如下圖。
這種地址分配將使以太網多播地址中的23bit與IP多播組號對應起來,通過將多播組號中的低位23bit映射到以太網地址中的低位23bit實現。
由於多播組號中的最高5bit在映射過程中被忽略,因此每個以太網多播地址對應的多播組是不唯一的。
既然地址映射是不唯一的,那麼設備驅動程序或IP層就必須對數據報進行過濾。
單個物理網絡的多播是簡單的。多播進程將目的IP地址指明爲多播地址,設備驅動程序將它轉換爲相應的以太網地址,然後把數據發送出去。這些接收進程必須通知它們的IP層,它們想接收的發往給定多播地址的數據報,並且設備驅動程序必須能夠接收這些多播幀。這個過程就是“加入一個多播組”(使用“接收進程”複數形式的原因在於對一確定的多播信息,在同一主機或多個主機上存在多個接收者,這也是爲什麼要首先使用多播的原因)。當一個主機收到多播數據報時,它必須向屬於那個多播組的每個進程均傳送一個複製。這和單個進程收到單播UDP數據報的UDP不同。使用多播,一個主機上可能存在多個屬於同一多播組的進程。