系列TCP/IP协议-广播与多播(010)

1、引言

在一开始的IP层介绍的时候就已经提供了三种IP地址:单播地址,广播地址,多播地址。对于这些通信方式的理解是:单播地址是一对一的通信,广播是一对多的通信,多播是一对多的通信。多播是对一个特定的通信主体集合的通信。广播与多播仅仅应用于UDP协议。单播的典型方式是TCP协议。微信

2、广播

有时一个主机要向网上的全部其余主机发送帧,这就是广播。广播有四种地址类型以下:网络

  • 受限的广播地址:255.255.255.255。该地址用于主机配置过程当中IP数据包的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。
  • 指向网络的广播:主机号为全1的地址。
  • 指向子网的广播:主机号为全1且有特定子网号的地址。
  • 指向全部子网的广播:全部子网的广播地址的子网号及主机号为全1。

3、多播

多播出现的缘由是须要向多个目的地址传送数据。目前,大多数的网卡通过配置都能接收目的地址为多播地址或某些子网多播地址的帧。对于以太网,当地址中最高字节的最低位设置为1时表示该地址是一个多播地址,用十六进制可表示为 01:00:00:00:00:00(以太网广播地址ff:ff:ff:ff:ff:ff可看做是以太网多播地址的特例)。cdn

1. 多播组地址

多播的IP地址即D类IP地址,如图1: blog

图1.D类IP地址
  不像其余三类IP地址(A、B、C),分配的28bit均用做多播组号而再也不表示其余.多播的IP范围为:从224.0.0.0到239.255.255.255。   可以接收发往一个特定多播组地址数据的主机集合称为主机组 (host group)。一个主机组可跨越多个网络。主机组中成员可随时加入或离开主机组。主机组中对主机的数量没有限制,同时不属于某一主机组的主机能够向该组发送信息。

对于多播IP地址到多播物理地址(MAC)转换以下:进程

  • IANA拥有一个以太网地址块,即高位24bit为00:00:5e(十六进制表示),这意味着该地址块所拥有的地址范围从00:00:5e:00:00:00到00:00:5e:ff:ff:ff。IANA将其中的一半分配为多播地址。为了指明一个多播地址,任何一个以太网地址的首字节必须是 01,这意味着与IP多播相对应的以太网地址范围从 01:00:5e:00:00:00到01:00:5e:7f:ff:ff
  • 这种地址分配将使以太网多播地址中的23bit与IP多播组号对应起来,经过将多播组号中的低位23bit映射到以太网地址中的低位23bit实现。
  • 因为多播组号中的最高 5 bit在映射过程当中被忽略,所以每一个以太网多播地址对应的多播组是不惟一的。
    图2.多播IP与物理地址映射关系

单个物理网络的多播是简单的。多播进程将目的 I P地址指明为多播地址,设备驱动程序将它转换为相应的以太网地址,而后把数据发送出去。资源

2.原理

“多播”亦称“多点传送”(multicast),也就是一台主机发出的包能够同时被其余多个有资格的主机接收,这台主机和那些有资格的主机就造成了一个组,他们在组内的通讯是广播式的。多播的工做原理是,将一个网络上的某些主机的网卡设置成多播传送工做模式,指定其不过滤以某一个多播传送地址做为目的物理地址的数据帧,这样,这些主机的驱动程序中就能够同时接收以该多播传送地址做为目的物理地址的数据帧,而其余主机的驱动程序却接收不到,这些主机在逻辑上便造成了一个“多播”组。采用这种技术,相对广播而言,可有效减轻网络上“多播”组以外的其余主机的负担,由于发送给“多播”组的数据不会被传送到它们的驱动程序中去处理,避免资源的无谓浪费。路由

3.IGMP协议

IGMP(Internet Group Management Protocol Internet组管理协议)用于管理网路协议多播组成员的一种通讯协议。IP主机和相邻的路由器利用IGMP来建立多播组的组成员。像ICMP用于单播链接同样,IGMP也是IP多播说明的一个完整部分。 IGMP为互联网协议的一种,属于开放系统连接(OSI) 模块的第三层协议,IP主机用它将主机的多点发送成员人数报告给临近的多点发送路由器。it

图3.IGMP协议

  • 这是版本为1的IGMP
  • IGMP类型:为1说明是由多播路由器发出的查询报文,为 2说明是主机发出的报告报文;
  • 校验和:同ICMP协议

都看到这里了,要不要扫二维码关注一下微信公众号林湾村龙猫io

微信公众号rudy_tan_home
相关文章
相关标签/搜索