本节主要讨论多播选路,是在整个互联网上的多播,我们将讨论mrouted程序的执行,该程序计算多播路由表,以及再网络之间转发多播数据包的内核函数。
多播输出处理
这个和IGMP的输出处理类似,主要要注意有环回的多播输出和没有环回的多播输出处理。
mrouted守护程序
路由算法再mrouted上实现,mrouted实现IGMP协议的路由部分。
虚拟接口
多播隧道连接互联网的多播,数据报通过一个或者多个接口上转发备份,转发到其他多播路由器。输出的接口可以是一个多播隧道,也可以是一个物理接口。
虚拟接口表,add_vif函数,del_vif函数。无聊的函数,后续再看具体如何实现。
IGMP补充
IGMP既有协议部分,mrouted实现了协议的路由器部分。
add_lgrp函数
del_lgrp函数
grplst_menber函数
大同小异的函数,无非是检查高速缓存,搜索成员关系数组。
多播选路
图论相关的概念,从互联网拓扑中选择一个子网,形成生成树。
多播选路表,del_mrt函数,
多播转发
小结:
本篇主要讨论了多播选路算法,时代革新的很快,树上的思想可以理解,具体实现不用过度关心。