1. 程式人生 > >NP筆記——13 組播

NP筆記——13 組播

單播:

         一對一傳遞資訊,(會浪費頻寬,相對於其他而言)

廣播:

         泛洪傳送,會使用所有的頻寬

組播:

         只針對組內的的裝置傳送,

組播的優勢:

         提高效率:降低網路流量,減輕硬體負荷

         優化效能:減少冗餘流量,節約網路頻寬、降低網路負載

         分散式應用:使多點應用成為可能

組播的應用:

         多媒體

         培訓、聯合作業場合的通訊

         資料倉庫、金融應用(股票)、

         任何“單到多”資料釋出應用

組播的劣勢:

         基於UDP;

                   盡力而為,沒有擁塞避免機制,報文重複,報文時序

組播地址:

         一個組播組就是一個IP地址,不表示具體的主機,二十表示一系列系統的集合,主機加入某個組播組及宣告自己接收目的為某個IP地址的報文

IP組播地址:(僅能作為目的地址)

         224.0.0.0-239.255.255.255(D類地址空間,第一個位元組為1110)

         224.0.0.1代表所有節點,224.0.0.2代表所有組播路由器

組播服務模型:

ASM全稱為Any-Source Multicast,譯為任意源組播。在ASM模型中,任意發 送者都可以成為組播源,向某組播組地址傳送資訊。接收者加入該組播組後, 能夠接收到發往該組播組的所有資訊。在ASM模型中,接收者無法預先知道 組播源的位置,接收者可以在任意時間加入或離開該組播組。

SFM(Source-Filtered Multicasr)過濾源組播

SSM全稱為Source-Specific Multicast,譯為指定源組播。在現實生活中,使用者 可能僅對某些源傳送的組播資訊感興趣,而不願接收其它源傳送的資訊。 SSM模型為使用者提供了一種能夠在客戶端指定信源的傳輸服務。SSM模型和 ASM模型的根本區別是接收者已經通過其他手段預先知道了組播源的具體位 置。SSM和ASM使用不同的組播地址範圍,直接在接收者和組播源之間建立 組播轉發樹。

         IP組播常見的模型分為ASM模型和SSM模型

IP組播地址的分類:

         永久組播地址:

                   IANA為路由協議預留的組播地址,用於標識一組特定的網路裝置(保留組播組)

                   永久組地址保持不變,組成員的數量可以是任意的,甚至可以為零

                  224.0.0.0-224.0.0.255

臨時組地址Any-Source

         為使用者組播組臨時分配的IP地址,組成員一旦為零,即取消

組播MAC地址:

         組播mac地址和單播mac地址的區別:

                   在第八位,如果為0則為單播,如果為1,則為組播

                  乙太網網路中,IP組播MAC地址都是使用:0x0100.5E……的24位字首開始的

組播資料幀的傳輸目的不再是一個具體的接收者,而是一個成員不確定的組,所以 使用的是組播MAC地址。IANA規定,組播MAC地址的高24bit為0x01005e,第25bit 固定為0。

組播MAC地址用於在鏈路層標識屬於同一組播組的接收者。

乙太網傳輸單播資料幀的時候,目的MAC地址使用的是接收者的MAC地址或者下一 跳路由器的MAC地址。這個MAC地址通過ARP獲取。對於組播資料幀也需要有一個 可預知的MAC地址。

組播IP與MAC的對映:

         需要組播IP地址與MAC地址的自動對映

         MAC地址的低23bit為組播IP地址的低23bit

(IP地址32位,MAC地址48位)

對映問題:

         組播IP地址對映成組播MAC地址時,IP地址會有5個任意(32-23=5,2的五次方為32)會導致32個組播地址對應一個組播MAC的問題

組播的基本原理:

         組播協議包括用於主機註冊的組播組管理協議,和用於組播選路轉發的組播路由協議

組播分發樹:

                   用來描述IP組播報文在網路彙總經過的路徑

         組播分發樹的兩個基本型別;

                   源路徑樹:SPT

                            以組播源作為樹根,將組播到每一個接受者的最短路徑結合起來構成的轉發樹

                            源直接傳送給接收者

                   共享樹:RPT

使用放在網路的某些節點的單獨的公用根,根據組播路由協議,這個根常備稱為匯合點(RP)或核心,共享樹也可以稱為RPT

                            源傳送給RP,RP再轉發給所有接收者

源路徑樹

         每一個組播源與接收者之間建立一棵獨立的SPT

         組播路由項:(每臺組播路由器上都有)

                   (S,G) iif,oiflist

                   S:源地址,G:組地址,iif:入介面,oiflist:出介面列表

                   (PC加入組播的時候會發送報文,組播路由轉發時會記錄,退出組會刪除)

共享樹:

         對應某個組,網路中只有一顆樹。

         所有的組播都有RP中心節點轉發,所有的傳送源都會把報文傳送給該RP,RP再轉發給接收者,而接收者認為源為該RP

         組播路由項:

                   (*,G),iif,oiflist

                   *:任意源地址,G:組地址,iif入介面,oiflist:出介面列表

         RP可以自動選舉

比較:

         源路徑樹:(SPT)

路徑最優,延遲最小,佔用記憶體

         共享樹:(RPT)

                   路徑不是最優的,引入額外的延遲,佔用記憶體較少

組播資料的轉發:

         組播路由和單播路由是相反的;

                   單播路由關新書庫報文要到哪裡去

                   組播路由關係資料報文從哪裡來

                   組播路由使用“反向路徑轉發”機制(RPF,Reverse Path Forwarding)

反向路徑轉發RPF:

         RPF:路由器收到組播資料報文後,只有確認這個資料報文是自身連線到組播源的介面上收到的,才進行轉發,否則丟棄

         (組播路由項中的源地址和入介面會與單播的路由表進行對比)

         RPF檢查:

                   在單播路由表中查詢到組播報文源地址的路由

                            如果該路由的出介面就是該報文的如介面,RPF檢查成功

                            否則RPF檢查失敗,報文丟棄

         (源為上游,接收者為下游)