Please Support Our Sponsor:
Office1000
For all of your office supply needs.

Skip over menu

Unusual Research Home Page
Tiny TCP/Tiny WEB/etc. Last Modified on:Wed Dec 29 17:15:42 2004
Navigation Menu Left:

ASCII Chart
Accounting for the Math Challenged
Adaptive Camouflage
Application Notes
Ball Lightning
Bellocq, Toribio, Compression Wave Pump and Thromp Pumps
Calculate your Biorhythm via Java Applet
Chess Game via Java Applet
Cold Fusion Technical Report by U.S. Navy
Department of Energy's Technical Standards
Detection of Ether by R. Webster Kehr
Entropy - The Key to Unlimited Resources by Sanjay Amin
Esterel.org Reactive Programing Language
Experimental detection of (A)ether
FAT32 converter
Facts About Flatulence
Fundamental Physical Constants
Hacker Definition
Happenings at the Government Labs
Hydrogen Economy
ISO9000, the correct meaning
Invisible Man
Magnetic Units Explained

Tiny TCP/Tiny WEB Servers/etc.

Navigation Menu Right:

Permanent Electromagnetic Motor Generator/Bedini
Pharma-Lexicon Search Engine
Philadelphia Experiment
Read It Seven Times
Recovering Energy From Relays
Regular Expressions Explained
RetroPrograms, old but useful
Rubik Unbound Game
Scalar Waves/Aharonov-Bohm Effect/A-Vector Potential
Sir A. Fleming "On Atoms of Action, Electricity, and Light"
Software Patents gone bad
Spam - Kill off those large EMail Box clogging messages
Spam - Removing it with Mailfilter
Spelling, or lack there of
Star Trek like Force Fields/Plasma Windows
Supply Chain Math
Sutton & Spaniol et.al.'s "Black Hole" Antenna
Tiny TCP/Tiny WEB/etc.
UFO Design, of Chariot and Dragons
Unified Field Theory of Rotational Energy Physics By Tom Jachlewski
Unified Theory of the Universe by Zhang Chengbin
Virtual State Engineering and its Implications
Email us.


TCP/IP Protocol Documents

Internet RFCs: The Internet RFC (Request For Comments) documents, with full text search.

The Internet IEN (Internet Engineering Notes), with full text search.

The source for TCP/IP protocols are RFC documents which are worth reading:

  • RFC768 - UDP
  • RFC791 - IP
  • RFC792 - ICMP
  • RFC793 - TCP
  • RFC826 - ARP
  • RFC854 - TELNET protocol, also used as underlying protocol for FTP.
  • RFC894 - IP over Ethernet.
  • RFC951 - BOOTP
  • RFC959 - FTP protocol.
  • RFC1122 - Host requirements.
  • RFC1123 - Requirements for Internet Hosts -- Application and Support. In particular it states that programs should try all IP addresses of multihomed hosts.
  • RFC1149 - IP over avian carrier.
  • RFC1661 - The Point-to-Point Protocol (PPP).
  • RFC1738 - URL syntax specification (FTP /%2F too).
  • RFC1939 - Post Office Protocol version 3 [POP3/Email].
  • RFC1945 - HTTP/1.0 protocol.
  • RFC2052 - SRV DNS records.
  • RFC2228 - FTP Security Extensions.
  • RFC2428 - FTP over IPv6.
  • RFC2518 - (WebDAV) Web-based Distributed Authoring and Versioning defines the HTTP extensions necessary to enable distributed web authoring. WebDAV provides a network protocol for creating interoperable, collaborative applications, making the Web a collaborative, writable medium. The basic purpose of WebDAV is to provide file I/O through HTTP. This permits you to load, edit, delete, create subdirectories, and basically manage files located on the Web Server from the client desktop.
  • RFC2616 - HTTP/1.1 protocol.
  • RFC3092 Meaning of 'FOOBAR'.


cURL groks URLs

Curl is a tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and a bus-load of other useful tricks.

libcurl - a multi-protocol file transfer library

libcurl is a free, highly portable and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more!


For sockets, threads, XML look at ACE:
http://www.cs.wustl.edu/~schmidt/ACE.html
For database support look at OTL:
http://www.geocities.com/skuchin/otl/home.htm


