19章 组播
1、 组播地址
D类地址(224.0.0.0到239.255.255.255)为多播地址。其中224.0.0.0到224.0.0.255之间的地址称为链路局部地址,用于低级拓扑发现和维护协议,以这些地址为目的地址的数据包不能被多播路由器转发。多播IP地址到MAC地址的转换不是一一对应的,多个多播IP地址可能对应同一个MAC地址。
多播地址分为如下几类:
范围 |
TTL |
地址范围 |
|
节点局部 |
0 |
|
数据包禁止从接口输出 |
链路局部 |
1 |
224.0.0.0到224.0.0.255 |
数据包不能被路由器转发 |
网点局部 |
<32 |
239.255.0.0到239.255.255.255 |
由网点的多播路由器管理员决定 |
组织局部 |
|
239.192.0.0到239.192.255.255 |
由组织的多播路由器管理员决定 |
全球 |
<255 |
224.0.1.0到238.255.255.255 |
|
2、 非完备过滤和完备过滤
非完备过滤:数据链路层,接口可以接受很多目的MAC不是本机MAC的数据包,因为本机可能加入很多多播组,由于多播IP地址与多播MAC地址对应关系是一对多,则可能接受不属于自己的包。过滤不够严密。
完备过滤:IP层,数据包被接受上来了,然后IP层将分组的目的IP和自己组播IP进行比较,由于是基于32位D类地址完成的。不会错误接受数据,所以称为完备过滤。
3、 广域网上的多播
广域网上的多播需要多播路由器的支持,路由器之间通过多播路由协议相互进行通信。而多播路由器和主机之间通过IGMP之间交互。
MBone就是广域网上的多播主干网。
4、 多播套接口选项
选项名 |
数据类型 |
说明 |
IP_ADD_MEMBERSHIP |
Struct ip_merg |
加入一个多播组 |
IP_DROP_MEMBERSHIP |
Struct ip_merg |
离开一个多播组 |
IP_MULTICAST_IF |
Struct in_addr |
指定外出多播数据包的外出接口 |
IP_MULTICAST_TTL |
u_char |
指定外出多播数据包的TTL |
IP_MULTICAST_LOOP |
U_char |
使能或禁止外出多播数据包的回馈 |
前两个用于接收,后三个用于发送。
参考:
(1) MBONE的理解
什么是MBone
1992Mbone为Internet打 开 耳 目
(2) IP组播好书籍
《IP组播网络设计开发(第1卷)》
一个多播梨子