KISS
35
KISS Mode
The KISS Mode allows the TNC to act as a modem and packet assembler/disassembler (PAD). The
heart of the work to be done concerning what happens to data, must reside in your computer in
order to use this mode of operation. The KISS code, as designed by Phil Karn, is implemented to
support higher level protocols for sharing computer resources in a network fashion.
The most popular program using the KISS Mode of operation is TCP/IP or Transport Control Proto-
col/Internet Protocol. This program will allow simultaneous file transfers using FTP (File Transfer
Protocol), user conversations using TELNET and a Simple Mail Transfer Protocol (SMPT). In addi-
tion, multi-connect capability is built into the package, with the data being displayed only for the
current "session". You can relate a session to an I/O stream in the normal TNC operating mode.
In the KISS Mode, the TNC simply passes all received data to your computer and the computer
program is responsible for all processing of that data, including decisions concerning routing, digi-
peating and other control decisions. The TNC converts the synchronous data being received from
the radio link into asynchronous data to be passed to the computer over the serial port and con-
verts the synchronous data from your computer into the synchronous format suitable for radio
transmission. The TNC retains the responsibility for these functions, as well as determining proper
timing for channel access.
In the KISS Mode, channel access is determined by two settings in your TNC – namely PERSIST
and SLOTTIME. The algorithm used to determine whether or not to transmit using this method has
been shown to be considerably more sophisticated than the DWAIT method used by most stan-
dard AX.25 Packet stations. The result of using the persistence algorithm is increased thruput
under most channel conditions. For our explanation of this algorithm, let's assume a PERSIST set-
ting of 63 and a SLOTTIME setting of 10. This slottime setting corresponds to 100 milliseconds.
When the TNC detects, that the channel is clear and available (no carrier is detected), it starts a
timer (SLOTTIME). When the timer expires (100 ms in our case) the TNC generates a random
number between 0 and 155. If the generated number is equal to or less than the PERSIST value,
the TNC keys up the transmitter and sends the data packet. With our setting of 63 the odds of this
occurring after the first slottime are about 1 in 4. (Actually the odds are PERSIST plus 1 divides by
256.) If the TNC generated random number is greater than PERSIST, the TNC restarts the timer
and waits for the the timer to expire again before generating a new random number. This is re-
peated until the TNC gains channel access and sends its packet of information.
By carefully examining what happens, we can see that making SLOTTIME smaller will cause the
TNC to generate the random number more frequently, whereas raising the PERSIST value will give
a better chance (improve the odds) of transmitting the data. Through careful choice of these val-
ues, it is possible to improve data thruput while at the same time permitting shared channel usage
by other packet users.
Data received from the radio is converted into asynchronous format by the TNC and sent to your
computer. The data actually sent over the serial port is formatted with special control information,
allowing the TNC to determine the type of data being received from the TNC.