TinyTCP/TinyFTP

From: "Cyrus Patel" [cyp @ fb14.uni-mainz.de](Johannes Gutenberg Universitaet)
Subject: Another descendant of TinyTcp
Date: Sat, 14 Dec 2002 17:35:08 +0100

Hi,
I've re-written TinyTCP from the ground up for x86/DOS (including i386 protected-mode support) Borland/TurboC, WatcomC and DJGPP.
The rewrite was motivated by a need to...

a) ... be modular and provide proper abstraction between layers. A real _library_ in other words. For example, if an apponly needs UDP, then TCP shouldn't get linked. Or, if it onlywants raw IP (for example a simple PING program), thenneither UDP nor TCP will get linked.

b) ... be usable without dependancies on configuration files. DHCP/BOOTP support is available, and if used, thendoesn't require nameserver configuration.

c) ... be usable even when no NIC hardware is available. The library has integral loopback and dummy net drivers.

d) ... be a baseline for a portable BSD-compatible socket library.In other words, provide functionality that a XTI/TLI orBSD socket API would need, like bind, connect, sockopt anderror codes. (listen()/accept() support is in there too, but isyet untested).

e) ... be usable asynchronously - packet I/O can run entirely in the background. There is no longer a need to yield explicitely.

f) ... support fragmentation/defragmentation (full 64K IP packetsare supported, even for 16bit targets).

Unfortunately, this left the stack no longer tiny, but it is still pretty small. The library's footprint when compiled with support for (almost) everything, ie Packet Driver support + Ether + IP + ARP/RARP + ICMP + UDP + TCP + DHCP/BOOTP + DNS (but not including IGMP/multicast or debug support) is a hair under 64K. (see also 'ps:' below.)

I'd be very interested in hearing from anyone who uses it and/or develops it further.

Regards,
Cyrus [cyp @ fb14.uni-mainz.de]

ps: the library does have some crud in it in order to be compatible with that 'other' stack common in DOS developer circles that is so strangely similar to TinyTCP, and yet does not acknowledge TinyTCP's existance nor the fact that it is a progeny of it.


Note this is TCP only, there is no IP, this code is for bootstrapping a system only!

This code was written by Geoffrey H. Cooper long ago in 1986. If you port it to any processor please send it back here for every ones benefit, and I'll post it or provide a link to your port.

The files in this release contain a simple implementation of TCP & FTP, suitable for burning into ROM. It is, in effect, a big hack put together in two or three days written in C.

Please note (and honor) the copyright on each file:

Copyright (C) 1986, IMAGEN Corporation

This code may be duplicated in whole or in part provided that [1] there is no commercial gain involved in the duplication, and [2] that this copyright notice is preserved on all copies. Any other duplication requires written notice of the author (Geoffrey H. Cooper).

Download the 16K tinytcp.zip C code.
Download the 86K newer version.

What follows is a quote from the email I received, I offer no support for this file, please contact Gwang-Hyunk, Ahn at the web URI shown below for support:

Hello, My name is Gwang-Hyuk, Ahn. I live in the South Korea. I work in the TechiZ(the company name). I have just finished TinyTCP porting to Dallas's DS89C420(8051 Compatible) using Keil Compiler. I know that there are some bug. Currently, I try to fix the known bug. My company wish to open this source in our homepage and your homepage. My company wish that this source open to everyone for the study. I send the archive of the source. You see that archive, then tell me the fixed point about your license. If you send me the e-mail about fixed point, I will fix the source archive. So sorry about my poor English. Have a nice day.

Sincerely Yours.
Gwang-Hyuk, Ahn.

Gwang-Hyuk, Ahn.
The section chief of TechiZ
Homepage : http://www.techiz.com
Address : 214 Ho, Business Incubator, Ajou Univ.,
Wonchun-Dong, Paldal-Gu, Suwon, Kyounggi-Do,
South Korea
Zip-code : 442-749
Download TinyTCP_DS89C420.zip, 44K

Other tiny TCP/IP stacks:

> I found this old tiny tcp program on your website.
> Do you have an idea where I can get a further developed
> source code which still runs on 16 bit microcontrollers?


