除了单播和广播外,IP层还提供多播机制用于发送和接收数据.IP多播传输是发送到一个目标IP地址但是却被多个主机接收和处理,不论
它们是否于同一个网络.一个主机监听一个特定的IP多播地址并且接收到这个IP地址的收所有的数据包.
    多播比单播和广播更有效率的提供一到多的数据分发.不象单波,一次只有一份数据被发送;也不象广播,多播传输仅仅只被监听中的主机接收并处理.
    处于特定的IP多播地址中的主机集合称作主机组.一个主机能发送数据到一个IP多播地址(即使发送数据的主机不属于这个对应的主机组).主机组的成员是动态的.主机组中的主机能在任何时间加入或退出主机组,并且主机组的数量没有限制.
    一个主机组能被 IP路由器分隔跨越多个网段.要实现 这样的配置需要路由器支持IP多播并且要求主机具有注册到他们感兴趣的多播传输的相邻的路由器的能力.主机使用在IPV4中使用IGMP(Internet Mangagement Protocol)或IPV6中使用MLD(Multicast Listener Discovery)来注册成为主机组成员.

内联网中的IP多播
   在一个内联网中,任何主机能发送IP多播数据到任何多播组,并且任何主机能从任何多波组地址接收IP多播数据,而与其位置无关
   要实现这个功能,网络中的主机和路由器必须支持IP多播.
主机支持IP多播 
   主机要发送IP多播数据包,它将采用下列步骤来实现:
   1 确定要使用的IP多播地址,由应用程序硬编码或通过一种机制获得一个唯一的多波地址.
   2 在媒体中传输多播数据.发送端主要必须打包一个包含目的IP多播地址的多播数据包并将它送到媒体层传输.在基于共享访问技术的网络环境下(如以太网和令牌网),由多播地址得到MAC地址(Media Access Control).
   
   主机用下列步骤接收多播数据:
       1 通知IP层接收多播数据,为了查明可供使用的多播地直,应用程序必须决定是创建 一个新的主机组或加入一个已存在的主机组.如果是加入一个存在的主机组,应用程序能使用 一个硬编码的多播地址或从通用资源定位(Uniform Resource Locator)得到一个多播地址.
 2 查明使用的地址后,应用程序必须告诉IP层接收多播数据,并发送到组地址.例如,程序能使用Windows Sockets 函数告知IP层有多播
组加入.如果有多个程序使用相同的多播地址,IP层则复制一个数据包到每一个多播地址.当程序加入或离开一个主机组时,IP必须追踪哪个程序正在使用哪个多播地址.对于有多个多播地址的主机,IP层必须追踪其每一个对应子网的主机组成员.
 3 在网络适配器上注册多播Mac地址,如果网络技术支持基于硬件的多播,则网络适配器被告知为特定的多播地址传送数据包.这个主机使用NdisRequest()函数告知网络适配器来响应一个多播Mac地址来处理相对就的IP多播地址.
 4 通知本地路由器,主机必须告诉本地子网路由器自己正在利用IGMP或MLD监听一个特定的主机组地址.