怀德维宁

大邦维屏,大宗维翰。怀德维宁,宗子维城。

0%

virtio-win-gt修改Tcp323opts

在之前处理的一个问题中,发现HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters路径下的Tcp323opts参数对于网络具有很大影响。虽然最后问题定位于网络驱动版本落后问题,但是在该过程中发现windows的网络相关设置与系统默认设置不一致。

按照微软官方文档的说法:默认情况下启用时间戳和窗口缩放,即默认情况下对应数值为3
https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/networking/description-tcp-features

在ali的对应系统上,发现整体行为符合微软的文档中的说明:即注册表中不存在对应表项,因此使用了默认策略,启用时间戳和窗口缩放。

但是在出问题的windows系统上,却发现Tcp1323opts被设置为了0,整体表现与预期不符,结合相关资料,可以认为存在相关程序对该键值进行了修改。

最后定位在了virtio-win-gt程序上,安装virtio驱动是使用virtio-win-gt-x64.msi进行安装。

因此在ali的虚拟机上使用virtio-win-gt-x64.msi安装virtio,并结合日志对比安装前后注册表变化,发现virtio-win-gt-x64安装过程中对注册表进行了修改,在日志中发现其修改了两个注册表键值。

(1)将\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Tcp1323Opts设置为0;

(2)将\Software\VirtIO-FS\FileSystemName设置为NTFS;

详细日志记录如下:

MSI (s) (74:70) [21:10:41:755]: Executing op: RegOpenKey(Root=-2147483646,Key=SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,,BinaryType=1,,)
MSI (s) (74:70) [21:10:41:755]: Executing op: RegAddValue(Name=Tcp1323Opts,Value=#0,)
1: \SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 2: Tcp1323Opts 3: #0 
MSI (s) (74:70) [21:10:41:755]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\VirtIO-FS,,BinaryType=1,,)
MSI (s) (74:70) [21:10:41:755]: Executing op: RegAddValue(Name=FileSystemName,Value=NTFS,)
1: \Software\VirtIO-FS 2: FileSystemName 3: NTFS