Previous Next Contents

1. Overview

There have been several predecessors to TACS, most recently the Tampa PingPong Server (TPP), also by the author of TACS. TPP attempted to extend the PingPong (PP) Server's Protocol in order to overcome it's deficiencies and still remain compatible. Once a separate protocol was determined to be required, the TPP project was renamed to TACS, to prevent confusion.

1.1 Why two protocols?

The PP server's protocol was an excellent protocol for a couple of hosts to be connected, especially if the machines occasionally came down. Once the Internet backbone of servers developed and the normal server stayed up for months at a time rather than hours/days, many deficiencies were discovered.

One of these problems was accidental server loops. This where one or more hosts have multiple links into the same network, and where some/all of their commands get into perpetual loops, bouncing commands back and forth in the network. There is no way in the PP Protocol to discover this or to correct it.

Another problem with the PP Protocol was that once a destination was 'heard' it was never removed, even if it's connection no longer existed.

There were also many cases where user input could be implemented on a server to be larger that the PP server could handle, and could crash the PP server. Since the PP Protocol never defined the acceptable lengths of any fields, nor checked those lengths, this caused MANY problems. One 'experimental' server could continually bring down every host on the network.

Several other assorted issues became troublesome as the network grew. Security issues were NOT addressed in the PP Protocol. There was no way to extend a network by servers adding custom commands. There was no way to automatically determine the makeup of a network.

1.2 TACS extends TPP

While TPP was able to address SOME of these issues and remain a simple superset of the PP Protocol, it became obvious that if the network was to improve and be extended, a new protcol would be needed.

So, TACS took the enhancements of TPP and extended them. Most of the changes are made by simply placing the Host of origin in each command, and by adding to the destination data some information telling where the site is linked to and whether or not the site is TACS-compatible.

While every attempt is being made to ensure that the TACS-mode Protocol is bulletproof, any TACS server accepting non-TACS server connections IS vunerable to some of the same problems as PP/TPP servers, including the possibility of unexpected crashes. Much time has been taken in the design of TACS to prevent this, but the author is not stupid enough to believe that all problems have been identified and solved.

1.3 Determining Protocol Mode

There are (possibly) two different protocols that can be used between hosts. The original PingPong protocol is used if the 't' facility is NOT given in the HOST command.

TACS servers can be compiled without PP Protocol support, and even those with the PP support compiled in can be configured at runtime to ignore HOST commands for non-TACS HOSTS. This is a choice of the SYSOP, determined by their need.

Those servers in the central core of the Internet network will probably decide NOT to support connections from non-TACS servers, since these servers are depended on by many other servers.


Previous Next Contents