De : EA7APX A : YAPP @EA Tipo/status : B$ Fecha/hora : 11-Ago 05:02z Bid : 37838_EA7PW Mensaje # : 122460 Titulo : Todo sobre el YAPP... (1/2) Path: !EA7UH!EA7URS!EA7QY!EA7URL!EA7URC!EA7PW! From: EA7APX@EA7PW.EAJ.ESP.EU To : YAPP@EA YAPP(tm) protocolo para transferencias binarias en Packet Radio (c) 1986, Jeff Jacobsen - WA7MBL (traducci¢n Luis Ram¢n L¢pez) Revisi¢n 1.1 23/06/86 -------------------------------------------------------------------- TIPOS DE PAQUETES EN YAPP El tama¤o de los paquetes de datos est  comprendido entre 2 y 258 bytes lon = longitud de los bytes siguientes (sin incluir lon) RR Rcv_Rdy ACK 01 RF Rcv_File ACK 02 AF Ack_EOF ACK 03 [1.1] AT Ack_EOT ACK 04 [1.1] SI Send_Init ENQ 01 HD Send_Hdr SOH lon (Fichero) NUL (Tama¤o fichero en ASCII) NUL (Opt) DT Send_Data STX lon (Datos) {si lon=0 la longitud es = 256} EF Send_EOF ETX 01 ET Send_EOT EOT 01 NR Not_Rdy NAK lon (Raz¢n opcional en ASCII) CN Cancel CAN lon (Raz¢n opcional en ASCII) CA Can_Ack ACK 05 {Los siguientes son para el uso en Modo Servidor (Server Mode)} RI Rcv_Init ENQ 02 lon (Fichero requerido - comodines permitidos) TX Text DLE lon (Texto ASCII a mostrar) {para enviar texto desde el servidor} {Sin implementaci¢n - Reservados para Comandos del Servidor} UU Comands ENQ 03 ENQ 04 ENQ 05 ... ENQ FF TABLAS DE ESTADO para ENVIAR Estado Paquete enviado Si recibe... Siguiente estado S (Send) SI RR SH RF SD NR Hecho Primeros 'timeouts' S RI S Otro/'Timeout' Abort SH (Hdr) HD RF SD NR Hecho Otro/'Timeout' Abort SD (Data) DT (No EOF) SD (EOF) SE SE (EOF) EF AF (M s ficheros) SH AF (No m s ficheros) ST Otro/'Timeout' Abort ST (EOT) ET AT Hecho Otro/'Timeout' Hecho TABLAS DE ESTADO para RECIBIR Estado Recibe Si Hacer Env¡a Pkt Siguiente estado R (Rec) SI (listo) RR RH SI (opc)* abrir fichero RF RD SI (no listo) NR Hecho NR Hecho Otro/'Timeout' Abort (opc)* Si la informaci¢n de la cabecera no interesa, est  permitido abrir el fichero e indicar la inmediata transmisi¢n del fichero RH (Hdr) HD abrir fichero RF RD HD (no hay espacio) NR Hecho SI RH ET AT Hecho Otro/'Timeout' Abort RD (Data) DT grabar datos RD EF cerrar fichero AF RH Otro/'Timeout' Abort OTROS ESTADOS Cualquier estado Si CN Env¡a CA Hecho excepto CW CW (Can_Wait) Si CA Hecho Si CN Env¡a CA CW 'Timeout' Muestra mensaje Hecho de error Abort Env¡a CN CW -------- Contin£a... ============ FIN MSG# 122460 ============ De : EA7APX A : YAPP @EA Tipo/status : B$ Fecha/hora : 11-Ago 05:47z Bid : 37839_EA7PW Mensaje # : 122474 Titulo : Todo sobre el YAPP... (2/2) Path: !EA7UH!EA7URS!EA7QY!EA7URL!EA7URC!EA7PW! From: EA7APX@EA7PW.EAJ.ESP.EU To : YAPP@EA -------- Estados iniciales Para 2 usuarios no usando el Servidor Remoto El transmisor va al Estado S, el receptor al Estado R tras intercambiarse manualmente los nombres de los ficheros (*) Ya que el nombre del fichero es conocido, el receptor puede optionalmente enviar RF desde el Estado R y pasar de la ca- becera del fichero. El transmisor deber¡a dar al receptor un tiempo amplio para pasar al Estado de Recepci¢n (Receive State). (*) N.T.: Tambi‚n es una pr ctica recomendable coger el nombre del fichero de la cabecera del fichero, automatizando as¡ la recepci¢n. Para Modo Servidor Remoto USUARIO (Start) Siguiente estado Usuario deseando Enviar S Usuario deseando Recibir Env¡a RI R Otra petici¢n al servidor Env¡a COMMAND Start SERVIDOR (Start) Obtiene SI R Obtiene RI (fichero encontrado) S (no encont.) Env¡a NR Start Obtiene COMMAND (Realiza comando) Start --------------------------------------------------------- Todos los estados excepto Send Data deber¡an tener un 'timeout' si nada es o¡do durante un per¡odo de tiempo Tc (Crash timer). En modo Send Data no se espera ninguna recepci¢n, y si se recibe algo deber¡a ser un Cancel o un paquete TX (texto), de otro modo pasa al estado Abort. N.T.: 'TimeOut' es una palabra de dif¡cil traducci¢n. Literalmente significar¡a "tiempo fuera", y es un per¡odo de tiempo duran- te el cual no se recibe nada de la otra estaci¢n. -------- Revisi¢n 1.1 - A¤adidos los paquetes AF y AT para confirmar Fin de fichero (End of File) y Fin de transferencia (End of Transfer). Esto permite a un transmisor automatizado saber si un fichero ha sido recibido correctamente. Tambi‚n ayuda a pasar un problema en el c¢digo de la TNC-2 que requer¡a al emisor a esperar el paquete Ack-EOT antes de cambiar al modo converse desde el modo transparente. --------- - YAPPc - Traducci¢n modificada de la realizada por Ricardo (EA4BMT) --------- Extensiones del protocolo Yapp utilizadas por TPK 1.65a y FBB 5.14 (y superi.) EXTENSION DE LA CABECERA (HEADER): La cabecera contiene ahora la FECHA y la HORA del fichero a transferir. [SOH] [Lon] [Filename] [NUL] [Tam.fichero] [NUL] [Fecha] [Hora] [NUL] Fecha y Hora son los valores que proporciona el DOS, codificados en 4 caracteres hexadecimales y transmitidos en ASCII. El receptor puede usar a elecci¢n el Yapp extendido con checksum o el Yapp normal. - La respuesta en Yapp normal es RF y el receptor puede conservar la fecha y la hora para restituirlas al final de la transferencia. - La respuesta para pasar al Yapp extendido es : RT Receive_TPK [ACK] [ACK] Si la respuesta del receptor es RT el protocolo utilizado ser  el denominado YappC (por Yapp con Checksum). Cuando el emisor recibe el paquete DEBE utilizar YappC. EXTENSION DE LOS PAQUETES DE DATOS: Si la respuesta del receptor es RT el protocolo utilizado ser  YappC. El checksum permite la detecci¢n de los paquetes deformes durante la transmisi¢n, particularmente en las lineas RS232 en las que no hay control ni correcci¢n de errores (o muy poco !). Esto es lo m s frecuente, por ejemplo, con los sistemas que utilizan las TNCs en modo KISS. Formato de los paquetes de datos : [STX] [Lon] [Datos] [Checksum] El checksum es la suma de todos los octetos (bytes) del paquete Yapp sobre 8 bits como en el protocolo Xmodem. Si el checksum en la recepci¢n es incorrecto, el receptor debe enviar un Cancel y pasar al estado CW. REANUDACION DE LA TRANSFERENCIA: Se ha a¤adido un nuevo campo a la respuesta de la reanudaci¢n para pedir al emisor que utilice YappC. - Respuesta para Yapp: (utilizada en las versiones precedentes) [NAK] [Lon] [R] [NUL] [Longitud ya Recibida] [NUL] I I I I I +-- en ASCII como en el header I +-- ­ como Reanudaci¢n ! I +------- longitud de los datos siguientes - Respuesta para YappC: [NAK] [Lon] [R] [NUL] [Longitud Recibida] [NUL] [C] [NUL] I Para pedir al emisor que utilice YappC ----+ Cuando el emisor reciba este paquete debe utilizar YappC. *** FIN *** ============ FIN MSG# 122474 ============ 1:EA7MU BBS>