7*24小时值班咨询手机:15101073985(微信同号)   
CCIE
当前位置:网站首页>CCIE
ccie培训快速教会你组成员机制
发布日期:2019-09-19 10:51:48 发布者:
    1.组播地址(能被组播识别的地址集)
    2.组成员机制(主机加入和退出组的机制)
    3.组播路由协议(路由器有效传送组播到各个网络的组成员,且不会过度消耗网络资源的路由协议)
    当需要将一份同样的数据发送给多台主机时,在使用组播的情况下,就需要将需要接收数据包的主机标识出来,要区别于不接收的主机,只有想要接收的主机,才能收到相应的组播数据,这时就需要为组播数据包写上特定的IP地址,被写上组播地址的数据包,只能被特定的组成员接收,所以要将组播正常的发送到组成员,就必须为组播数据包写上组播地址,当网络中有多种组播数据时,每种数据应该写上不同的组播地址。
    当写上了组播地址的数据包在网络中传送时,这样的数据包只应该被特定组的组成员接收,只有属于同一个组的成员,才能接收该组的数据包,所以必须确认哪些主机是组成员,哪些主机不是。要想接收组播,主机要做的事就是加入特定的组,特定的组,就是由组播地址来区分的。当主机加入了某个组之后,便能收到该组的数据,而当主机不想接收组播时,就应该退出相应的组,这样就可以停止组播的接收和转发,要完成这一切,就需要一种主机加入和退出组的机制,要区别哪些是组成员,哪些不是。
    如果某个组的成员分布在不同的网络中,那么就需要路由器转发组播,才能保证远程主机能够收到组播数据。要让路由器为组播数据提供转发,就需要让路由器拥有像单播路由表一样的转发表,依据路由表来决定数据包该从哪个接口发出去。要让路由器依据路由表来转发组播,就需要有组播路由表,而路由器的组播路由器,就需要靠特定的组播路由协议来收集组播路由表,组播路由表指导路由器如何将组播正确转发到组成员。
    下面分别来详细介绍组播地址、组成员机制以及组播路由协议的工作过程:
    组播IP地址
    在我们区分一个IP地址是哪类地址时,只需要看第一个字节便能得出结果。
    在IP地址一个字节的8 个bit中,相应bit位为1时,便得到相应的值,每个bit位的取值分别如下:
    128  64  32  16  8  4  2  1
    A类IP地址第一字节的第1个bit总是为 0,后面7个bit可以随意设置,所以A类IP地址第一个字节的取值范围为:
    0 0 0 0 0 0 0 0   (最小时,值为0)
    0 1 1 1 1 1 1 1   (最大时,值为127)
    B类IP地址第一字节的前面2个bit总是为 1 0,后面6个bit可以随意设置,所以B类IP地址第一个字节的取值范围为:
    1 0 0 0 0 0 0 0   (最小时,值为128)
    1 0 1 1 1 1 1 1   (最大时,值为191)
    C类IP地址第一字节的前面3个bit总是为 1 1 0,后面5个bit可以随意设置,所以C类IP地址第一个字节的取值范围为:
    1 1 0 0 0 0 0 0    (最小时,值为192)
    1 1 0 1 1 1 1 1    (最大时,值为223)
    而D类IP地址第一字节的前面4个bit总是为 1 1 1 0,后面4个bit可以随意设置,所以D类IP地址第一个字节的取值范围为:
    1 1 1 0 0 0 0 0     (最小时,值为224)
    1 1 1 0 1 1 1 1     (最大时,值为239)
    组播地址采用D类IP地址表示,因为IP地址共32 bit,D类地址前4 bit总是为1110,所以
    组播地址取值范围为224.0.0.0——239.255.255.255。
    组播地址可以是永久的,也可以是临时的,“永久”是指一个组地址被永久分配给某个协议,临时的可以自由定义。
    部分永久的组播地址:
    224.0.0.1   子网中的所有系统和主机
    224.0.0.2   子网中的所有路由器
    224.0.0.4   DVMRP路由器
    224.0.0.5   所有OSPF路由器
    224.0.0.6   OSPF指定路由器
    224.0.0.9   RIP-2路由器
    224.0.0.10  EIGRP路由器
    224.0.0.13  PIM路由器
    224.0.0.15  CBT路由器
    224.0.1.39  Cisco-RP-Announce
    224.0.1.40  Cisco-RP-Discovery
    组播地址除了分为永久地址和临时地址之外,还可以细分,我们需要知道的细分地址为:
    保留给网络协议的地址范围:
    224.0.0.0 ——224.0.0.255
    全局地址范围:
    224.0.1.0 ——238.255.255.255
    限制私有地址范围:
    239.0.0.0 ——239.255.255.255
    组播二层地址:
    一个IP数据包要在网络中传送,必须依照OSI七层模型由上至下封装,比如先封装TCP或UDP端口号,然后封装IP地址,如果是组播数据包,那么目标IP为组播地址,最后再封装数据链路层地址,如果介质是以太网,那么就需要封装MAC地址。
    当一个数据包为组播数据时,那么这个数据包将被多台主机接收,所以数据包的MAC地址不能为某台主机的真实MAC地址,这时就需要根据组播IP地址,来封装一个拥有对应关系的组播MAC地址,因为这个组播MAC是与组播IP地址对应的,且不是主机的真实MAC地址,所以能够被多台主机接收到。
    组播的MAC地址和组播IP地址拥有对应关系,也就是说组播MAC地址是根据组播IP地址计算得到的。一个MAC地址为48 bit,使用十六进制表示,组播MAC地址的前面24 bit固定为01 00 5E,第25 bit固定为0,而剩下的23 bit则使用组播IP地址后23 bit填充。如下图表示:
    从上图中可以看出,组播MAC地址前面24 bit固定为01 00 5E,第25 bit 固定为0,而后面23 bit由组播IP地址的后面23 bit映射过来。
    一个组播IP地址为32 bit,而前面4个bit固定为1110,后面23 bit被映射到了组播MAC地址,所以中间还有多余的5个bit可以随意设置,正因为这5 bit可以随意取值,最终造成有2的5次方共32个IP地址被映射到同一MAC地址。如下面出现的结果:
    组播IP地址为:
    224.0.0.1后23 bit为00 00 01
    映射出组播MAC地址为01 00 5E 00 00 01
    225.0.0.1后23 bit为00 00 01
    映射出组播MAC地址为01 00 5E 00 00 01
    226.0.0.1后23 bit为00 00 01
    映射出组播MAC地址为01 00 5E 00 00 01
    等等••••••。
    由上可以看出,将会有多个组播IP地址映射到同一个组播MAC地址,数量为32个,但是这并不会影响到组播的通信,因为即使组播的MAC地址相同,但是组播IP地址可能是不同的,所以数据量不会被混淆,即使组播IP地址是相同的,不同数据流也会使用不同的上层端口号,最终也能将不同数据流区分开来。

微信