Networking FreeDOS - mTCP


  In 2009 Michael B. Brutman (see:, a programmer
  and DOS enthusiast, wrote a new TCP/IP Kernel for DOS called "mTCP"
  He tested this kernel on a PCjr (see:
  IBM_PCjr) 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. 

[Main menu] [top] [License] [Applications] [Configuration] [Performance] [Conclusion]


  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

[Main menu] [top] (License) [Applications] [Configuration] [Performance] [Conclusion]


  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 

[Main menu] [top] [License] (Applications) [Configuration] [Performance] [Conclusion]


  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
    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
  Afterwards run DHCP.EXE. The program will update the configuration file
  with all the info it gets from the server.

[Main menu] [top] [License] [Applications] (Configuration) [Performance] [Conclusion]


  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.
    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.

[Main menu] [top] [License] [Applications] [Configuration] (Performance) [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.

[Main menu] [top] [License] [Applications] [Configuration] [Performance] (Conclusion)

  Copyright © 2007 Ulrich Hansen, Mainz (Germany), modified 2010
  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.1 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"