廣播和多播概述
發表于:2007-05-26來源:作者:點擊數:
標簽:
廣播和多播僅應用于UDP,它們對需將報文同時傳往多個接收者的應用來說十分重要。TCP是一個面向連接的 協議 ,它意味著分別運行于兩主機(由IP地址確定)內的兩進程(由端口號確定)間存在一條連接。 考慮包含多個主機的共享信道 網絡 如以太網。每個以太網幀
廣播和多播僅應用于UDP,它們對需將報文同時傳往多個接收者的應用來說十分重要。TCP是一個面向連接的
協議,它意味著分別運行于兩主機(由IP地址確定)內的兩進程(由端口號確定)間存在一條連接。
考慮包含多個主機的共享信道
網絡如以太網。每個以太網幀包含源主機和目的主機的以太網地址(48bit)。通常每個以太網幀僅發往單個目的主機,目的地址指明單個接收接口,因而稱為單播(unicast)。在這種方式下,任意兩個主機的通信不會干擾網內其他主機(可能引起爭奪共享信道的情況除外)。
然而,有時一個主機要向網上的所有其他主機發送幀,這就是廣播。通過ARP和RARP可以看到這一過程。多播(multicast)處于單播和廣播之間:幀僅傳送給屬于多播組的多個主機。
為了弄清廣播和多播,需要了解主機對由信道傳送過來幀的過濾過程。圖12-1說明了這一過程。
首先,網卡查看由信道傳送過來的幀,確定是否接收該幀,若接收后就將它傳往設備驅動程序。通常網卡僅接收那些目的地址為網卡物理地址或廣播地址的幀。另外,多數接口均被設置為混合模式,這種模式能接收每個幀的一個復制。作為一個例子,tcpdump使用這種模式。
目前,大多數的網卡經過配置都能接收目的地址為多播地址或某些子網多播地址的幀。對于以太網,當地址中最高字節的最低位設置為1時表示該地址是一個多播地址,下圖
協議棧各層對收到幀的過濾過程用十六進制可表示為01:00:00:00:00:00(以太網廣播地址ff:ff:ff:ff:ff:ff可看作是以太網多播地址的特例)。

如果網卡收到一個幀,這個幀將被傳送給設備驅動程序(如果幀檢驗和錯,網卡將丟棄該幀)。設備驅動程序將進行另外的幀過濾。首先,幀類型中必須指定要使用的
協議(IP、ARP等等)。其次,進行多播過濾來檢測該主機是否屬于多播地址說明的多播組。
設備驅動程序隨后將數據幀傳送給下一層,比如,當幀類型指定為IP數據報時,就傳往IP層。IP根據IP地址中的源地址和目的地址進行更多的過濾檢測。如果正常,就將數據報傳送給下一層(如TCP或UDP)。
每次UDP收到由IP傳送來的數據報,就根據目的端口號,有時還有源端口號進行數據報過濾。如果當前沒有進程使用該目的端口號,就丟棄該數據報并產生一個ICMP不可達報文(TCP根據它的端口號作相似的過濾)。如果UDP數據報存在檢驗和錯,將被丟棄。
使用廣播的問題在于它增加了對廣播數據不感興趣主機的處理負荷。拿一個使用UDP廣播應用作為例子。如果網內有50個主機,但僅有20個參與該應用,每次這20個主機中的一個發送UDP廣播數據時,其余30個主機不得不處理這些廣播數據報。一直到UDP層,收到的UDP廣播數據報才會被丟棄。這30個主機丟棄UDP廣播數據報是因為這些主機沒有使用這個目的端口。
多播的出現減少了對應用不感興趣主機的處理負荷。使用多播,主機可加入一個或多個多播組。這樣,網卡將獲悉該主機屬于哪個多播組,然后僅接收主機所在多播組的那些多播幀。
原文轉自:http://www.kjueaiud.com
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|