Kiss (Keep It Simple Stupid)
Il seguente documento descrive il Modo Kiss
(Keep It Simple Stupid) .
Traduzione dal manuale Kantronics,Inc.
Il modo Kiss permette al tnc di operare come un modem ed un PAD (Packet Assembler Disassember) . Il cuore del lavoro ,che riguarda cio' che accade ai dati,deve risiedere nel vostro computer allo scopo di usare questo modo di operare. Il programma (sorgente) Kiss, progettato da Phil Karn , viene implememtato per supportare i protocolli dei livelli piu' alti allo scopo di dividere le risorse in stile rete.
Il programma piu' popolare che usa il modo di operare Kiss e' il TCP/IP o Trasport Control Protocol/Internet Protocol. Questo programma permette trasferimenti di files simultanei FTP (File Transfer Protocol ), Conversazioni tra utenti usando TELNET, e un Simple Mail Transfer Protocol (SMTP), Inoltre, la capacita' di multiconnessione e' presente nel pacchetto software (TCP/IP), con i dati che vengono mostrati solo per la "sessione corrente". Potete mettere in relazione una sessione con un stream (flusso ) I/O in una normale operazione su TNC.
Nel modo KISS ,il TNC passa semplicemente tutti i dati ricevuti al vostro computer,e il programma sul computer e' responsabile per tutti i processi sui quei dati,incluse le decisioni che riguardano rotte,digipeating, e controllo. Il TNC converte i dati sincroni che sta ricevendo dal collegamento radio in dati asincroni da passare al vostro computer attraverso la porta seriale, e converte i dati asincroni dal vostro computer nel fomato sincrono adatto per la trasmissione radio. Il TNC conserva la responsabilita' per queste funzioni, cosi pure la determinazione nel tempo dell'accesso al canale (radio).
Nel modo kiss,l'accesso al canale e' determinato da due parametri nel vostro Tnc vale a dire Persist e Slottime. L'algoritmo usato per determinare se trasmettere o no usando questo metodo, si e' dimostrato piu' sofisticato del metodo Dwait usato dalla maggior parte delle stazioni AX.25. Il risultato nell'uso dell'algoritmo della persistenza e' l'aumentata efficenza sui canali in molte condizioni .Per spiegare questo algoritmo, assumiamo un valore di persistence di 63 e uno Slottime di 10. Questo valore di Slottime corrisponde a 100 millisecondi.
Quando il Tnc sente che il canale e' libero e disponibile (nessuna portante e' presente), fa partire un contatore (Slottime). Quando il contatore si ferma (100 ms nel nostro caso ), il Tnc genera un numero casuale tra 0 e 255.Se il numero generato e' uguale o inferiore del valore di Persist,il Tnc azionera' il trasmettitore ed inviera' il pacchetto di dati. Con il nostro valore di 63 le probabilita' che questo accada dopo il primo Slottime sono circa 1 su 4 (effettivamente le probabilita'
sono Persist + 1 diviso 256).Se il Tnc ha generato un numero casuale piu' grande di Persist, questo fa ripartire il contatore ed aspetta che si fermi di nuovo prima di generare un nuovo numero casuale.Cio' viene ripetuto finche' il Tnc guadagna l'accesso al canale ed invia il suo pacchetto di informazioni.
Esaminando attentamente cio' che accade,possiamo vedere che rendendo Slottime piu' piccolo il Tnc generera' un numero casuale piu' frequentemente,invece aumentando il valore di Persist dara' una possibilita' migliore (migliora le probabilita') di trasmettere i dati.Attraverso l'attenta scelta di questi valori, e' possibile migliorare la fuoriuscita dei dati ed allo stesso tempo si permettera' un uso migliore del canale con gli altri utenti packet.
I dati ricevuti dalla radio vegono convertiti in formato asincrono dal Tnc ed inviati al vostro computer. I dati effettivamente inviati sulla porta seriale vengono formattati con informazioni speciali di controllo,permettendo al Tnc di
determinare il tipo di dati che si sta ricevendo .
Osserviamo i dati dal Tnc al computer. Primo, tutte le informazioni che scorrono in questa direzione sono dati. Nessun messaggio speciale viene inviato dal Tnc al computer nel modo Kiss. Gli unici dati che scorrono in questa direzione sono quelli ricevuti attraverso il collegamento radio. Ogni trama di dati inviata dal Tnc iniziera' e finira' con un carattere speciale Fend. Questo corrisponde ,nel codice ASCII , a $C0 esadecimale oppure a 192 decimale. Il secondo byte dei dati sara' il tipo di dati,e sara' sempre un $00.Questo significa che le informazioni seguenti sono dati.Se questi effettivamente contengono il carattere FEND ($C0) sara' necessario dire al computer che il $C0 che esso riceve non e' la fine della trama ,ma semplicemente un altro dato.Questo viene realizzato sostituendo il carattere $C0 con una speciale sequenza che consiste di un FESC ($DB) seguito da un carattere TFEND ($DC).Una speciale sequenza finale che potrebbe essere inviata dal TNC al computer e' un FESC ($DB) seguito da un TFESC ($DD) . Questo viene tradotto in $DB dal progamma sul computer.
Adesso, osserviamo i dati che scorrono nell'altra direzione, cioe' dal computer al TNC. Ci sono cinque possibili comandi che puo'
essere necessario dare al TNC dal computer, ed essi normalmente sono parametri di installazione. Questi sono comandi necessari per dare il valore di TXDELAY, PERSISTENCE, SLOTTIME, FULLDUP, ed in fine, un comando per uscire dalle operazioni del modo Kiss. Gli unici altri dati che il computer puo' inviare al TNC nel modo Kiss,sono dati che stanno per essere trasmessi su canale radio (HDLC). I dati in arrivo dal computer devono anche iniziare e finire con lo stesso carattere FEND come viene usato per i dati in arrivo dal TNC.Tutte le sequenze di caratteri speciali devono anche essere usate per inviare i caratteri FEND, ed il FESC come dati.
Ad ognuno dei comandi e' stato assegnato un numero per tipo di comando come segue:
TIPO FUNZIONE
0 Dati da trasmettere
1 TXDELAY - il secondo byte contiene il ritardo con incrementi di 10 ms.
2 PERSISTENCE - il secondo byte contiene il valore di persistenza.
3 SLOTTIME - il secondo byte contiene l'intervallo di slot
5 FULLDUP - se il secondo byte e' 0 ,attiva il modo fulldup, altrimenti lo disattiva .
255 KISS - causa l'uscita dal modo Kiss.
Per esempio, se vogliamo mettere il txdelay nel nostro tnc modo kiss a 100 millisecondi, il computer inviera' i seguenti bytes al
Tnc: C0 01 0A C0 e per inviare un pacchetto di dati che dica "hello" sarebbe: C0 00 68 65 6C 6C 6F C0
E' importante notare che questo pacchetto di dati non contiene alcuna informazione d'indirizzo,e percio' non puo' essere inviato
via protocollo AX.25 .Tutto cio' che riguarda l'indirizzamento e la formattazione degli indirizzi deve essere fatto nel computer ed inviati come pacchetto di dati al Tnc.
In fine una sequenza importante (specialmente per utenti di PC compatibile) e' : "Lascia il Modo Kiss". C0 FF C0
Se per qualche ragione , avete il Kiss On e avete dato il Perm, quando spegnerete e riaccenderete il Tnc, sarete in modo Kiss. La sola maniera di abbandonarlo sarebbe di fare un reset hardware, oppure usare il comando TCP/IP per lasciare il modo Kiss, oppure inviare la sequenza C0 FF C0 dalla vostra tastiera. I PC compatibili offrono quest'ultima opportunita' attraverso la seguente sequenza:
Premere e tenere il tasto ALT, battere il numero 192 sul tastierino numerico - rilasciare il tasto ALT .
Premere e tenere il tasto ALT, battere il numero 255 sul tastierino numerico - rilasciare il tasto ALT.
Premere e tenere il tasto ALT , battere il numero 192 sul tastierino numerico - rilasciare il tasto ALT.
Adesso se il programma terminale che state usando ha inviato tutti quei caratteri,sarete fuori dal modo Kiss . Ricordate di
dare il Perm in posizione Kiss off se non volete che il vostro Tnc sia in modo Kiss quando lo spegnete ed accendete .