天天看點

IP 多點傳播

紫色代表一級目錄

粉紅代表二級目錄

藍色代表三級目錄

紅色代表關鍵字

橙色代表說明

IP 多點傳播

  IP 多點傳播的基本概念

    IP 多點傳播 (multicast,以前曾譯為多點傳播) 已成為網際網路的一個熱門課題。

    目的:更好第支援一對多通信。

    一對多通信:一個源點發送到許多個終點。

    多點傳播可大大節約網絡資源(隻是将源檔案進行複制,而不是發多份源檔案)

    在網際網路上進行多點傳播就叫做 IP 多點傳播。

    網際網路範圍的多點傳播要靠路由器來實作。

    能夠運作多點傳播協定的路由器稱為多點傳播路由器(multicast router)。當然它也可以轉發普通的單點傳播IP資料報。

    從 1992 年起,在網際網路上開始試驗虛拟的多點傳播主幹網 MBONE (Multicast Backbone On the InterNEt)。 現在多點傳播主幹網已經有了相當大的規模。

    多點傳播 IP 位址

      IP 多點傳播所傳送的分組需要使用多點傳播 IP 位址。

      在多點傳播資料報的目的位址寫入的是多點傳播組的辨別符。

      多點傳播組的辨別符就是 IP 位址中的 D 類位址(多點傳播位址)。

      每一個 D 類位址标志一個多點傳播組。

      多點傳播位址隻能用于目的位址,不能用于源位址。(試聯想用wireshark分析arp封包時)

    多點傳播資料報

      多點傳播資料報和一般的 IP 資料報的差別就是它使用 D 類 IP 位址作為目的位址,并且首部中的協定字段值是 2,表明使用網際組管理協定 IGMP。

      多點傳播資料報也是“盡最大努力傳遞”,不保證一定能夠傳遞多點傳播組内的所有成員。

      對多點傳播資料報不産生 ICMP 差錯封包。是以,若在 PING 指令後面鍵入多點傳播位址,将永遠不會收到響應。

  網際組管理協定 IGMP 和多點傳播路由選擇協定

    IP 多點傳播需要兩種協定

      為了使路由器知道多點傳播組成員的資訊,需要利用網際組管理協定 IGMP (Internet Group Management Protocol)。

      連接配接在區域網路上的多點傳播路由器還必須和網際網路上的其他多點傳播路由器協同工作,以便把多點傳播資料報用最小代價傳送給所有的組成員。這就需要使用多點傳播路由選擇協定。(多點傳播路由選擇協定比單點傳播路由選擇協定複雜得多。)

      IGMP 協定是讓連接配接在本地區域網路上的多點傳播路由器知道本區域網路上是否有主機(嚴格講,是主機上的某個程序)參加或退出了某個多點傳播組。

    網際組管理協定 IGMP

      IGMP 是整個網際協定 IP 的一個組成部分

      和 ICMP 相似,IGMP 使用 IP 資料報傳遞其封包(即 IGMP 封包加上 IP 首部構成 IP 資料報),但它也向 IP 提供服務。

      是以,我們不把 IGMP 看成是一個單獨的協定,而是屬于整個網際協定 IP 的一個組成部分。

    IGMP 工作可分為兩個階段

      第一階段:加入多點傳播組。

        當某個主機加入新的多點傳播組時,該主機應向多點傳播組的多點傳播位址發送 IGMP 封包,聲明自己要成為該組的成員。

        本地的多點傳播路由器收到 IGMP 封包後,将組成員關系轉發給網際網路上的其他多點傳播路由器。

      第二階段:探詢組成員變化情況。

        因為組成員關系是動态的,是以本地多點傳播路由器要周期性地探詢本地區域網路上的主機,以便知道這些主機是否還繼續是組的成員。

        隻要對某個組有一個主機響應,那麼多點傳播路由器就認為這個組是活躍的。

        但一個組在經過幾次的探詢後仍然沒有一個主機響應,則不再将該組的成員關系轉發給其他的多點傳播路由器。

    IGMP 采用的一些具體措施

      在主機和多點傳播路由器之間的所有通信都是使用 IP 多點傳播。

      多點傳播路由器在探詢組成員關系時,隻需要對所有的組發送一個請求資訊的詢問封包,而不需要對每一個組發送一個詢問封包。預設的詢問速率是每 125 秒發送一次。

      當同一個網絡上連接配接有幾個多點傳播路由器時,它們能夠迅速和有效地選擇其中的一個來探詢主機的成員關系。

      在 IGMP 的詢問封包中有一個數值 N,它指明一個最長響應時間(預設值為 10 秒)。當收到詢問時,主機在 0 到 N 之間随機選擇發送響應所需經過的時延。對應于最小時延的響應最先發送。

      同一個組内的每一個主機都要監聽響應,隻要有本組的其他主機先發送了響應,自己就可以不再發送響應了。

  多點傳播路由選擇

    多點傳播路由選擇協定尚未标準化。

    一個多點傳播組中的成員是動态變化的,随時會有主機加入或離開這個多點傳播組。

    多點傳播路由選擇實際上就是要找出以源主機為根結點的多點傳播轉發樹。

    在多點傳播轉發樹上的路由器不會收到重複的多點傳播資料報。

    對不同的多點傳播組對應于不同的多點傳播轉發樹。

    同一個多點傳播組,對不同的源點也會有不同的多點傳播轉發樹。

    

    多點傳播路由選擇協定在轉發多點傳播資料報時使用三種方法:

      洪泛與剪除

        這種方法适合于較小的多點傳播組,而所有的組成員接入的區域網路也是相鄰接的。

        一開始,路由器轉發多點傳播資料報使用洪泛的方法(這就是廣播)。

        為了避免兜圈子,采用了叫做反向路徑廣播 RPB (Reverse Path Broadcasting) 的政策。

        RPB 的要點

          路由器收到多點傳播資料報時,先檢查它是否是從源點經最短路徑傳送來的。

          若是,就向所有其他方向轉發剛才收到的多點傳播資料報(但進入的方向除外),否則就丢棄而不轉發。

          如果存在幾條同樣長度的最短路徑,那麼隻能選擇一條最短路徑,選擇的準則就是看這幾條最短路徑中的相鄰路由器誰的 IP 位址最小。

          最後就得出了用來轉發多點傳播資料報的多點傳播轉發樹,以後就按這個多點傳播轉發樹轉發多點傳播資料報。避免了多點傳播資料報的兜圈子,同時每一個路由器也不會接收重複的多點傳播資料報。

          如果在多點傳播轉發樹上的某個路由器發現它的下遊樹枝(即葉節點方向)已沒有該多點傳播組的成員,就應把它和下遊的樹枝一起剪除。

          當某個樹枝有新增加的組成員時,可以再接入到多點傳播轉發樹上。

          

IP 多點傳播

      隧道技術 (tunneling)

      

IP 多點傳播

      基于核心的發現技術

        這種方法對于多點傳播組的大小在較大範圍内變化時都适合。

        這種方法是對每一個多點傳播組 G 指定一個核心(core) 路由器,給出它的 IP 單點傳播位址。

        核心路由器按照前面講過的方法建立出對應于多點傳播組 G 的轉發樹。

  幾種多點傳播路由選擇協定

    距離向量多點傳播路由選擇協定 DVMRP (Distance Vector Multicast Routing Protocol)

    基于核心的轉發樹 CBT (Core Based Tree)

    開放最短通路優先的多點傳播擴充 MOSPF (Multicast Extensions to OSPF)

    協定無關多點傳播-稀疏方式 PIM-SM (Protocol Independent Multicast-Sparse Mode)

    協定無關多點傳播-密集方式 PIM-DM (Protocol Independent Multicast-Dense Mode)

繼續閱讀