多播
- 多播分组被交付给网络中所有节点的一个子集
至今,IP多播尚未得到大规模应用
- 因特网多播
- 多播数据报使用间接地址编址,即用一个D类多播地址标识一组接收方,寻址到该D类多播地址的分组被交付给所有与该多播地址关联的接收方;
- 与一个D类地址关联的接收方小组被称为一个多播组;
因特网组管理协议(IGMP)
- IGMP运行在主机和边缘路由器(主机的第一跳路由器)上
- IGMP使得主机能够通知第一跳路由器,该主机上的某进程想加入某特定多播组;
IGMP报文
- IGMP包括membership_query,membership_report,leave_gruop三类报文
- IGMP报文由IP分组承载,对应IP分组的上层协议字段为2
软状态协议
状态若未被显式更新,则通过超时事件被删除;IGMP协议是软状态协议
多播路由选择算法
- 协调遍布因特网的多播路由器,使得多播数据报能够路由到最终目的地;
- 构造多播路由选择树,使得该树连接所有具有属于该多播组的相连主机的路由器;
使用组共享树的多播路由选择
- 组内所有发送方共享一颗多播树
- 使用基于中心的方法构造多播路由选择树;
- 一个关键是 树中心的选择过程
使用基于源的树的多播路由选择
- 为组内的每个源构建一颗多播树
- 实践中,使用为源节点s使用反向路径转发(RPF)算法构造多播树
- 不同于广播中的RPF,由于许多节点不需要多播分组,多播RPF需要进行剪枝以减少无用报文的转发;
- 一台接受到多播分组的边缘路由器,若它无加入该组的相关主机,则它向上游路由器发送一个剪枝报文;
- 若一台非边缘路由器从它的每个下游路由器收到剪枝报文,则他向上游转发一个剪枝报文;