PIM-DM協議在linux下的實現方式和工作流程__linux

來源:互聯網
上載者:User

PIM-DM協議只需要從核心接收cache-miss訊息。

二、SPT建立過程

1. linux核心協議棧收到組播源S的組播報文後檢查MFC表項中是否存在該組播的轉寄表項,如果沒有,核心將產生一條cache-miss訊息上送給接收igmp管理報文的應用程式層程式(例如PIM-DM)。

2.PIM-DM的igmp管理報文socket收到來自核心的cache-miss訊息後,解包得到組播報文的內容,並通過一系列的計算,隨後下發MFC建立命令到核心,建立組播S的(S,G)路由表項。

3.產生的(S,G)轉寄表項出介面預設選擇除入口以外的所有PIM-DM路由口,這樣組播報文就會從入口外的所有其他路由介面轉寄出去。

4.各個收到組播報文的PIM-DM級聯路由也會建立相應(S,G)表項,將入口以外的PIM-DM路由介面加入到表項出口和pruned口,並建立對應的剪枝定時器。

5.剪枝定時器到期前,組播報文會向所有PIM-DM路由和介面轉寄。剪枝定時器到期後,級聯路由上的(S,G)表項中剪枝介面會從出口中刪除,這樣一來報文就無法轉寄了。

6.PIM-DM路由在加入-剪枝保持定時器到期後會重新發起剪枝過程。以維護SPT樹。

7.級聯路由在收到組播接收者的加入請求後會將介面者對應的路由口加入(S,G)轉寄表的出口和pruned口中,並同時向上聯路由發送graft(嫁接報文)通告接收者資訊,上聯路由收到graft報文後會將報文接收埠加入到(S,G)轉寄表的出口和pruned口中,後面級聯的路由同上。 一直到源路由收到此嫁接報文,整條鏈路上的SPT樹通過嫁接操作又完整了。


綜上: 以上就是PIM-DM,密集模式的整個處理過程,總結一下就是:源路由向所有路由通告:我把這個組播都給你們先,你們不要的話和我說下哈。  然後需要的路由就保持沉默,不需要的路由就告知源路由:這個組播我不需要,不要給我發了。 過了一段時間,源路由怕其他的路由器有資訊更新,於是又問了一次... ... and so on.




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.