在Win7使用组播应用的过程中,发现win7在发送igmp membership report报文时有一些怪怪的现象,主要是针对VPN链路、虚拟网络及无线网络时,时不时会出现IGMP membership report报文无法发送的现象,抓包时有时能看到数据包,有时看不到数据包,但在有线链路上好像没有这个现象。
有时win7看组播视频也会出现“卡”的现象。
win7默认使用的IGMP V3,在手工更改成V2版本后,好像这种现象就没有发现了,或许win7的IGMP V3版本有些问题。
下面是更改win7的IGMP版本的一个文档,虽然是针对win2008与vista,但测试发现针对win7也适合!
In Windows 2008 and Windows Vista, we can control the Multicast support, infact to be precise, the level of Multicast support and the version of the IGMP protocol that is supported from Windows Registry.
By default, Windows 2008 and Windows Vista supports IGMPv3 and fully pariticipates in IGMP where it can both send and receive IPv4 multicast packets.
The following procedures should help you to control multicast support and IGMO version in Windows Server 2008 & Windows Vista
1. Click Start - Search and type “regedit”. This launches the WIndows Registry.
2. In the registry, navigate to the following registry key
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Services
\Tcpip
\Parameters
Set IGMP Version
In the right pane, right-click and select New – DWORD (32-bit value) and set its name as “IGMPVersion” and set it to one of the following values:
2 – Support IGMP version 1
3 – Support IGMP version 2
4 – Support IGMP version 3 (default)
Should you decide to revert to the defaults, simply delete the key.
Set Multicast support level
In the right pane, right-click and select New – DWORD (32-bit value) and set its name as “IGMPLevel” and set it to one of the following values:
0 – Disable Multicast support
1 – Support only sending IPv4 Multicast packets (do not receive)
2 – Fully participate in IGMP. Support sending and receing Multicast packets (default)
Should you decide to revert to the defaults, simply delete the key.