windows 系统中的 afd 驱动

Posted 勤敬端正

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows 系统中的 afd 驱动相关的知识,希望对你有一定的参考价值。

afd 的全称是 Ancillary Function Driver for WinSock,是 windows 系统网络部分的核心工具。同 Linux 类似,windows 的 socket 最终也是被映射为一个文件,而 windows 中所有 socket 文件的操作,如创建、销毁、读写等,都是通过 afd 来完成的。windows 系统从 xp 到 win10,网络部分的实现架构已经有了很多的改进,但是,其中 afd 的地位始终没有改变 。

从这个操作系统的功能分层上看,在 afd.sys 之上的,都是一个个的系统库实现(dll)。

 

 

afd 创建新的 socket 后,分配给每个 socket 一个缓存区域,可以通过更改下面的注册表项,来改变收发缓存区域的大小:

[HKEY_LOCAL_MACHINE \\SYSTEM \\CurrentControlSet\\Services\\Afd\\Parameters]

DefaultReceiveWindow = 16384
DefaultSendWindow = 16384

 

从实验结果来看,修改后,windows 下 UDP 的 burst 性能提升显著(突发大量报文时,因为缓存被塞满,以后到来的 UDP datagram 都被扔掉)。说明,通过这种方法,来改变 winsock 网络接收缓存大小是有效的。

参考:

http://mista.nu/blog/?p=655

http://smallvoid.com/article/winnt-winsock-buffer.html

以上是关于windows 系统中的 afd 驱动的主要内容,如果未能解决你的问题,请参考以下文章

Windows 成功地加载了这个硬件的设备驱动程序,但找不到硬件设备。 (代码 41)

vs2013 未能加载包“visual c++ package”

系统安全——Windows中的共享文件和文件服务器

Windows定时重新启动(适用于server 2012 r2)

基于simulink的Active anti-islanding-AFD主动反孤岛模型仿真

由于该设备有问题,Windows 已将其停止。 (代码 43)