TCP/IP: IP多播

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

未完待续。。。。。。。

猜你喜欢

转载自www.cnblogs.com/lordwind/p/10901449.html