本節主要討論多播選路,是在整個互聯網上的多播,我們將討論mrouted程序的執行,該程序計算多播路由表,以及再網絡之間轉發多播數據包的內核函數。
?
多播輸出處理
這個和IGMP的輸出處理類似,主要要注意有環回的多播輸出和沒有環回的多播輸出處理。
?
mrouted守護程序
路由算法再mrouted上實現,mrouted實現IGMP協議的路由部分。
?
虛擬接口
多播隧道連接互聯網的多播,數據報通過一個或者多個接口上轉發備份,轉發到其他多播路由器。輸出的接口可以是一個多播隧道,也可以是一個物理接口。
?
虛擬接口表,add_vif函數,del_vif函數。無聊的函數,后續再看具體如何實現。
?
IGMP補充
IGMP既有協議部分,mrouted實現了協議的路由器部分。
add_lgrp函數
del_lgrp函數
grplst_menber函數
大同小異的函數,無非是檢查高速緩存,搜索成員關系數組。
?
多播選路
圖論相關的概念,從互聯網拓撲中選擇一個子網,形成生成樹。
多播選路表,del_mrt函數,
?
多播轉發
?
小結:
本篇主要討論了多播選路算法,時代革新的很快,樹上的思想可以理解,具體實現不用過度關心。
?