TCP/IP详解学习笔记(9)-- 广播,多播,IGMP:网际组管理协议

1.概述

     IP有三种地址:单播地址, 广播地址,多播地址。
     广播和多播仅应用于UDP。
     每个以太网帧包含源主机和目的主机的以太网地址。通常每个以太网帧发往单个目的主机,目的地址指明单个接收接口,因而称为单播。
     一个主机要向网上的所有其他主机发送帧,就是广播。
     一个主机要向网上的多个主机发送帧,就是多播。
2.广播
  • 受限的广播:受限的广播地址是255.255.255.255。该地址用于主机配置过程中IP数据报的目的地址。主机可能还不知道它所在的网络的网络掩码,甚至连它的IP都不知道。
  • 指向网络的广播:指向网络的广播地址是主机号全为1的地址。A类网络广播地址为netid 255.255.255.其中netid为A类的网络的网络号。
  • 指向子网的广播:指向子网的广播地址为主机号全为1且有特定子网号的地址,作为子网直接广播地址的IP地址需要了解子网的掩码。
  • 指向所有子网的广播:指向所有子网的广播地址的子网号及主机号为全1。
3.多播
     IP多播提供两类服务:
          1)向多个目的地址传送数据
          2)客户对服务器的请求(如BOOTP协议)
     多播组地址:
    
     多播组地址包括为1110的最高4bit和多播组号。范围从224.0.0.0到239.255.255.255。能够接收一个特定多播地址数据的主机集合称为主机组,一个主机组可以跨越多个网络。
     eg. 224.0.0.1 代表“该子网内所有的系统组”,224.0.0.2代笔“该子网内的所有路由器组”。多播地址224.0.1.1用作网络时间协议NTP,224.0.0.9用作RIP-2。
     多播组地址到以太网的转换:
     IANA拥有一个以太网地址块,即高24bit为00:00:5e。IANA将其中的一半分配为多播地址。任何一个以太网地址的首字节必须是01,意味着IP多播相对应的以太网地址范围从01:00:5e:00:00:00到01:00:5e:7f:ff:ff
     D类IP地址到以太网多播地址的映射如图所示:
TCP/IP详解学习笔记(9)-- 广播,多播,IGMP:网际组管理协议_第1张图片
     由于多播组号中的最高5位在映射过程中被省略,因此每个以太网多播地址对应的多播地址组不唯一的。既然地址映射不唯一,那么设备驱动程序或者IP层就必须对数据报进行过滤。
     单个物理网络的多播是简单的。多播进程将目的IP地址指明为多播地址。设备驱动程序将它转换为相应的以太网地址,然后把数据发送出去。
 
4.IGMP:网际组管理协议
     IGMP用于支持主机和路由器进行多播的网际组管理协议。ICMP报文格式如下,
 
TCP/IP详解学习笔记(9)-- 广播,多播,IGMP:网际组管理协议_第2张图片
     IGMP类型为1说明是由多播路由器发出的查询报文,为2说明是主机发出的报告报文。
  • IGMP的报告和查询
    • 当第一个进程加入一个组时,主机就发送一个IGMP报告。如果一个主机的多个进程加入同一组,只发送一个IGMP报告。这个报告被发送到进程加入组所在的同一接口上。
    • 进程离开一个组时,主机不发送IGMP报文
    • 多播路由器定时发送IGMP查询来了解是否还有任何主机包含有属于多播组的进程。
    • 主机通过发送IGMP报告来响应一个IGMP查询,对每个至少包含一个进程的组均要发回IGMP报告。

你可能感兴趣的:(TCP/IP)