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定时重新启动(适用于server 2012 r2)