具体讲IP多播的实现,D类地址224.0.0.0到239.255.255.255不识别互联网内的单个接口,但识别接口组。D类地址被称为接口组。
多播广泛用于互联网的应用程序,多播的成员可以动态的接入和离开多播组。
实现多播,是对硬件有要求的,如果本地网络不支持硬件级多播,那么在特定接口上就得不到IP多播业务。
多播对主机的要求分为三个级别:0,1,2.就不具体介绍了。IANA是一个常用的IP多播组。
以太网多播地址
IP多播要求IP充分利用硬件级多播,如果没有硬件多播,就不得不广播,每个主机又不得不检查对应数据报。
硬件在数据报到达IP层之前,就把没用的过滤掉了。
如果以太网地址的高位字节的最低位是1,则它是一个多播地址,否则,他是一个单播地址。
IP到以太网地址映射
以太网支持多种协议,为了避免冲突,要采取措施分配多播地址。
ether_multi结构
定义设备要实现的多播过滤。而且还可以进行以太网多播查找。
以太网多播接收
本章只讨论IP多播,
in_multi结构
以太网多播数据结构并不专用于IP,在网络级,IP维护者一个与接口相关的IP多播组表。
包括两个功能,一个是IP多播地址,第二个是IP多播查找。
ip_moptions结构
输出层通过ip_moptions结构包含的多播选项控制多播输出处理。inp指向某个PCB,并且UDP为每个进程创建的socket关联到PCB。
多播的插口选项
给ip_moption提供进程级访问。
多播的TTL值
TTL限制IP的存活时间和作用范围。
扩展环搜索
另一个主要作用是只要改变探测数据报的初始值,就能在互联网上探测资源。
下面的函数is_setmoptions函数介绍了ttl的作用
1构造默认值2进程选项3如果默认值是OK,丢弃结构
首先是选择一个明确的多播接口,然后选择明确的TTL,然后选择多播环回。最后结束。
加入一个IP多播组
未完待续。。。。。。。