Networking FreeDOS - Loading the TCP-IP Kernel
Modern operating systems have their own TCP/IP kernel already built-in: Microsoft systems come with "Winsock" since Windows 95. In GNU/Linux the TCP/IP stack is part of the Linux kernel. DOS however comes without kernel. So after we had installed our packet driver, we have to give the TCP/IP kernel a thought.
How it works
The TCP/IP kernel is also called "stack" or "protocol stack", because it consists of two layers: IP and TCP. IP runs on top of the hardware driver and TCP on top of IP, providing an interface to network applications. For DOS different types of TCP/IP kernels are available.
As we see in the figure above, they can either work as external programs or they are already built into the applications.
- An external TCP/IP kernel is typically started by
AUTOEXEC.BATor by a batch-file. It stays memory resident, so it can answer ping requests for instance.
- Other network applications come with TCP/IP kernel functions already built-in and do not need an external TSR kernel. An application with built-in TCP kernel has the advantage that it doesn't need another driver which consumes precious DOS memory. On the other hand TCP/IP functions are limited to those of the network application and are only provided as long as it runs.
Every TCP/IP kernel must be configured with general information about the network, as IP address, netmask, nameservers and gateway, or it must be told to get this information via a BOOTP or DHCP server.
Examples for external TCP/IP kernels for DOS are
- the free Trumpet TCP kernel
- the TCP/IP kernel of Novell NetWare
- Microsoft MS Client's
- FTP Software Inc.'s
Examples for TCP/IP kernels built into DOS applications are
- WatTCP, which is f.i. already built-in the graphical web browser "Arachne",
- the mTCP kernel, written in 2009,
- the KA9Q kernel which is part of that program,
- the NCSA Telnet kernel which is built into the applications included in this suite,
- the CUTCP kernel and
- the University of Minnesota stack, which is part of "Minuet".
So most of us will not have to install a TCP/IP kernel at all. Instead we only have to care about the
WATTCP.CFG configuration file for those networking applications.
The next chapter takes a closer look at WatTCP and its successor Watt-32. Then we will examine NTCPDRV which is the only free external TCP/IP kernel available. Afterwards we briefly look at other external TCP/IP kernels.