计算机网络-IP多播
计算机网络-IP多播
多播(Muliticast),也称为组播,是实现了“一对多”通信技术。
IP多播地址和多播组
IP多播地址依赖于IP多播地址,D类地址,一般称呼为多播地址。
前面固定为:1110
范围是:224.0.0.0-239.255.255.255
局域网的硬件多播
局域网支持硬件多播:
实现:IPV4地址映射为硬件多播地址
但是多播MAC是25bit相同,而IPV4只有23bit,所以可能出现相同的
因特网上IP多播
IP多播在因特网上实现, 就需要经过多个路由器的转发。多播路由器必须按照IP多播地址转发到多播组的局域网下。
所以出现了IGMP来实现IP的路由多播
网际组管理协议IGMP
IGMP有三种报文类型:
- 成员报告报文
- 成员查询报文
- 离开组报文
工作原理
1.加入多播组
- IGMP成员报告报文中包含加入多播组的地址
- IP多播数据报的目的地址也是加入IP多播组的地址
在这个过程中,多播路由器通过维护多播组列表,记录该路由器已知道的直连的各个网络中多播组成员的多播组地址,多播路由器只关心自己网络的多播地址
2.监视多播组的成员变化
多播路由器默认125s发送查询IGMP成员查询报文
3.退出多播组
- 离开报文的内容包含主机要退出的多播组的地址
- IP多播数据报的目的地址是224.0.0.2,这是一个特殊的IP多播地址,在本网络中的所有多播路由器都会收到该多播数据
多播路由选择协议
主要核心:在多播路由器之间建立,每一个多播转发树
- 基于源树多播路由选择
- 基于共享树多播路由选择
基于源树的多播路由选择
经典算法:反向路径多播
主要是以下步骤实现
- 利用反向路径广播,建立一个广播转发树
- 利用剪枝算法,剪除广播转发树的中下游非成员路由器,获得一个多播转发树
建立广播转发树,可以使用泛洪法。就算源节点发送所有的广播副本,然后继续复制广播继续发送所有邻接节点
但是如果网络中存在环路,泛洪就会无止境的继续
所以出现了RPB:每一台路由器收到一个广播分组时候,先检查该广播分组是否从源路径经最短路径而来。如果是就除了这个接口,进行广播。
基于共享树的多播路由选择
基于核心的分布式生成树建立共享树。该方法在每一个多播组中指定一个核心路由器,以核心路由器为根,建立一颗所有成员的路由选择树。
因特网的多播路由选择协议
- 距离向量多播路由选择协议
- 开放最短路径优先多播协议
- 协议无关多播-稀疏方式
- 协议无关多播-密集方式
- 基于核心的转发树
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joohwan!
评论