Kernel Mode Sockets (KSOCKS)
Attempting to use TCP/IP - or any other protocol from the kernel - can prove to be a
frustrating task. The Transport Driver Interface (TDI) is documented, but the
details of how to communicate with the various protocols are not. The IFS Kit
includes an example of using the NETBios interface; which is fine if you want to use the
NETBios interface, but is no assistance trying to use a standard TCP/IP protocol.
This has made performing network communications from kernel mode overly complicated,
difficult, and time consuming.
The solution to this problem is KSOCKS, OSR's kernel mode Sockets interface
specifically designed for Windws NT/2000/XP. KSOCKS implements the well-known BSD
Sockets interface to allow kernel mode drivers of all types to make and accept
both connection-oriented and connectionless connections, utilizing TCP/IP, UDP/IP,
and RAW sockets.
KSOCKS is implemented as a kernel mode DLL, against which other drivers using its
functionality link. Since it is designed specifically for Windows, the package is of
course fully thread-safe and re-entrant. All processing is completely performed in kernel mode, with
the exception of a few support calls such as gethostbyname(...) which are handled by an optional
user-mode service.
New Release of KSOCKS Now Available! OSR has recently announced the availability
of KSOCKS Version 2. See the press release. This
release of KSOCKS V2 represents major performance gains over KSOCKS V1 at all packet sizes and in all modes
of operation (throughput and CPU utilization). Additional samples and tests plus support for Raw Sockets
round out this major upgrade.
|