zoukankan      html  css  js  c++  java
  • 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地址到以太网多播地址的映射如图所示:
         由于多播组号中的最高5位在映射过程中被省略,因此每个以太网多播地址对应的多播地址组不唯一的。既然地址映射不唯一,那么设备驱动程序或者IP层就必须对数据报进行过滤。
         单个物理网络的多播是简单的。多播进程将目的IP地址指明为多播地址。设备驱动程序将它转换为相应的以太网地址,然后把数据发送出去。
     
    4.IGMP:网际组管理协议
         IGMP用于支持主机和路由器进行多播的网际组管理协议。ICMP报文格式如下,
     
         IGMP类型为1说明是由多播路由器发出的查询报文,为2说明是主机发出的报告报文。
    • IGMP的报告和查询
      • 当第一个进程加入一个组时,主机就发送一个IGMP报告。如果一个主机的多个进程加入同一组,只发送一个IGMP报告。这个报告被发送到进程加入组所在的同一接口上。
      • 进程离开一个组时,主机不发送IGMP报文
      • 多播路由器定时发送IGMP查询来了解是否还有任何主机包含有属于多播组的进程。
      • 主机通过发送IGMP报告来响应一个IGMP查询,对每个至少包含一个进程的组均要发回IGMP报告。
  • 相关阅读:
    Castle 开发系列文章
    ASP.NET MVC 3 Release Candidate 发布喽
    Scott Hanselman on SpeakerWiki
    2010年上半年计算机软考软件设计师试卷参考答案
    一站式示例代码库2010年11月5日更新
    从数据到代码—基于T4的代码生成方式
    CodeDOM
    老吉优秀的数据库访问层代码(转)
    非关语言: 设计模式
    EntLib
  • 原文地址:https://www.cnblogs.com/newwy/p/3229207.html
Copyright © 2011-2022 走看看