天天看點

TCP/IP詳解卷1:第十二章 廣播群組播

引言

IP位址分為三類:單點傳播、廣播群組播。其中,廣播群組播隻适用于UDP(因為TCP是端對端的連接配接,無法實作一對多)。

單點傳播,一對一,目的位址是單個主機;

廣播,一對全部,目的位址是區域網路中的全部主機;

多點傳播,一對部分,目的位址是區域網路中的部分主機;廣播也是多點傳播的一種特殊形式,即目的位址為全部主機。

TCP/IP詳解卷1:第十二章 廣播群組播

如果網卡收到一個幀,如果幀檢驗和錯,網卡将丢棄該幀;如果無錯誤,這個幀将被傳送給裝置驅動程式。

裝置驅動程式收到資料幀後,将進行另外的幀過濾。首先,幀類型中必須指定要使用的協定( I P、A R P等等)。其次,進行多點傳播過濾來檢測該主機是否屬于多點傳播位址說明的多點傳播組。

裝置驅動程式随後将資料幀傳送給下一層,比如,當幀類型指定為 I P資料報時,就傳往I P層。

I P根據I P位址中的源位址和目的位址進行更多的過濾檢測。如果正常,就将資料報傳送給下一層(如T C P或U D P)。

每次U D P收到由 I P傳送來的資料報,就根據目的端口号,有時還有源端口号進行資料報過濾。如果目前沒有程序使用該目的端口号,就丢棄該資料報并産生一個 I C M P不可達封包( T C P根據它的端口号作相似的過濾)。如果U D P資料報存在檢驗和錯,将被丢棄。

注意:從上圖可以看出,無論在哪一層,均存在丢棄資料包的可能。

使用廣播的問題在于它增加了對廣播資料不感興趣主機的處理負荷。拿一個使用 U D P廣播應用作為例子。如果網内有 5 0個主機,但僅有 2 0個參與該應用,每次這 2 0個主機中的一個發送 U D P廣播資料時,其餘 3 0個主機不得不處理這些廣播資料報。一直到 U D P層,收到的U D P廣播資料報才會被丢棄。這 3 0個主機丢棄 U D P廣播資料報是因為這些主機沒有使用這個目的端口。

多點傳播的出現減少了對應用不感興趣主機的處理負荷。使用多點傳播,主機可加入一個或多個多點傳播組。這樣,網卡将獲悉該主機屬于哪個多點傳播組,然後僅接收主機所在多點傳播組的那些多點傳播幀。

廣播

TCP/IP詳解卷1:第十二章 廣播群組播

後面的4種均為廣播位址,下面分别介紹。

受限的廣播

受限的廣播通常隻在系統初始啟動時才會用到。受限的廣播位址是 2 5 5 . 2 5 5 . 2 5 5 . 2 5 5。該位址用于主機配置過程中 I P資料報的目的位址,此時,主機可能還不知道它所在網絡的網絡掩碼,甚至連它的I P位址也不知道。

在任何情況下,路由器都不轉發目的位址為受限的廣播位址的資料報,這樣的資料報僅出現在本地網絡中。

指向網絡的廣播

指向網絡的廣播位址是主機号為全 1的位址。 A類網絡廣播位址為 n e t i d . 2 5 5 . 2 5 5 . 2 5 5(如10.255.255.255),其中n e t i d為A類網絡的網絡号。

一個路由器必須轉發指向網絡的廣播,但它也必須有一個不進行轉發的選擇。

指向子網的廣播

指向子網的廣播位址為主機号為全 1且有特定子網号的位址。作為子網直接廣播位址的 I P位址需要了解子網的掩碼。

例如,如果路由器收到發往 1 2 8 . 1 . 2 . 2 5 5的資料報,當 B類網絡1 2 8 . 1的子網路遮罩為 2 5 5 . 2 5 5 . 2 5 5 . 0時,該位址就是指向子網的廣播位址;

但如果該子網的掩碼為2 5 5 . 2 5 5 . 2 5 4 . 0,該位址就不是指向子網的廣播位址(其實就不是廣播位址),這是因為,當子網路遮罩為255.255.254.0時,這時B類位址的子網占7位,那麼主機位也就是占到了9位,這時的子網的廣播位址應該是:128.1.3.255,隻有最後的9位(主機位)全為1的時候,才是廣播位址。

指向所有子網的廣播

指向所有子網的廣播也需要了解目的網絡的子網路遮罩,以便與指向網絡的廣播位址區分開。指向所有子網的廣播位址的子網号及主機号為全 1。

例如,如果目的子網路遮罩為2 5 5 . 2 5 5 . 2 5 5 . 0,那麼I P位址1 2 8 . 1 .2 5 5 . 2 5 5是一個指向所有子網的廣播位址。

如果網絡沒有劃分子網,這就是一個指向網絡的廣播。這是因為,如果沒有劃分子網,那麼主機位占16位,網絡位占16位,這時的子網路遮罩為255.255.0.0,此時位址128.1.255.255即是網絡号128.1的廣播位址,因為主機位址為全1。

多點傳播

I P多點傳播提供兩類服務:

1) 向多個目的位址傳送資料(主要功能)。

2) 客戶對伺服器的請求。

多點傳播組位址

TCP/IP詳解卷1:第十二章 廣播群組播

不像A\B\C類位址,分别表示網絡号和主機号,D類位址配置設定的 28 bit均用作多點傳播組号而不再表示其他。

多點傳播組位址包括為 1110的最高4 bit和多點傳播組号(28位)。它們通常可表示為點分十進制數,範圍從2 2 4 . 0 . 0 . 0到2 3 9 . 2 5 5 . 2 5 5 . 2 5 5。

能夠接收發往一個特定多點傳播組位址資料的主機集合稱為主機組 (host group)。一個主機組可跨越多個網絡。主機組中成員可随時加入或離開主機組。主機組中對主機的數量沒有限制,同時不屬于某一主機組的主機可以向該組發送資訊。

多點傳播位址(IP層到MAC層的轉換)

IP層多點傳播位址範圍從2 2 4 . 0 . 0. 0到2 3 9 . 2 5 5 . 2 5 5 . 2 5 5。

為了指明一個多點傳播位址,任何一個以太網位址的首位元組必須是 0 1,這意味着與 I P多點傳播相對應的以太網位址範圍從 0 1 : 0 0 : 5 e : 0 0 : 0 0 : 0 0到0 1 : 0 0 : 5 e : 7f : ff : ff,即以太網位址中最高位的01是人為指定的,用于辨別該位址是多點傳播位址。

廣播多點傳播在IP層和鍊路路層的目的位址表示

IP層和鍊路層都存在廣播和多點傳播,其位址是對應的,但不完全相同。

廣播

IP層:網絡号(含子網号) + 全1主機号

鍊路層:MAC位址全1,即ff ff ff ff ff ff

多點傳播

IP層:224.0.0.0到239.255.255.255

MAC層:0 1 : 0 0 : 5 e : 00 : 0 0 : 0 0到0 1 : 0 0 : 5 e : 7 f : ff : ff

繼續閱讀