Some links can be found at the uCOS-II site.

uIP - A Free Small TCP/IP Implementation for 8- and 16-bit ...

uC/IP - TCP/IP for microcontrollers
uC/IP is a smallish TCP/IP protocol stack developed in ANSI C for microcontrollers and embedded systems.
http://sourceforge.net/projects/ucip/

TCP/IP stack for the Apple IIgs, in 65816 assembly language.

Liquorice is a multi-threaded SASOS for use in embedded systems (8 bit and up). Includes a small but working IP/ARP/ICMP/UDP/TCP stack with SLIP, PPP and Ethernet support.

http://www.embeddedethernet.com/

http://www.picoweb.net/

http://www-ccs.cs.umass.edu/~shri/iPic.html
[There is NO source code for that.]

http://hld.c64.org/poldi/lunix/lun_apps.html

http://www.6502.org/users/andre/osa/index.html

http://members.optushome.com.au/tomdavies/avr.html

http://www.cmx.com/main.htm

Motorola AN2120: Connecting an M68HC08 Family Microcontroller to an Internet Service Provider (ISP) Using the Point-to-Point Protocol (PPP). Gives PPP source code in 'C'.


'TCP/IP Lean' book and software. Exploration of the TCP/IP protocol family 'from scratch', with full source code for a wide variety of PC networking utilities, running under DOS or Win32. Includes a Web server with an I/O interface for remote control and monitoring, and a complete PICmicro� microcontroller implementation.

If you want to sell anything that contains this software, a license is required for each "incorporation" of the software in each commercial product...


CMP BOOKS

TCP/IP Lean, 2nd Edition by CMP Books-NOW 20% OFF! Implement an embedded TCP/IP stack that supports a Web server capable of providing dynamic graphics. In this new edition, the Web server is ported to the PIC16F877 and updated to work over an Ethernet connection.

http://www.cmpbooks.com/cgi-bin/shopspecific/store/docs/XES157820108X.htm



Adam Dunkels's research concerns small TCP/IP implementations for minimal systems and proxy architectures. His latest work has been lwIP, a minimal implementation of the TCP/IP protocol stack that is suitable for use in small clients such as embedded systems.


Other tiny Servers:

An Embeddable HTTP Server

Most HTTP servers for embedded devices place requirements on the design of embedded systems that adversely effect cost. The embeddable HTTP server Tim Jones presents here is small, but still powerful enough to get the job done. This is the one most suited to putting in a EPROM.

fnord - yet another small httpd. You might find their comparison to other tiny web servers of interest as well. Has its roots in Linux.

publicfile supplies files to the public through HTTP and FTP. It is part of the D. J. Bernstein collection. Security is the most important point with D.J.B. Has its roots in UNIX/Linux.

Hydra
Matchbox web server
HP embedded web server
uWebserver Based on iReady Technology
Lightner's Picoweb
WWW server in a chip
Embeddedethernet
TINI: Tiny InterNet Interface

DNS

Small/fast dns caching program. I use this on my Linux box to speed things up for my local network.

The Internet Software Consortium (ISC) is a not-for-profit corporation dedicated to developing and maintaining production quality Open Source reference implementations of core Internet protocols. ISC efforts are supported primarily by the donations of generous sponsors.

The ISC people are the people that bring you DHCP and BIND, ISC BIND (Berkeley Internet Name Domain) is an implementation of the Domain Name System (DNS) protocols and provides an openly redistributable reference implementation of the major components of the Domain Name resolving program.

comp.protocols.tcp-ip.domains Frequently Asked Questions


More small & fast software:

http://www.skarnet.org/software/
http://www.fefe.de/
http://cr.yp.to/

diet libc - a libc optimized for small size.

mess822 is a library for parsing Internet mail messages.




If you have any information that you would like to contribute please Email us.

Go Back To The Unusual Research Home Page.Check out this rare info!


Please Support Our Sponsor:
Office1000
For all of your office supply needs.

If hyperspace navigators get paid by the hour, then what is the pay-scale in a place where time has no meaning?

clock
(FROM THE US NAVAL OBSERVATORY)

+ Recent posts