关闭

IP 广播与多播浅析

标签: 网络协议
586人阅读 评论(0) 收藏 举报
分类:

IP 广播

 受限的广播地址

受限的广播地址是255.255.255.255。该地址用于主机配置过程中IP数据包的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。

  指向网络的广播

指向网络的广播地址是主机号为全1的地址。A类网络广播地址为netid.255.255.255,其中netid为A类网络的网络号。一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。

指向子网的广播

指向子网的广播地址为主机号为全1且有特定子网号的地址。作为子网直接广播地址的IP地址需要了解子网的掩码。例如,如果路由器收到发往128.1.2.255的数据报,当B类网络128.1的子网掩码为255.255.255.0时,该地址就是指向子网的广播地址;但如果该子网的掩码为255.255.254.0,该地址就不是指向子网的广播地址。

指向所有子网的广播

指向所有子网的广播也需要了解目的网络的子网掩码,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子网号及主机号为全1。例如,如果目的子网掩码为255.255.255.0,那么IP地址128.1.255.255是一个指向所有子网的广播地址。然而,如果网络没有划分子网,这就是一个指向网络的广播。

 

IP 多播

多播地址

224.0.0.0--239.255.255.255,没有像单播ip段那样有广播地址网络地址之分了。

具体:224.0.0.0--224.0.0.255 本地保留,给知名协议使用,ttl=1。其中224.0.0.1是本网所有主机接收,224.0.0.2是本网所有路由器接收。

224.0.1.0~238.255.255.255 预留组播地址,[1] 多播地址应从此范围内选择。

239.0.0.0--239.255.255.255 私有组播地址。

232.0.0.0--232.255.255.255 特定源多播

 

地址结构

01005E,固定的16进制位,后接一固定的比特位0,再其后就任意了。

ip与mac的映射,例:

ip地址 229.147.109.235

划成bit 11100101.1 / 0010011.01101101.11101011

多播mac结构 01005E "0" / ..........(斜杠后23位与上面对应)

得出: 01005E136DEB 为ip229.147.109.235对应的组播mac地址

从例子可知,32个多播地址映射成一个mac地址,所以在部署一个网络时要措开使

ip多播地址(变尾部)

 

实现IP组播的前提条件 
实现IP组播传输,则组播源和接收者以及两者之间的下层网络都必须支持组播。这包括以下几方面: 
主机的TCP/IP实现支持发送和接收IP组播; 
主机的网络接口支持组播; 
有一套用于加入、离开、查询的组管理协议,即IGMP(v1,v2); 
有一套IP地址分配策略,并能将第三层IP组播地址映射到第二层MAC地址; 
支持IP组播的应用软件; 
所有介于组播源和接收者之间的路由器、集线器、交换机、TCP/IP栈、防火墙均需支持组播;

 

组播树

1.泛洪法

原理:当组播路由器收到发往某个组播地址的数据包后,首先判断是否是首次收到该数据包,如果是首次收到,那么将其转发到所有接口上,以确保其最终能到达所有接收者;如果不是首次收到,则抛弃该数据包。 但不适合internet。

2.有源树

原理:以组播源为根构造的从根到所有接收者路径都最短的分布树。如果组中有多个组播源,则必须为每个组播源构造一棵组播树。由于不同组 播源发出的数据包被分散到各自分离的组播树上,因此采用SPT有利于网络中数据流量的均衡。同时,因为从组播源到每个接收者的路径最短,所以端到端 (end-to-end)的时延性能较好,有利于流量大、时延性能要求较高的实时媒体应用。SPT的缺点是:要为每个组播源构造各自的分布树,当数据流量 不大时,构造SPT的开销相对较大。 

3.共享树

在路由器所需存储的状态信息的数量和路由树的总代价两个方面具有较好的性能。当组的规模较大,而每个成员的数据发送率较低时,使用共享树比较适合。但当通信量大时,使用共享树将导致流量集中及根(RP)附近的瓶颈。 

组管理协议IGMP 
主机使用IGMP通知子网组播路由器,希望加入组播组;路由器使用IGMP查询本地子网中是否有属于某个组播组的主机。 
加入组播组 
当某个主机加入某一个组播组时,它通过“成员资格报告”消息通知它所在的IP子网的组播路由器,同时将自己的IP模块做相应的准备,以便开始接收来自该组播 组传来的数据。如果这台主机是它所在的IP子网中第一台加入该组播组的主机,通过路由信息的交换,组播路由器加入组播分布树。 
退出组播组 
在IGMP v1中,当主机离开某一个组播组时,它将自行退出。组播路由器定时(如120秒) 使用“成员资格查询” 消息向IP子网中的所有主机的组地址(224.0.0.1)查询,如果某一组播组在IP子网中已经没有任何成员,那么组播路由器在确认这一事件后,将不再 在子网中转发该组播组的数据。与此同时,通过路由信息交换,从特定的组播组分布树中删除相应的组播路由器。这种不通知任何人而悄悄离开的方法,使得组播路 由器知道IP子网中已经没有任何成员的事件延时了一段时间,所以在IGMP v2.0中,当每一个主机离开某一个组播组时,需要通知子网组播路由器,组播路由器立即向IP子网中的所有组播组询问,从而减少了系统处理停止组播的延 时。

 

组播转发 
由于组播源是向组播组发送数据包而非单播模型中的具体目标主机,所以组播路由器不能依靠IP包中的目标地址来决定如何转发数 据包,而必须将组播数据包转发到多个外部接口上,以便同一组播组的成员都能接收到数据包。这使组播转发比单播转发更加复杂。大多数现有组播路由协议使用逆 向路径转发(RPF)机制作为组播转发的基础。 


3.1 逆向路径转发(Reverse Path Forward: RPF) 
当组播数据包到达路由器时,路由器作RPF检查,以决定是否转发或抛弃该数据包,若成功则转发,否则抛弃。 
RPF检查过程如下: 
检查数据包的源地址,以确定该数据包经过的接口,是否在从源到此的路径上; 
若数据包是从可返回源主机的接口上到达,则RPF检查成功,转发该数据包到输出接口表上的所有接口,否则RPF检查失败,抛弃该数据包。 


3.2 组播转发缓存 
对于每一个输入组播数据包进行RPF检查会导致较大的路由器性能损失。因此,建立组播转发缓存时,通常由组播路由确定RPF接口。然后将RPF接口变成组播转发缓存项的输入接口。一旦RPF检查程序使用的路由表发生变化,必须重新计算RPF接口;并更新组播转发缓存项。 


3.3 TTL阈值 
每 当路由器转发组播数据包,IP包中的TTL(Time To Live)值都减1。若数据包的TTL减少到0,则路由器将抛弃该数据包。TTL阈值可用于组播路由器的各个接口,以防止在该接口上转发低于TTL阈值的 组播数据包。这样可对组播的范围加以控制。表2给出典型的初始TTL值和作为不同TTL边界的路由器接口TTL阈值。

                          典型的TTL边界值

范  围

初始TTL值

TTL阈值

本地网

1

N/A

区域

15

16

地区

63

64

全球

127

128

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:19167次
    • 积分:662
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:19篇
    • 译文:0篇
    • 评论:0条