Network Working Group J. Postel Request for Comments: 864 ISI May 1983 Protocollo di Generazione di Caratteri Traduzione a cura di ComiSAT Brescia, Mag. 2007 (comisat@yahoo.it) Distribuita da .::http://www.rfc.altervista.org::. Questa RFC specifica uno standard per la comunita' ARPA Internet. Gli host sull'ARPA Internet che scelgono di implementare un Protocollo di Generazione dei Caratteri sono invitati ad adottare ed implementare questo standard. Un utile strumento di verifica e debugging e' un servizio di generazione di caratteri. Un servizio di generazione di caratteri invia semplicemente dei dati senza preoccuparsi dell'input. Servizio di Generazione di Caratteri basato su TCP Un servizio di generazione di caratteri viene definito come un'applicazione basata su connessione TCP. Un server rimane in ascolto per connessioni TCP sulla porta TCP 19. Quando una connessione viene stabilita viene spedito un flusso di dati (e qualsiasi dato ricevuto viene cestinato). Questo continua fin quando l'utente chiamante non termina la connessione. E' ragionevolmente pensabile che gli utenti di questo servizio possano Pensare di averne avuto abbastanza ed interrompere bruscamente la connessione TCP piuttosto che chiuderla come si deve. Il servizio dovrebbe essere predisposto per entrambi i casi. Il flusso di dati sulla connessione ha e' limitato dai normali meccanismi di controllo del flusso TCP, cosi' non vi e' ragione che questo servizio spedisca i dati piu' velocemente di quanti l'utente ne possa processare. Servizio di Generazione di Caratteri basato su UDP Un altro servizio di generazione dei caratteri viene definito come un'applicazione basata su datagramma sull'UDP. Un server rimane in ascolto per datagrammi UDP sulla porta UDP 19. Quanto riceve un datagramma, ne invia uno di risposta che contiene un numero random (tra 0 a 512) di caratteri (i dati del datagramma ricevuto vengono ignorati). Con la versione UDP di questo servizio non esiste un'history o delle informazioni di stato associate, cosi' non vi e' continuita' di dati tra un datagramma di risposta e un altro. Il servizio invia solamente un datagramma di risposta per ciascun datagramma ricevuto, cosi' non vi e' motivo che il servizio spedisca i dati piu' velocemente di quanti l'utente ne possa processare. Postel [Page 1] RFC 864 May 1983 Character Generator Protocol Sintassi dei Dati I dati possono essere qualsiasi cosa. Si raccomanda di utilizzare nei dati un modello riconoscibile. Un modello famoso consiste in linee di 72 caratteri ASCII stampabili. Vi sono 95 caratteri stampabili nel set di caratteri ASCII. Si ordinano i caratteri in una sequenza ordinata e si numerano da 0 a 94. Si pensi alla sequenza come ad un cerchio in modo che il carattere 0 segua il carattere 94. Sulla prima linea (linea 0) si mettono i caratteri numerati da 0 a 71. Sulla linea successiva (linea 1) si mettono i caratteri da 1 a 72. E via dicendo. Sulla linea N si metteranno i caratteri da (0+N mod 95) a (71+N mod 95). Ciascuna linea si termina con un carriage return e line feed. Postel [Page 2] RFC 864 May 1983 Character Generator Protocol Esempio !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk %&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl &'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop *+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq +,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr ,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs -./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst ./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu /0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv 0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw 123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx 23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy 3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz 456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ 56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{| 6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} 789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ! :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !" ;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"# <=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$ =>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$% >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%& ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&' @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'( ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'() BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()* CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+ DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+, EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,- FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-. GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./ HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0 IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./01 JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./012 KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123 LMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./01234 MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./012345 NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456 Postel [Page 3]