风之领主

千秋邈矣独留我,百战归来再读书

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

  具体讲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多播组

除了内核自动加入IP所有的主机外,其他组成员是由进程明确发出请求产生的。加入或者离开多播,必须修改接口的in_multi表。

离开一个IP多播组。

离开一个多播IP组,是加入一个多播IP组的反序。

 

后面还介绍了多播输入处理函数和多播输出处理函数,最后是关于多播性能的考虑。多播地址的过滤性能要考虑,如何解决对多播地址的过滤。

 

多播就暂时介绍完了。。。有空再重新归纳

 

posted on 2019-05-21 18:06  风之领主  阅读(325)  评论(0)    收藏  举报