Network Working Group J.Postel Request for Comments: 864 ISI Mayo de 1983 Protocolo de generador de caracteres Este RFC especifica un estándar para comunidad ARPA en Internet. Es de esperar que los hosts en ARPA Internet que elijan implementar un protocolo generador de caracteres adopten e implementen este estándar. El servicio generador de caracteres es una útil herramienta de depuración y medida. Un servicio generador de caracteres simplemente envía datos sin tener en cuenta la entrada. Servicio Generador de Caracteres basado en TCP Un servicio generador de caracteres se define como una aplicación basada en una conexión TCP. Un servidor espera conexiones TCP en el puerto TCP 19. Una vez se ha establecido una conexión un flujo de datos es enviado a través de la conexión (y cualquier dato recibido es descartado). Esto continua hasta que el usuario finaliza la conexión. Es bastante común que los usuarios de este servicio decidan de repente que han tenido bastante y interrumpan la conexión TCP, en vez de cerrarla adecuadamente. El servicio debería estar preparado tanto para un cierre adecuado como para una repentina interrupción. El flujo de datos sobre la conexión está limitado por los mecanismos habituales de control de flujo TCP , así que no hay que preocuparse de que el servicio envíe datos más rápido de los que pueda procesar el usuario. Servicio Generador de Caracteres basado en UDP Otro servicio generador de caracteres se define como una aplicación basada en datagramas sobre UDP. Un servidor espera datagramas UDP en el puerto UDP 19. Cuando se recibe un datagrama, se envía un datagrama de respuesta conteniendo un número aleatorio (entre 0 y 512) de caracteres (los datos del datagrama recibido se ignoran). No hay un historial o información de estado asociados a la versión UDP del servicio, así que no hay continuidad de datos de un datagrama a otro. Postel [Pág. 1] RFC 864 Protocolo de generador de caracteres Mayo de 1983 El servicio envía un único datagrama en respuesta a cada datagrama recibido, así que no hay que preocuparse de que el servicio envíe datos más rápido de los que pueda procesar el usuario. Sintaxis de los datos. Los datos pueden ser cualquier cosa. Se recomienda usar un patrón reconocible en los datos. Un patrón popular es el uso de lineas de 72 caracteres imprimibles ASCII. Hay 95 caracteres imprimibles en el juego de caracteres ASCII. Clasifique los caracteres en una secuencia ordenada y numerelos desde el 0 al 94. Imagine la secuencia como un anillo de manera que el carácter número 0 sigue al número 94. En la primera línea (línea 0) coloque los caracteres numerados del 0 al 71. En la siguiente línea (línea 1) coloque los caracteres numerados del 1 al 72. Y así con todos. En la línea N, coloque los caracteres (0+N mod 95) al (71+N mod 95). Termine cada línea con un retorno de carro y avance de línea. Ejemplo Postel [Pág. 2] RFC 864 Protocolo de generador de caracteres Mayo de 1983 "#$%&'()*+,-./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[\]^_`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 Postel [Pág. 3]