Tuesday 1 March 2011

Windows networking: interfaces

So have you ever wondered where Windows configures the some more obscure networking things like the length of its outgoing interface queue? (It's ok if you haven't ;) Anyway if you have then here's the dirt:
  • The actual maximum size of the queue (cf Linux's txqueuelen) is set in the registry:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{...your  GUUID here....}\ForwardBufferMemory which defaults to 50 packets (ok for 100Mbit Ethernet but not so good for Gigabit speeds...)
  • For the above config to work you need to enable router mode:
    HKLM\SYSTEM\CurrentControlSet\Services\Parameters\IPEnableRouter=1
  • In principle you can monitor the length of the output queue interface using this API
There's a various places that offer advice on improving performance like, Microsoft, and speedguide (win7). Windows 7 even provides special networking/scheduling support for multimedia apps.

Handy command line based Windows network tools: ipconfig, netsh

No comments:

Post a Comment