FreeDOS help system (hhstndrd 1.0.8 en)[mtcp]

Networking FreeDOS - mTCP

mTCP:

In 2009 Michael B. Brutman (see: http://www.brutman.com/ (*01)), a programmer and DOS enthusiast, wrote a new TCP/IP Kernel for DOS called "mTCP" (see: http://www.brutman.com/mTCP/ (*02)). He tested this kernel on a PCjr (see: http://en.wikipedia.org/wiki/ IBM_PCjr (*03)) from 1983. According to his website, he wants to create a modern TCP/IP kernel that has a small size and high performance. The program is already working great, it is updated frequently.

License:

mTCP is Free Software. On May 27, 2011 Michael Brutmann released it under the terms of the GPL v3. The source code is available at http://www.brutman.com/mTCP/mTCP.html (*04).

Applications:

Like WatTCP, mTCP is a library that is linked with the application code, i.e. it is built into the applications. In summer 2010 the following applications were available from his website: * dhcp.exe -- a DHCP client * ftpsrv.exe -- a FTP server * dnstest.exe -- a DNS resolver * ftp.exe -- an FTP client * ircjr.exe -- an IRC client * nc.exe -- a netcat utility * telnet.exe -- Telnet * sntp.exe -- a NTP (Network Time Protocol) client * ping.exe -- Ping utility

Configuration:

mTCP uses packet drivers. It needs a configuration file on a location specified by an environment variable, e.g.: set MTCPCFG=c:\mtcp\tcp.cfg The configuration file looks like this: --- TCP.CFG --- PACKETINT 0x60 IPADDR 192.168.1.50 NETMASK 255.255.255.0 GATEWAY 192.168.1.1 NAMESERVER 192.168.1.1 MTU 1500 If you have a DHCP server running on your network, you don't need to write down static addresses. Instead you only have to define the vector of the packet driver and the name of the machine in TCP.CFG: --- TCP.CFG --- PACKETINT 0x60 HOSTNAME PCjr Afterwards run DHCP.EXE. The program will update the configuration file with all the info it gets from the server.

Performance:

In a first test the FTP application of mTCP was faster than all other programs tested. In fact it downloaded a binary file seven times faster than Arachne and ten times faster than NCSA Telnet! The computer used for testing was a Compaq Contura Aero 486SL with 33 Mhz and 20 MB RAM. The OS was FreeDOS 1.0. The file downloaded was a mp3 with a file size of 4 megabyte. Results: mTCP FTP 15 sec. curl 23 sec. WatTCP FTP 51 sec. Watt-32 FTP32 51 sec. Datalight Sockets FTP client 69 sec. Arachne 1.93 104 sec. NCSA Telnet FTP 149 sec. CUTCP FTP v. 2.2 155 sec. EZ-NOS2 231 sec. Of course the results depend on the hardware used for testing. For comparison: On a more modern laptop (IBM X60T, 3 GB RAM, OS: Ubuntu 8.04) the same file was downloaded by Filezilla in five seconds.

Conclusion:

mTCP seems to work fine. Its performance looks very promising. It's release as Free Software in 2011 is a great step forward for FreeDOS. The development of mTCP should be monitored closely by everyone interested in DOS and FreeDOS networking. (*01) OK (*02) OK (*03) OK (*04) OK ------------------------------------------------------------------------------ Copyright (C) 2007 Ulrich Hansen, Mainz (Germany), modified 2010 and 2020 by W.Spiegl. For more information see here. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation. A copy of the license is included in the section entitled "GNU Free Documentation License 1.2".