广播和多播

多播和广播仅用于UDP(TCP是面向连接的)

  * 多播:将数据帧传给同一网络上的多播组内的多个主机;
   广播:将数据帧传给同一网络上的所有主机。

  * 网卡判断目的地址为网卡物理地址或广播、多播地址的帧,发送给驱动程序;

  * 多播地址:最高字节的最低位置1的地址(以太网):01:00:00:00:00:00
   广播地址:可以看成是多播地址的特例(以太网): ff:ff:ff:ff:ff:ff

  * 多播的出现减少了对应用不感兴趣主机的处理负荷。

==> 广播

  * 受限的广播地址:255.255.255.255,该地址用于主机配置过程中IP数据报的目的地址;

  * 指向整个网络的广播:主机号全为1的IP地址。

  * 指向子网的广播:主机号全为1且有特定子网的地址。

  * 指向全部子网的广播:子网号和主机号全为1的地址。

==> 应用对广播的支持情况:

  * ping : 设计上的缘故不能支持对网络的广播(返回未知主机),但支持子网广播(仅指UNIX的实现,它使用低级插口)
   如果发送主机的arp缓存是空的,则广播的相应方(包括它自己)在相应之前会向它发送arp请求。

    * tftp : 不支持广播(不允许向广播地址发送信息)

  * 广播是否被转发:由路由器进行设置(或在充当的路由器的计算机的操作系统内核中进行设置)

==> 多播

  * D类地址为多播地址(110+28为多播组号),能够接收发往一个多播组地址的主机的集合称为主机组,一个主机组可以跨越多个网络。

  * 多播地址与以太网地址的转换:IANA将其拥有的以太网地址块的一半分配给多播地址(00:00:5e:00:00:00 - 00:00:5e:7f:ff:ff),为了指明多播地址将首字节定位01,所以IP多播相对应的以太网地址范围从01:00:5e:00:00:00 到 01:00:5e:7f:ff:ff。将IP多播组地址的低23位影射到以太网地址的低23位即可实现转换。
  
  * 多播地址(D类IP)到以太网地址的转换不是一一对应的,所以还需要网卡或驱动程序进行过滤。

  * 单个物理网络的多播比较简单:多播进程将目的IP 指定为多播地址,设备驱动程序将它转换为以太网地址然后发送出去;接收方主机中的相关的接收进程必须"加入一个多播组"(即通知IP层,它们想接收发往某个多播地址的数据报),该主机在收到一个多播数据报时,就会向属于那个多播组的进程发送一个复制。一个主机中可以有多个进程同属一个多播组。


接口卡:网卡,仅接受目的地址为网卡物理地址和广播地址的帧。
设备驱动程序:进行多播过滤,检测本机是否属于该多播组。
IP层:IP根据目的地址和源地址进行更多的检测,如果正常则传给UDP和TCP。
UDP:根据端口号,分配给不同的进程服务,如果未找到,则返回ICMP端口不可达错误。
注意对于广播,只有到达UDP层,才能检测出来是否是本机需要的信息,才能决定是否丢弃,增加了主机的处理负荷,针对此中情况,增加了多播,多播在设备驱动层就可以检测是否丢弃,直接过滤掉。

广播


受限的广播地址:255.255.255.255,。该地址用于主机配置过程中I P数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的I P地址也不知道。一般路由器碰到这种广播,都不进行转发,让其仅在本网内进行传播
指向网络的广播地址:主机号全为1的地址,如A类地址为netid:255:255:255,一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。
指向子网的广播地址:指向子网的广播地址为主机号为全1且有特定子网号的地址。例如,如果路由器收到发往128 .1.2.255的数据报,当B类网络128.1的子网掩码为255.255.255.0时,该地址就是指向子网的广播地址。
指向所有子网的广播地址:指向所有子网的广播地址的子网号及主机号为全1。例如,如果目的子网掩码为255.255 .255.0,那么IP地址128.1.255.255是一个指向所有子网的广播地址。然而,如果网络没有划分子网,这就是一个指向网络的广播。


组播


不像其它3类地址,分配的28bit均用作多播组号而不再表示其他。多播组地址包括为1110的最高4 bit和多播组号。它们通常可表示为点分十进制数,范围从224.0.0.0到239.255.255.255。

多播地址与以太网地址的映射
与I P多播相对应的以太网地址范围从0 1 : 0 0 : 5 e : 0 0 : 0 0 : 0 0到0 1 : 0 0 : 5 e : 7 f : ff : ff。由于多播组号中的最高5 bit在映射过程中被忽略,因此每个以太网多播地址对应的多播组是不唯一的。3 2 个不同的多播组号被映射为一个以太网地址。例如,多播地址2 2 4 . 1 2 8 . 6 4 . 3 2(十六进制e 0 . 8 0 . 4 0 . 2 0)和2 2 4 . 0 . 6 4 . 3 2(十六进制e 0 . 0 0 . 4 0 . 2 0)都映射为同一以太网地址0 1 : 0 0 : 5 e : 0 0 : 4 0 : 2 0。将组播地址和以太网地址作映射,则可以通过网卡,由网卡驱动程序来做过滤,查看本机是否属于本组播组,如果不是,直接过滤掉,就不用透传给UDP。



没怎明白这个破组播到底有啥用,设定个组播地址,然后那些领域再用呢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值