I P多播通信得到了所有Wi n d o w s平台的支持( 2 . 1版之前的Windows CE除外)。但另一方面,在各个平台上, I P多播的具体实施方式却稍有差异。我们早先已经指出,使用的网卡首先必须支持多播通信。为此,网卡需要以硬件形式,为接口增加多播过滤器。多播I P地址采用了一个特殊的M A C地址,其中包含了编好码的I P地址,使网卡能轻易判断出进入的数据包是否属于多播数据,同时调查这个包的目标多播I P地址是哪一个。所有这些信息只需检查M A C头便可取得。在RFC 1700中,对具体的编码方案进行了讨论。
然而, Windows 95和Windows NT 4的多播实施方式却有所不同,这是通过将网卡置于
“混杂”模式来进行的。换句话说,网卡会通过信号线缆取得传来的所有数据包,再一起转交给网络驱动程序,由后者负责检查M A C头的内容,看看是否有多播数据发给一个多播组,而且工作站上的一个进程属于那个组的成员。由于这种过滤实际是由软件(驱动程序)完成的,性能当然比不上用硬件来过滤数据包。因此, Windows 98和Windows 2000采取了不同的实施方式。两者均利用了网卡本身的能力,来实现过滤器的增添。由于在硬件一级执行,所以效能当然要高出许多。目前大多数网卡都能支持1 6或3 2个硬件过滤器。对Windows 98来说,唯一的限制是一旦设置了所有硬件过滤器,机器上运行的进程便无法再加入任何新的多播组。假如超出了硬件本身的限制,多播加入操作就会失败,并返回一个W S A E N O B U F S错误。在这一方面,Windows 2000显得更为“健壮”。假如所有硬件过滤器都被占用, Windows 2000就会像Windows 95和Windows NT 4那样,将网卡置为“混杂”模式,通过软件实现M A C头的解析。
“混杂”模式来进行的。换句话说,网卡会通过信号线缆取得传来的所有数据包,再一起转交给网络驱动程序,由后者负责检查M A C头的内容,看看是否有多播数据发给一个多播组,而且工作站上的一个进程属于那个组的成员。由于这种过滤实际是由软件(驱动程序)完成的,性能当然比不上用硬件来过滤数据包。因此, Windows 98和Windows 2000采取了不同的实施方式。两者均利用了网卡本身的能力,来实现过滤器的增添。由于在硬件一级执行,所以效能当然要高出许多。目前大多数网卡都能支持1 6或3 2个硬件过滤器。对Windows 98来说,唯一的限制是一旦设置了所有硬件过滤器,机器上运行的进程便无法再加入任何新的多播组。假如超出了硬件本身的限制,多播加入操作就会失败,并返回一个W S A E N O B U F S错误。在这一方面,Windows 2000显得更为“健壮”。假如所有硬件过滤器都被占用, Windows 2000就会像Windows 95和Windows NT 4那样,将网卡置为“混杂”模式,通过软件实现M A C头的解析。