PK-232 TECHNICAL MANUAL
APPENDIX B – KISS TNC Specification
PK232TM Rev. A 5/87
B-4
Page 73
so buffer memory may be safely "overbooked". When the occasional "bump" occurs, the TNC must
drop the packet gracefully, i.e., ignore it without crashing or losing packets already queued. The
higher level protocol is expected to recover by "backing off" and retransmitting the packet at a lat-
er time, just as it does whenever a packet is lost in the network for any other reason. As long as
this occurs infrequently, the performance degradation is slight; therefore the TNC should provide
as much packet buffering as possible, limited only by available RAM.
Individual packets at least 1024 bytes long should be allowed. As with buffer queues, it is recom-
mended that no artificial limits be placed on packet size. For example, the K3MC code running on a
TNC-2 with 32K of RAM can send and receive 30K byte packets, although this is admittedly rather
extreme. Large packets reduce protocol overhead on good channels. They are essential for good
performance when operating on high speed modems such as the new WA4DSY 56 kbps design.
6. Persistence
The P and SlotTime parameters are used to implement true p-persistent CSMA. This works as fol-
lows:
Whenever the host queues data for transmission, the TNC begins monitoring the carrier detect sig-
nal from the modem. It waits indefinitely for this signal to go inactive. When the channel clears,
the TNC generates a random number between 0 and 1. If this number is less than or equal to the
parameter p, the TNC keys the transmitter, waits .01 × TXDELAY seconds, and transmits all
queued frames. The TNC then unkeys the transmitter and goes back to the idle state. If the ran-
dom number is greater than p, the TNC delays .01 × SlotTime seconds and repeats the procedure
beginning with the sampling of the carrier detect signal. (If the carrier detect signal has gone ac-
tive in the meantime, the TNC again waits for it to clear before continuing). Note that p = 1 means
"transmit as soon as the channel clears"; in this case the p-persistence algorithm degenerates into
the 1-persistent CSMA generally used by conventional AX.25 TNCs.
p-persistence causes the TNC to wait for an exponentially-distributed random interval after sensing
that the channel has gone clear before attempting to transmit. With proper tuning of the parame-
ters p and SlotTime, several stations with traffic to send are much less likely to collide with each
other when they all see the channel go clear. One transmits first and the others see it in time to
prevent a collision, and the channel To conform to the literature, here p takes on values between 0
to 1. However, fractions are difficult to use in a fixed point microprocessor so the KISS TNC ac-
tually works with P values that are rescaled to the range 0 to 255. To avoid confusion, we will use
lower-case p to mean the former (0-1) and upper-case P whenever we mean the latter (0-255). re-
mains stable under heavy load.
We believe that optimum p and SlotTime values could be computed automatically. This could be
done by noting the channel occupancy and the length of the frames on the channel. We are pro-
ceeding with a simulation of the p-persistence algorithm described here that we hope will allow us
to construct an automatic algorithm for p and SlotTime selection.
We added p-persistence to the KISS TNC because it was a convenient opportunity to do so. How-
ever, it is not inherently associated with KISS nor with new protocols such as TCP/IP. Rather, per-
sistence is a channel access protocol that can yield dramatic performance improvements regardless
of the higher level protocol in use; we urge it be added to every TNC, whether or not it supports
KISS.
7. Implementation History
The original idea for a simplified host/TNC protocol is due to Brian Lloyd, WB6RQN. Phil Karn,
KA9Q, organized the specification and submitted an initial version on 6 August 1986. As of this
writing, the following KISS TNC implementations exist:
Summary of Contents for PAKRATT PK-232
Page 75: ...PK 232 TECHNICAL MANUAL APPENDIX C DRAWINGS PK232TM Rev A 5 87 C 1 Page 75 ...
Page 76: ...PK 232 TECHNICAL MANUAL APPENDIX C DRAWINGS PK232TM Rev A 5 87 C 2 Page 76 ...
Page 77: ...PK 232 TECHNICAL MANUAL APPENDIX C DRAWINGS PK232TM Rev A 5 87 C 3 Page 77 ...
Page 78: ...PK 232 TECHNICAL MANUAL APPENDIX C DRAWINGS PK232TM Rev A 5 87 C 4 Page 78 ...
Page 79: ...PK 232 TECHNICAL MANUAL APPENDIX C DRAWINGS PK232TM Rev A 5 87 C 5 Page 79 ...
Page 80: ...PK 232 TECHNICAL MANUAL APPENDIX C DRAWINGS PK232TM Rev A 5 87 C 6 Page 80 ...
Page 81: ...PK 232 TECHNICAL MANUAL APPENDIX C DRAWINGS PK232TM Rev A 5 87 C 7 Page 81 ...
Page 82: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 1 Page 82 ...
Page 83: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 2 Page 83 ...
Page 84: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 3 Page 84 ...
Page 85: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 4 Page 85 ...
Page 86: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 5 Page 86 ...
Page 87: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 6 Page 87 ...
Page 88: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 7 Page 88 ...
Page 89: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 8 Page 89 ...
Page 90: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 9 Page 90 ...
Page 91: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 10 Page 91 ...
Page 92: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 11 Page 92 ...
Page 93: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 12 Page 93 ...
Page 94: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 13 Page 94 ...
Page 95: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 14 Page 95 ...
Page 96: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 15 Page 96 ...
Page 97: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 16 Page 97 ...
Page 98: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 17 Page 98 ...
Page 99: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 18 Page 99 ...
Page 100: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 19 Page 100 ...
Page 101: ...PK 232 TECHNICAL MANUAL APPENDIX D Waveforms PK232TM Rev A 5 87 D 20 Page 101 ...